因PandoraNext被项目放弃,本文作废。
最近半年经常通过API方式使用ChatGPT,ChatGPT好用是好用,但这是以我干瘪的钱包为代价。前几天,不良林大佬介绍了PandoraNext项目,很符合我免费使用ChatGPT的要求,只是在更新PandoraNext Pool Token时要在VPS上进行,但我想用GitHub Actions进行PandoraNext Pool Token更新。这是我倒腾的成果,希望不会是滥用GitHub Actions。
教程
前期准备,不良林大佬的视频、文档、PandoraNext 项目,请详细多次观看阅读这三项,接下来的内容都是假设已经理解不良林大佬的视频和文档,并且成功运行Proxy模式。
准备
1.赋予GitHub Actions读写项目权限。在GitHub上创建私人项目,在刚刚创建的私人项目中点击Settings
–>点击Actions
下的General
–>找到Workflow permissions
,选中Read and write permissions
并保存。
2.修改运行脚本pandora-get-token.py如下:
import sys
import requests
import os
import json
import time
# 使用环境变量中的POOL_TOKEN和API_ENDPOINT
pool_token = os.environ.get("POOL_TOKEN")
api_endpoint = os.environ.get("API_ENDPOINT")
users_file = "users.txt"
session_tokens_file = "session_tokens.txt"
tokens_file = "tokens.txt"
... ...
3.设置环境变量。环境变量有两个,分别是API_ENDPOINT
(必须设置)和POOL_TOKEN
。
4.创建session\_tokens.txt
文件并写入内容。
5.创建GitHub Actions脚本。文件位置为.github/workflows/get-token.yml
name: 获取 Pandora 令牌
on:
push:
branches:
- main # 根据你的实际分支设置
schedule:
- cron: "20 1 */8 * *" #根据自己的实际需求调整
jobs:
get_token:
runs-on: ubuntu-latest
env:
API_ENDPOINT: ${{ secrets.API_ENDPOINT }}
POOL_TOKEN: ${{ secrets.POOL_TOKEN }}
steps:
- name: 检出仓库
uses: actions/checkout@v2
- name: 配置 Python 环境
uses: actions/setup-python@v2
with:
python-version: 3.9 # 选择你的 Python 版本
- name: 安装依赖
run: |
python3 -m pip install --upgrade pip
pip install requests
- name: 从GitHub中获取所需要的环境变量
run: |
echo "API_ENDPOINT=${{ secrets.API_ENDPOINT }}" >> $GITHUB_ENV
echo "POOL_TOKEN=${{ secrets.POOL_TOKEN }}" >> $GITHUB_ENV
- name: 运行10秒 pandora-get-token.py
run: |
timeout 10 python3 pandora-get-token.py || echo "运行 pandora-get-token.py 时间到。退出码: $?"
- name: 提交并推送更改,包含北京时间
run: |
git config --global user.email "[email protected]"
git config --global user.name "GitHub Actions"
current_time=$(TZ='Asia/Shanghai' date "+%Y-%m-%d %H:%M:%S")
git add .
git commit -m "更新令牌 - 北京时间: $current_time"
git push -u origin main
注意事项
API_ENDPOINT
链接在GitHub Actions时不要用CF代理,因为CF会拦截GitHub Actions。