GithubHelp home page GithubHelp logo

fskeo / shadowsocks-bootstrap Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dnomd343/shadowsocks-bootstrap

0.0 0.0 0.0 82 KB

A simple program to make the original shadowsocks support SIP003 plugins.

License: MIT License

C 99.35% CMake 0.65%

shadowsocks-bootstrap's Introduction

Shadowsocks Bootstrap

A simple program to make the original shadowsocks support SIP003 plugins.

Quick Start

As we all know, the original shadowsocks is written in python, this version does not support SIP003 plugin, and shadowsocks-libev or shadowsocks-rust which support plugin lack some encryption methods (although they are insecure), so making the original shadowsocks support SIP003 plugin will be able to get better compatibility.

The SIP003 plugin runs as a subroutine. In shadowsocks-bootstrap, both the shadowsocks program and the plugin will be executed as subroutines to assign ports and manage them.

You can use shadowsocks-bootstrap just like shadowsocks, the only difference is the extra --plugin and --plugin-opts options. In addition, it will use sslocal or ssserver as shadowsocks program by default, if necessary you should specify a custom filename with --shadowsocks option.

A simple program to make the original shadowsocks support SIP003 plugins.

-s <server_host>             Host name or IP address of your remote server.
-p <server_port>             Port number of your remote server.
-b <local_address>           Local address to bind.
-l <local_port>              Port number of your local server.
-c <config_file>             Path to JSON config file.
-k <password>                Password of your remote server.
-m <method>                  Encrypt method.
-t <timeout>                 Socket timeout in seconds.
--fast-open                  Enable TCP fast open (with Linux kernel 3.7+).
--plugin <name>              Enable SIP003 plugin.
--plugin-opts <options>      Set SIP003 plugin options.
--shadowsocks <shadowsocks>  Set shadowsocks local or server program.
--no-udp                     Do not use UDP proxy.
-h, --help                   Print this message.

You can also run via a JSON config file:

{
    "server": "...",
    "server_port": 8388,
    "local_address": "127.0.0.1",
    "local_port": 1080,
    "password": "...",
    "timeout": 300,
    "method": "aes-256-cfb",
    "fast_open": false,
    "no_udp": false,
    "plugin": "...",
    "plugin_opts": "...",
    "shadowsocks": "...",
    "extra_opts": "..."
}

Example:

shell> ss-bootstrap-server -s 0.0.0.0 -p 12345 -k dnomd343 -m aes-256-ctr --shadowsocks ss-python-server --plugin obfs-server --plugin-opts "obfs=http"
shell> ss-bootstrap-local -s 127.0.0.1 -p 12345 -b 0.0.0.0 -l 1080 -k dnomd343 -m aes-256-ctr --shadowsocks ss-python-local --plugin obfs-local --plugin-opts "obfs=http;obfs-host=www.bing.com"

Compile

You need to install gcc , make and cmake at first, and also need the glib2.0 development environment.

Examples
# Alpine
apk add build-base make cmake git glib-dev
git clone https://github.com/dnomd343/shadowsocks-bootstrap.git
cd shadowsocks-bootstrap/
mkdir build && cd build/
cmake .. && make
mv ../bin/* /usr/bin/
# Ubuntu
sudo apt update
sudo apt install build-essential cmake git libglib2.0-dev
git clone https://github.com/dnomd343/shadowsocks-bootstrap.git
cd shadowsocks-bootstrap/
mkdir build && cd build/
cmake .. && make
sudo mv ../bin/* /usr/local/bin/
# CentOS
sudo yum update
sudo yum groupinstall "Development Tools"
sudo yum install cmake libgnomeui-devel
git clone https://github.com/dnomd343/shadowsocks-bootstrap.git
cd shadowsocks-bootstrap/
mkdir build && cd build/
cmake .. && make
sudo mv ../bin/* /usr/local/bin/

License

MIT ©2022 @dnomd343

shadowsocks-bootstrap's People

Contributors

dnomd343 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.