anytunnel

0.9.9 • Public • Published

AnyTunnel

Tunneling Anywhere (Behind NAT)

Usage

You'll need a LeanCloud account (free). Its realtime messaging service is used during the UDP hole punching process.

npm -g install anytunnel

Server

anytunnel \
    -r [leancloud region] \
    -a [leancloud appId] \
    -s [serverId] \
    -L kcp://localhost:[port1]

Client

anytunnel \
    -c \
    -r [leancloud region] \
    -a [leancloud appId] \
    -s [serverId] \
    -F kcp://localhost:[port2] \
    -L socks://localhost:[port3]

The commands above will setup a socks5 proxy listening at port3 on the client, forwarding packets to the server.

The serverId, port1, port2 options are arbitrary. Also, you can specify any -F / -L options accepted by gost as long as there is

  • a -L kcp option on the server
  • a -F kcp option on the client

AnyTunnel forwards UDP packets according to these two options.

Credits

  • gost (GO Simple Tunnel) provides proxy functions, especially KCP over UDP tunneling.

  • LeanCloud provides realtime signaling service.

  • stun for stun packets parsing, the result is then signaled to peers.

  • exit-hook for on-exit cleanup (killing the gost child process)

  • commander for command line options parsing

Readme

Keywords

Package Sidebar

Install

npm i anytunnel

Weekly Downloads

2

Version

0.9.9

License

ISC

Last publish

Collaborators

  • isofew