帮助网络
三条命令。无需仪表盘。无需 VPN。
在一台闲置机器上运行传感器,打开安装程序打印的端口,你就加入了。选择此模式即表示你同意加入 SuckerPot 网络。
git clone --depth 1 --branch v0.9.0 https://github.com/selfhostr/suckerpot.git cd suckerpot ./scripts/install.sh --participant
将 v0.9.0 替换为你想要的发布版本。SuckerPot 的设计目的就是被攻击:请使用一台专用机器,不要在上面存放任何你在意的其他内容。
你需要什么
一台 Linux 机器和一台你可以控制的路由器。
仅需传感器、数据库和网络节点,大约 2 GiB 内存。
| 机器 | Linux 虚拟机或服务器,x86_64 或 aarch64,至少 2 GiB 内存和 15 GiB 可用磁盘空间。 |
| 软件 | Docker Engine 24+(推荐 28)及 Compose 插件、git、curl 和 Bash 4+。你的用户必须能够不使用 sudo 运行 docker。 |
| 路由器 | 你可以将端口转发到这台机器。 |
| VPN | 不需要。 |
开放端口
安装后你唯一需要做的事。
安装程序最后会给出一张端口表。将每个路由器端口转发到这台机器。切勿转发你自己的管理 SSH 端口,也不要使用路由器的 DMZ:它会转发所有端口。安装程序从不修改你的 SSH 设置。
| 路由器端口 | 本机 | 协议 | 传感器 |
|---|---|---|---|
| 22 | 22 | TCP | ssh |
| 23 | 23 | TCP | telnet |
| 80 | 80 | TCP | web |
| 443 | 443 | TCP | web |
安装程序打印内容的示例。如果机器上的 22 端口已被占用,SSH 传感器将使用 2222。
无 VPN 的隐私
中心能看到一个地址,但不保存它。
没有 VPN 时,你的机器连接时,中心会看到你的家庭地址。中心前面的隧道服务商同样会看到。中心不会存储或记录它,但该地址并没有被隐藏。
- 在此模式下,只有一个服务有对外路由。它只把连接转发到中心主机,别无其他。
- 负责解析攻击者数据的接收服务没有对外路由。你的传感器从不下载任何东西。
- 随时可以添加 VPN:
./scripts/participant.sh vpn /path/to/wireguard.conf。
掌控全局
检查、更新,随时退出。
| 命令 | 作用 |
|---|---|
| ./scripts/status.sh | 显示传感器及其端口、你的状态、与中心最近一次联系,以及每天发送的内容。 |
| ./scripts/participant.sh ports-check | 判断互联网是否已能访问你的传感器。 |
| ./scripts/participant.sh firewall | 加载主机防火墙(需要 sudo),或将其移除。 |
| ./scripts/participant.sh leave | 退出网络。传感器继续运行。 |
| ./scripts/participant.sh join | 再次显示同意条款并加入。 |
| ./scripts/participant.sh vpn FILE | 将所有流量通过你的 VPN 发送。 |
| ./scripts/participant.sh auto-update off | 关闭每日更新计划。 |
| ./scripts/participant.sh uninstall | 退出网络,停止服务栈并移除计划任务。它会打印删除数据的命令,但从不自行运行。 |
自动更新
已签名的版本每天自动安装一次,在发布后至少 48 小时,并且仅限同一主版本内。安装前会先备份数据库,更新失败时会恢复到之前的版本。如果发布渠道曾被入侵,启用自动更新的参与者会受到影响:签名和延迟可以降低这种风险,但无法消除它。一条命令即可关闭更新。
验证节点
大多数参与者从不下载恶意软件。验证节点是一种自愿加入的节点,配有 VPN 和收集器,可以获取由两个节点报告的链接并描述文件。它还需要中心运营者授予角色。
切换到完整模式
./scripts/install.sh --full 会添加仪表盘,并保留你的数据和成员身份。反向切换,即从完整模式切换到参与者模式,不受支持。参见安装。