Shadowsocks implementation written in Go.
Yet another shadowsocks implementation. Not official, but conforms to its protocol.
It is not a socks5 implementation. Though, it does contain a package socks5 to read and write socks5 messages.
Should I named it yassi?
Various cipher methods and UDP are not supported. For now, only supported cipher methods are:
- aes-128-cfb
- aes-192-cfb
- aes-256-cfb
- rc4-md5
Run go get github.com/kezhuw/shadowsocks/cmd/shadowsocks
to install command line executable file.
Usage of shadowsocks:
-config string
Configuration file
-help
Print usage
See examples/config.toml for configration fields.
Go godoc to see documentation.
Use git submodule
and vendor to resolve dependency.
So if you want to build it, Go 1.5 is preferred.
It is worth mentioning that cipher methods are supported via driver-like method used by official database/sql package. So it should be trivially easy to integrate external cipher method if you contribute one. See file crypto.go, crypto/aes.go, cmd/shadowsocks/ciphers.go for details.
Released under The MIT License (MIT). See LICENSE for the full license text.
Some implementations that I read portions of them:
- Shadowsocks Official implementation, written in Python. Official repository is purged, here is a backup.
- shadowsocks-go One of yet another implementations, written in Go.
Due to permissive license, feel free to fork and hack. If you have any questions, fire issues. For bugs and features, pull requests are preferred.
Wait a minute. I need to drink some wine.