17 Commits

Author SHA1 Message Date
wangyu-
0cafbff271 new targets,change to static compile 2017-09-10 04:04:07 -05:00
wangyu-
a04f976c20 Add files via upload 2017-09-03 21:54:11 -05:00
wangyu-
2837f3b955 Update README.md 2017-09-03 18:01:37 -07:00
wangyu-
83ec1296a3 Update README.md 2017-09-03 18:00:25 -07:00
wangyu-
edfc23e273 Update README.md 2017-09-03 17:58:31 -07:00
wangyu-
32c51decad Update README.md 2017-09-03 17:56:28 -07:00
wangyu-
9ce560d9d1 Add files via upload 2017-09-03 17:48:29 -05:00
wangyu-
3c333b59e6 Add files via upload 2017-09-03 17:45:57 -05:00
wangyu-
073eb5fc2d Add files via upload 2017-09-03 17:17:54 -05:00
wangyu-
8388c5dbce Update README.md 2017-09-03 15:12:59 -07:00
wangyu-
24e980069e Update README.md 2017-09-03 15:11:38 -07:00
wangyu-
9a42db3200 Add files via upload 2017-09-03 17:11:19 -05:00
wangyu-
7e0d9f99f2 Update README.md 2017-09-03 15:03:35 -07:00
wangyu-
88564a1f56 Add files via upload 2017-09-03 16:59:29 -05:00
wangyu-
a95c383cc6 Update README.md 2017-08-16 07:55:21 -07:00
wangyu-
f99de500ba Update README.md 2017-08-16 06:02:18 -07:00
wangyu-
aa7c520642 Update README.md 2017-08-16 05:46:34 -07:00
6 changed files with 62 additions and 31 deletions

View File

@@ -26,7 +26,7 @@ UDP双边加速工具降低丢包率配合vpn可以加速任何协议
client支持多个udp连接server也支持多个client client支持多个udp连接server也支持多个client
目前有amd64,x86,ar71xx,树莓派armv7的binary 目前有amd64,x86,ar71xx,树莓派armv7和android的binary
如果你需要绕过UDP屏蔽/QoS或者需要连接复用/连接保持功能或者是加密。解决方案在另一个repo(可以跟UDPspeeder一起使用) 如果你需要绕过UDP屏蔽/QoS或者需要连接复用/连接保持功能或者是加密。解决方案在另一个repo(可以跟UDPspeeder一起使用)
@@ -35,7 +35,9 @@ https://github.com/wangyu-/udp2raw-tunnel
# 简明操作说明 # 简明操作说明
### 环境要求 ### 环境要求
Linux主机可以使是openwrt路由器也可以是树莓派。在windows和mac上配合虚拟机可以稳定使用speeder跑在Linux里其他应用照常跑在window里桥接模式测试可用 Linux主机可以是桌面版可以是android手机/平板,可以是openwrt路由器也可以是树莓派。在windows和mac上配合虚拟机可以稳定使用speeder跑在Linux里其他应用照常跑在window里桥接模式测试可用
android版需要通过terminal运行。
### 安装 ### 安装
下载编译好的二进制文件,解压到本地和服务器的任意目录。 下载编译好的二进制文件,解压到本地和服务器的任意目录。
@@ -131,10 +133,16 @@ kcptun在udp层有RS code也是一种冗余传输通过openvpn把流量转
udp协议本身是ip协议加上了端口之后的直接封装udp继承了ip协议的实时/乱序到达特性更适合中转vpn。 udp协议本身是ip协议加上了端口之后的直接封装udp继承了ip协议的实时/乱序到达特性更适合中转vpn。
#### UDPspeeder + kcptun/finalspeed同时加速tcp和udp流量 #### UDPspeeder + kcptun/finalspeed + ss 同时加速tcp和udp流量
如果你需要用加速的tcp看视频和下载文件这样效果比vpn方案更好。不论是速度还是流量的耗费上。 如果你需要用加速的tcp看视频和下载文件这样效果比vpn方案更好。不论是速度还是流量的耗费上。
![image0](images/Capture3.PNG) ![image0](images/Capture3.PNG)
#### UDPspeeder + openvpn + ss 混合方案
也是我正在用的方案。优点是可以随时在vpn和ss方案间快速切换。
实际部署起来比图中看起来的还要简单。不需要改路由表需要做的只是用openvpn的ip访问ss server。
![image0](images/Capture10.PNG)
(也可以把图中的ss server换成其他的socks5 server这样连ss client也不需要了)
# 编译教程 # 编译教程
暂时先参考udp2raw的这篇教程几乎一样的过程。 暂时先参考udp2raw的这篇教程几乎一样的过程。

