This commit is contained in:
root 2017-08-16 19:45:26 +08:00
commit ac02ea91d7
4 changed files with 46 additions and 11 deletions

@ -4,6 +4,12 @@
A UDP Tunnel which tunnels UDP via FakeTCP/UDP/ICMP Traffic by using Raw Socket,helps you Bypass UDP FireWalls(or Unstable UDP Environment).Its Encrpyted,Anti-Replay and Multiplexed.It aslo acts as a Connection Stablizer.
[简体中文](/doc/README.zh-cn.md)
# Support Platforms
A Linux host (including desktop Linux,Android phone/tablet,OpenWRT router,or Raspberry PI) with root access.
For Winodws/MacOS,virtual image with udp2raw pre-installed has been released,you can load it with Vmware/VirtualBox.The virtual image has been set to auto obtain ip,udp2raw can be run imidiately after boot finished(make sure network mode of virtual machine has been set to bridged)(only udp2raw has to be run under virtual machine,all other programs runs under Windows/MacOS as usual).
# Features
### Send / Receive UDP Packet with fake-tcp/icmp headers
Fake-tcp/icmp headers help you bypass UDP blocking, UDP QOS or improper UDP NAT behavior on some ISPs. Raw packets with UDP headers are also supported.In UDP header mode,it behaves just like a normal UDP tunnel,and you can just make use of the other features.
@ -44,11 +50,6 @@ For example, if you use UDP2RAW + OpenVPN, OpenVPN won't lose connection after a
* UDP over TCP
# Getting Started
### Prerequisites
A Linux host (including desktop Linux, OpenWRT router, or Raspberry PI) with root access.
If you want to use it on MICRO$OFT Windows, you can use VMware or Hyper-V (both bridged mode and <del>NAT mode</del> are supported).
### Installing
Download binary release from https://github.com/wangyu-/udp2raw-tunnel/releases
@ -64,6 +65,8 @@ Assume your UDP is blocked or being QOS-ed or just poorly supported. Assume your
```
Now,an encrypted raw tunnel has been established between client and server through TCP port 4096. Connecting to UDP port 3333 at the client side is equivalent to connecting to port 7777 at the server side. No UDP traffic will be exposed.
### Note
to run on Android, see [Android_Guide](/doc/android_guide.md)
# Advanced Topic
### Usage

@ -1,8 +1,6 @@
Udp2raw-tunnel
![image2](/images/image2.PNG)
udp2raw tunnel通过raw socket给UDP包加上TCP或ICMP header进而绕过UDP屏蔽或QoS或在UDP不稳定的环境下提升稳定性。支持心跳保活、自动重连重连后会恢复上次连接在底层掉线的情况下可以保持上层不掉线。同时有加密、防重放攻击、信道复用的功能。
**欢迎任何形式的转载**
udp2raw tunnel通过raw socket给UDP包加上TCP或ICMP header进而绕过UDP屏蔽或QoS或在UDP不稳定的环境下提升稳定性。支持心跳保活、自动重连重连后会恢复上次连接在底层掉线的情况下可以保持上层不掉线。同时有加密、防重放攻击、信道复用的功能。**欢迎任何形式的转载**
[English](/README.md)
@ -13,6 +11,12 @@ udp2raw tunnel通过raw socket给UDP包加上TCP或ICMP header进而绕过
如果你需要加速跨国网游、网页浏览解决方案在另一个repo
https://github.com/wangyu-/UDPspeeder
# 支持的平台
Linux主机有root权限。可以是PC、android手机/平板、openwrt路由器、树莓派。主机上最好安装了iptables命令(apt/yum很容易安装)。
在windows和mac上预装了udp2raw的虚拟机镜像已发布可以用Vmware或VirtualBox加载容量4.4mb已经配置好了自动获取网卡ip开机即用稳定性能很好。
udp2raw跑在虚拟机里其他应用照常跑在windows上确保虚拟机网卡工作在桥接模式Vmware player 75mb,VirtualBox 118mb,很容易安装)。
# 功能特性
### 把udp流量伪装成tcp /icmp
用raw socket给udp包加上tcp/icmp包头可以突破udp流量限制或Udp QOS。或者在udp nat有问题的环境下提升稳定性。  另外也支持用raw 发udp包这样流量不会被伪装只会被加密。
@ -50,9 +54,6 @@ epoll纯异步高并发除了回收过期连接外所有操作的时间
# 简明操作说明
### 环境要求
Linux主机有root权限。主机上最好安装了iptables命令(apt/yum很容易安装)。在windows和mac上可以开虚拟机udp2raw跑在linux里其他应用照常跑在windows上桥接模式测试可用
### 安装
下载编译好的二进制文件,解压到任意目录。
@ -72,6 +73,9 @@ https://github.com/wangyu-/udp2raw-tunnel/releases
现在client和server之间建立起了tunnel。想要在本地连接44.55.66.77:7777只需要连接 127.0.0.1:3333。来回的所有的udp流量会被经过tunneling发送。在外界看起来是tcp流量不会有udp流量暴露到公网。
### 提醒
如果要在anroid上运行请看[Android简明教程](/doc/android_guide.md)
# 进阶操作说明
### 命令选项

28
doc/android_guide.md Normal file

@ -0,0 +1,28 @@
# How to run udp2raw on a rooted android device(arm cpu)
There is currently no GUI for udp2raw on android.Make sure you have installed Terminal to run it.
Download udp2raw_arm from https://github.com/wangyu-/udp2raw-tunnel/releases.
Copy udp2raw_arm to any dir of your **internal storage** .Copying it to **SD card wont work**.
# Steps
1. run udp2raw_arm as usual, except you must change the -a option to -g
```
./udp2raw_arm -c -r 44.55.66.77:9966 0l 0.0.0.0:4000 -k1234 --cipher xor -g
```
2. find the generated iptables rule from udp2raw's output,add it manually by running:
```
iptables -I INPUT -s 44.55.66.77/32 -p tcp -m tcp --sport 9966 -j DROP
```
3. run udp2raw_ram without -g command
```
./udp2raw_arm -c -r 44.55.66.77:9966 0l 0.0.0.0:4000 -k1234 --cipher xor -a
```
# Demostration (zoom in if its not large enough)
![](/images/android.png)

BIN
images/android.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 KiB