unredacted/freesocks-control-plane
GitHub: unredacted/freesocks-control-plane
基于 Cloudflare Workers 的 Shadowsocks/Outline 代理密钥自动化分发与管理平台,专为审查环境下的无障碍上网而设计。
Stars: 41 | Forks: 2
# FreeSocks Control Plane (FCP)
这是 [FreeSocks](https://freesocks.org) 背后的(控制平面)代码。FreeSocks 是一项为处于高度互联网审查国家的人们提供免费、开放且无审查的 Outline (Shadowsocks) 代理的服务。
FreeSocks Control Plane (FCP) 使用了 [Cloudflare Workers](https://workers.cloudflare.com/),并用 JavaScript 编写。此仓库允许您搭建自己的类 FreeSocks Outline 访问密钥分发平台,并让您了解 FreeSocks 的运作方式。
FreeSocks Control Plane 由几个核心组件组成:
- GET 脚本 - 向用户分发 Outline 访问密钥。
- DELETE 脚本 - 删除在指定天数后仍未使用的访问密钥。
- UPDATE 脚本 - 更新 KV JSON 数据,以跟踪访问密钥的状态(创建、删除、上次使用时间以及密钥当前是否正在使用)。
- LIST 脚本 - 从 KV 中为管理员列出访问密钥数据。
## 前置条件
- 一个拥有 Workers 平台访问权限的 Cloudflare 账户。
- 创建数个 Workers KV 命名空间,并在 `wrangler.toml` 环境变量中进行定义。
- Cloudflare 上的一个用于 FreeSocks Control Plane 的区域。
- Cloudflare [wrangler](https://developers.cloudflare.com/workers/wrangler/install-and-update/)。
- 确保您已使用 [wrangler](https://developers.cloudflare.com/workers/wrangler/commands/#login) 登录到 Cloudflare。
## 定义环境变量
查看 `wrangler-example.toml` 以获取示例变量。
将 `wrangler-example.toml` 复制到 `wrangler.toml`,然后根据您的需求对其进行编辑。
使用 `wrangler secret` 设置敏感变量。
设置所需的密钥:
```
# 关于 get.js
wrangler secret put TURNSTILE_SITE_KEY
wrangler secret put TURNSTILE_SECRET_KEY
# 关于 delete.js
wrangler secret put SECRET_AUTH_TOKEN
wrangler secret put VAR_CF_ACCESS_CLIENT_ID
wrangler secret put VAR_CF_ACCESS_CLIENT_SECRET
```
## 如何部署
要部署 FCP,您可以运行:
```
wrangler deploy
```
## 更新您的 FCP 代码
1. 检查自上次部署 Worker 以来的重大更改,并根据需要进行修复。
2. 从您系统上的仓库目录中拉取最新代码:
```
git pull
```
部署 Worker:
```
wrangler deploy
```
标签:API服务, Cloudflare KV, CMS安全, JavaScript, Outline VPN, Serverless, Shadowsocks, Wrangler, 代理分发平台, 代理控制平面, 免费VPN, 反审查, 开源代理, 抗封锁工具, 数据可视化, 无边界网络, 程序员工具, 系统运维, 网络审查绕过, 网络自由, 自定义脚本, 访问密钥管理, 高对比度