open-snell
An open source port of snell
Features
-
snell-server
: v1, v2, v3 -
snell-client
: v1, v2
snell-client is bug-fix-only, please consider clash for full feature opensource snell client
Build
Requirements
-
git
-
go 1.17+
Build Steps
Only tested on macOS.
# clone and enter the repo
make
# or `make server/client' to build snell-server/snell-client separately
The binaries are produced at ./build/snell-{server,client}
Usage
An ini file is needed (compatible with the offical port):
# snell.conf
# section "snell-client" is used by snell-client
[snell-client]
listen = 0.0.0.0:1234
server = 1.2.3.4:5678
psk = psk
obfs = tls
obfs-host = www.bing.com
version = 1 # default 2
# section "snell-server" is used by snell-client
[snell-server]
listen = 0.0.0.0:5678
psk = psk
obfs = tls
Start the snell-*
:
./snell-{server,client} -c ./snell.conf
Docker image
The auto-built docker image is also available at ghcr.io/icpz/snell-server:latest and ghcr.io/icpz/snell-client:latest.
License
Copyright (C) 2020-, icpz <[email protected]>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.