Using IPFS behind a http proxy

I have an ipfs node that is behind a corporate firewall and can only talk to the outside world via an http proxy.

  • In principle, the websocket transport should be able to work through a HTTP proxy. Is that possible?
  • Does the websocket transport use the encryption of private swarms, or will it be unencrypted?
  • How does go-ipfs pick up the proxy settings? Will the usual environment variables (http_proxy etc) be picked up?

I did a few experiments, letting a public node listen on 8081/ws, but was unable to connect to that node.

ipfs swarm connect /ip4/

Error: connect QmRSGx67Kq8w7xSBDia7hQfbfuvauMQGgxcwSWw976x4BS failure: dial attempt failed: <peer.ID ZABeAH> --> <peer.ID RSGx67> dial attempt failed: no dialer for /ip4/

Even though the node is clearly listening on the port. Am I missing something obvious?

Edit: I configured public node to listeo on websocket like this:

"Addresses": {
  "Swarm": [

Edit 2: connecting to the endpoint using wscat does produce something that looks very much like ipfs, so at least the node seems to be properly configured.

wscat -c
connected (press CTRL+C to quit)
< /multistream/1.0.0