heiher/hev-socks5-tunnel

Socks5 UDP + Tunnel (Server-->Client)

Closed this issue · 3 comments

Hello.

Is it possible to implement this redirection scheme with your tools?

Now this scheme is implemented in two ways, but both methods do not support UDP

  1. FRP tunnel between server and client + SocksServerUltimate.apk running on client.

  2. FRP tunnel between server and client + built-in FRP plugin Socks5 specified in the client configuration.
    Sheme-03

heiher commented

Yeap. hev-socks5tunnel + hev-fsh

On server

  1. Run hev-fsh server.
fsh -s
  1. Run hev-fsh connector (provide socks5 service
    on port 9300).
fsh -x [::]:9300 server_addr/token

On client

  1. Run hev-fsh forwarder (socks5 mode).
fsh -f -x server_addr/token

On user

  1. Run hev-socks5-tunnel (access socks5 on server:9300, use UDP over TCP mode).

Thank you for your prompt response.

I am facing the following problem:

On the server I run:
./fsh-linux-x86_64 -x [::]:9805 188.xxx.54.54/8b9bf4e7-b2b2-4115-ac97-0c7f69433bc5

./fsh-linux-x86_64 -s

[2023-08-29 20:49:18] [I] L 8b9bf4e7-b2b2-4115-ac97-0c7f69433bc5 [94.25.179.37]:49190

On the client I run:
./fsh-linux-arm32 -f -x 188.xxx.54.54/8b9bf4e7-b2b2-4115-ac97-0c7f69433bc5
[I] token 8b9bf4e7-b2b2-4115-ac97-0c7f69433bc5 (from client)

On the user I run:
./hev-socks5-tunnel-linux-arm64.1 main3.yml

[W] set limit nofile
[E] socks5 tunnel open

main3.yml:

tunnel:
   # Interface name
   name: tun0
   #Interface MTU
   mtu: 8500
   # multi-queue
   multi-queue: false
   # IPv4 address
   ipv4: 188.xxx.54.54
   # IPv6 address
   ipv6: 'fc00::1'

socks5:
   # Socks5 server port
   port: 9805
   # Socks5 server address (ipv4/ipv6)
   address: 127.0.0.1
   # Socks5 UDP relay mode (tcp|udp)
   udp: 'tcp'
   # Socks5 server username
# username: 'user'
   # Socks5 server password
# password: 'user'

#misc:
    # task stack size (bytes)
# task-stack-size: 20480
    # connect timeout (ms)
# connect-timeout: 5000
    # read-write timeout (ms)
# read-write-timeout: 60000
    # stdout, stderr or file-path
# log-file: stderr
    # debug, info, warn or error
# log-level: warn
    # If present, run as a daemon with this pid file
# pid-file: /run/hev-socks5-tunnel.pid
    # If present, set rlimit nofile; else use default value
# limit-nofile: 65535

What should I change in order for this to work?

heiher commented

Does the user system support tun?

tunnel:
   # Interface name
   name: tun0
   #Interface MTU
   mtu: 8500
   # multi-queue
   multi-queue: false
   # IPv4 address
   ipv4: 198.18.0.1
   # IPv6 address
   ipv6: 'fc00::1'

socks5:
   # Socks5 server port
   port: 9805
   # Socks5 server address (ipv4/ipv6)
   address: 188.xxx.54.54
   # Socks5 UDP relay mode (tcp|udp)
   udp: 'tcp'
   # Socks5 server username
# username: 'user'
   # Socks5 server password
# password: 'user'

#misc:
    # task stack size (bytes)
# task-stack-size: 20480
    # connect timeout (ms)
# connect-timeout: 5000
    # read-write timeout (ms)
# read-write-timeout: 60000
    # stdout, stderr or file-path
# log-file: stderr
    # debug, info, warn or error
# log-level: warn
    # If present, run as a daemon with this pid file
# pid-file: /run/hev-socks5-tunnel.pid
    # If present, set rlimit nofile; else use default value
# limit-nofile: 65535