闲来无事,写了一个windows下的kcptun客户端配置管理程序,界面如下:

这个程序不需要在控制台中手工输入命令行,所有的命令行参数都转为界面配置,并保存在附带的xml文件中;可同时运行管理多个kcptun客户端,点击左侧节点,与节点对应的kcptun客户端控制台输出直接显示在界面上。
用法:首先需要指定kcptun的windows客户端路径(32位或64位,可拖动文件到界面),添加一个客户端,输入正确的基础参数(本地侦听端口、服务器IP地址或域名及端口),如果需要,可以点选参数名称前的复选框,输入自定义参数,输入的参数会自动写入xml文件,最后点击“启动”即可。点击窗口的最小化或关闭按钮,程序会退到托盘栏处;在托盘栏上的图标右键,点击“退出”可彻底关闭本程序;如果在程序退出时有已启动的kcptun客户端,则在退出前自动关闭kcptun客户端。
说明:点击“程序开机自启”,会在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下写入启动项“KCPTun 客户端配置管理工具”,由于程序没有请求UAC,所以在win7或win10下需要以系统管理员身份运行(
只是这个写注册表需要系统管理员权限,平常情况下并不需要管理员权限)。
请在这里下载最新的kcptun客户端配置管理软件
2016-09-27 1.0.12版
1.UAC提权;
2.加入自动重连功能。
—————————————————————————————————————————————
2016-09-16 1.0.11版
1.加入从JSON参数文件导入功能;
2.减小exe文件体积;
3.界面细节调整。
—————————————————————————————————————————————
2016-09-08 1.0.10版
1.修复导出到JSON文件内容错误的bug;
2.界面细节调整。
—————————————————————————————————————————————
2016-09-07 1.09版
1.修复v1.08版本号称已经修复的bug:sweat:;
2.界面细节调整。
—————————————————————————————————————————————
2016-09-05 1.08版
1.修复KCPTun Client进程异常退出后,界面上依旧显示进程为启动状态的bug;
2.界面细节调整。
—————————————————————————————————————————————
2016-09-04 1.07版
1.支持-c参数;
2.客户端列表加入右键支持,可进行启动、停止、复制、删除、导出到JSON操作;
3.启动时如果exe路径下没有参数文件,会新建空白配参xml文件;
4.界面细节调整。
—————————————————————————————————————————————
2016-09-01 1.06版
1.鼠标悬停提示修改为参数的默认值;
2.KCPTun服务器的填写支持使用域名;
3.调整界面细节。
—————————————————————————————————————————————
2016-08-30 1.05版
1.实现“全部启动”和“全部停止”功能(同时在右键菜单中加入这两项功能);
2.去除“启动时运行所有KCPTun客户端”选项(启动时会根据上一次退出时的状态来决定是否运行节点);
3.调整界面细节。
—————————————————————————————————————————————
2016-08-29 1.04版
1.修复界面控制的bug。
—————————————————————————————————————————————
2016-08-29 1.03版
1.修复修改基础参数后,节点名称不随之变动的bug。
—————————————————————————————————————————————
2016-08-28 1.02版
1.调整界面尺寸;
2.修改部分界面控制;
3.如果某一个参数被选中,但没有填写参数值,此参数不在命令行中出现。
—————————————————————————————————————————————
2016-08-28 1.01版
1.界面加入原始参数名称。
—————————————————————————————————————————————
2016-08-27 1.00版
1.实现基本功能。
一个小建议, 中文最好附上原始的参数名字(或者鼠标移上去的时候提示),要不看起来不好对应,比如:
数据包优先级很难和DSCP联系起来。需要某种方式的提示,高亮,poptip什么的。
@xtaci 是的,界面上还需要再调整一下,现在鼠标滑动过去有提示,但确实将原始参数名直接放在界面上是最好的。最开始这个程序只是自用,所以有些东西就忽略了。今天一天做界面控制做的头昏,先发布一个初始版本,随后根据大家的反馈进行细化
不错。
建议:1)界面窗口要搞小一点。我的笔记本 1366*768的,不隐藏状态栏,无法看到整个窗口。
2)图标 K 太大了,或者采用“官方”的?
我用 nssm,把 kcptun 转化为服务,也挺方便的。
@wang20150419 重新调整了一下界面尺寸,现在在1366×768下可以显示整个窗口了(我是在1920×1080下开发的,没太注意窗口大小);图标没找到合适的,容我再找找。
多谢分享
配置好以后左边的127.0.0.1:29900不能重命名吗?还是我没找到地方,这样添加几个都是一个名字
@w12928293 我的一个失误,修改基础参数后没有实时修改节点的名称,不过重启本程序后会使用正确的节点名称。节点名称的规则是:备注(kcptun ip:port——本地port)。
@w12928293 下载1.03版,节点名称与基础参数随动。
@dfdragon 楼主效率真高!赞!
谢谢楼主!反映个bug。我这里(windows 8.1 x64,1.03版)把模式选成manual后,打钩设置好nodelay、interval、recend、nc这些选项后关闭程序,再重新打开程序后这些参数的设置会丢失,需要重新打钩。
@hbxntsxw 感谢反馈,试试1.0.4版
@dfdragon 速度好快!1.04版正常了!加油!
感谢您分享这么好的程序!有几点建议:
@AndlsH 感谢提出的建议!1和2都需要程序有自动填补xml缺失参数的功能,这也是我随后准备实现的(原因是随着程序的升级,原有xml配置文件中可能需要增加参数,让用户手工填补明显不是一个好的选择),另外1还需要修改界面,重做部分界面控制的逻辑,实现这两点需要点时间;3和4实现是最轻松的,对于4,当这个软件脱离自用范围而公开发布时,是想过加入程序自动升级功能的,后来觉得作为一个小的工具软件,还是保持轻便灵活较好,所以自动升级这个功能就先搁置了。
来一个mac的,谢谢!
现在用着命令行家自动加载文件来跑,感觉还是不大方便。
@lyhiving 你的这个提议真的很有意思。我早期一直在Windows平台下开发,主力开发工具是Delphi和C#,现在主要在Linux和Android下,开发工具变成了Java,OS X基本上没有接触,不过Delphi现在支持OS X下的开发(这个小软件就是用Delphi写的)。在写这个软件之前,我从未想过要支持OS X平台,但现在我倒是很想借这个机会试一下,感谢你的建议。
希望是跨平台的gui
呵呵,正在下载Mac OS X 10.11.5 El Capitan
这客户端不错。
不过,服务器ip地址这个地方,实际上可以填写服务器域名的。所以最好允许填写域名。
@choicky 感谢提醒,之前没注意这个问题
大神能开源么?
不写注册表也可以开机启动吧.放到 C:\Users\hufen\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
这个文件夹不需要管理员权限
@netroby 这个小软件最早是给自己和周围其他人用的,一开始没想着要加入很多功能,最后慢慢累积变成了现在这个样子,现在的代码有点混乱,并且我准备用firemonkey框架重写(尝试支持OS X),届时会在适当的时候开放代码的。
@dfdragon 问题解决很快!赞一个
本软件已开源。原计划用FireMonkey框架重写后再开放代码,但通过这段时间的资料收集,原本所想的windows客户端和OS X客户端共用一套代码的解决方案实现起来有难度,因此先开放windows客户端代码(VCL框架),OS X客户端依旧沿用FireMonkey框架,待以后在有可能的情况下进行合并。
"nodelay": 0,
"resend": 0,
"nc": 1,
"interval": 20,
"nocomp": true
请问上述参数 为零是否表示图形界面不打勾,为1就是打勾?
@fzwzs nodelay和nc是你说的那样,resend不是,数值需要手工填写。下一个版本会加入从JSON配置文件导入功能(现在只有导出到JSON功能)
@dfdragon
导出到json的格式和-c的格式不兼容么?json: cannot unmarshal string into Go value of type bool
好像是true/false变成了字符串, 然后localaddr少了个":"
@yyjdelete 多谢提醒,确实有这个问题
"resend": 0,是否可以前面不打勾?
如果不打勾,kcptun client会使用内置的默认值
http://electron.atom.io/ 是否考虑用先进的electron来做gui?
刚去看了一下,electron明确表示不支持xp,原因是使用的部分API只在vista以上才有,所以不是很清楚用electron开发kcptun的windows版本gui是否是一个好的主意。我个人对用electron做osx版的gui有兴趣(目前用firemonkey框架写的osx版的gui已基本成型,但有几个技术问题尚未解决),我会持续关注electron,感谢你的建议:)
嗯,不管用什么方法都表示感谢。
另外还有些相关资源,https://github.com/sindresorhus/awesome-electron
electron的产品总体设计都比较现代。
现在主流Windows要么是windows7, 要么就是windows10, 可以基本上忽略windows xp了
@netroby 但就这么放弃xp总觉得有点过意不去,毕竟还是有部分人再使用
https://facebook.github.io/react-native/ 目前做ui主流还是html+css+js
看来我真是脱离前端太久了,现在主要做的是后台服务,都是没界面的:)
刚发现,距离第一版的发布已经整一个月了,感慨一下。
很不错的GUI,调设置方便了不少
很好用,一直在用,要是能手动调节窗口大小就好了
界面尺寸现在是不太好调整了
2016年10月14日 15:58,"cmdlot" [email protected]写道:
很好用,一直在用,要是能手动调节窗口大小就好了
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

这样的,不好弄也没事,提个建议,反正很好用
基础参数--->本地侦听端口
Kcptun 客户端配置管理工具配置成功之后、启动了
我怎么测试是否加速成功了呢?
感觉访问youtube 速度还是一样的
望大神指导!
命令预览那可否增加一个自由编辑,用来编辑客户端更新了但是这个配置器未有的参数。
@tzyqq191 有关本软件的问题最好去 这里 提问。你说的我会考虑一下,不过好像现在只有一个scavengettl参数未放在界面上吧(代码已经改好并提交,只是没发布编译后的版本)。
Most helpful comment
@xtaci 是的,界面上还需要再调整一下,现在鼠标滑动过去有提示,但确实将原始参数名直接放在界面上是最好的。最开始这个程序只是自用,所以有些东西就忽略了。今天一天做界面控制做的头昏,先发布一个初始版本,随后根据大家的反馈进行细化