Kcpraw

kcptun 间歇性歇菜,选择 kcpraw 为替代方案,先把 $$ 部署好再进行 kcpraw 部署

下载

https://github.com/ccsexyz/kcpraw/releases

VPS(服务端 ubuntu、debian)

  • 服务器根目录新建 kcp 文件夹。
  • 解压kcpraw_server_linux_amd64上传到这个文件夹。
  • 再新建 sh 脚本。
  • 文件夹里有 4 个文件:

kcpraw_server_linux_amd64udp-start.shudp-restart.shudp-stop.sh

下面是脚本内容

udp-start.sh

#!/bin/bash
cd /root/kcp/
./kcpraw_server_linux_amd64 -t "127.0.0.1:<$$端口>" -l ":<kcpraw端口>" -mode fast2 > udp2.log 2>&1 &

注:

  1. 注意安装 $$ 时端口是多少就填多少。
  2. kcpraw 服务器端口,这里是首次设定随意,不要使用常见80 443 3360...。
  3. 不要保留<>

udp-restart.sh

#!/bin/sh
cd /root/kcp/
echo "Stopping udp2raw..."
sh udp-stop.sh
sh udp-start.sh
echo "udp2raw started."

udp-stop.sh

#!/bin/sh
PID=`ps -ef | grep kcpraw_server_linux_amd64 | grep -v grep | awk '{print $2}'`
if [[ "" != "$PID" ]]; then
echo "killing $PID"
kill -9 $PID
fi

最后执行下

chmod +x /root/kcp/udp-start.sh
chmod +x /root/kcp/udp-stop.sh
chmod +x /root/kcp/udp-restart.sh
chmod +x /root/kcp/kcpraw_server_linux_amd64
sh /root/kcp/udp-start.sh
chmod +x /etc/rc.local;echo "sh /root/kcp/udp-start.sh" >> /etc/rc.local

上面的步骤结束后程序自动在后台运行并生成 log。

基本命令

运行sh udp-start.sh - 重启sh udp-restart.sh - 停止sh udp-stop.sh


Windows(客户端)

  • 新建文件夹 kcp(路径和名字不能为中文)。
  • 解压程序 kcpraw_client_windows_amd64.exe到里面。
  • 制作的批处理也放到里面(能让程序后台运行和开机自启)。

Run.vbs

Dim RunKcptun
Set fso = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
'获取文件路径
currentPath = fso.GetFile(Wscript.ScriptFullName).ParentFolder.Path & "\"
'软件运行参数
exeConfig = "kcpraw_client_windows_amd64.exe -l :10800  -r <服务器IP>:<kcpraw端口> -mode fast2"
'日志文件
logFile = "kcpraw.log"
'拼接命令行
cmdLine = "cmd /c " & currentPath & exeConfig  & " > " & currentPath & logFile & " 2>&1"
'启动软件
WshShell.Run cmdLine, 0, False
'等待1秒
'WScript.Sleep 1000
'打印运行命令
'Wscript.echo cmdLine
Set WshShell = Nothing
Set fso = Nothing
'退出脚本
WScript.quit

注:

  1. 10800 端口是本地运行的 $$ 服务器端口(第一次设定随意,不要常见化)。
  2. 服务器 IP,VPS 服务器地址。
  3. kcpraw 服务器设定的端口,第一部分说了。
  4. 不要保留<>

Stop.bat 用来停止该进程,也可以在资源管理器手动 kill。

taskkill /f /im kcpraw_client_windows_amd64.exe

Startup.bat 开机自启,方便快捷。

@echo off
title Kcpraw 开机启动设置
mode con cols=50 lines=20
color A
echo.
echo.                Kcpraw 启动项设置
echo.
echo.     此批处理可以将 Kcpraw 客户端添加到开机启动
echo.
echo.       请将该文件放到 run.vbs 相同目录后运行
echo.
echo.
set /p ST=输入 y 添加开机启动,输入 n 取消开机启动:
if /I "%ST%"=="y" goto addStartup
if /I "%ST%"=="n" goto delStartup
:addStartup
reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "Kcpraw Client" /t REG_SZ /d "\"%~dp0run.vbs\"" /F>NUL
exit
:delStartup
reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "Kcpraw Client" /F>NUL 2>NUL
exit

上面的步骤结束后就可以执行run.vbs,这时候程序自动在后台运行并生成 log。

最后,把 $$ 设定好参数:

服务器地址 127.0.0.1 和服务器端口 1080,密码、加密方式对应服务器安装 $$ 的参数。

以上知识均来源于网络网,如有疑问谷歌或留言。

问题集

  1. 不管是服务器还是客户端,运行完后都检查下日志内容是否出现stream opened,如果不出现说明参数设定有问题。
  2. 安装防火墙要打开对应端口。
评论加载中...