- servers creating from command line options would use TTY,
SS_SERVER_PASSWORD and SS_SERVER_${SERVER_ADDR}_PASSWORD environment
variables
- servers in configuration file "password" would allow ${VAR_NAME} to
read from environment variable VAR_NAME
fixes#419
- Trigger reload with signal SIGUSR1
- run_local is replaced by create_local then call run() on Server
instance
- DNS resolver reloader won't trigger multiple time when
/etc/resolv.conf changed in 1 second
* [POC] basic implementation of TCP redirecting tun (#581)
* [POC] basic implementation of UDP redirection of Tun
* build with action
* add configuration interface for tun
* refine document and command line options
* outbound-bind-addr instead of reusing local_address for outbound sockets
* support customizing udp expiry and capacity
* make clippy happy
* fixed build error for Android
* add docs
* make a customized AsyncFd with the released tun crate
* TUN_INTERFACE_NAME to_owned directly
* ignore accept errors for tcp tun
* tun supports Android only on master branch
* android doesnt support setting IFF_NO_PI
* set route for macos automatically when creating tun
* set route for macos directly with PF_ROUTE
* Linux-like uses ETH_P_IP and ETH_P_IPV6
* use tun on crates.io and ignores Android support temporary
* update dependencies
* manage UDP associations with LFU
- DNS associations could be evicted firstly then others like HTTP/3
* UDP redir caches inbound non-local socket
- Optimization: prevent creating new sockets for the same remotes
* updated libc to v0.2.94 for unified TCP options
* make clippy happy
* Pin lfu-cache to v1.2.1 for edward-shen/lfu-cache#2
* UDP target should cache with expiration 1hrs
* UDP tunnel test with an echo server
- CI crashes occasionally because of 8.8.8.8:53 doesn't respond
ref #452
- adding `mode` in `locals` and `servers` extended format`
redir and tunnel supports customizing UDP binding address by `udp_addr`
BREAKING CHANGES:
- `sslocal` and `ssserver` command line option `-u` and `-U` can only
control mode of command line specified local or server instance`
ref #452
- support `locals` in configuration file, running multiple local server
instance simultaneously
- support `unix://` in `dns` configuration
BREAKING CHANGE:
- `sslocal`'s `--dns-addr` is now only available in Android
- shadowsocks-service's `Config` struct have lots of changes