dizda / Fast Socks5
Licence: mit
Fast SOCKS5 client/server implementation written in Rust async/.await (with async-std)
Stars: ✭ 33
Programming Languages
rust
11053 projects
Projects that are alternatives of or similar to Fast Socks5
Request.swift
A tiny HTTP client written in swift. URLSession alternative
Stars: ✭ 14 (-57.58%)
Mutual labels: async
React Hydrate
Generic data fetching, caching, and SSR hydration pattern for React
Stars: ✭ 27 (-18.18%)
Mutual labels: async
Saber
⚔️ Saber, PHP异步协程HTTP客户端 | PHP Coroutine HTTP client - Swoole Humanization Library
Stars: ✭ 866 (+2524.24%)
Mutual labels: async
Modern Async
A modern JavaScript tooling library for asynchronous operations using async/await and promises
Stars: ✭ 31 (-6.06%)
Mutual labels: async
Shadowsocks Php
A php port of shadowsocks based on workerman. A socks5 proxy written in PHP.
Stars: ✭ 869 (+2533.33%)
Mutual labels: socks5
Fastapi
FastAPI framework, high performance, easy to learn, fast to code, ready for production
Stars: ✭ 39,588 (+119863.64%)
Mutual labels: async
Runtimepermission
Simpliest way to ask runtime permissions on Android, no need to extend class or override permissionResult method, choose your way : Kotlin / Coroutines / RxJava / Java7 / Java8
Stars: ✭ 860 (+2506.06%)
Mutual labels: async
Gitter Api
[production-ready] Gitter API implementation for php 7.0+ allowing sync, async and streaming access.
Stars: ✭ 11 (-66.67%)
Mutual labels: async
Iguazu Rest
✨ Iguazu REST is a plugin for the Iguazu ecosystem that allows for pre-built async calls for REST with smart caching.
Stars: ✭ 21 (-36.36%)
Mutual labels: async
Mysqlconnector
Async MySQL Connector for .NET and .NET Core
Stars: ✭ 942 (+2754.55%)
Mutual labels: async
Workcraft
Toolset to capture, simulate, synthesize and verify graph models
Stars: ✭ 27 (-18.18%)
Mutual labels: async
Socksio
Sans-I/O implementation of SOCKS4, SOCKS4A, and SOCKS5
Stars: ✭ 27 (-18.18%)
Mutual labels: socks5
Turbulette
😴 Turbulette - A batteries-included framework to build high performance, fully async GraphQL APIs
Stars: ✭ 29 (-12.12%)
Mutual labels: async
Ktx
LibKTX: Kotlin extensions for LibGDX games and applications
Stars: ✭ 913 (+2666.67%)
Mutual labels: async
SOCKS5 client/server library using async/.await
🚸 Currently it’s in heavy development and may frequently change.
Features
- An
async
/.await
SOCKS5 implementation. - No unsafe code
- Built on-top of
async-std
library - Ultra lightweight and scalable
- No system dependencies
- Cross-platform
- Authentication methods:
- No-Auth method
- Username/Password auth method
- Custom auth methods can be implemented via the Authentication Trait
- All SOCKS5 RFC errors (replies) should be mapped
-
AsyncRead + AsyncWrite
traits are implemented on Socks5Stream & Socks5Socket -
IPv4
,IPv6
, andDomains
types are supported - Config helper for Socks5Server
- Helpers to run a Socks5Server à la "async-std's TcpStream" via
incoming.next().await
- Examples come with real cases commands scenarios
- Can disable
DNS resolving
- Can skip the authentication/handshake process, which will directly handle command's request (useful to save useless round-trips in an already authenticated environment)
- Can disable command execution (useful if you just want to forward the request to an another server)
Install
Open in crates.io.
Examples
Please check examples
directory.
# Run client
RUST_LOG=debug cargo run --example client -- --socks-server 127.0.0.1:1337 --username admin --password password -a perdu.com -p 80
# Run server
RUST_LOG=debug cargo run --example server -- --listen-addr 127.0.0.1:1337 password -u admin -p password
# Test it with cURL
curl -v --proxy socks5://admin:[email protected]:1337 https://ipapi.co/json/
TODO
- Tests have to be implemented
- Better Rust doc
- Bind command not implemented
- UDP command not implemented
Inspired by
Thanks to all these SOCKS5 projects
- https://github.com/sfackler/rust-socks/blob/master/src/v5.rs
- https://github.com/shadowsocks/shadowsocks-rust/blob/master/src/relay/socks5.rs
- https://github.com/ylxdzsw/v2socks/blob/master/src/socks.rs
Further consideration
- Implementation made with Tokio-codec https://github.com/yfaming/yimu-rs/blob/master/src/socks5.rs
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].