配置文件
以下是一个完整注释了的配置文件:
# [可选] 数据库的路径;必须可由 `earendil` 守护进程写入。
# 如果未指定此键,`earendil` 将使用默认路径。
# 如果在同一台机器上启动多个 `earendil` 守护进程,除了一个守护进程配置外,必须在所有其他守护进程配置中指定此字段。
# 这可防止额外的守护进程尝试使用相同的数据库并崩溃。
db_path: ./.cache/earendil
# [可选] 守护进程监听控制命令的 IP 地址。
# 如果未指定此键,`earendil` 将在默认端口监听控制命令。
# 如果在同一台机器上启动多个 `earendil` 守护进程,除了一个守护进程配置外,必须在所有其他守护进程配置中指定此字段。
# 这可防止额外的守护进程尝试在相同的端口上监听并崩溃。
# 目前不支持向远程守护进程发送控制命令,因此这应该是 `127.0.0.1:<空闲端口>`。
control_listen: 127.0.0.1:11111
# ------------------------ 路由配置 ----------------------------
# 作为邻居连接的中继。客户端配置*必须*至少包含一个 `out_route`;对于中继是可选的。
out_routes:
example-relay:
# 中继监听传入连接的 IP 地址和端口
connect: 62.210.93.59:12345
# 中继的长期身份
fingerprint: 4b7a641b77c2d6ceb8b3fecec2b2978dfe81ae045ed9a25ed78b828009c4967a
# 使用的混淆协议,用于抵抗 ISP 级别的审查
# 目前有 2 个混淆选项:
# - `none`:无混淆。在受审查的网络环境中,这可能导致您与此中继的连接被阻止。
# - `sosistab3`:基于 TCP 的带有对称 cookie 的混淆传输,由中继定义。这个混淆协议是作为 [geph5](https://github.com/geph-official/geph5) 的一部分开发的
obfs:
sosistab3: shove-mistake-wish-endless-antique-citizen-filter-employ-cigar-clip-acid-defense
# 此链接的价格和债务配置
price_config:
# 每个传入数据包的收费,以 µMEL 为单位
inbound_price: 0
# 传入数据包的债务限制,以 µMEL 为单位
inbound_debt_limit: 0
# 您愿意为每个传出数据包支付的最高价格,以 µMEL 为单位
outbound_max_price: 10
# 您接受的传出数据包的最小债务限制,以 µMEL 为单位
# 负债务限制意味着需要预付款
outbound_min_debt_limit: -100
# 更多要连接的中继
relay-2:
connect: ...
fingerprint: ...
obfs: none
price_config: ...
# -------------------- 支付 + Mel 区块链访问 -----------------------
payment_methods:
# 不需要参数即可支持 PoW 支付
- pow
- on_chain: <your-mel-wallet-secret> # 用于发送和接收付款的 melwallet 密钥
# [可选] 如何连接到 Mel 区块链,可以是 Earendil 避风港地址
# 如果未指定此键,则我们将使用默认引导节点通过明网连接到 Mel 区块链。这在有互联网审查的国家可能无法工作。
mel_bootstrap: <address-to-melnode>
# --------------------------- 避风港 + 代理 ---------------------------
# [可选] 启动一个本地 Socks5 服务器,通过 Earendil 代理流量。
# 这使您可以访问 Earendil 避风港。
# 如果未指定此键,`earendil` 将在 **端口 30003** 上启动一个 Socks5 代理,并设置 `fallback: pass_through`。
# 如果在同一台机器上启动多个 `earendil` 守护进程,除了一个守护进程配置外,必须在所有其他守护进程配置中指定此字段。
# 这可防止额外的守护进程尝试在相同的端口上监听并崩溃。
socks5:
# earendil Socks5 代理监听的本地主机地址
listen: 127.0.0.1:23456
# 如何处理非 Earendil 流量(如请求隧道 `google.com:443`)。有 3 个选项:
# 1) `pass_through`:让所有非 Earendil 流量通过,就像您没有使用 Earendil 一样。对 `google.com` 的请求将表现得与您未连接到 Earendil 代理时相同。
# 2) `block`:阻止所有非 Earendil 流量。对 `google.com` 的请求将失败。
# 3) `simple_proxy`:通过指定的 `simple-proxy` 服务器代理非 Earendil 流量,类似于您使用 Tor 作为网络代理的方式。
fallback:
simple_proxy: passthrough
# 我们托管的避风港
havens:
## 一个 TCP 避风港,例如一个网站
# 存储长期避风港身份的文件路径。必须可由 earendil 守护进程写入
- identity_file: /your/path/identity.secret
# 选择作为此避风港会合点的中继的指纹(使避风港对访问者保持匿名)
rendezvous: 4b7a641b77c2d6ceb8b3fecec2b2978dfe81ae045ed9a25ed78b828009c4967a
handler:
type: tcp_service
# 托管此 TCP 避风港的码头
listen_dock: 12345
# 转发此避风港所有流量的 TCP 地址。此避风港后面的 TCP 服务(例如,网站)应监听此地址。
upstream: 127.0.0.1:8000
## 一个网络代理避风港
# 存储长期避风港身份的文件路径。必须可由 earendil 守护进程写入
- identity_file:
/your/path/identity.secret
# 选择作为我们会合点的中继。网络代理避风港不能匿名,因此应选择此中继以优化性能。
rendezvous: 4b7a641b77c2d6ceb8b3fecec2b2978dfe81ae045ed9a25ed78b828009c4967a
handler:
# Earendil 的网络代理协议
type: simple_proxy
# 代理服务器监听的码头
listen_dock: 19999
# -------------------------- 仅中继 ----------------------------
relay_config:
# 存储长期身份的文件路径。
identity_file: /your/path/identity.secret
# 接受传入连接的位置和方式
in_routes:
main_obfs:
# 使用的混淆协议,用于抵抗 ISP 级别的审查
obfs:
sosistab3: snake-before-antenna-toward-floor-stuff-frozen-power-avocado-retire-grunt-nation
# 此 in_route 监听的 TCP 端口
listen: 0.0.0.0:19999
# 此路由的价格配置,以 µMEL 为单位
price_config:
inbound_price: 5
inbound_debt_limit: 50000
outbound_max_price: 0
outbound_min_debt_limit: 0
# 另一个 in_route,无混淆
no_obfs:
obfs: none
listen: 0.0.0.0:19998
price_config:
inbound_price: 3
inbound_debt_limit: 30000
outbound_max_price: 0
outbound_min_debt_limit: 0
Last updated