cfal / shoes

A multi-protocol proxy server written in Rust (HTTP, HTTPS, SOCKS5, Vmess, Vless, Shadowsocks, Trojan, Snell)
MIT License
181 stars 17 forks source link

Socks5 parent with no password #10

Closed PtDragon closed 9 months ago

PtDragon commented 9 months ago

Hello! I did try to not use socks5 user and password(trying to connect to local cloudflare warp socks5 proxy(127.0.0.1:40000) that does not support password authentication) as parent connection but it does not work. Maybe there is some workaround for it?

cfal commented 9 months ago

hi, I did a quick test with shoes, but haven't tried with any other SOCKS5 servers:

- address: 127.0.0.1:50000
  protocol:
    type: socks
- address: 127.0.0.1:50001
  protocol:
    type: socks
  rules:
    # allow connections to all ips
    mask: 0.0.0.0/0
    action: allow
    client_proxy:
      address: 127.0.0.1:50000
      protocol:
        type: socks

and curl --proxy socks5://127.0.0.1:50001 example.com seems to work correctly with no auth. perhaps you can try curl'ing your cloudflare socks5 proxy. do you have any error messages? can you share your config?

PtDragon commented 9 months ago

- address: 0.0.0.0:8443
  transport: tcp
  protocol:
    type: tls
    default_target:
      cert: cert.pem
      key: key.pem
      protocol:
        type: ws
        targets:
          - matching_path: /hidden
            protocol:
              type: vless
              cipher: any
              user_id: hidden
  rules:
    - mask: 0.0.0.0/0
      action: allow
      client_proxy: direct

```I'm trying to make it work thru socks5 which is at 127.0.0.1:40000
With direct mode it works great, I tried to replace client proxy part and it does not work anymore.
P.S. replaced some values to "hidden" for security reasons.
cfal commented 9 months ago

your config does not use any socks proxy - the client_proxy: direct line shows that the proxy server will connect directly to the internet.

see examples with a socks client_proxy setup, eg https://github.com/cfal/shoes/blob/master/examples/http_through_socks.yaml