mirror of
https://github.com/markqvist/reticulum_website.git
synced 2024-10-01 03:15:41 -04:00
Chinese translation added (First Revision).
This commit is contained in:
parent
f65143a549
commit
bbf3bfee67
33
source/connect_zh-cn.md
Normal file
33
source/connect_zh-cn.md
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# 公共测试网络(Public Testnet)
|
||||||
|
|
||||||
|
如果你只是想立刻上手,不想搭建物理意义上的网络的话,你可以加入公开的 Reticulum 测试网络。这是一个非正式的用于测试与实验的网络。大部分时间它都会在线,所有人都可以加入。与此同时,这也意味着它没有可用性保障。
|
||||||
|
|
||||||
|
测试网络运行的是最新版的 Reticulum(甚至会在正式发布之前更新)。有时实验版的 Reticulum 会被部署到测试网络的节点之上,这可能会产生奇怪的行为。如果这些都没把你吓跑,你可以通过 TCP 或是 I2P 加入测试网络。
|
||||||
|
|
||||||
|
仅需在 Reticulum 的配置文件中加入以下任意一个界面:
|
||||||
|
|
||||||
|
```
|
||||||
|
# TCP/IP interface to the Dublin Hub
|
||||||
|
[[RNS Testnet Dublin]]
|
||||||
|
type = TCPClientInterface
|
||||||
|
enabled = yes
|
||||||
|
target_host = dublin.connect.reticulum.network
|
||||||
|
target_port = 4965
|
||||||
|
|
||||||
|
# TCP/IP interface to the BetweenTheBorders Hub (community-provided)
|
||||||
|
[[RNS Testnet BetweenTheBorders]]
|
||||||
|
type = TCPClientInterface
|
||||||
|
enabled = yes
|
||||||
|
target_host = betweentheborders.com
|
||||||
|
target_port = 4242
|
||||||
|
|
||||||
|
# Interface to I2P Hub A
|
||||||
|
[[RNS Testnet I2P Hub A]]
|
||||||
|
type = I2PInterface
|
||||||
|
enabled = yes
|
||||||
|
peers = g3br23bvx3lq5uddcsjii74xgmn6y5q325ovrkq2zw2wbzbqgbuq.b32.i2p
|
||||||
|
```
|
||||||
|
|
||||||
|
测试网络中还有几个 [Nomad Network](https://github.com/markqvist/nomadnet) 节点和 [LXMF](https://github.com/markqvist/lxmf) 传播节点(propagation nodes)。
|
||||||
|
|
||||||
|
<p align="right"><a href="docs_zh-cn.html">下一个主题:阅读手册</a></p>
|
29
source/credits_zh-cn.md
Normal file
29
source/credits_zh-cn.md
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# 致谢与署名(Acknowledgements & Credits)
|
||||||
|
Reticulum 站在巨人的肩膀上。没有前人移山般的开源工作、多位贡献者的参与以及各位对本项目的支持,Reticulum 就不可能存在。非常感谢每一位帮助过这个项目的人。
|
||||||
|
|
||||||
|
Reticulum 用到了一系列其他的模块与项目。对以下项目的作者与贡献者致以诚挚的感谢。
|
||||||
|
|
||||||
|
- [PyCA/cryptography](https://github.com/pyca/cryptography), *BSD License*
|
||||||
|
- [Pure-25519](https://github.com/warner/python-pure25519) by [Brian Warner](https://github.com/warner), *MIT License*
|
||||||
|
- [Pysha2](https://github.com/thomdixon/pysha2) by [Thom Dixon](https://github.com/thomdixon), *MIT License*
|
||||||
|
- [Python-AES](https://github.com/orgurar/python-aes) by [Or Gur Arie](https://github.com/orgurar), *MIT License*
|
||||||
|
- [Curve25519.py](https://gist.github.com/nickovs/cc3c22d15f239a2640c185035c06f8a3#file-curve25519-py) by [Nicko van Someren](https://gist.github.com/nickovs), *Public Domain*
|
||||||
|
- [I2Plib](https://github.com/l-n-s/i2plib) by [Viktor Villainov](https://github.com/l-n-s)
|
||||||
|
- [PySerial](https://github.com/pyserial/pyserial) by Chris Liechti, *BSD License*
|
||||||
|
- [Netifaces](https://github.com/al45tair/netifaces) by [Alastair Houghton](https://github.com/al45tair), *MIT License*
|
||||||
|
- [Configobj](https://github.com/DiffSK/configobj) by Michael Foord, Nicola Larosa, Rob Dennis & Eli Courtwright, *BSD License*
|
||||||
|
- [Six](https://github.com/benjaminp/six) by [Benjamin Peterson](https://github.com/benjaminp), *MIT License*
|
||||||
|
- [Umsgpack.py](https://github.com/vsergeev/u-msgpack-python) by [Ivan A. Sergeev](https://github.com/vsergeev)
|
||||||
|
- [Python](https://www.python.org)
|
||||||
|
|
||||||
|
Reticulum 的协议设计与参考实现是由 Mark Qvist 于 2014-2022 进行的。
|
||||||
|
|
||||||
|
[Reticulum 的 Python 参考实现](https://github.com/markqvist/reticulum) 以及这个网站均为 [MIT 授权](license.html)。若想支持开发,请<a href="donate.html">捐赠</a>。
|
||||||
|
|
||||||
|
----------------
|
||||||
|
|
||||||
|
<center>Reticulum 协议是人类的共有财产<br/>我将其贡献至公有领域<br/><br/>带着期许与信念面向未来<br/>看那自由与繁荣之花<br/>开满世间大地<br/><br/>谢谢各位</center>
|
||||||
|
|
||||||
|
----------------
|
||||||
|
|
||||||
|
<br/><br/>
|
25
source/crypto_zh-cn.md
Normal file
25
source/crypto_zh-cn.md
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# 密码学原语(Cryptographic Primitives)
|
||||||
|
Reticulum 使用了一系列高效、健壮、现代的密码学原语(cryptographic primitives)。它们都有着被广泛使用的现成的实现,在一般的 CPU 或是微控制器上都可以运行。这些必要的原语是:
|
||||||
|
|
||||||
|
- Ed25519 用于签名
|
||||||
|
- X22519 用于 ECDH 密钥交换
|
||||||
|
- HKDF 用于密钥派生
|
||||||
|
- AES-128 CBC 模式
|
||||||
|
- HMAC-SHA256 用于消息认证
|
||||||
|
- SHA-256
|
||||||
|
- SHA-512
|
||||||
|
|
||||||
|
在默认安装下,`X25519`、`Ed25519` 和 `AES-128-CBC` 都由 [OpenSSL](https://www.openssl.org/) 提供(通过[PyCA/cryptography](https://github.com/pyca/cryptography))。散列函数 `SHA-256` 和 `SHA-512` 由 Python 标准库 [hashlib](https://docs.python.org/3/library/hashlib.html) 提供。`HKDF`、`HMAC`、`Fernet` 原语与 `PKCS7` 填充函数总是由以下内部实现提供:
|
||||||
|
|
||||||
|
- [HKDF.py](https://github.com/markqvist/Reticulum/blob/master/RNS/Cryptography/HKDF.py)
|
||||||
|
- [HMAC.py](https://github.com/markqvist/Reticulum/blob/master/RNS/Cryptography/HMAC.py)
|
||||||
|
- [Fernet.py](https://github.com/markqvist/Reticulum/blob/master/RNS/Cryptography/Fernet.py)
|
||||||
|
- [PKCS7.py](https://github.com/markqvist/Reticulum/blob/master/RNS/Cryptography/PKCS7.py)
|
||||||
|
|
||||||
|
Reticulum 还包含了所有所需密码学原语的纯 Python 实现。如果 OpenSSL 和 PyCA 在系统上不可用的话,Reticulum 会使用自带的纯Python实现。这时,最明显的影响是速度——OpenSSL作为后端会*快的多*。然而最严重的影响,则可能是使用这些没有经受过与 OpenSSL 同级别安全审查、测试与评估的实现所带来的安全性问题。
|
||||||
|
|
||||||
|
如果你想使用自带的纯 Python 实现,我非常建议你充分了解可能的风险,并仔细思考这些风险是否适用在你身上。
|
||||||
|
|
||||||
|
Reticulum 目前还十分年轻,这一点必须牢记于心。虽说在构建时,开发者尽量遵守了密码学的最佳实践,但它*还没有*受过外部的安全审计,而且很可能会有破坏隐私或是安全性的 Bug。如果你愿意帮忙,或是愿意赞助进行安全审计,请联系开发者。
|
||||||
|
|
||||||
|
<p align="right"><a href="credits_zh-cn.html">下一个主题: 致谢与署名</a></p>
|
6
source/docs_zh-cn.md
Normal file
6
source/docs_zh-cn.md
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# 阅读手册(Read The Manual)
|
||||||
|
你可以在[本站](manual/index.html)或是[GitHub Pages](https://markqvist.github.io/Reticulum/manual/)阅读完整的文档。
|
||||||
|
|
||||||
|
你也可以下载[PDF](manual/Reticulum%20Manual.pdf)或是[EPUB](manual/Reticulum%20Manual.epub)格式的文档供离线查看。
|
||||||
|
|
||||||
|
<p align="right"><a href="crypto_zh-cn.html">下一个主题: 密码学原语</a></p>
|
20
source/donate_zh-cn.md
Normal file
20
source/donate_zh-cn.md
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
## 支持 Reticulum(Support Reticulum)
|
||||||
|
你可以通过以下途径来支持这一开放、自由、私密的通信系统的开发。
|
||||||
|
|
||||||
|
- Monero<br/>
|
||||||
|
```
|
||||||
|
84FpY1QbxHcgdseePYNmhTHcrgMX4nFfBYtz2GKYToqHVVhJp8Eaw1Z1EedRnKD19b3B8NiLCGVxzKV17UMmmeEsCrPyA5w
|
||||||
|
```
|
||||||
|
<br/><br/>
|
||||||
|
- Ethereum<br/>
|
||||||
|
```
|
||||||
|
0x81F7B979fEa6134bA9FD5c701b3501A2e61E897a
|
||||||
|
```
|
||||||
|
<br/><br/>
|
||||||
|
- Bitcoin<br/>
|
||||||
|
```
|
||||||
|
3CPmacGm34qYvR6XWLVEJmi2aNe3PZqUuq
|
||||||
|
```
|
||||||
|
<br/><br/>
|
||||||
|
- Ko-Fi<br/>
|
||||||
|
<a href="https://ko-fi.com/markqvist">`https://ko-fi.com/markqvist`</a>
|
21
source/hardware_zh-cn.md
Normal file
21
source/hardware_zh-cn.md
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# 硬件支持(Supported Hardware)
|
||||||
|
Reticulum 可以被用在任意一个最低支持 500 比特/秒吞吐量、具有 500 字节 MTU(最大传输单元)的半/全双工信道上。数字无线电、调制解调器、LoRa无线电、串口线、AX.25 终端节点控制器(TNCs)、业余无线电台的数字模式、WiFi与以太网、自由空间光通信(free-space optical links)等等,都是 Reticulum 支持的物理设备。下面是一个简单列表:
|
||||||
|
|
||||||
|
- 任意以太网设备
|
||||||
|
- 几乎所有的基于 WiFi 的硬件
|
||||||
|
- LoRa(使用 [RNode](https://unsigned.io/rnode/))
|
||||||
|
- 封包无线电终端节点控制器(Packet Radio TNCs) (带或不带 AX.25 均可)
|
||||||
|
- 兼容KISS的硬件或软件调制解调器
|
||||||
|
- 任何带串口的设备
|
||||||
|
- TCP over IP
|
||||||
|
- UDP over IP
|
||||||
|
- 外部程序(通过 stdio 或是管道)
|
||||||
|
- 自制硬件(通过 stdio 或是管道)
|
||||||
|
|
||||||
|
若想了解更多细节或是查看完整的支持列表,请参阅手册的[通信硬件(Communications Hardware)](manual/hardware.html)与[受支持的界面(Supported Interfaces)](manual/interfaces.html)部分。
|
||||||
|
|
||||||
|
Reticulum 也可以在现有的 IP 网络之上建立连接,所以没有什么阻止你在有线以太网,本地的无线网或是互联网上使用它。在这些地方,它都能工作。事实上,Reticulum 的一大优势就是允许你混合使用各种基础设施,把不同的传输介质连接成一个无需人为干预(self-configuring)、可自恢复(resilient)、加密的网状网络。
|
||||||
|
|
||||||
|
你完全可以搭建一个连着 LoRa 无线电、封包无线电终端节点控制器 和 WiFi 的树莓派。在这些硬件都设置好之后,Reticulum 会处理剩下的一切。所有在 WiFi 侧的设备便可以和无线电侧的设备自由通信了,反之亦然。
|
||||||
|
|
||||||
|
<p align="right"><a href="connect_zh-cn.html">下一个主题: 公共测试网络</a></p>
|
28
source/index_zh-cn.md
Normal file
28
source/index_zh-cn.md
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
|
||||||
|
# Reticulum
|
||||||
|
Reticulum 是一个基于密码学的网络栈。人们可以用现有的硬件设备基于 Reticulum 搭建本地乃至广域的网络。它甚至可以在极高延迟与极低带宽的情况下运行。
|
||||||
|
|
||||||
|
目前的 Reticulum 能够让任何人运行自己的通讯网络。用独立、互联、自治的网络覆盖大片地域从未如此简单与低价。Reticulum 是为了人民、势不可挡的网络。
|
||||||
|
|
||||||
|
<p align="center"><img width="30%" src="gfx/reticulum_logo_512.png"></p>
|
||||||
|
|
||||||
|
Reticulum 不是*一个*网络,而是用于搭建*成千上万*网络的工具——成千上万个没有停止按钮(kill-switches)、没有监控、没有审查与控制,但却协调运作、有机结合、为了人类的网络。
|
||||||
|
|
||||||
|
在用户看来,Reticulum 能够用来创造尊重社区与个人的自治型与独立性的应用。它提供了无法被外部操纵、篡改、审查的安全数字通信。
|
||||||
|
|
||||||
|
Reticulum 可以构建下至小规模,大至全星球的网络体系,而无需任何层级或是官僚化的结构来控制与管理,同时还能保证社区与个人在自己那部分网络的完全自主权。
|
||||||
|
|
||||||
|
## 值得注意的特质(Notable Characteristics)
|
||||||
|
虽然 Reticulum 解决的是任何一个网络栈都会试着去解决的问题(把数据通过数个中间节点可靠地从一方传输到另一方),但是解决问题的方式却与其他网络技术相当不同。
|
||||||
|
|
||||||
|
- Reticulum 不使用源地址(source addresses)。发出包不会包含源地址、发送位置、机器与操作者之类的信息。
|
||||||
|
- Reticulum 中没有对于地址空间的中央控制。任何人都可以在需要的时候分配任意多的地址。
|
||||||
|
- Reticulum 保证端到端连接性。新生的地址会在几秒到数分钟之内全局可及。
|
||||||
|
- 地址是*[自主](https://zh.wikipedia.org/zh-cn/%E8%BA%AB%E4%BB%BD%E8%87%AA%E4%B8%BB%E6%9D%83)([self-sovereign](https://en.wikipedia.org/wiki/Self-sovereign_identity))*且*便携(portable)*的。它们可以在物理上被移动到网络的另一位置并仍旧保持可及。
|
||||||
|
- 所有通信都默认是由[现代、健壮的加密](crypto.html)保护的。
|
||||||
|
- 所有的加密密钥都是临时(ephemeral)的。通信默认自带前向保密(forward secrecy)。
|
||||||
|
- 不可能在 Reticulum 网络中建立未加密连接。
|
||||||
|
- 不可能在 Reticulum 网络中向任何目标发送未加密的数据包。
|
||||||
|
- 收到未加密数据包的目标会将数据包视为无效并丢弃。
|
||||||
|
|
||||||
|
<p align="right"><a href="start_zh-cn.html">下一个主题: 开始使用</a></p>
|
67
source/start_zh-cn.md
Normal file
67
source/start_zh-cn.md
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
# 开始使用(Get Started)
|
||||||
|
开始使用 Reticulum 的第一步是看看自己想做什么。若想查看完整的细节与例子,请参阅[Reticulum 手册](manual/index.html)的[快速开始](manual/gettingstartedfast.html)部分。
|
||||||
|
|
||||||
|
## 实验性软件(Experimental Software)
|
||||||
|
*请注意!* Reticulum 仍旧处于 Beta 阶段。虽然它目前已经工作得相当良好且稳定,但是在系统整体的行为、隐私或安全性上仍旧可能存在致命的漏洞与缺陷。如果你已经了解可能的后果,并且感觉没问题的话,就开始使用吧!
|
||||||
|
|
||||||
|
## 社区与支持(Community & Support)
|
||||||
|
|
||||||
|
如果你遇到了问题,或者是有些东西不好使,以下是一些寻求帮助的好地方:
|
||||||
|
|
||||||
|
- [Reticulum Github 讨论区](https://github.com/markqvist/Reticulum/discussions)
|
||||||
|
- [Reticulum Matrix 群组](element://room/!TRaVWNnQhAbvuiSnEK%3Amatrix.org?via=matrix.org)(`#reticulum:matrix.org`)
|
||||||
|
- [Reticulum Reddit 讨论版](https://reddit.com/r/reticulum)
|
||||||
|
|
||||||
|
## 安装(Installation)
|
||||||
|
安装 Reticulum 及其相关工具最简单的方式是使用 pip:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install rns
|
||||||
|
```
|
||||||
|
|
||||||
|
安装完成后,你便可以启动任何依靠 Reticulum 运行的程序,或者是使用 [rnsd 工具](manual/using.html#the-rnsd-utility) 将 Reticulum 作为服务运行。
|
||||||
|
|
||||||
|
如果 `pip` 在你的系统上不可用,请首先安装 `python3` 与 `python3-pip`。
|
||||||
|
|
||||||
|
首次启动时,Reticulum 会创建一个默认的配置文件。它会试着连接本地可及(locally reachable)的 Reticulum 节点(peer)。如果其中有些节点是”传输节点(Transport Instances)“,它们便可以让你连接上更大范围的网络。默认的配置文件提供了几个样例,以及用于创建复杂配置的参考。
|
||||||
|
|
||||||
|
如果想了解更多将通信扩展到各个媒介(如封包无线电(Packet Radio),LoRa、串口、基于IP的高速连接、互联网(通过UDP/TCP)等)的细节,请参阅 [Reticulum 手册](manual/index.html) 的[受支持的界面(Supported Interfaces)](manual/interfaces.html)部分。
|
||||||
|
|
||||||
|
## 附带工具(Included Utilities)
|
||||||
|
Reticulum 附带了用于管理网络、查看状态与信息等用途的一系列工具。欲知详情,请参阅 [Reticulum 手册](manual/index.html)的[附带工具](manual/using.html#included-utility-programs)部分。
|
||||||
|
|
||||||
|
- 用于将 Reticulum 作为服务运行的守护进程(Daemon) `rnsd`
|
||||||
|
- 用于查看界面(Interface)信息的工具 `rnstatus`
|
||||||
|
- 用于查看与更改路径表(path tables)的工具 `rnpath`
|
||||||
|
- 用于检查与目标连接性的诊断工具 `rnprobe`
|
||||||
|
- 一个简单的文件传输工具 `rncp`
|
||||||
|
- 一个远程命令执行工具 `rnx`
|
||||||
|
|
||||||
|
以上提到的所有工具,包括 `rnx` 与 `rncp`,都运行的十分良好且可靠,就算是通过带宽非常低的连接(如 LoRa 与封包无线电)也一样。
|
||||||
|
|
||||||
|
## 使用 Reticulum 的程序(Programs Using Reticulum)
|
||||||
|
如果你想知道 Reticulum 能做什么,看一看下面的链接吧。
|
||||||
|
|
||||||
|
- 无需基建(off-grid)、加密且可自恢复(resilient)的网状(mesh)通讯平台 [Nomad Network](https://github.com/markqvist/NomadNet)
|
||||||
|
- 带有图形界面、注重易用性、可在Android、Linux与macOS使用的 [Sideband](https://github.com/markqvist/sideband)
|
||||||
|
- 一个分布式、抗延迟、抗干扰、基于 Reticulum 的消息传输协议 [LXMF](https://github.com/markqvist/lxmf)
|
||||||
|
|
||||||
|
## 依赖相关(Dependencies)
|
||||||
|
`rns` 包默认条件下的安装需要以下依赖。几乎所有的系统与发行版都有直接可用的包。如果是通过 `pip` 安装,这些依赖会直接被下载安装。
|
||||||
|
|
||||||
|
- [PyCA/cryptography](https://github.com/pyca/cryptography)
|
||||||
|
- [netifaces](https://github.com/al45tair/netifaces)
|
||||||
|
- [pyserial](https://github.com/pyserial/pyserial)
|
||||||
|
|
||||||
|
若使用的是较为少见的系统,或是在某种特殊情形下,上面的依赖不一定总是能安装或是编译成功。在这种情况下,你可以使用无需额外依赖的 `rnspure` 包。请注意`rns` 与 `rnspure`包的内容是*完全一致*的。唯一的区别是 `rnspure` 包没有显式包含需要安装的依赖。
|
||||||
|
|
||||||
|
不论安装 Reticulum 的手段为何,Reticulum 都会在*需要*且*可用*的情况下加载外部依赖。如果你想在一个不支持 [pyserial](https://github.com/pyserial/pyserial) 的系统上运行 Reticulum,使用 `rnspure` 包即可。但是 Reticulum 将无法使用基于串口的界面。所有其他模块仍旧会在需要时被 Reticulum 载入。
|
||||||
|
|
||||||
|
**注意!** 如果你在不支持 [PyCA/cryptography](https://github.com/pyca/cryptography) 的系统上使用 `rnspure` 包,请一定确保自己阅读并理解了[密码学原语(Cryptographic Primitives)](crypto.html)的相关内容。
|
||||||
|
|
||||||
|
## 性能(Performance)
|
||||||
|
Reticulum 的性能差距范围会*非常*大。目前 Reticulum 会优先保证低带宽媒介的可用性与性能。Reticulum 的目标是提供一个250 比特/秒到 1 吉比特/秒(普通硬件条件下)的性能区间。
|
||||||
|
|
||||||
|
目前可用的性能区间是 500 比特/秒到 20 兆比特/秒。更快的媒介将无法被充分利用。未来,Reticulum 有着升级性能的意向,但直到有线格式(wire format)和 API 完全稳定之前,性能升级都不会是优先事项。
|
||||||
|
|
||||||
|
<p align="right"><a href="hardware_zh-cn.html">下一个主题: 硬件支持</a></p>
|
Loading…
Reference in New Issue
Block a user