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
}
port
is the plugin listening port. You can interact with the API at http://localhost:8081/api/v0/ in this example.socksPort
is 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