You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Feature Request]: Allow to chain ssserver to another socks5 proxy #1397
Please allow to chain shadowsocks server to another socks proxy.
For example user wants to connect to a cloudflare Warp gateway (which is in socks5 proxy mode) but to have his side using shadowsocks (on windows).
Currently shadowsocks-windows do not allow to configure tunnel protocol. This prevents such scheme.
So it would allow to use usual shadowsocks windows client (as a socks proxy) that connects as normal to a remote ssserver but that ssserver redirects (not decoded socks5 traffic) to a local warp-server socks5 port.
In my example browser connects with socks5 to a local shadowsocks-windows, but shadowsocks-windows does not allow to configure tunnel protocol. So idea is to allow remote ssserver (which local shadowsocks connects to) to also allow configuring tunnel or chaining mode.
(ps. This may also be useful for general proxy chaining, like terminating all ssserver connections to Tor which runs on the same remote server as ssserver.)
browser using socks5 -> local shadowsocks-windows (sslocal) ------> remote ssserver
I want to add additional proxy at the ssserver node, such as CF Warp (which supports socks5). But I cannot configure shadowsocks-windows because it's config UI is very basic and it's overrides gui-config.json thus there is no way I can add "protocol": "tunnel" to it.
Yes perhaps I can try to run one ssserver instance under proxychains. Thanks.
I am figuring how to make such route . Because many resources are blocked from the VPS ips. for example, now I can not post twitter with my vultr server :(
BTW, To use proxychains (on Debian 11) with systemd service: it turned out that systemd services are not very compatible with LD_PRELOAD they using to wrap connections. So it's ended up using this line (which equals to LD_PRELOAD=libproxychains.so.4) — ExecStart=/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 --preload /usr/lib/x86_64-linux-gnu/libproxychains.so.4 /usr/bin/ss-server -c /etc/shadowsocks/warp.json.
Some sites detect Warp as a kind of public proxy too.
Please allow to chain shadowsocks server to another socks proxy.
For example user wants to connect to a cloudflare Warp gateway (which is in socks5 proxy mode) but to have his side using shadowsocks (on windows). Currently shadowsocks-windows do not allow to configure tunnel protocol. This prevents such scheme.
So it would allow to use usual shadowsocks windows client (as a socks proxy) that connects as normal to a remote ssserver but that ssserver redirects (not decoded socks5 traffic) to a local warp-server socks5 port.
On Windows, run shadowsocks-windows to provide a local socks proxy to connect to your ssserver; then run Proxifier to define a proxy chain: local--->warp socks5.
I do not recommend shadowsocks to implement proxy chains.
Activity
zonyitoo commentedon Dec 31, 2023
I can’t get your point. Could you elaborate it more in detail?
vt-alt commentedon Dec 31, 2023
Idea is that
ssserverwould not terminate connections on its own but to forward them to some other socks server (such as Warp in my example).Or from another point of view it's to allow to configure
tunnelmode on thessserver(while now it's only forsslocal).zonyitoo commentedon Dec 31, 2023
Of course.
ssserveris designed as a remote server of shadowsocks, so it is only for working withsslocal.ssserveris running in a remote server. It's outbound is to connect target remote servers. Why were targets are connected via a socks5 server?vt-alt commentedon Dec 31, 2023
In my example browser connects with socks5 to a local shadowsocks-windows, but shadowsocks-windows does not allow to configure
tunnelprotocol. So idea is to allow remote ssserver (which local shadowsocks connects to) to also allow configuring tunnel or chaining mode.(ps. This may also be useful for general proxy chaining, like terminating all ssserver connections to Tor which runs on the same remote server as ssserver.)
zonyitoo commentedon Dec 31, 2023
If I understand it correctly: your
ssserverwas hidden fromsslocalwith a socks5 proxy.So the key issue in this topology is that
sslocalmust connect tossserverwith socks5 proxy protocol.It should be Ok to add Proxy support in the
ServerConfig, for example:{ "servers": [ { "server": "1.2.3.4", "server_port": 8999, "proxy": "socks5://2.3.4.5:1080" } ] }zonyitoo commentedon Dec 31, 2023
For now, you can achieve this goal with other tools, like proxychains.
I don't know if there are any replacements in Windows Platform.
vt-alt commentedon Dec 31, 2023
My scheme is
I want to add additional proxy at the ssserver node, such as CF Warp (which supports socks5). But I cannot configure
shadowsocks-windowsbecause it's config UI is very basic and it's overridesgui-config.jsonthus there is no way I can add"protocol": "tunnel"to it.Yes perhaps I can try to run one
ssserverinstance underproxychains. Thanks.chuxi commentedon Mar 17, 2024
I am figuring how to make such route . Because many resources are blocked from the VPS ips. for example, now I can not post twitter with my vultr server :(
vt-alt commentedon Mar 17, 2024
BTW, To use proxychains (on Debian 11) with systemd service: it turned out that systemd services are not very compatible with
LD_PRELOADthey using to wrap connections. So it's ended up using this line (which equals toLD_PRELOAD=libproxychains.so.4) —ExecStart=/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 --preload /usr/lib/x86_64-linux-gnu/libproxychains.so.4 /usr/bin/ss-server -c /etc/shadowsocks/warp.json.Some sites detect Warp as a kind of public proxy too.
fireinice commentedon Oct 1, 2024
I've tried
proxychain ssserverit seems the shadowsocks traffic will not pass through socks5 proxy.robot-dot-win commentedon Jul 29, 2025
On Windows, run shadowsocks-windows to provide a local socks proxy to connect to your ssserver; then run Proxifier to define a proxy chain: local--->warp socks5.
I do not recommend shadowsocks to implement proxy chains.
galilley commentedon Feb 4, 2026
I solved this issue using tun2socks project.
So the scheme is the follow:
[Feature]: Allow to chain ssserver to another socks5/http/https proxy #…
missdeer commentedon Apr 12, 2026
Since PR #2106 has been merged into master, I think this issue can be closed as resolved.