• iffiX

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

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

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

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

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

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

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

    - 远程桌面。 不需要用 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&gt;

    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 。

    主楼
  • aonco33

    加个 iOS

    #1
  • iffiX

    @aonco33 😂我是想,但是 iOS 那边要买个开发者账户,如果大家觉得这个设计有用后面就加。

    #2
  • aonco33

    开发者好像 1000

    #3
  • cccn

    有浅色主题吗

    #4
  • iffiX

    @cccn 好的,这个简单,加上

    #5
  • iffiX

    白色模式已经实现

    #6

发表回复

登录后回复