|
|
@@ -1,2 +1,76 @@
|
|
|
# tinyFecVPN
|
|
|
-tinyFecVPN
|
|
|
+
|
|
|
+A tiny VPN with Build-in FEC Support.
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+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](https://github.com/wangyu-/udp2raw-tunnel/releases/download/20170918.0/lede-17.01.2-x86_virtual_machine_image_with_udp2raw_pre_installed.zip) 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.
|