BIN
images/Capture10.PNG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 73 KiB

BIN
images/Capture9.PNG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

View File

@@ -1,5 +1,6 @@
#include "common.h" #include "common.h"
#include "log.h" #include "log.h"
#include "git_version.h"
using namespace std; using namespace std;
@@ -923,8 +924,12 @@ int event_loop()
} }
void print_help() void print_help()
{ {
char git_version_buf[100]={0};
strncpy(git_version_buf,gitversion,10);
printf("UDPspeeder\n"); printf("UDPspeeder\n");
printf("version: %s %s\n",__DATE__,__TIME__); printf("git version:%s ",git_version_buf);
printf("build date:%s %s\n",__DATE__,__TIME__);
printf("repository: https://github.com/wangyu-/UDPspeeder\n"); printf("repository: https://github.com/wangyu-/UDPspeeder\n");
printf("\n"); printf("\n");
printf("usage:\n"); printf("usage:\n");

View File

@@ -1,45 +1,63 @@
cc_cross=/home/wangyu/OpenWrt-SDK-ar71xx-for-linux-x86_64-gcc-4.8-linaro_uClibc-0.9.33.2/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-g++ cc_cross=/home/wangyu/Desktop/arm-2014.05/bin/arm-none-linux-gnueabi-g++
cc_local=g++ cc_local=g++
cc_ar71xx=/home/wangyu/OpenWrt-SDK-ar71xx-for-linux-x86_64-gcc-4.8-linaro_uClibc-0.9.33.2/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-g++ #cc_mips34kc=/toolchains/OpenWrt-SDK-ar71xx-for-linux-x86_64-gcc-4.8-linaro_uClibc-0.9.33.2/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-g++
cc_bcm2708=/home/wangyu/raspberry/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ cc_mips24kc_be=/toolchains/lede-sdk-17.01.2-ar71xx-generic_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/toolchain-mips_24kc_gcc-5.4.0_musl-1.1.16/bin/mips-openwrt-linux-musl-g++
cc_arm=/home/wangyu/Desktop/arm-2014.05/bin/arm-none-linux-gnueabi-g++ cc_mips24kc_le=/toolchains/lede-sdk-17.01.2-ramips-mt7621_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/toolchain-mipsel_24kc_gcc-5.4.0_musl-1.1.16/bin/mipsel-openwrt-linux-musl-g++
FLAGS= -std=c++11 -Wall -Wextra -Wno-unused-variable -Wno-unused-parameter #cc_arm= /toolchains/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-g++ -march=armv6 -marm
SOURCES=main.cpp log.cpp common.cpp cc_arm= /toolchains/arm-2014.05/bin/arm-none-linux-gnueabi-g++
NAME=speeder #cc_bcm2708=/home/wangyu/raspberry/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++
TAR=${NAME}_binaries.tar.gz ${NAME}_amd64 ${NAME}_x86 ${NAME}_ar71xx ${NAME}_bcm2708 ${NAME}_arm FLAGS= -std=c++11 -Wall -Wextra -Wno-unused-variable -Wno-unused-parameter -Wno-missing-field-initializers
all: SOURCES=main.cpp log.cpp common.cpp
NAME=speeder
TARGETS=amd64 arm mips24kc_be x86 mips24kc_le
TAR=${NAME}_binaries.tar.gz `echo ${TARGETS}|sed -r 's/([^ ]+)/speeder_\1/g'`
all:git_version
rm -f ${NAME} rm -f ${NAME}
${cc_local} -o ${NAME} -I. ${SOURCES} ${FLAGS} -lrt -static -O3 ${cc_local} -o ${NAME} -I. ${SOURCES} ${FLAGS} -lrt -ggdb -static -O3
fast: fast: git_version
rm -f ${NAME} rm -f ${NAME}
${cc_local} -o ${NAME} -I. ${SOURCES} ${FLAGS} -lrt ${cc_local} -o ${NAME} -I. ${SOURCES} ${FLAGS} -lrt -ggdb
debug: debug: git_version
rm -f ${NAME} rm -f ${NAME}
${cc_local} -o ${NAME} -I. ${SOURCES} ${FLAGS} -lrt -Wformat-nonliteral -D MY_DEBUG ${cc_local} -o ${NAME} -I. ${SOURCES} ${FLAGS} -lrt -Wformat-nonliteral -D MY_DEBUG
debug2: git_version
rm -f ${NAME}
${cc_local} -o ${NAME} -I. ${SOURCES} ${FLAGS} -lrt -Wformat-nonliteral -ggdb
ar71xx: mips24kc_be: git_version
${cc_ar71xx} -o ${NAME}_ar71xx -I. ${SOURCES} ${FLAGS} -lrt -lgcc_eh -static -O3 ${cc_mips24kc_be} -o ${NAME}_$@ -I. ${SOURCES} ${FLAGS} -lrt -lgcc_eh -static -O3
bcm2708:
${cc_bcm2708} -o ${NAME}_bcm2708 -I. ${SOURCES} ${FLAGS} -lrt -static -O3
amd64:
${cc_local} -o ${NAME}_amd64 -I. ${SOURCES} ${FLAGS} -lrt -static -O3
x86:
${cc_local} -o ${NAME}_x86 -I. ${SOURCES} ${FLAGS} -lrt -m32 -static -O3
arm:
${cc_arm} -o ${NAME}_arm -I. ${SOURCES} ${FLAGS} -lrt -static -O3
cross: mips24kc_le: git_version
${cc_mips24kc_le} -o ${NAME}_$@ -I. ${SOURCES} ${FLAGS} -lrt -lgcc_eh -static -O3
amd64:git_version
${cc_local} -o ${NAME}_$@ -I. ${SOURCES} ${FLAGS} -lrt -static -O3
x86:git_version
${cc_local} -o ${NAME}_$@ -I. ${SOURCES} ${FLAGS} -lrt -static -O3 -m32
arm:git_version
${cc_arm} -o ${NAME}_$@ -I. ${SOURCES} ${FLAGS} -lrt -static -O3
cross:git_version
${cc_cross} -o ${NAME}_cross -I. ${SOURCES} ${FLAGS} -lrt -O3 ${cc_cross} -o ${NAME}_cross -I. ${SOURCES} ${FLAGS} -lrt -O3
cross2: cross2:git_version
${cc_cross} -o ${NAME}_cross -I. ${SOURCES} ${FLAGS} -lrt -static -lgcc_eh -O3 ${cc_cross} -o ${NAME}_cross -I. ${SOURCES} ${FLAGS} -lrt -static -lgcc_eh -O3
cross3:git_version
${cc_cross} -o ${NAME}_cross -I. ${SOURCES} ${FLAGS} -lrt -static -O3
release: amd64 x86 ar71xx bcm2708 arm release: ${TARGETS}
tar -zcvf ${TAR} tar -zcvf ${TAR}
clean: clean:
rm -f ${TAR} rm -f ${TAR}
rm -f ${NAME}_cross ${NAME} rm -f speeder speeder_cross
rm -f git_version.h
git_version:
echo "const char *gitversion = \"$(shell git rev-parse HEAD)\";" > git_version.h