GithubHelp home page GithubHelp logo

tapir's Introduction

Tapir

Tapir

VPN server & client

Build and install server

git clone https://github.com/forest33/tapir
cd tapir
docker-compose build
docker-compose run --rm tapir-server init -host SERVER_HOSTNAME_OR_IP
docker-compose up -d

Creating a user and retrieve the client configuration

docker-compose run --rm tapir-server create -name USERNAME -password PASSWORD
docker-compose run --rm tapir-server export -name USERNAME > profile.tapir

Speed test results

OpenVPN

OpenVPN speed test

Tapir

Tapir speed test

Packet format

| T | F |      PSN      |      SID     |   L   |
|---|---|---------------|--------------|-------|
|                                              |
|                   Payload                    |
|                                              |

T - packet type, 8 bits
F - flags, 8 bits
PSN - packet serial number, 32 bits
SID - session idenificator, 32 bits
L - payload length, 16 bits

Packet types

  • 0x01 - authentication
  • 0x02 - handshake
  • 0x03 - data
  • 0x04 - keepalive
  • 0x05 - reset

Flags

  • 0x00 - normal packet
  • 0x01 - error
  • 0x02 - request
  • 0x04 - acknowledgement
  • 0x08 - LZ4 compression
  • 0x10 - LZO compression
  • 0x20 - ZSTD compression

Authentication request

|L|      N       |L|      P       | 
|-|--------------|-|--------------|

L - field length
N - user name
P - password

Authentication response

| S |L|      LA      |L|      RA      | 
|---|-|--------------|-|--------------|

S - session idenificator, 32 bits
L - field length
LA - local IP address
RA - remote IP address

Handshake request/response

|L|      K       |         
|-|--------------|

L - field length
K - public key

tapir's People

Contributors

forest33 avatar

Watchers

 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.