Open Kein opened 1 year ago
You can start multiple shadowsocks instances use this:
#shadowsocks-rust-server@.service
[Unit]
Description=Shadowsocks-Rust Server Service
After=network.target
Wants=network-online.target
[Service]
Type=simple
DynamicUser=yes
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
ExecStart=/usr/bin/ssservice server --log-without-time -c /etc/shadowsocks-rust/%i.json
[Install]
WantedBy=multi-user.target
I think a comprehensive routing system, like the one in shadowsocks-go, can cover even more use cases, and is much more flexible than the ACL in shadowsocks-rust.
I also don't quite like how the ACL code integrates with the rest of shadowsocks-rust. It seems overly complex with layers of abstractions and is such a special case. But I don't know, maybe I'm just new to Rust and this is how they do things in Rust.
You can start multiple shadowsocks instances use this:
Yes, I know, which is precisely the reason this request exist, because it is not very handy. Though if this is out of scope of the fork/port then I suppose it can be closed.
Also, my bad, when I said "server instances" I meant on client listener side, i.e. one client - multiple local listen/accept ports each tied to its own server or even group of servers
It would be great if we could define for each server a local listener instance with unique local port.
Emm, it is quite easy to implement.
Ahh.. I was wrong. I through you want a unique outbound_bind_addr
for each servers. But this is not what you want.
Yeah, basically I want one client instance being able to route and work with multiple different servers via port-recognition. This way you dont have to run multiple client instances.
Well, you will need a v2ray-like router logic. That is quite a lot of work.
So, multiple server is a great addition to shadowsocks, however my issue is that it essentially works as load balancer rather than actual being separate servers. It would be great if we could define for each server a local listener instance with unique local port. For example, Server1-3 declared in the config file gets requests from
127.0.0.1:1080
but Servers 3-5 will be getting requests from127.0.0.1:1081
. This meansslocal
can open multiple listen ports and two or more instances no longer required for this to work.So essentially: