# ๐ OpenAI Team Auto Provisioner
**OpenAI Team ่ดฆๅท่ชๅจๆน้ๆณจๅ & ๆๆๅ
ฅๅบๅทฅๅ
ท**
[](https://www.python.org/)
[](https://drissionpage.cn/)
[](LICENSE)
---
## โจ ๅ่ฝ็นๆง
- ๐ **ๅ
จ่ชๅจๅๆต็จ** - ไป้ฎ็ฎฑๅๅปบๅฐๆๆๅ
ฅๅบไธ้ฎๅฎๆ
- ๐ง **ๅค้ฎ็ฎฑ็ณป็ปๆฏๆ** - ๆฏๆ Cloud Mail ่ชๅปบ้ฎ็ฎฑๅ GPTMail ไธดๆถ้ฎ็ฎฑ
- ๐ฅ **Team ๆน้้่ฏท** - ไธๆฌกๆง้่ฏทๅคไธช่ดฆๅทๅฐ Team
- ๐ **ๆต่งๅจ่ชๅจๅ** - ๅบไบ DrissionPage ็ๆบ่ฝๆณจๅ
- ๐ **ๅคๆๆๆๅกๆฏๆ** - ๆฏๆ CRS / CPA / S2A ไธ็งๆๆๅ
ฅๅบๆนๅผ
- ๐พ **ๆญ็น็ปญไผ ** - ๆฏๆไธญๆญๆขๅค๏ผ้ฟๅ
้ๅคๆไฝ
- ๐ **็ถๆ่ฟฝ่ธช** - ่ฏฆ็ป็่ดฆๅท็ถๆ่ฎฐๅฝไธ่ฟฝ่ธช
- ๐ **ไปฃ็่ฝฎๆข** - ๆฏๆๅคไปฃ็้
็ฝฎๅ่ชๅจ่ฝฎๆข
- ๐ญ **ๆต่งๅจๆ็บน** - ้ๆบๆต่งๅจๆ็บน้ฒๆฃๆต
---
## ๐ ๅ็ฝฎ่ฆๆฑ
- Python 3.12+
- [uv](https://github.com/astral-sh/uv) (ๆจ่) ๆ pip
- Chrome ๆต่งๅจ
- ้ฎ็ฎฑๆๅก API
- ๆๆๆๅก API (CRS / CPA / S2A ไปป้ๅ
ถไธ)
---
## ๐ ๏ธ ๅฟซ้ๅผๅง
### 1. ๅฎ่ฃ
ไพ่ต
```bash
# ไฝฟ็จ uv (ๆจ่)
uv sync
# ๆไฝฟ็จ pip
pip install -r requirements.txt
```
### 2. ้
็ฝฎๆไปถ
```bash
# ๅคๅถ้
็ฝฎๆจกๆฟ
cp config.toml.example config.toml
cp team.json.example team.json
```
### 3. ็ผ่พ้
็ฝฎ
#### `config.toml` - ไธป้
็ฝฎๆไปถ
```toml
# ==================== ๆๅก้ๆฉ ====================
# ้ฎ็ฎฑ็ณป็ป: "cloudmail" (่ชๅปบ้ฎ็ฎฑ) ๆ "gptmail" (ไธดๆถ้ฎ็ฎฑ)
email_provider = "gptmail"
# ๆๆๆๅก: "crs" / "cpa" / "s2a"
auth_provider = "cpa"
# ๆฏๅฆๅฐ Team Owner ไนๆทปๅ ๅฐๆๆๆๅกๅ
ฅๅบ
# - true: Owner ่ดฆๅทไนไผ่ฟ่กๆๆๅนถๅ
ฅๅบ (้่ฆ Owner ้ฎ็ฎฑ่ฝๆฅๆถ้ช่ฏ็ )
# - false: ไป
ๅค็้่ฏท็ๆๅ่ดฆๅท๏ผOwner ไธๅ
ฅๅบ
include_team_owners = false
# ==================== ้ฎ็ฎฑๆๅก้
็ฝฎ ====================
# Cloud Mail ้ฎ็ฎฑๆๅก (email_provider = "cloudmail" ๆถไฝฟ็จ)
[email]
api_base = "https://your-email-service.com/api/public"
api_auth = "your-api-auth-token"
domains = ["domain1.com", "domain2.com"]
role = "gpt-team"
web_url = "https://your-email-service.com"
# GPTMail ไธดๆถ้ฎ็ฎฑ (email_provider = "gptmail" ๆถไฝฟ็จ)
[gptmail]
api_base = "https://mail.chatgpt.org.uk"
api_key = "gpt-test"
prefix = "" # ้ฎ็ฎฑๅ็ผ๏ผ็็ฉบ่ชๅจ็ๆ
domains = [] # ๅฏ็จๅๅๅ่กจ๏ผ็็ฉบไฝฟ็จ้ป่ฎค
# ==================== ๆๆๆๅก้
็ฝฎ ====================
# CRS ๆๅก้
็ฝฎ (auth_provider = "crs" ๆถไฝฟ็จ)
[crs]
api_base = "https://your-crs-service.com"
admin_token = "your-admin-token"
# CPA ๆๅก (auth_provider = "cpa" ๆถไฝฟ็จ)
[cpa]
api_base = "http://your-cpa-service:8317"
admin_password = "your-admin-password"
poll_interval = 2 # ่ฝฎ่ฏข้ด้ (็ง)
poll_max_retries = 30 # ๆๅคง้่ฏๆฌกๆฐ
is_webui = true
# S2A ๆๅก (auth_provider = "s2a" ๆถไฝฟ็จ)
[s2a]
api_base = "https://your-sub2api-service.com/api/v1"
admin_key = "your-admin-api-key" # Admin API Key (ๆจ่)
admin_token = "" # JWT Token (ๅค้)
concurrency = 10 # ่ดฆๅทๅนถๅๆฐ
priority = 50 # ่ดฆๅทไผๅ
็บง
group_ids = [] # ๅ็ป ID ๅ่กจ
group_names = ["codex"] # ๅ็ปๅ็งฐๅ่กจ (่ชๅจ่งฃๆไธบ ID)
# ==================== ่ดฆๅท้
็ฝฎ ====================
[account]
default_password = "YourSecurePassword@2025"
accounts_per_team = 4
# ==================== ๆต่งๅจ้
็ฝฎ ====================
[browser]
wait_timeout = 60
short_wait = 10
headless = false # ๆ ๅคดๆจกๅผ
# ==================== ไปฃ็้
็ฝฎ (ๅฏ้) ====================
proxy_enabled = false
# [[proxies]]
# type = "socks5"
# host = "127.0.0.1"
# port = 1080
# ๆดๅค้
็ฝฎ้กน่ฏทๅ่ config.toml.example
```
#### `team.json` - Team ๅญ่ฏ้
็ฝฎ
> ๐ก ้่ฟ่ฎฟ้ฎ `https://chatgpt.com/api/auth/session` ่ทๅ๏ผ้ๅ
็ปๅฝ ChatGPT๏ผ
**ๆ ผๅผ 1: ๆงๆ ผๅผ (ๅฎๆด Session)**
```json
[
{
"user": { "email": "team-admin@example.com" },
"account": {
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"organizationId": "org-xxxxxxxxxxxxxxxxxxxxxxxx"
},
"accessToken": "eyJhbGciOiJSUzI1NiIs..."
}
]
```
> โ ๏ธ **ๆณจๆ**: ๆ ผๅผ 1 ็ Team Owner ้ฎ็ฎฑๅฟ
้กปๆฏ่ชๅทฑๅฏๆง็ๅๅ้ฎ็ฎฑ๏ผๆ่ฝๆฅๆถ้ช่ฏ็ ๅฎๆๆๆๅ
ฅๅบใๅฆๆๆฏ็ฌฌไธๆน้ฎ็ฎฑ๏ผๅฆ Gmail๏ผ๏ผOwner ่ดฆๅทๆ ๆณๅ
ฅๅบ๏ผๅช่ฝ้่ฏทๆๅ่ดฆๅทใ
**ๆ ผๅผ 2: ๆฐๆ ผๅผ (้ฎ็ฎฑๅฏ็ + Token)**
```json
[
{
"account": "team-admin@example.com",
"password": "your-password",
"token": "eyJhbGciOiJSUzI1NiIs..."
}
]
```
**ๆ ผๅผ 3: ๆฐๆ ผๅผ (ไป
้ฎ็ฎฑๅฏ็ ๏ผ่ชๅจ็ปๅฝ่ทๅ Token)**
```json
[
{
"account": "team-admin@example.com",
"password": "your-password"
}
]
```
> ๐ก ๆ ผๅผ 3 ๆ ้ๆไพ Token๏ผ็จๅบไผ่ชๅจ็ปๅฝ่ทๅๅนถไฟๅญๅฐ้
็ฝฎๆไปถ
#### ไธ็งๆ ผๅผ็ๅค็็ญ็ฅ
| ๆ ผๅผ | Owner ๆๆๅ
ฅๅบ | ๆๅ้่ฏท | Token ่ทๅ | ้็จๅบๆฏ |
|:---:|:---:|:---:|:---:|------|
| **ๆ ผๅผ 1** | โ ๏ธ ้่ชๆๅๅ้ฎ็ฎฑ | โ
ๆฏๆ | ๆๅจๆไพ | ๅทฒๆ Session๏ผOwner ็จ็ฌฌไธๆน้ฎ็ฎฑ |
| **ๆ ผๅผ 2** | โ
ๆฏๆ | โ
ๆฏๆ | ๆๅจๆไพ | ๅทฒๆ Token๏ผOwner ๅฏๆฅๆถ้ช่ฏ็ |
| **ๆ ผๅผ 3** | โ
ๆฏๆ | โ
ๆฏๆ | ่ชๅจ็ปๅฝ | ๆ็ฎ้
็ฝฎ๏ผOwner ๅฏๆฅๆถ้ช่ฏ็ |
**่ฏฆ็ป่ฏดๆ๏ผ**
- **ๆ ผๅผ 1 (ๆงๆ ผๅผ)**: ็ดๆฅไฝฟ็จ ChatGPT Session๏ผOwner ไฝฟ็จ OTP ้ช่ฏ็ ็ปๅฝๆๆใๅฆๆ Owner ้ฎ็ฎฑๆฏ Gmail ็ญ็ฌฌไธๆน้ฎ็ฎฑ๏ผๆ ๆณๆฅๆถ้ช่ฏ็ ๏ผๅ Owner ่ดฆๅทไธไผๅ
ฅๅบ๏ผไป
้่ฏทๆๅ่ดฆๅทใ
- **ๆ ผๅผ 2 (ๆฐๆ ผๅผ + Token)**: ๆไพ้ฎ็ฎฑๅฏ็ ๅ Token๏ผOwner ไฝฟ็จๅฏ็ ็ปๅฝ่ฟ่กๆๆใ้ๅๅทฒ็ปๆ Token ไธ Owner ้ฎ็ฎฑๅฏๆฅๆถ้ช่ฏ็ ็ๅบๆฏใ
- **ๆ ผๅผ 3 (ๆฐๆ ผๅผ ๆ Token)**: ไป
ๆไพ้ฎ็ฎฑๅฏ็ ๏ผ็จๅบไผๅ
่ชๅจ็ปๅฝ่ทๅ Token ๅนถไฟๅญ๏ผ็ถๅ่ฟ่กๅ็ปญๆต็จใๆ็ฎๅ็้
็ฝฎๆนๅผ๏ผๆจ่ไฝฟ็จใ
### 4. ่ฟ่ก
```bash
# ่ฟ่กๆๆ Team
uv run python run.py
# ๅไธช Team ๆจกๅผ
uv run python run.py single 0
# ๆต่ฏๆจกๅผ (ไป
ๅๅปบ้ฎ็ฎฑๅ้่ฏท)
uv run python run.py test
# ๆฅ็็ถๆ
uv run python run.py status
```
---
## ๐ ๆๆๆๅก่ฏดๆ
ๆฌ้กน็ฎๆฏๆไธ็งๆๆๅ
ฅๅบๆๅก๏ผ้่ฟ `auth_provider` ้
็ฝฎ้ๆฉ๏ผ
| ๆๅก | ่ฏดๆ | ็น็น |
|:---:|------|------|
| **CRS** | Claude Relay Service | ้ๆๅจๆทปๅ ่ดฆๅท๏ผๆฏๆ Token ็ฎก็ |
| **CPA** | Codex/Copilot Authorization | ๅๅฐ่ชๅจๅค็๏ผ่ฝฎ่ฏขๆๆ็ถๆ |
| **S2A** | Sub2API | ๆฏๆ OAuth ๆๆ๏ผ่ชๅจๅ
ฅๅบ๏ผๆฏๆๅ็ป |
### CRS ้
็ฝฎ
```toml
auth_provider = "crs"
[crs]
api_base = "https://your-crs-service.com"
admin_token = "your-admin-token"
```
### CPA ้
็ฝฎ
```toml
auth_provider = "cpa"
[cpa]
api_base = "http://your-cpa-service:8317"
admin_password = "your-admin-password"
poll_interval = 2
poll_max_retries = 30
is_webui = true
```
### S2A ้
็ฝฎ
```toml
auth_provider = "s2a"
[s2a]
api_base = "https://your-sub2api-service.com/api/v1"
# ่ฎค่ฏๆนๅผไบ้ไธ (ไผๅ
ไฝฟ็จ admin_key)
admin_key = "your-admin-api-key"
admin_token = ""
# ่ดฆๅท้
็ฝฎ
concurrency = 10
priority = 50
# ๅ็ป้
็ฝฎ (ไบ้ไธ)
group_ids = []
group_names = ["codex"]
```
---
## ๐ ้กน็ฎ็ปๆ
```
oai-team-auto-provisioner/
โ
โโโ ๐ run.py # ไธปๅ
ฅๅฃ่ๆฌ
โโโ โ๏ธ config.py # ้
็ฝฎๅ ่ฝฝๆจกๅ
โ
โโโ ๐ง email_service.py # ้ฎ็ฎฑๆๅก (ๅๅปบ็จๆทใ่ทๅ้ช่ฏ็ )
โโโ ๐ฅ team_service.py # Team ๆๅก (้่ฏท็ฎก็)
โโโ ๐ browser_automation.py # ๆต่งๅจ่ชๅจๅ (ๆณจๅๆต็จ)
โ
โโโ ๐ ๆๆๆๅกๆจกๅ
โ โโโ crs_service.py # CRS ๆๅก
โ โโโ cpa_service.py # CPA ๆๅก
โ โโโ s2a_service.py # S2A (Sub2API) ๆๅก
โ
โโโ ๐ ๏ธ utils.py # ๅทฅๅ
ทๅฝๆฐ (CSVใ็ถๆ่ฟฝ่ธช)
โโโ ๐ logger.py # ๆฅๅฟๆจกๅ
โ
โโโ ๐ config.toml.example # ้
็ฝฎๆจกๆฟ
โโโ ๐ team.json.example # Team ๅญ่ฏๆจกๆฟ
โ
โโโ ๐ logs/ # ๆฅๅฟ็ฎๅฝ
โ โโโ app.log # ่ฟ่กๆฅๅฟ (่ชๅจ่ฝฎ่ฝฌ)
โ
โโโ ๐ ่ชๅจ็ๆๆไปถ
โโโ accounts.csv # ่ดฆๅท่ฎฐๅฝ
โโโ team_tracker.json # ็ถๆ่ฟฝ่ธช
โโโ domain_blacklist.json # ๅๅ้ปๅๅ
```
---
## ๐ ๅทฅไฝๆต็จ
### ๆดไฝๆต็จๅพ
```
โโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ python run.py โ
โโโโโโโโโโโโฌโโโโโโโโโโโโ
โ
โโโโโโโโโโโโผโโโโโโโโโโโโ
โ ๐ ๅ ่ฝฝ้
็ฝฎๆไปถ โ
โ config.toml โ
โ team.json โ
โโโโโโโโโโโโฌโโโโโโโโโโโโ
โ
โโโโโโโโโโโโผโโโโโโโโโโโโ
โ ๐ ้ช่ฏๆๆๆๅก่ฟๆฅ โ
โ CRS / CPA / S2A โ
โโโโโโโโโโโโฌโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ
โผ โผ โผ
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
โ ๆ ผๅผ 3 โ โ ๆ ผๅผ 2 โ โ ๆ ผๅผ 1 โ
โ ไป
้ฎ็ฎฑๅฏ็ โ โ้ฎ็ฎฑๅฏ็ +Tokenโ โ ๅฎๆดSession โ
โโโโโโโโฌโโโโโโโ โโโโโโโโฌโโโโโโโ โโโโโโโโฌโโโโโโโ
โ โ โ
โผ โ โ
โโโโโโโโโโโโโโโ โ โ
โ ๐ ๆต่งๅจ โ โ โ
โ ่ชๅจ็ปๅฝ โ โ โ
โ ่ทๅToken โ โ โ
โ ๅๆถๆๆ โ โ โ
โโโโโโโโฌโโโโโโโ โ โ
โ โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ ้ๅๆฏไธช Team โ
โโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โ ๐ง Step 1: ๆน้ๅๅปบ้ฎ็ฎฑ โ
โ โโ Cloud Mail / GPTMail API โ
โ โ
โ ๐ฅ Step 2: ๆน้้่ฏทๅฐ Team โ
โ โโ ChatGPT API ้่ฏทๆๅ โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ ๐ ้ๅๆฏไธช้ฎ็ฎฑ่ดฆๅท โ โ
โ โ โ โ
โ โ ๐ Step 3: ๆต่งๅจ่ชๅจๆณจๅ โ โ
โ โ โโ DrissionPage ่ชๅจๅ โ โ
โ โ โโ ๅกซๅไฟกๆฏ + ้ฎ็ฎฑ้ช่ฏ็ โ โ
โ โ โ โ
โ โ ๐ Step 4: Codex ๆๆ โ โ
โ โ โโ ็ๆๆๆ้พๆฅ โ โ
โ โ โโ ่ชๅจ็ปๅฝๅฎๆๆๆ โ โ
โ โ โ โ
โ โ ๐พ Step 5: ๆๆๆๅกๅ
ฅๅบ โ โ
โ โ โโ CRS: ๆๅจๆทปๅ ่ดฆๅท โ โ
โ โ โโ CPA: ๅๅฐ่ชๅจๅค็ โ โ
โ โ โโ S2A: OAuth ่ชๅจๅ
ฅๅบ โ โ
โ โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโ
โ ๐ ๅค็ Team Owner (ๅฏ้) โ
โ โโ include_team_owners = true โ
โโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโผโโโโโโโโโโโโ
โ โ
ๅฎๆ & ๆๅฐๆ่ฆ โ
โ ๐ ไฟๅญ CSV ่ฎฐๅฝ โ
โโโโโโโโโโโโโโโโโโโโโโโโโ
```
### ็ถๆๆต่ฝฌ
่ดฆๅทๅจๅค็่ฟ็จไธญไผ็ปๅไปฅไธ็ถๆ๏ผ
```
invited โ registered โ authorized โ completed
โ โ โ
โ โ โโโ partial (ๅ
ฅๅบๅคฑ่ดฅ)
โ โ
โ โโโ auth_failed (ๆๆๅคฑ่ดฅ)
โ
โโโ register_failed (ๆณจๅๅคฑ่ดฅ)
```
| ็ถๆ | ่ฏดๆ | ไธไธๆญฅๆไฝ |
|:---:|------|------|
| `invited` | ๅทฒ้่ฏทๅฐ Team | ็ญๅพ
ๆณจๅ |
| `registered` | ๅทฒๅฎๆๆณจๅ | ็ญๅพ
ๆๆ |
| `authorized` | ๅทฒๅฎๆๆๆ | ็ญๅพ
ๅ
ฅๅบ |
| `completed` | ๅ
จ้จๅฎๆ | ๆ |
| `partial` | ๆๆๆๅไฝๅ
ฅๅบๅคฑ่ดฅ | ้่ฏๅ
ฅๅบ |
| `auth_failed` | ๆๆๅคฑ่ดฅ | ้่ฏๆๆ |
| `register_failed` | ๆณจๅๅคฑ่ดฅ | ้่ฏๆณจๅ |
| `team_owner` | Team Owner (ๆ ผๅผ1) | OTP ้ช่ฏ็ ็ปๅฝๆๆ |
> ๐ก ็จๅบๆฏๆๆญ็น็ปญไผ ๏ผไธญๆญๅ้ๆฐ่ฟ่กไผ่ชๅจไปๆชๅฎๆ็็ถๆ็ปง็ปญๅค็
### ไธ็งๆ ผๅผ็ๅค็ๅทฎๅผ
| ้ถๆฎต | ๆ ผๅผ 1 (ๅฎๆดSession) | ๆ ผๅผ 2 (้ฎ็ฎฑๅฏ็ +Token) | ๆ ผๅผ 3 (ไป
้ฎ็ฎฑๅฏ็ ) |
|:---:|:---:|:---:|:---:|
| **Token ่ทๅ** | ๆๅจๆไพ accessToken | ๆๅจๆไพ token | ่ชๅจ็ปๅฝ่ทๅ |
| **Owner ็ปๅฝๆนๅผ** | OTP ้ช่ฏ็ | ๅฏ็ ็ปๅฝ | ๅฏ็ ็ปๅฝ (็ปๅฝๆถๅๆถๆๆ) |
| **Owner ๆๆ** | ้่ชๆๅๅ้ฎ็ฎฑๆถ้ช่ฏ็ | ๅฏ็ ็ปๅฝๅๆๆ | ็ปๅฝๆถๅทฒๅฎๆ |
| **ๆๅๅค็** | ๆญฃๅธธๆต็จ | ๆญฃๅธธๆต็จ | ๆญฃๅธธๆต็จ |
---
## ๐ ่พๅบๆไปถ
| ๆไปถ | ่ฏดๆ |
|------|------|
| `accounts.csv` | ๆๆ่ดฆๅท่ฎฐๅฝ (้ฎ็ฎฑใๅฏ็ ใTeamใ็ถๆใๆๆ ID) |
| `team_tracker.json` | ๆฏไธช Team ็่ดฆๅทๅค็็ถๆ่ฟฝ่ธช |
| `domain_blacklist.json` | ไธๅฏ็จ็้ฎ็ฎฑๅๅ้ปๅๅ |
---
## ๐ค ็ธๅ
ณ้กน็ฎ
### ๐ง ้ฎ็ฎฑๆๅก
| ๆๅก | ่ฏดๆ | ้
็ฝฎ |
|------|------|------|
| [Cloud Mail](https://github.com/maillab/cloud-mail) | ่ชๅปบ้ฎ็ฎฑ็ณป็ป | `email_provider = "cloudmail"` |
| [GPTMail](https://mail.chatgpt.org.uk) | ไธดๆถ้ฎ็ฎฑๆๅก ([API ๆๆกฃ](https://www.chatgpt.org.uk/2025/11/gptmailapiapi.html)) | `email_provider = "gptmail"` |
### ๐ ๆๆๆๅก
| ๆๅก | ่ฏดๆ | ้
็ฝฎ |
|------|------|------|
| [Claude Relay Service](https://github.com/Wei-Shaw/claude-relay-service) | Token ็ฎก็ๆๅก | `auth_provider = "crs"` |
| [CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI) | Codex ๆๆๆๅก | `auth_provider = "cpa"` |
| [Sub2API](https://github.com/Wei-Shaw/sub2api) | OAuth ๆๆๅ
ฅๅบ | `auth_provider = "s2a"` |
---
## โ ๏ธ ๅ
่ดฃๅฃฐๆ
ๆฌ้กน็ฎไป
ไพๅญฆไน ๅ็ ็ฉถไฝฟ็จใไฝฟ็จ่
้่ช่กๆฟๆ
ไฝฟ็จ้ฃ้ฉ๏ผ่ฏท้ตๅฎ็ธๅ
ณๆๅกๆกๆฌพใ
---
## ๐ License
[MIT](LICENSE)