# psocks Experimental async SOCKS5 (TCP/UDP) proxy server based on [fast-socks5](https://github.com/dizda/fast-socks5/blob/master/examples/server.rs), featuring allowlist-based access control (drop everything but allowed by user) with JSON/API based on [Rocket](https://rocket.rs) framework. ## Roadmap * [ ] Range support * [ ] Local Web-API * [x] Block stats * [ ] In-memory list update (without server restart) * [ ] Performance optimization ## Usage ``` bash RUST_LOG=psocks=trace cargo run -- -a=/path/to/allow1.txt \ -a=http://localhost/allow2.txt \ no-auth ``` * set `socks5://127.0.0.1:1080` proxy in your application * open http://127.0.0.1:8010 in browser for stats & control API ### Allow list example ``` /path/to/allow1.txt # /path/to/allow1.txt // exact match duckduckgo.com // google.com with subdomains .google.com // IP resolved 1.2.3.4 ``` * see also: [my personal asset](https://codeberg.org/postscriptum/psocks-list)