集成了UDPspeeder功能的VPN(仅支持Linux系统,没有桥接网络功能)。
只能一个客户端连接,所以基本没什么用。

wangyu- 47fdfb3ffa Add files via upload hace 8 años
UDPspeeder @ e3e2fe6d36 0c75ab7cf8 fixed help page hace 8 años
images 47fdfb3ffa Add files via upload hace 8 años
.gitmodules a40fd896c3 add tun_dev.cpp tun_dev.h hace 8 años
LICENSE.md 3cf56b5cb8 add license hace 8 años
README.md b298c38a64 Update README.md hace 8 años
main.cpp 0c75ab7cf8 fixed help page hace 8 años
makefile 0c75ab7cf8 fixed help page hace 8 años
tun_dev.cpp a40fd896c3 add tun_dev.cpp tun_dev.h hace 8 años
tun_dev.h a40fd896c3 add tun_dev.cpp tun_dev.h hace 8 años

README.md

tinyFecVPN

A tiny VPN with Build-in FEC Support.

image

TinyFecVPN use UDPSpeeder as lib.Supports all FEC features of UDPspeeder. It can improve quality of all network traffic(TCP/UDP/ICMP) as a single program.

Efficacy

Tested on a link with 100ms latency and 10% packet loss at both direction(borrowed UDPspeeder 's result,they behave almost the same)

Ping Packet Loss

SCP Copy Speed

Supported Platforms

Linux host (including desktop Linux,Android phone/tablet, OpenWRT router, or Raspberry PI).

For Windows and MacOS You can run TinyFecVPN inside this 7.5mb virtual machine image.

Getting Started

Installing

Download binary release from https://github.com/wangyu-/tinyFecVPN/releases

Running

Assume your server ip is 44.55.66.77, you have a service listening on udp/tcp port 0.0.0.0:7777.

# Run at server side:
./tinyvpn -s -l0.0.0.0:4096 -f20:10 -k "passwd"

# Run at client side
./tinyvpn -c r44.55.66.77:4096 -f20:10 -k "passwd"

Now,use 10.0.0.1:7777 to connect to your service,all traffic is speeded-up by FEC.

Note

-f20:10 means sending 10 redundant packets for every 20 original packets.

-k enables simple XOR encryption

Advanced Topic

FEC Options

The program supports all options of UDPspeeder,check UDPspeeder repo for details:

https://github.com/wangyu-/UDPspeeder

Addtional Options

--tun-dev

Specify a tun device name to use. Example: --tun-dev tun100.

If not set,tinyFecVPN will randomly chose a name,such as tun987.

--sub-net

Specify the sub-net of VPN. Example: --sub-net 10.10.10.0, in this way,server IP will be 10.10.10.1,client IP will be 10.10.10.2.

The last number of option should be zero, for exmaple 10.10.10.123 is invalild, and will be corrected automatically to 10.10.10.0.

Restriction

There is currently an intended restriction at client side.You cant use tinyFecVPN to access a third server directly.So,as a connection speed-up tool,when used alone,it only allows you to speed-up your connection to your server.You cant use it to bypass network firewalls directly.

To bypass this restriction,you have to disable it by modifying source code,and re-compile by yourself.