diff --git a/README.md b/README.md index 350ec8b..b984f07 100755 --- a/README.md +++ b/README.md @@ -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 NAT mode 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 diff --git a/doc/README.zh-cn.md b/doc/README.zh-cn.md index 33bfe4a..0350445 100644 --- a/doc/README.zh-cn.md +++ b/doc/README.zh-cn.md @@ -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) + # 进阶操作说明 ### 命令选项 diff --git a/doc/android_guide.md b/doc/android_guide.md new file mode 100644 index 0000000..da7de15 --- /dev/null +++ b/doc/android_guide.md @@ -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) diff --git a/images/android.png b/images/android.png new file mode 100644 index 0000000..c0290ec Binary files /dev/null and b/images/android.png differ