Filtering asynchronous SOCKS5 (TCP/UDP) proxy server https://crates.io/crates/psocks
Find a file
2026-03-22 04:34:19 +02:00
src use AtomicU64 for stats, rename some members 2026-03-22 04:34:19 +02:00
.gitignore initial commit 2026-03-22 01:06:24 +02:00
Cargo.lock implement web-api server with stats 2026-03-22 03:24:02 +02:00
Cargo.toml implement web-api server with stats 2026-03-22 03:24:02 +02:00
LICENSE Initial commit 2026-03-22 00:02:29 +01:00
README.md add reference to psocks-list 2026-03-22 03:37:50 +02:00

psocks

Experimental async SOCKS5 (TCP/UDP) proxy server based on fast-socks5, featuring allowlist-based access control (drop everything but allowed by user) with JSON/API based on Rocket framework.

Roadmap

  • Range support
  • Local Web-API
    • Block stats
    • In-memory list update (without server restart)
    • Performance optimization

Usage

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

// exact match
duckduckgo.com

// google.com with subdomains
.google.com

// IP resolved
1.2.3.4