Chinese translation added (First Revision).

This commit is contained in:
ShouNichi 2023-12-25 18:56:07 +00:00 committed by GitHub
parent f65143a549
commit bbf3bfee67
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 229 additions and 0 deletions

33
source/connect_zh-cn.md Normal file
View 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
View 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
View 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
View 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
View File

@ -0,0 +1,20 @@
## 支持 ReticulumSupport 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
View 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
View 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
View 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 RadioLoRa、串口、基于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>