Git Product home page Git Product logo

overplus's Introduction

overplus

Overplus is another implementation of trojan protocol with better perfermance and stability.

Azure DevOps Status

Compared with trojan:

  • Lower latency and higher speed
  • Enhanced Security
  • Easy to deploy
  • More readable and cleaner code.

One-click deployment

Run the script and follow the assistant:

curl -O https://raw.githubusercontent.com/xyanrch/overplus/master/install.sh && chmod +x install.sh && sudo ./install.sh

It is strongly recommended to enable BBR to accelerate the network speed.

Enable BBR on 20.04 and CentOS 8

Client side

A windows client that support v protocol can find in release page. Overplus fully support trojan protocol, so you can use any client which support trojan protocol. Please make sure disable certificate verification if you use a self issued certificate.

Build

The project depend on boost and openssl libraries, please make sure install boost and openssl before build the project.

How to build

mkdir build && cd build
cmake ..
make

How to run

sudo ./overplus -c server.json

server.json is a config file which you can customize.

Example config file

{
    "run_type": "server",
    "local_addr": "0.0.0.0",
    "local_port": "443",
    "allowed_passwords": [
        "testpsswd"
    ],
    "log_level": "NOTICE",
    "log_dir":"",
    "ssl": {
        "cert": "path_to_cert",
        "key": "path_to_key"
    },
  "websocketEnabled": false
}

Windows platform build

Windows use vcpkg to manage library

Dowload vcpkg

git clone https://github.com/Microsoft/vcpkg.git
.\vcpkg\bootstrap-vcpkg.bat

Install dependence

.\vcpkg\vcpkg.exe install --triplet x64-windows

Build project

cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE="..\vcpkg\scripts\buildsystems\vcpkg.cmake"
cmake --build build

How does overplus work?

Trojan protocol is a socks5 like protocol.Trojan request is formed as follows:

    +----+-----+-------+------+----------+----------+-------+
    |Command | password| DST.ADDR | DST.PORT |packed payload
    +----+-----+-------+------+----------+----------+-------+
    | unit8  |  string  | string |   string  | string
    +----+-----+-------+------+----------+----------+-------+

flow chart

Roadmap

  • Support UDP proxy for trojan protocol
  • Support websocket for trojan protocol
  • Implement a web console to manage overplus
  • Design a new protocol to replace trojan protocol

Stargazers over time

Stargazers over time

overplus's People

Contributors

xyanrch 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.