Socks5/Transparent Proxy Client
Feature
- Windows/macOS/Linux/variant BSDs supported
- socks5 frontend, IPv4/IPv6/remote DNS resolving supported
- redir mode frontend on Linux (iptables compatible), IPv4/IPv6(not tested) supported
- tunnel mode frontend, IPv4/IPv6 supported
- http/https backend
- socks4/socks4a/socks5 backend
- Shadowsocks(R) backend
- DNS proxy that protects user against DNS poisoning but is CDN friendly in China
SS Encrypting algorithm
- aes-128-cfb
- aes-192-cfb
- aes-256-cfb
- aes-128-ctr
- aes-192-ctr
- aes-256-ctr
- aes-128-ofb
- aes-192-ofb
- aes-256-ofb
- des-cfb
- bf-cfb
- cast5-cfb
- rc4-md5
- chacha20
- chacha20-ietf
- salsa20
- camellia-128-cfb
- camellia-192-cfb
- camellia-256-cfb
- idea-cfb
- rc2-cfb
- seed-cfb
SSR Obfs
- plain
- http_simple
- http_post
- random_head
- tls1.2_ticket_auth
SSR Protocol
- origin
- verify_sha1 aka. one time auth(OTA)
- auth_sha1_v4
- auth_aes128_md5
- auth_aes128_sha1
Todo (help wanted)
- UDP forwarding, include original Shadowsocks compatible UDP relay and ShadowsocksR compatible UDP over TCP relay
- tun based system wide proxy
- Adblock Plus rules based filter for http
- TCP Fast Open on Linux with 3.7+ kernel
- Transparent proxy aka. redir mode on Mac OS X and variant BSDs(ipfw/pf mode)
Build
Dependencies
github.com/op/go-logging
github.com/garyburd/redigo/redis
github.com/fsnotify/fsnotify
github.com/kardianos/osext
github.com/gin-gonic/gin
github.com/gorilla/websocket
github.com/DeanThompson/ginpprof
github.com/miekg/dns
github.com/Yawning/chacha20
github.com/dgryski/go-camellia
github.com/dgryski/go-idea
github.com/dgryski/go-rc2
github.com/patrickmn/go-cache
github.com/RouterScript/ProxyClient
github.com/ftrvxmtrx/fd
Steps
for macOS/Linux/BSDs
git clone https://github.com/missdeer/avege.git
cd avege
go build
Usage
Dependencies
- redis-server (not necessary if you use other cache service such as gocache instead)
Steps
for macOS/Linux/BSDs, open terminal as you like, input:
cp assets/conf/config-sample.json config.json
# modify config.json as you like
./avege
for Windows, open cmd.exe, input:
copy assets\conf\config-sample.json config.json # modify config.json as you like avege.exe