plankroad(栈道) = 自用的免费中转服务
2025 年 11 月 11 日
自己做的镜像投入使用了。
正如栈道这个名字所代表的意义一样,用它可以快速修建一条小路,解决一些本没有必要存在的问题。但不能指望它的舒适性和稳定性。
What
用产品经理的语言来描述,它是一个在 Docker 容器平台上快速自建中转服务器的工具,特点是超轻:镜像本身不超 10MB,运行内存小于 64MB。
从开发人员的角度来说:
- 它首先是一个 http 服务器,可以将静态前端页面暴露到外部。
- 其默认的前端在简单的认证功能基础上,提供了以下几个功能:
- 内部状态的简单展示。
- 用于操作服务器的 web 终端。
- 简单的中转下载服务。
- 支持通过 cloudflare tunnel 提供更多入口。
- 内置了 vless over ws 服务。
How
注意版本 tag 目前只有 alpine。
使用方法不复杂,跟大部分镜像一样,配置环境变量即可。虽然必须要配置的只有一个 PASSWORD,但从实用角度来说,还是推荐至少配置以下几项(否则就只能从启动后的 log 中查看临时路径了):
| 变量名 | 默认值 | 含义 |
|---|---|---|
| PASSWORD | 无 | 密码,必须设置 |
| USERNAME | plankroad | 用户名 |
| IP | 127.0.0.1 | 绑定 IP,如果用直连域名的话,通常需要设置为 0.0.0.0 |
| PORT | 27149 | 端口号 |
| PUBLIC_HTTPS_DOMAIN | 无 | 直连域名,通常容器平台会提供 |
| EMBEDDED_VLESS_CLIENT_ID | 随机 UUID | 内置的 vless over ws 服务使用的 UUID,建议固定 |
启动后,可以通过直连域名访问服务,获取更多信息。
Cloudflare tunnel 配置
可以通过 cloudflare tunnel 服务开启更多域名。默认只是开启 quick tunnel,也就是一个 trycloudflare 的随机域名。
如果希望使用固定的 tunnel,需要在 cloudflare tunnel 的 dashboard 上,配置域名和端口连到上面表中所设置的 PORT,然后为 plankroad 配置以下属性:
| 变量名 | 含义 |
|---|---|
| CLOUDFLARE_TUNNEL_TOKEN | cloudflare tunnel 的 token |
| CLOUDFLARE_TUNNEL_PUBLIC_DOMAIN | cloudflare tunnel 所配置的域名,注意是仅域名,例如:pr.my-site.xyz |
注意事项
免费的 Docker 容器平台流量通常有限制,羊毛不要薅的太过。
cloudflare tunnel 有政策限制,另外临时域名稳定性也是不做保证的。
其他问题
这个项目纯粹是自用的,并没有服务大多数人的计划,也不期待得到更多的宣传。
当然,如果能对大家有那么一点点的帮助,也是好事,大家默默使用即可。
希望我们未来的网络空间,不要再像现在这样逼仄。