You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This repository uses GitHub Actions to automate daily check-ins and automated question answering tasks.
9
+
This repository uses CI/CD to automate daily check-ins and automated question answering tasks.
10
10
11
11
English Version |
12
12
[中文版本](./README.md)
13
13
</div>
14
14
15
15
## Features
16
16
17
-
> More platforms are welcome to issue or PR.
17
+
> Welcome to :star: this project. Feel free to submit issues or PRs to add more platforms.
18
18
19
-
Automatically completes platform tasks daily, with notifications sent through a telegram bot upon completion. If failures occur, notifications are sent directly via Github email.
19
+
Automatically complete platform tasks daily. After completion, notifications will be sent via Telegram bot. If tasks fail, email notifications will be sent directly through CircleCI.
20
20
21
21
-**Nodeseek**
22
22
- Automatic check-in
@@ -26,50 +26,95 @@ Automatically completes platform tasks daily, with notifications sent through a
26
26
- Automatic check-in
27
27
- Automatic question answering
28
28
29
-
## How to Use
29
+
## Quick Start
30
30
31
-
### Fork the repository
31
+
Fork this repository to your own account, then add the corresponding configuration items to your repository secrets (in `settings -> secrets and variables -> actions -> new repository secret`).
32
32
33
-
Fork the repository to your own. Then add the secrets to the repository. Then just wait for the workflow to run.
33
+
### Register for [CircleCI](https://circleci.com/)
34
34
35
-
> If you don't need a particular platform, you can simply delete the corresponding platform's workflow file in the `.github/workflows` directory.
35
+
[CircleCI](https://circleci.com/) is an excellent CI/CD platform. The Free plan offers `30,000 credits/mo, that's up to 6,000 build mins`, which is more than sufficient for all the requirements of this project.
36
36
37
-
### Configure Telegram Notifications
37
+
For detailed registration instructions, please see [CloudCheckin Wiki](https://github.com/timerring/CloudCheckin/wiki/CircleCI-Registeration).
38
38
39
-
1. Follow the [telegram bot](https://core.telegram.org/bots/features#botfather) instructions to create a telegram bot and obtain the `token`
40
-
2. Add the bot to your contacts and send it a message. Then visit https://api.telegram.org/bot{TELEGRAM_TOKEN}/getUpdates to get the `chat id` (Replace `{TELEGRAM_TOKEN}` with the token obtained in step 1)
41
-
3. Add the `token` and `chat id` to the repository secrets as `TELEGRAM_TOKEN` and `TELEGRAM_CHAT_ID` (under settings -> secrets and variables -> actions -> new repository secret)
39
+
### Apply for CircleCI Token
42
40
43
-
### Configure Nodeseek Check-in
41
+
Apply for a Token on the [CircleCI](https://app.circleci.com/settings/user/tokens) page and add it to your repository secrets with the name `CIRCLECI_TOKEN`.
44
42
45
-
1. Get the `cookie` from the Nodeseek website (See [COOKIE Retrieval Guide](https://blog.timerring.com/posts/the-way-to-get-cookie/))
46
-
2. Add the `cookie` to the repository secrets as `NODESEEK_COOKIE` (under settings -> secrets and variables -> actions -> new repository secret)
43
+
### Copy Organization ID
47
44
48
-
### Configure V2EX Check-in
45
+
Find the Organization ID in your created Organization Settings and add it to your repository secrets with the name `CIRCLECI_ORG_ID`.
49
46
50
-
1. Get the `cookie` from the V2EX website (See [COOKIE Retrieval Guide](https://blog.timerring.com/posts/the-way-to-get-cookie/))
51
-
2. Add the `cookie` to the repository secrets as `V2EX_COOKIE` (under settings -> secrets and variables -> actions -> new repository secret)
1. Get the `cookie` from the 1point3acres website (See [COOKIE Retrieval Guide](https://blog.timerring.com/posts/the-way-to-get-cookie/))
56
-
2. Add the `cookie` to the repository secrets as `ONEPOINT3ACRES_COOKIE` (under settings -> secrets and variables -> actions -> new repository secret)
57
-
3. Get an `api key` from [2captcha](https://2captcha.com/) by topping up your account (Due to 1point3acres' check-in and question answering requiring cloudflare turnstile verification, we use 2captcha's API to solve the verification)
58
-
- Note: 2captcha's API is paid, starting from $3, and supports Alipay. Each successful verification costs about $0.00145, $3 can be used 2068 times, approximately 2.83 years.
59
-
4. Add the `api key` to the repository secrets as `TWOCAPTCHA_APIKEY` (under settings -> secrets and variables -> actions -> new repository secret)
51
+
You can modify `config.yml` to set task schedules. Note that execution time is fixed to UTC timezone. Beijing time is UTC+8, so please convert the time difference accordingly.
1. The GitHub Action workflow runs around 09:00 Beijing time (01:00 UTC) every day
64
-
2. Upon success, the workflow sends notifications through the Telegram bot
65
-
3. Upon failure, the workflow also sends notifications through the Telegram bot and exits with a non-zero code, triggering GitHub email notifications
55
+
### Configure Platforms
66
56
67
-
## Manual Trigger
57
+
> If you don't need a certain platform, you can directly edit and delete the corresponding items in `.circleci/config.yml`. For example, if you don't need 1Point3Acres, consider deleting lines 64-65 and 74-75.
68
58
69
-
You can also manually trigger the workflow through the Actions tab in the GitHub repository by clicking run workflow.
59
+
#### Configure Telegram Notifications
70
60
71
-
## References
61
+
1. Follow the [telegram bot](https://core.telegram.org/bots/features#botfather) instructions to create a telegram bot and get the `token`
62
+
2. Add the bot as your contact and send a message. Then visit https://api.telegram.org/bot{TELEGRAM_TOKEN}/getUpdates to get the `chat id` (replace `{TELEGRAM_TOKEN}` with the token from step 1)
63
+
3. Add the `token` and `chat id` to repository secrets, named `TELEGRAM_TOKEN` and `TELEGRAM_CHAT_ID` respectively
64
+
65
+
#### Configure Check-in Platforms
66
+
67
+
<details>
68
+
<summary>Configure Nodeseek Check-in</summary>
69
+
70
+
1. Get the `cookie` from the Nodeseek website (for cookie acquisition methods, please refer to [COOKIE Acquisition Tutorial](https://blog.timerring.com/posts/the-way-to-get-cookie/))
71
+
2. Add the `cookie` to repository secrets with the name `NODESEEK_COOKIE`
72
+
73
+
</details>
74
+
75
+
<details>
76
+
<summary>Configure V2EX Check-in</summary>
77
+
78
+
1. Get the `cookie` from the V2EX website (for cookie acquisition methods, please refer to [COOKIE Acquisition Tutorial](https://blog.timerring.com/posts/the-way-to-get-cookie/))
79
+
2. Note that V2EX cookies contain special characters like `"` and `$`, which may cause shell transmission failures when passing secrets. Therefore, you need to escape these two special characters. A simple replacement script is: `echo 'your V2EX cookie' | sed 's/["$]/\\&/g'`
80
+
3. Add the escaped `cookie` to repository secrets with the name `V2EX_COOKIE`
81
+
82
+
</details>
83
+
84
+
<details>
85
+
<summary>Configure 1Point3Acres Check-in and Quiz</summary>
86
+
87
+
1. Get the `cookie` from the 1Point3Acres website (for cookie acquisition methods, please refer to [COOKIE Acquisition Tutorial](https://blog.timerring.com/posts/the-way-to-get-cookie/))
88
+
2. Add the `cookie` to repository secrets with the name `ONEPOINT3ACRES_COOKIE`
89
+
3. Top up and get an `api key` from [2captcha](https://2captcha.com/) (since 1Point3Acres check-in and quiz require Cloudflare Turnstile verification, we use 2captcha's API to solve the verification problem)
90
+
- Note: 2captcha API requires payment, starting from $3, supports Alipay. Each successful verification costs about $0.00145, so $3 can be used 2068 times, approximately 2.83 years.
91
+
4. Add the `api key` to repository secrets with the name `TWOCAPTCHA_APIKEY`
72
92
93
+
</details>
94
+
95
+
#### Sync Configuration
96
+
97
+
After configuring all content, please manually execute the `Setup CircleCI Context and Secrets` workflow once to ensure that configuration secrets are correctly synchronized to CircleCI contexts secrets through CircleCI CLI. (Actions -> `Setup CircleCI Context and Secrets` -> `Run workflow`)
98
+
99
+
## FAQ
100
+
101
+
1.**Why use CircleCI instead of GitHub Actions directly?**
102
+
103
+
Using GitHub Actions directly may lead to potential repository banning risks. Although this project only triggers requests once a day and doesn't have high concurrent request volumes like upptime and other open-source projects, we still follow the principle of not adding excessive burden to GitHub. CircleCI is also an excellent CI/CD platform. The Free plan's 30,000 credits/mo (up to 6,000 build mins) can fully support all the requirements of this project. Additionally, CircleCI's contexts design between different Projects is quite innovative compared to general CI/CD platforms. More users using and becoming familiar with CircleCI benefits both users and the platform.
104
+
105
+
2.**Why not use Cloudflare Worker or other Serverless computing functions?**
106
+
107
+
We have tried Cloudflare Worker. Local `wrangler dev` works, but after deploying to Cloudflare Worker, since Cloudflare edge requests carry obvious cf flags, many platforms have restricted Cloudflare Worker requests. We are still trying more function computing platforms, and any progress will be synchronized in the repository. Of course, if you are interested in the Cloudflare Worker approach, you are welcome to continue trying the work. My local debugging demo is already placed in the `cloudflareworkers` directory.
108
+
109
+
## Contributing
110
+
111
+
Welcome to submit platforms you need, no language restrictions.
112
+
113
+
> If you are a Python user, it is recommended to use the `curl_cffi` library instead of `requests` and other libraries. `curl_cffi` can more accurately simulate browser requests, greatly preventing website risk control.
0 commit comments