爱意满满的作品展示区。
iffiX

开源自荐:做了个开发用的中枢,一台机器把公网访问、科学上网、AI 代理、多机器服务发现包了一下

  •  
  •   iffiX ·
    iffiX · 14h 37m ago · 939 views

    我想解决我自己作为程序员的几个老痛点:1 )跨公网访问自己的机器 2 )要科学访问 3 )要 AI 代理 4 )多个机器找起来很麻烦。

    每个单拎出来都有轮子,但凑一起就是一坨配置,换台机器再来一遍。所以我做了个方便开发用的中枢,一台常开的 Linux 盒子( N100 就行)跑 hub ,要控制的 linux 服务器装 agent (可以面板上 SSH 安装),其他要用服务的电脑装 client 就行。然后这个 hub 配上 client 解决了这些问题:

    1. 多个网络出口。 一个断了另一个可以顶上。同时 hub 可以直接配成 WiFi 提供点、旁路网关、单臂路由,或者双网口的机器如 N100 可以配成透明路由模式。

    2. 多代理模式。 暂时不支持 Clash 那样 chain ,因为很麻烦而且我追求低延时。

    3. overlay 和本地路由的兼容。 上面这两个叠加在一起会让远程访问的网络路由变得很麻烦,所以我处理好了本地网络路由和这些 overlay 网络的兼容问题,公网上的比如带了个笔记本旅游可以直接访问一样的资源。

    4. 本地 AI 一体化。 我在 hub 上做了个 cliproxyapi (规避 tibo 提到的 sub2api 封禁问题、混合流量池不透明以及数据安全的问题),然后 client 可以直接同步切换,免去多个机器都要分别配置 AI 网关的问题。

    5. 服务发现中心。 hub 管理的 podman 实例这些 port 都可以自动发现,samba 一样自动发现,然后客户端一键挂载使用,免去烦恼。

    6. 远程桌面。 不需要用 todesk ,不需要自己部署 rustdesk 中心服务器,因为 hub 可以直接下发密码,然后我们又有 overlay 网络所以两个 client 直连,一键挂载。

    截图

    支持的系统

    组件 系统 架构
    中枢 neutrino-hub Debian 12+、Ubuntu 24.04+、Raspberry Pi OS 64 位 x86-64 、ARM64 .deb
    Fedora 41+、RHEL 9 系( AlmaLinux 、Rocky ) x86-64 、ARM64 .rpm
    Arch 、EndeavourOS 、Manjaro x86-64 .pkg.tar.zst
    被控端 neutrino-agent Debian 12+、Ubuntu 24.04+、Raspberry Pi OS 64 位 x86-64 、ARM64 .deb
    Fedora 41+、RHEL 9 系 x86-64 、ARM64 .rpm
    客户端 neutrino-client Debian 12+、Ubuntu 24.04+ x86-64 、ARM64 .deb
    Fedora 41+、RHEL 9 系 x86-64 、ARM64 .rpm
    Windows 10 、11 x86-64 .msi
    macOS ,Apple 芯片 ARM64 .pkg

    安装

    Releases 下载对应的包,三步:

    # Hub ,装在常开的那台盒子上
    sudo apt install ./neutrino-hub_0.2.1_amd64.deb
    sudo nhub setup          # 向导在浏览器里开,答完 setup 后面板就在 http://<hub-address>:<port>
    
    # Agent ,装在要被管理的 Linux 机器上
    sudo apt install ./neutrino-agent_0.2.1_amd64.deb
    sudo nagent connect '<enroll-link>'   # 链接来自面板设备页"用链接添加"
    
    # Client ,装在要用服务的电脑上
    sudo apt install ./neutrino-client_0.2.1_amd64.deb
    nclient gui              # 或者搜索 Neutrino Client , 有图标,点开就行。粘贴面板客户端页发的链接,不用 sudo
    

    Fedora 用 dnf install,Arch 用 pacman -U,Windows 双击 msi ,macOS 双击 pkg ,命令都一样。Hub 测试方面我自己弄了个 BOSGAME E5 来测试双网口的机器,还有弄了个树莓派测试 arm 的机器,两个都可以,理论上 amlogic 那些 arm64 的废弃电视盒子也可以用。Client 我用我自己的 Ubuntu 本机,windows 笔记本测试了,mac 我在 aws 上用 m1 的虚拟机测试了一下。

    • 另外 360 对于 windows client 不是很友好,msi 容易报木马,建议是不要开 360 ,数字签名有点麻烦,所以暂时不考虑。

    MIT 开源。三个包的依赖大概是:

    • hub:Python ( FastAPI )+ React 面板,包里自带 xray 、NetBird 、EasyTier 、CLIProxyAPI 的二进制,系统层靠 nftables 、dnsmasq 、NetworkManager ,WiFi 提供点要 hostapd 。
    • agent:纯标准库 Python ,pip 依赖为零,包里带 RustDesk host 。Samba 、Gitea 、podman 、ZFS 是模块,在面板上选了才装,用的是 linux 对应发行版的源。
    • client:纯标准库 Python ,Nuitka 编译成单个可执行文件,窗口走系统自带的 WebView ( Linux WebKitGTK 、Windows WebView2 、macOS WKWebView ),包里带 RustDesk 客户端,不用另外装东西。

    项目地址: https://github.com/iffiX/neutrino 文档: https://neutrino.beyond-infinity.top/zh-CN/

    有类似需求的 V 友可以试试,觉得有用的话欢迎给个 Star ,项目主要是自用,如果发现了 Bug 或者有什么不太复杂的 feature 的话欢迎提 issue 。

    6 replies    2026-09-13 15:22:19 +08:00
    aonco33
        1
    aonco33  
       11h 45m ago via iPhone
    加个 iOS
    iffiX
        2
    iffiX  
    OP
       11h 32m ago via Android
    @aonco33 😂我是想,但是 iOS 那边要买个开发者账户,如果大家觉得这个设计有用后面就加。
    aonco33
        3
    aonco33  
       9h 31m ago via iPhone
    开发者好像 1000
    cccn
        4
    cccn  
       9h 26m ago
    有浅色主题吗
    iffiX
        5
    iffiX  
    OP
       9h 22m ago   ❤️ 1
    @cccn 好的,这个简单,加上
    iffiX
        6
    iffiX  
    OP
       7h 8m ago
    白色模式已经实现
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2970 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 14:30 · PVG 22:30 · LAX 07:30 · JFK 10:30
    ♥ Do have faith in what you're doing.