|
1 | 1 | # LinuxDo 每日签到(每日打卡) |
2 | 2 |
|
3 | 3 | ## 项目描述 |
4 | | -这个项目用于自动登录 [LinuxDo](https://linux.do/) 网站并随机读取几个帖子。它使用 Python 和 Playwright 自动化库模拟浏览器登录并浏览帖子,以达到自动签到的功能。 |
| 4 | + |
| 5 | +这个项目用于自动登录 [LinuxDo](https://linux.do/) 网站并随机读取几个帖子。它使用 Python 和 Playwright |
| 6 | +自动化库模拟浏览器登录并浏览帖子,以达到自动签到的功能。 |
5 | 7 |
|
6 | 8 | ## 功能 |
7 | | -- 自动登录 LinuxDo。 |
| 9 | + |
| 10 | +- 自动登录`LinuxDo`。 |
8 | 11 | - 自动浏览帖子。 |
9 | | -- 每天在 GitHub Actions 中自动运行。 |
| 12 | +- 每天在`GitHub Actions`中自动运行。 |
| 13 | +- 支持`青龙面板` 和 `Github Actions` 自动运行。 |
| 14 | +- (可选)`Telegram`通知功能,推送获取签到结果(目前只支持GitHub Actions方式)。 |
| 15 | +- (可选)`Gotify`通知功能,推送获取签到结果。 |
10 | 16 |
|
11 | | -## 如何使用 |
12 | | -本节只介绍在github actions中如何使用。在进行之前需要先fork本项目。 |
| 17 | +## 环境变量配置 |
| 18 | + |
| 19 | +### 必填变量 |
| 20 | + |
| 21 | +| 环境变量名称 | 描述 | 示例值 | |
| 22 | +|--------------------|-------------------|------------------------------------| |
| 23 | +| `LINUXDO_USERNAME` | 你的 LinuxDo 用户名或邮箱 | `your_username` 或 `[email protected]` | |
| 24 | +| `LINUXDO_PASSWORD` | 你的 LinuxDo 密码 | `your_password` | |
| 25 | + |
| 26 | +~~之前的USERNAME和PASSWORD环境变量仍然可用,但建议使用新的环境变量~~ |
| 27 | + |
| 28 | +### 可选变量 |
13 | 29 |
|
14 | | -### 设置环境变量 |
15 | | -在使用此自动化脚本之前,需要在 GitHub 仓库中配置两个环境变量 `USERNAME` 和 `PASSWORD`,这两个变量将用于登录 LinuxDo。按照以下步骤设置: |
| 30 | +| 环境变量名称 | 描述 | 示例值 | |
| 31 | +|-------------------|----------------------|----------------------------------------| |
| 32 | +| `GOTIFY_URL` | Gotify 服务器地址 | `https://your.gotify.server:8080` | |
| 33 | +| `GOTIFY_TOKEN` | Gotify 应用的 API Token | `your_application_token` | |
| 34 | +| `TELEGRAM_TOKEN` | Telegram Bot Token | `123456789:ABCdefghijklmnopqrstuvwxyz` | |
| 35 | +| `TELEGRAM_USERID` | Telegram 用户 ID | `123456789` | |
16 | 36 |
|
17 | | -1. 登录 GitHub,进入你的项目仓库。 |
18 | | -2. 点击仓库的 `Settings` 选项卡。 |
19 | | -3. 在左侧菜单中找到 `Secrets and variables` 部分,点击 `Actions`。 |
20 | | -4. 点击 `New repository secret` 按钮。 |
21 | | -5. 分别添加 `USERNAME` 和 `PASSWORD`: |
22 | | - - 在 `Name` 字段中输入 `USERNAME`,在 `Value` 字段中输入你的 LinuxDo 用户名或者邮箱。 |
23 | | - - 重复上述步骤,这次输入 `PASSWORD` 作为 `Name`,相应的密码作为 `Value`。 |
| 37 | +--- |
| 38 | + |
| 39 | +## 如何使用 |
24 | 40 |
|
25 | 41 | ### GitHub Actions 自动运行 |
26 | | -此项目的 GitHub Actions 配置会自动每天 UTC 时间1点运行签到脚本。你无需进行任何操作即可启动此自动化任务。GitHub Actions 的工作流文件位于 `.github/workflows` 目录下,文件名为 `daily-check-in.yml`。 |
27 | 42 |
|
28 | | -如果你需要手动触发此工作流,可以通过以下步骤操作: |
| 43 | +此项目的 GitHub Actions 配置会自动每天运行2次签到脚本。你无需进行任何操作即可启动此自动化任务。GitHub Actions 的工作流文件位于 `.github/workflows` 目录下,文件名为 `daily-check-in.yml`。 |
| 44 | + |
| 45 | +#### 配置步骤 |
29 | 46 |
|
30 | | -1. 进入 GitHub 仓库的 `Actions` 选项卡。 |
31 | | -2. 选择你想运行的工作流。 |
32 | | -3. 点击 `Run workflow` 按钮,选择分支,然后点击 `Run workflow` 以启动工作流。 |
| 47 | +1. **设置环境变量**: |
| 48 | + - 在 GitHub 仓库的 `Settings` -> `Secrets and variables` -> `Actions` 中添加以下变量: |
| 49 | + - `LINUXDO_USERNAME`:你的 LinuxDo 用户名或邮箱。 |
| 50 | + - `LINUXDO_PASSWORD`:你的 LinuxDo 密码。 |
| 51 | + - (可选) `GOTIFY_URL` 和 `GOTIFY_TOKEN`。 |
| 52 | + - (可选) `TELEGRAM_TOKEN` 和 `TELEGRAM_USERID`。 |
33 | 53 |
|
34 | | -## 运行结果 |
| 54 | +2. **手动触发工作流**: |
| 55 | + - 进入 GitHub 仓库的 `Actions` 选项卡。 |
| 56 | + - 选择你想运行的工作流。 |
| 57 | + - 点击 `Run workflow` 按钮,选择分支,然后点击 `Run workflow` 以启动工作流。 |
| 58 | + |
| 59 | +#### 运行结果 |
| 60 | + |
| 61 | +##### 网页中查看 |
35 | 62 |
|
36 | | -### 网页中查看 |
37 | 63 | `Actions`栏 -> 点击最新的`Daily Check-in` workflow run -> `run_script` -> `Execute script` |
38 | 64 |
|
39 | 65 | 可看到`Connect Info`: |
40 | 66 | (新号可能这里为空,多挂几天就有了) |
41 | 67 |  |
42 | 68 |
|
| 69 | +### 青龙面板使用 |
| 70 | + |
| 71 | +*注意:如果是docker容器创建的青龙,请使用`whyour/qinglong:debian`镜像,latest(alpine)版本可能无法安装部分依赖* |
| 72 | + |
| 73 | +1. **依赖安装** |
| 74 | + - 首次运行前需要安装Python依赖 |
| 75 | + - 进入青龙面板 -> 依赖管理 -> 安装依赖 |
| 76 | + - 依赖类型选择`python3` |
| 77 | + - 自动拆分选择`是` |
| 78 | + - 名称填写(仓库`requirements.txt`文件的完整内容): |
| 79 | + ``` |
| 80 | + playwright==1.43.0 |
| 81 | + wcwidth==0.2.13 |
| 82 | + tabulate==0.9.0 |
| 83 | + loguru==0.7.2 |
| 84 | + requests==2.32.3 |
| 85 | + ``` |
| 86 | + - 点击`确定`按钮,等待安装完成 |
| 87 | +
|
| 88 | +2. **添加仓库** |
| 89 | + - 进入青龙面板 -> 订阅管理 -> 创建订阅 |
| 90 | + - 依次在对应的字段填入内容(未提及的不填): |
| 91 | + - **名称**:Linux.DO 签到 |
| 92 | + - **类型**:公开仓库 |
| 93 | + - **链接**:https://github.com/doveppp/linuxdo-checkin.git |
| 94 | + - **分支**:main |
| 95 | + - **定时类型**:`crontab` |
| 96 | + - **定时规则**(拉取上游代码的时间,一天一次,可以自由调整频率): 0 0 * * * |
| 97 | + - **执行前**(注意:要先完成上一步的依赖安装才能执行这个指令):`playwright install --with-deps firefox` |
| 98 | +
|
| 99 | +3. **配置环境变量** |
| 100 | + - 进入青龙面板 -> 环境变量 -> 创建变量 |
| 101 | + - 需要配置以下变量: |
| 102 | + - `LINUXDO_USERNAME`:你的LinuxDo用户名/邮箱 |
| 103 | + - `LINUXDO_PASSWORD`:你的LinuxDo密码 |
| 104 | + - (可选) `GOTIFY_URL`:Gotify服务器地址 |
| 105 | + - (可选) `GOTIFY_TOKEN`:Gotify应用Token |
| 106 | + - (可选) `TELEGRAM_TOKEN`:Telegram Bot Token |
| 107 | + - (可选) `TELEGRAM_USERID`:Telegram用户ID |
| 108 | +
|
| 109 | +4. **手动拉取脚本** |
| 110 | + - 首次添加仓库后不会立即拉取脚本,需要等待到定时任务触发,当然可以手动触发拉取 |
| 111 | + - 点击右侧"运行"按钮可手动执行 |
| 112 | +
|
| 113 | +#### 运行结果 |
| 114 | +
|
| 115 | +##### 青龙面板中查看 |
| 116 | +- 进入青龙面板 -> 定时任务 -> 找到`Linux.DO 签到` -> 点击右侧的`日志` |
| 117 | +
|
| 118 | +### Gotify 通知 |
| 119 | +
|
| 120 | +当配置了 `GOTIFY_URL` 和 `GOTIFY_TOKEN` 时,签到结果会通过 Gotify 推送通知。 |
| 121 | +具体 Gotify 配置方法请参考 [Gotify 官方文档](https://gotify.net/docs/). |
| 122 | +
|
43 | 123 | ### Telegram 通知 |
44 | 124 |
|
45 | 125 | 可选功能:配置 Telegram 通知,实时获取签到结果。 |
|
56 | 136 |
|
57 | 137 | ## 自动更新 |
58 | 138 |
|
59 | | -默认状态下自动更新是关闭的,[点击此处](https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web/blob/main/README_CN.md#%E6%89%93%E5%BC%80%E8%87%AA%E5%8A%A8%E6%9B%B4%E6%96%B0)查看打开自动更新步骤。 |
| 139 | +- **Github Actions**:默认状态下自动更新是关闭的,[点击此处](https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web/blob/main/README_CN.md#%E6%89%93%E5%BC%80%E8%87%AA%E5%8A%A8%E6%9B%B4%E6%96%B0) |
| 140 | +查看打开自动更新步骤。 |
| 141 | +- **青龙面板**:更新是以仓库设置的定时规则有关,按照本文配置,则是每天0点更新一次。 |
0 commit comments