Your MacBook can become a node of an encrypted mesh network in about fifteen minutes — no account, no sign-up, no company. This tutorial takes you from nothing to sending your first encrypted message, using only the Terminal and free software. When you finish, come drive the simulations on the Reticulum Lab page to see what the network is doing underneath. 你的 MacBook 可以在大约十五分钟内变成一个加密网状网络的节点—— 不用注册账号,不用公司参与。本教程只用终端和自由软件,带你从零发出第一条加密消息。 完成后,去Reticulum 实验室页面驾驶那些模拟器, 看看网络在底层做了什么。
With nothing but this tutorial, a Mac can chat with any device on your WiFi with zero configuration, join a worldwide test network over the internet, send encrypted messages and files, run commands on remote machines, host tiny pages, sign and encrypt files, and route traffic for other people. Add a cheap LoRa radio later and it does all of that without any infrastructure at all.
只靠本教程,一台 Mac 就能零配置地与 WiFi 上的任何设备聊天、通过互联网加入全球测试网、收发加密消息和文件、在远程机器上执行命令、托管小页面、给文件签名和加密,还能为别人转发流量。以后加一个便宜的 LoRa 电台,这一切都不再需要任何基础设施。
rncp
rnx
rnid
Tick each step as you finish it. Your progress is saved on this device. 每完成一步就打个勾,进度会保存在这台设备上。
Open Terminal (press ⌘-space, type "terminal", press return) and ask for the Python version. 打开终端(按 ⌘-空格,输入 terminal,回车),查看 Python 版本。
python3 --versionIf macOS offers to install the Command Line Tools, say yes and run the command again. Any version 3.9 or newer is fine. 如果 macOS 提示安装命令行工具,同意后再运行一次。3.9 以上的版本都可以。
python3 -m pip install rnsNewer macOS versions protect the system Python and answer with externally-managed-environment. That is normal — use this instead: 较新的 macOS 会保护系统 Python,报错 externally-managed-environment。 这很正常——改用下面这条:
python3 -m pip install rns --break-system-packagespython3 -m site --user-base, add /bin to the path it prints, and
put that in ~/.zshrc, e.g.
echo 'export PATH="$HOME/Library/Python/3.9/bin:$PATH"' >> ~/.zshrc —
then open a new terminal window.
如果下一步提示 command not found: rnsd,是 pip 的程序目录不在
PATH 里(macOS 的老毛病)。运行 python3 -m site --user-base,在输出的路径后加
/bin,写进 ~/.zshrc,然后开一个新的终端窗口。rnsd -vThat's it — your Mac is now a
Reticulum node. The first run creates a config file at ~/.reticulum/config
and starts the default AutoInterface, which speaks to other Reticulum devices on
your WiFi and Ethernet with zero configuration. Leave this window running and open
a second Terminal tab (⌘-T) for the next steps.
就这样——你的 Mac 已经是一个 Reticulum 节点了。第一次运行会在
~/.reticulum/config 生成配置文件,并启动默认的 AutoInterface:
零配置就能和 WiFi、以太网上的其他 Reticulum 设备通话。让这个窗口一直跑着,
用 ⌘-T 开第二个标签页继续。
rnstatusYou'll see your interfaces, how much traffic they have carried, and how many peers are visible. Right now it is probably just the AutoInterface, quietly listening on your local network. 你会看到各个接口、它们承载了多少流量、有多少对等节点可见。 现在大概只有 AutoInterface 在本地网络上安静地监听。
rnstatus again. They find each other by themselves. Now turn off your
router's internet. They still find each other. That is the mesh.
最好的第一个实验:在同一 WiFi 的第二台设备上装 Reticulum——
另一台 Mac、一台 Linux,或安卓手机上的 Sideband 应用——再运行一次
rnstatus。它们会自己找到对方。把路由器的外网关掉,它们仍然互相可见。
这就是网状网络。Your local mesh is nice, but lonely. The project runs a public testnet anyone can join over the internet. Open the config file: 本地网不错,但有点孤单。官方运营着一个任何人都能通过互联网加入的公共 测试网。打开配置文件:
nano ~/.reticulum/configScroll to the
[interfaces] section and add this block below the existing entries
(spacing matters — keep the indentation):
滚动到 [interfaces] 部分,在已有条目下面加入这一段
(注意保持缩进):
[[RNS Testnet Dublin]]
type = TCPClientInterface
enabled = yes
target_host = dublin.connect.reticulum.network
target_port = 4965Save (ctrl-O, return) and exit
(ctrl-X), then restart rnsd. Run rnstatus again — the Dublin
interface appears, and you are now part of a mesh that spans continents. More public
entry points are listed at community directories like
directory.rns.recipes.
保存(ctrl-O 回车)退出(ctrl-X),重启 rnsd,再运行
rnstatus——都柏林接口出现了,你已经身处一张横跨大洲的网。
更多公共入口见社区目录 directory.rns.recipes。
python3 -m pip install nomadnet --break-system-packages
nomadnetNomadNet is a full messenger and micro-web that runs in your terminal. Press ctrl-W to switch sections: Conversations for encrypted person-to-person messages (they wait politely if your friend is offline — that is LXMF store-and-forward), and Network to discover nodes — tiny text sites people host, which you can browse like a 1990s web that nobody can switch off. Your own node can host one too, straight from the laptop. NomadNet 是跑在终端里的完整信使加微型网络。按 ctrl-W 切换板块: Conversations 是端到端加密的私聊(朋友不在线时消息会耐心等待——这就是 LXMF 的存储转发),Network 用来发现节点——人们托管的小文字站点, 像一个没人能关掉的九十年代互联网。你的笔记本也能直接托管一个。
Prefer a graphical app? Both Sideband (by Reticulum's author) and MeshChat (browser-based UI) have macOS builds on their GitHub release pages. 想要图形界面?Sideband (Reticulum 作者出品)和 MeshChat (浏览器界面)的 GitHub 发布页都有 macOS 版本。
Reticulum ships with small sharp tools. On the receiving machine, allow transfers from your identity and listen: Reticulum 自带一组小而锋利的工具。在接收端允许你的身份并监听:
# on the receiver
rncp --listen --allow <sender identity hash>
# on your Mac — send a file to that node
rncp holiday_photos.zip <receiver destination hash># ping a destination across the mesh
rnprobe rnstransport.probe <destination hash>
# run one command on a machine you control
rnx <destination hash> "uptime"Every one of these is end-to-end encrypted, works over any mix of WiFi, internet and radio hops, and needs no IP address, no DNS and no port forwarding — destinations are the 16-byte fingerprints you met in the lab. 这些操作全部端到端加密,可以跨 WiFi、互联网和无线电任意混合的路径, 不需要 IP 地址、DNS 或端口转发——目的地就是你在实验室里 见过的 16 字节指纹。
Three good directions, in rising order of adventure: 三个不错的方向,冒险程度递增:
enable_transport = yes in
~/.reticulum/config and your Mac starts forwarding for its neighbours —
the self-healing behaviour from the lab, running on your desk.
把 enable_transport = yes 写进配置,Mac 就开始为邻居转发——
实验室里那个自愈行为,就跑在你桌上。rnodeconf to flash it.
约 30 美元的 LilyGO / Heltec 板刷上免费的 RNode 固件,插进 USB,
你的网就有了数公里的无基础设施覆盖。用 rnodeconf 烧录。
python3 -m pip install rns,
run rnsd, done. The config lives at ~/.reticulum/config.
一条 pip 命令就让 Mac 成为节点:装 rns、跑 rnsd,配置在 ~/.reticulum/config。Thank you for building your first node — and see you in the next lab. 感谢你搭起第一个节点——我们下个实验室见。