A Kubo plugin allowing to use SOCKS proxy over the IPFS network
Note
This repository is not the Skypier MVP, but an experiment/POC around SOCKS5 proxies. We are refining the MVP in a separate git repository, and will focus on standalone libp2p VPN node development.
You can build the plugin using
go build . -o kubo-socks
And then run it with
# Be sure to have a kubo node already running
./kubo-socks
You can create a config.json file containing the plugin configuration.
Here is the default configuration.
{
"port": 8081,
"socksPort": 1080
}portis the plugin listening port. You can interact with the API at http://localhost:8081/api/v0/ in this example.socksPortis the SOCKS5 listening port
The plugin is running a local SOCKS5 proxy on port tcp/1080.
It is not supposed to be used as it, but buy a remote client coming from another kubo-socks node.
The plugin serves an HTTP API that can be requested from the frontend
- GET
/ping↔ Just ping the backend - GET
/streams↔ List all active libp2p streams on the Kubo node - GET
/listeners↔ List all listeners on the Kubo node - GET
/peers↔ Show directly connected peers of Kubo node - GET
/forward/<nodeID>↔ Open a port locally listening to SOCKS5 clients and forwarding connections to the node - GET
/ping/<nodeID>↔ Send echo request packets to IPFS host - GET
/streams/close↔ Close all libp2p streams on the Kubo node - GET
/id↔ Return the local nodeID
