GithubHelp home page GithubHelp logo

lbypatrick / yamato Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 1.0 1.88 MB

An elegant way to fire and multiple instances of shadowsocks-libev, plus some handy tools for data analysis.

License: MIT License

C++ 100.00%
shadowsocks-libev json cpp11 cpp anime china linux shadowsocks ss

yamato's Introduction

YAMATO

中文说明

Want to use shadowsocks with multiple users and never get bothered by sketchy auto-install scripts? YAMATO is here for you.

I. Installation

  1. Install shadowsocks-libev and required components
echo deb http://deb.debian.org/debian stretch-backports main >> /etc/apt/sources.list
apt update
apt install -t stretch-backports -y shadowsocks-libev g++ git
  1. Clone our project and compile
git clone https://github.com/LBYPatrick/YAMATO.git
cd YAMATO
sh build_linux.sh
mv bin/yamato ../
  1. Write a configuration (See III), for now we can use this file for example:
//tutorial.yml

group: group_one
method: chacha20-ietf
tunnel_mode: both
    1234 : "Password1"
    2234 : "Password2"
  1. Run the program with our configuration
./yamato -a load -i tutorial.yml
  1. At this point you should be able to access to this shadowsocks server with the two ports as shown in tutorial.yml using chacha20-ietf encryption. But I know you want to go beyond to make your life better, so you can then do:
./yamato -a info -i tutorial.yml -p 1234

which would get you something like this:

Remote Port        : 1234
Local  Port        : 1080
PID                : 10411
Method(Encryption) : chacha20-ietf
Password           : Password1
TCP Fast Open      : true
Tunnel Mode        : tcp_and_udp
Timeout            : 1440
Verbose            : true
SS Link            : ss://Y2hhY2hhMjAtaWV0ZjpQYXNzd29yZDFAZ29vZ2xlLmNvbToxMjM0#group_one-1234

See the SS Link? Now you can quickly configure shadowsocks on your client devices using the SS Link(Some software called it "URI")!

Note: The link shown above does not actually work because it is just an exmaple (i.e. I made the server address to be google.com)

II. Usage

Console

Parameters

-i or --input <filename>        : Specify input file
-a or --action <action>         : Specify action (raw_log,stat, load, unload,log,info,backup_log)
-pn or --profile-name           : Specify profile name(For creating sharable SS:// link)
-s or --server-address          : Specify server address(For creating sharable SS:// link)
/?, -h or --help                : Show this help message
-e or --extra-parameter <param> : Specify additional parameters, you can do things like UDP relay or HTTP/TLS OBFS here
-p or --port                    : Specify a port for checking status
-li or --log-input              : Specify source syslog file (Not required, this is for analyzing log in devices other than your server)
-o or --output                  : Specify output file name (For stat and log specified with --action)
-q or --quiet                   : Enable Quiet Mode (No output, even including error notifications)
-d or --dump                    : Dump log when stopping a configuration

III. Configuration Exmaple

group: Contosco
nameserver: 8.8.8.8
method: chacha20-ietf
timeout: 1440
redirect: pornhub.com
fastopen: true
server: 0.0.0.0
tunnel_mode: both            //or you can set it to "tcp" or "both". Please keep in mind that it's NOT "tcp_only" or "tcp_and_udp" because I hate to do it that way.
    8388 : "foo"
    2468 : "bar"

group: MSFT
method: chacha20
    4567 : "Baz"
    5678 : "Qux"

yamato's People

Contributors

lbypatrick avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

minfredchan

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.