给各位汇报一下组网软件的新进展 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lanthora
V2EX    宽带症候群

给各位汇报一下组网软件的新进展

  •  
  •   lanthora 2024-06-09 17:12:10 +08:00 3049 次点击
    这是一个创建于 517 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个多月前发了一篇帖子: WireGuard 跨国组网失败后,一个新工具的诞生,这段时间社区用户提供了很多有价值的反馈.因此发一个帖子汇报一下由社区用户驱动而实现的特性,并感谢各位社区用户.

    曾经我认为用户使用的是相对较新的 Linux 发行版,并能够使用系统依赖构建出二进制,并使用发行版提供的方式打包,至少是能运行 Docker. 而,还有用户在用着 centos7,甚至是一些我没有听说过的路由器系统.对于这些系统几乎没法用这个软件,而把这个软件跑在路由器上貌似也是一种常见的需求?

    一位用户通过很复杂的脚本构建所有底层依赖,并最终制作出静态链接的可执行程序后,我觉得有必要支持这个特性.因此参考这个用户的脚本,调整 CMake 构建流程,允许下载依赖并 构建出单文件的可执行程序 ,这对 Go 和 Rust 来说不难,但对 C++ 来说还是稍微有一点点复杂.

    在前面的基础上,又 通过交叉编译构建不同架构的可执行程序 ,最终制作出Github Workflow.

    这是个自用软件,同时分享出来给 有相同需求的用户.后续目标是让软件保持足够的稳定,几乎不会为用户实现新需求,除非能直接提 PR.说到稳定,前段时间心血来潮测试过第一个发布的版本,还能和最新版本正常组网.

    最后再放一下项目链接: https://github.com/lanthora/candy

    第 1 条附言    2024-06-11 15:06:10 +08:00
    5.8.8 版本移除了所有 GPL 相关的依赖.提供了一些预编译的二进制.如果需要的架构不在里面可以放心的提 PR.

    https://github.com/lanthora/candy/releases/tag/v5.8.8
    第 2 条附言    2024-06-11 17:00:28 +08:00
    尝试了新的编译工具链.期待来自 riscv64 和 loongarch64 用户的测试.
    https://github.com/lanthora/candy/actions/runs/9462491956
    9 条回复    2024-06-14 16:33:04 +08:00
    rebecca554owen
        1
    rebecca554owen  
       2024-06-10 00:15:38 +08:00
    项目不错,支持了。
    fortitudeZDY
        2
    fortitudeZDY  
       2024-06-11 12:59:30 +08:00
    c++编写,太厉害了,赞一个
    lanthora
        3
    lanthora  
    OP
       2024-06-11 15:03:00 +08:00
    @rebecca554owen 感谢
    @fortitudeZDY 当初选 c++ 是因为 wintun 库是 c 的 api,并且用 c++ 写不用担心编译不出一些用户量少的架构,毕竟不管什么架构至少会出能用的 c 编译器.
    fortitudeZDY
        4
    fortitudeZDY  
       2024-06-11 17:29:29 +08:00
    @lanthora 我看 tailscale 也是用的 wintun 是,c++一直没胆量去学习,不过 go 在网络处理上可能还是没有 c++高效,加油楼主
    lanthora
        5
    lanthora  
    OP
       2024-06-11 18:24:43 +08:00
    @fortitudeZDY 在 windows 下几乎都是用的 wintun, 其他语言是给 c 套壳.一般家庭网络性能瓶颈是带宽的上传,不是开发语言.这波升级搞定后我要继续躺了.不做新功能,希望没 BUG.
    allenby /td>
        6
    allenby  
       2024-06-12 12:45:20 +08:00 via Android
    支持嘎
    cnbatch
        7
    cnbatch  
       2024-06-12 17:51:31 +08:00
    我自己的网络工具也用 C++来写,依赖项全部由系统内置的包管理器提供,个别发行版不提供静态版本那就自己编译一个写特例。

    最终效果就是,只需要复制粘贴命令就能顺利编译(个别发行版除外)。

    不过我没法用 GitHub Workflow ,这货不支持 BSD 二进制,而我自己是 BSD 用户。
    所以我都是在自己的虚拟机做编译的,在开发用的机器运行脚本,自动登录到各台虚拟机运行编译流程。

    唯一的遗憾是,我的项目创始之时,各大编译器对 C++20 特性的支持差异太大,只能使用当时的“最大公约数”C++17 ,没能用上新版本内置的协程。现在想改都没法改。
    cnbatch
        8
    cnbatch  
       2024-06-12 17:52:09 +08:00
    @fortitudeZDY 没什么好怕的,崩了就改,一边写一边学
    tediorelee
        9
    tediorelee  
       2024-06-14 16:33:04 +08:00
    厉害了,star 一下
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2544 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 11:55 PVG 19:55 LAX 03:55 JFK 06:55
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86