Skip to content

Yet another shadowsocks implementation, written in Go.

License

Notifications You must be signed in to change notification settings

kezhuw/shadowsocks

Repository files navigation

Shadowsocks

Shadowsocks implementation written in Go.

What it is?

Yet another shadowsocks implementation. Not official, but conforms to its protocol.

What it is not?

It is not a socks5 implementation. Though, it does contain a package socks5 to read and write socks5 messages.

Why not another name?

Should I named it yassi?

What is missing?

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

Usage

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.

Details

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.

License

Released under The MIT License (MIT). See LICENSE for the full license text.

Links

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.

Contributions

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.

TODO

Wait a minute. I need to drink some wine.

About

Yet another shadowsocks implementation, written in Go.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages