升级kcptun版本,修正kcptun加速的错误配置

This commit is contained in:
Feng Yu
2019-05-02 20:36:33 +08:00
parent 8ed4c7e838
commit b541c087af
9 changed files with 621 additions and 636 deletions

View File

@@ -1,7 +0,0 @@
service="Aria2"
appname="aria2"
needver="0.0.1"
supports="linux_arm,linux_mips,linux_x86_64"
appinfo="Linux下一款高效的下载工具"
newinfo="更新aria2web页面修复日志问题"
version="0.0.2"

View File

@@ -1,8 +0,0 @@
service="BaiduPCS"
appname="baidupcs"
needver="0.0.1"
backupfiles=""
supports="linux_arm,linux_mips,linux_x86_64,darwin_x86_64"
appinfo="第三方百度网盘web客户端基于Go语言"
newinfo="二进制更新至3.6.6"
version="0.0.4"

View File

@@ -1,8 +0,0 @@
service="FileBrowser"
appname="filebrowser"
needver="0.0.1"
appinfo="Web文件浏览器"
supports="linux_arm,linux_mips,linux_x86_64,darwin_x86_64"
backupfiles="config/filebrowser.conf"
newinfo="更新arm二进制至2.0.3"
version="0.0.2"

View File

@@ -1,8 +0,0 @@
service="Frps"
appname="frps"
needver="0.0.1"
openport="1"
supports="linux_arm,linux_mips,linux_x86_64,darwin_x86_64"
appinfo="内网穿透工具Frp服务端"
newinfo="frp程序更新到0.21.0"
version="..1"

BIN
apps/shadowsocks/bin/kcptun_linux_arm Normal file → Executable file

Binary file not shown.

BIN
apps/shadowsocks/bin/kcptun_linux_mips Normal file → Executable file

Binary file not shown.

BIN
apps/shadowsocks/bin/kcptun_linux_x86_64 Normal file → Executable file

Binary file not shown.

View File

@@ -310,13 +310,16 @@ shadowsocks() {
readsh "请输入加速kcp服务器密码(--key)" "ss_kcp_password" readsh "请输入加速kcp服务器密码(--key)" "ss_kcp_password"
readsh "请输入加速kcp模式(--mode)" "ss_kcp_mode" "fast" readsh "请输入加速kcp模式(--mode)" "ss_kcp_mode" "fast"
readsh "请输入加速kcp加密方式(--crypt)" "ss_kcp_crypt" "aes" readsh "请输入加速kcp加密方式(--crypt)" "ss_kcp_crypt" "aes"
readsh "请输入加速kcp的DSCP(--dscp),需要与服务端的这个参数保持一致" "ss_kcp_dscp" "0"
read -p "剩余一些不必要的配置,是否继续?[1/0] " res read -p "剩余一些不必要的配置,是否继续?[1/0] " res
if [ "$res" = '1' ]; then if [ "$res" = '1' ]; then
readsh "请输入加速kcp的MTU(--mtu)" "ss_kcp_mtu" "1350" readsh "请输入加速kcp的MTU(--mtu)" "ss_kcp_mtu" "1350"
readsh "请输入加速kcp发送窗口(--sndwnd)" "ss_kcp_sndwnd" "128" readsh "请输入加速kcp发送窗口(--sndwnd)" "ss_kcp_sndwnd" "128"
readsh "请输入加速kcp接收窗口(--rcvwnd)" "ss_kcp_rcvwnd" "1024" readsh "请输入加速kcp接收窗口(--rcvwnd)" "ss_kcp_rcvwnd" "1024"
readsh "请输入加速kcp链接数(--conn)" "ss_kcp_conn" "1" readsh "请输入加速kcp链接数(--conn)" "ss_kcp_conn" "1"
readsh "请输入加速kcp关闭数据压缩(--nocomp)" "ss_kcp_compon" "1" readsh "请输入加速kcp关闭数据压缩(--nocomp)" "ss_kcp_nocomp" "0"
readsh "请输入加速kcp的socket buffer(--sockbuf),单位: 字节" "ss_kcp_sockbuf" "4194304"
readsh "请输入加速kcp的全局de-mux buffer(--smuxbuf),单位: 字节" "ss_kcp_smuxbuf" "4194304"
readsh "请输入加速kcp的其他配置项" "ss_kcp_config" readsh "请输入加速kcp的其他配置项" "ss_kcp_config"
fi fi
fi fi

View File

@@ -8,6 +8,7 @@ eval `mbdb export shadowsocks`
[ -z "$ss_proxy_default_mode" ] && ss_proxy_default_mode=1 [ -z "$ss_proxy_default_mode" ] && ss_proxy_default_mode=1
[ -z "$ss_game_default_mode" ] && ss_game_default_mode=0 [ -z "$ss_game_default_mode" ] && ss_game_default_mode=0
[ -z "$dns_red_ip" ] && dns_red_ip="$lanip" [ -z "$dns_red_ip" ] && dns_red_ip="$lanip"
[ "$ssgena" != "1" ] && unset ssg_mode
get_v2ray_bin() { get_v2ray_bin() {
result1=$(curl -skL $mburl/appsbin/v2ray-bin/$model/lastest.txt) &> /dev/null result1=$(curl -skL $mburl/appsbin/v2ray-bin/$model/lastest.txt) &> /dev/null
@@ -50,6 +51,11 @@ get_config() {
ssr_obfs=`cutsh "$idinfo" 8` ssr_obfs=`cutsh "$idinfo" 8`
ssr_protocol_param=`cutsh "$idinfo" 9` ssr_protocol_param=`cutsh "$idinfo" 9`
ssr_obfs_param=`cutsh "$idinfo" 10` ssr_obfs_param=`cutsh "$idinfo" 10`
# 如果kcp成功启动应该把ss服务端指向kcp服务端口
if [ "$kcp_started" = 1 ]; then
ss_server=127.0.0.1
ss_server_port=11183
fi
#生成配置文件 #生成配置文件
if [ "$proxy_type" = "ss" ]; then if [ "$proxy_type" = "ss" ]; then
APPPATH=${mbroot}/apps/${appname}/bin/ss-redir APPPATH=${mbroot}/apps/${appname}/bin/ss-redir
@@ -480,8 +486,6 @@ start_kcp() {
if [ "$kcp_enable" = '1' ]; then if [ "$kcp_enable" = '1' ]; then
[ -z "$ss_kcp_node" ] && logsh "$service" "未配置kcp加速节点不启用kcp" && return [ -z "$ss_kcp_node" ] && logsh "$service" "未配置kcp加速节点不启用kcp" && return
logsh "$service" "启动kcptun加速主进程($ss_kcp_node)..." logsh "$service" "启动kcptun加速主进程($ss_kcp_node)..."
ss_kcp_node=`nslookup $ss_kcp_node | sed 1,2d | grep -Eo "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | head -1`
[ "$ss_server" != "$ss_kcp_node" ] && logsh "$service" "加速kcp服务器地址与ss服务器地址不一致不启用kcp" && return
# [ "$proxy_type" = "v2ray" ] && logsh "【$service】" "启动代理节点类型为v2ray不启用kcp" && return # [ "$proxy_type" = "v2ray" ] && logsh "【$service】" "启动代理节点类型为v2ray不启用kcp" && return
[ -z "$ss_kcp_mtu" ] && ss_kcp_mtu="1350" [ -z "$ss_kcp_mtu" ] && ss_kcp_mtu="1350"
[ -z "$ss_kcp_sndwnd" ] && ss_kcp_sndwnd="128" [ -z "$ss_kcp_sndwnd" ] && ss_kcp_sndwnd="128"
@@ -489,19 +493,23 @@ start_kcp() {
[ -z "$ss_kcp_conn" ] && ss_kcp_conn="1" [ -z "$ss_kcp_conn" ] && ss_kcp_conn="1"
[ -z "$ss_kcp_compon" ] && ss_kcp_compon="1" [ -z "$ss_kcp_compon" ] && ss_kcp_compon="1"
daemon ${mbroot}/apps/${appname}/bin/kcptun \ daemon ${mbroot}/apps/${appname}/bin/kcptun \
--localaddr 127.0.0.1:11183 \ --localaddr=127.0.0.1:11183 \
--remoteaddr $ss_kcp_node:$ss_kcp_port \ --remoteaddr=$ss_kcp_node:$ss_kcp_port \
--key $ss_kcp_password \ --key=$ss_kcp_password \
--crypt $ss_kcp_crypt \ --crypt=$ss_kcp_crypt \
--mode $ss_kcp_mode \ --mode=$ss_kcp_mode \
--mtu $ss_kcp_mtu \ --mtu=$ss_kcp_mtu \
--sndwnd $ss_kcp_sndwnd \ --sndwnd=$ss_kcp_sndwnd \
--rcvwnd $ss_kcp_rcvwnd \ --rcvwnd=$ss_kcp_rcvwnd \
--conn $ss_kcp_conn \ --conn=$ss_kcp_conn \
--nocomp $ss_kcp_compon \ --nocomp=$ss_kcp_nocomp \
--log ${mbroot}/var/log/kcptun.log \ --dscp=$ss_kcp_dscp \
--sockbuf=$ss_kcp_sockbuf \
--smuxbuf=$ss_kcp_smuxbuf \
--log=${mbroot}/var/log/kcptun.log \
$ss_kcp_config $ss_kcp_config
[ $? -ne 0 ] && logsh "$service" "启动失败!" && exit 1 [ $? -ne 0 ] && logsh "$service" "启动失败!" && exit 1
kcp_started=1
fi fi
} }
@@ -554,7 +562,6 @@ start_main_process() {
killall ssr-redir &> /dev/null killall ssr-redir &> /dev/null
daemon $APPPATH -b 0.0.0.0 -u -c ${mbroot}/apps/${appname}/config/ss.conf daemon $APPPATH -b 0.0.0.0 -u -c ${mbroot}/apps/${appname}/config/ss.conf
[ $? -ne 0 ] && logsh "$service" "启动失败!" && exit 1 [ $? -ne 0 ] && logsh "$service" "启动失败!" && exit 1
start_kcp
fi fi
} }
@@ -642,6 +649,8 @@ start() {
detect_status detect_status
start_kcp
get_config get_config
start_haveged start_haveged
@@ -676,14 +685,15 @@ start() {
stop() { stop() {
logsh "$service" "关闭ss主进程..." logsh "$service" "关闭ss主进程..."
killall -9 ss-redir > /dev/null 2>&1 killall -9 ss-redir &> /dev/null
killall -9 ssr-redir > /dev/null 2>&1 killall -9 ssr-redir &> /dev/null
killall -9 ssg-redir > /dev/null 2>&1 killall -9 ssg-redir &> /dev/null
killall -9 ss-local > /dev/null 2>&1 killall -9 ss-local &> /dev/null
killall -9 ssr-local > /dev/null 2>&1 killall -9 ssr-local &> /dev/null
killall -9 dns2socks > /dev/null 2>&1 killall -9 dns2socks &> /dev/null
killall -9 v2ray &> /dev/null killall -9 v2ray &> /dev/null
killall -9 haveged &> /dev/null killall -9 haveged &> /dev/null
killall -9 kcptun &> /dev/null
#删除定时规则 #删除定时规则
remove_firewall_start remove_firewall_start
remote_cron_job remote_cron_job
@@ -692,19 +702,22 @@ stop() {
} }
status() { status() {
result1=$(pssh | grep -v status | grep -c "${appname}") result1=$(pssh | grep -v status | grep -c "${appname}")
#http_status=`curl -s -w %{http_code} https://www.google.com.hk/images/branding/googlelogo/1x/googlelogo_color_116x41dp.png -k -o /dev/null --socks5 127.0.0.1:1082` #http_status=`curl -s -w %{http_code} https://www.google.com.hk/images/branding/googlelogo/1x/googlelogo_color_116x41dp.png -k -o /dev/null --socks5 127.0.0.1:1082`
#if [ "$result" == '0' ] || [ "$http_status" != "200" ]; then #if [ "$result" == '0' ] || [ "$http_status" != "200" ]; then
result2=$(iptables -t nat -S | grep SHADOWSOCK) result2=$(iptables -t nat -S | grep SHADOWSOCK)
[ "$ssgena" == '1' ] && ssgflag=", 游戏节点: $ssgid($ssg_mode)"
process_count=3 process_count=3
[ "$ssgena" == '1' ] && ssgflag=", 游戏节点: $ssgid($ssg_mode)"
if [ "$kcp_enable" == '1' ]; then
ssgflag="$ssgflag, kcptun($ss_kcp_node):"
let "process_count++"
[ "$(pssh | grep -c kcptun)" -eq 1 ] && ssgflag="$ssgflag 运行中" || ssgflag="$ssgflag 未运行"
fi
if [ "$proxy_type" == "v2ray" ]; then if [ "$proxy_type" == "v2ray" ]; then
process_count=2 let "process_count--"
fi fi
if [ "$result1" -ge $process_count ]; then if [ "$result1" -ge $process_count ]; then