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

15 小时 23 分钟前
 iffiX

我想解决我自己作为程序员的几个老痛点: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 的虚拟机测试了一下。

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

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

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

948 次点击
所在节点    分享创造
6 条回复
aonco33
12 小时 31 分钟前
加个 iOS
iffiX
12 小时 18 分钟前
@aonco33 😂我是想,但是 iOS 那边要买个开发者账户,如果大家觉得这个设计有用后面就加。
aonco33
10 小时 16 分钟前
开发者好像 1000
cccn
10 小时 11 分钟前
有浅色主题吗
iffiX
10 小时 8 分钟前
@cccn 好的,这个简单,加上
iffiX
7 小时 54 分钟前
白色模式已经实现

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1241622

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX