Skip to content

自建迷雾通教程

Eric (Yuhao Dong) edited this page Sep 1, 2021 · 1 revision

本文档将指导您建立一个自建、单一服务器的迷雾通。尽管迷雾通 (Geph) 主要是由 Gephyra OÜ 组织架设的多用户、多服务器的公共服务,但其命令行程序 geph4-clientgeph4-exit 也支持类似 V2Ray, ShadowSocks 的单服务器模式,可供用户自建服务。

设置服务器(「一键傻瓜脚本」)

如果您有一台运行 Debian 10 的服务器,那么,要在其上安装迷雾通的最简单的方法便是执行下方的一行代码:

(作为 root 用户)

$ curl -L https://waa.ai/geph-exit-setup | bash

(作为非 root 用户)

$ curl -L https://waa.ai/geph-exit-setup | sudo bash

如果脚本成功运行,则屏幕上将显示像下面这样的一行提示:

[2021-08-19T22:34:12Z INFO  geph4_exit::listen] listening on <PUBLIC_KEY>@<IP_ADDR>:8814

请记下 <PUBLIC_KEY>@<IP_ADDR>:8814 这段字串。您现在可以直接跳转至「连接到服务器」部分来连接您的服务器了。

设置服务器(手动模式)

先前准备

  • 更新至最新版本的 Rust 工具链(最低版本要求:1.50)
  • 装有某种 Linux 发行版(我们推荐使用 Debian)

安装 geph4-exit

使用 Cargo 从源代码处安装是官方支持的唯一方法。幸运的是,这很简单:

$ cargo install --locked geph4-exit

撰写一份配置文件

为启动 geph4-exit, 我们需要准备一份配置文件。将下面这些内容写入 /etc/geph4-exit.toml 中:

# 在哪个端口监听传入连接。您可以将 8814 改为任何您喜欢的端口。
sosistab_listen = "[::]:8814"
# 在何处保存密钥
secret_key = "/home/user/geph4-exit.key"

请务必确保运行 geph4-exit 的用户拥有对指定的 secret_key 路径的写入权限,这很重要。

启动 geph4-exit

现在,我们在服务器上启动迷雾通:

$ geph4-exit --config /etc/geph4-exit.toml
[2021-08-15T01:17:30Z INFO  geph4_exit] read configuration file:
    {
        ...
    }
[2021-08-15T01:17:30Z INFO  geph4_exit::listen] listening on <PUBLIC_KEY>@<IP_ADDR>:8814

请注意所输出的 <PUBLIC_KEY>@<IP_ADDR>:8814 的值。这是后续客户端用来连接的服务器的链接。

设置一个 systemd 服务

目前,您需要让 geph4-exit 保持前台运行,以便让迷雾通服务器保持运行。因此,我们可以使用一个简单的 systemd 服务来让 geph4-exit 在后台保持运行。在 /etc/systemd/system/ 下创建一个名为 geph4-exit.service 的文件,并写入:

[Unit]
Description=Geph4 exit service.

[Service]
Type=exec
Restart=always
ExecStart=/whatever/path/to/geph4-exit --config /etc/geph4-exit.toml
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

然后,运行 systemctl enable geph4-exit, systemctl daemon-reload, systemctl start geph4-exit 以及 systemctl enable geph4-exit, geph4-exit 就可以在您的服务器每次重启后自动在后台运行了。

连接至服务器

安装 geph4-client

在用户端机器上,使用 Cargo 来安装 geph4-client:

$ cargo install --locked geph4-client

运行 geph4-client

现在我们要用 --override-connect 选项来连接至我们自建的服务器:

$ geph4-client connect --override-connect <PUBLIC_KEY>@<IP_ADDRESS>:8814
...
[2021-08-16 08:20:30] INFO [geph4-client/src/tunman/mod.rs:133] TUNNEL_MANAGER MAIN LOOP through <IP_ADDRESS>:8814

<PUBLIC_KEY> 就是之前 geph4-exit 在服务器端输出的值,<IP_ADDRESS> 就是运行 geph4-exit 的服务器的 IP 地址。

您现在就可以像往常一样通过以下端口来使用迷雾通了:

  • localhost:9910: HTTP 代理
  • localhost:9909: SOCKS5 代理