{"id":24167305,"url":"https://github.com/caolib/check-manga-update","last_synced_at":"2025-11-25T19:04:01.598Z","repository":{"id":269987066,"uuid":"909025018","full_name":"caolib/check-manga-update","owner":"caolib","description":"一个自动检查拷贝漫画更新的工具","archived":false,"fork":false,"pushed_at":"2025-08-06T00:46:05.000Z","size":138,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-06T02:35:45.028Z","etag":null,"topics":["actions","copymanga","manga","smtp"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/caolib.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-12-27T15:07:15.000Z","updated_at":"2025-08-06T00:46:08.000Z","dependencies_parsed_at":"2025-01-11T03:24:01.483Z","dependency_job_id":"68e99058-42d3-44f5-8ee0-367107ac996d","html_url":"https://github.com/caolib/check-manga-update","commit_stats":null,"previous_names":["caolib/check-manga-update"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/caolib/check-manga-update","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caolib%2Fcheck-manga-update","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caolib%2Fcheck-manga-update/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caolib%2Fcheck-manga-update/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caolib%2Fcheck-manga-update/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/caolib","download_url":"https://codeload.github.com/caolib/check-manga-update/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caolib%2Fcheck-manga-update/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286079811,"owners_count":27282121,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-25T02:00:05.816Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actions","copymanga","manga","smtp"],"created_at":"2025-01-12T21:13:04.256Z","updated_at":"2025-11-25T19:04:01.585Z","avatar_url":"https://github.com/caolib.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 定时获取拷贝漫画更新\n\n[![check](https://github.com/caolib/check-manga-update/actions/workflows/check_update.yml/badge.svg)](https://github.com/caolib/check-manga-update/actions/workflows/check_update.yml)\n![GitHub last commit](https://img.shields.io/github/last-commit/caolib/check-manga-update?logo=github)\n![GitHub Release](https://img.shields.io/github/v/release/caolib/check-manga-update?link=https%3A%2F%2Fgithub.com%2Fcaolib%2Fcheck-manga-update%2Freleases)\n![GitHub License](https://img.shields.io/github/license/caolib/check-manga-update)\n\n## 1.简介\n\n使用`Github Actions`定期执行python脚本检查拷贝漫画个人书架的漫画是否更新，并使用邮件通知更新\n\n邮件提醒示例：\n\n![image-20250307194544112](https://s2.loli.net/2025/03/07/dseWfJnl5L4KoaS.png)\n\n## 2.怎么使用\n\n### 2.1 本地使用\n\n\u003e [!note]\n\u003e\n\u003e 如果你并**不需要定时检查**，这种方式更适合你\n\n1. clone仓库或下载[压缩包](https://github.com/caolib/check-manga-update/archive/refs/heads/main.zip)到本地\n\n2. 在`data`文件夹下添加一个文件`var.json`，填写你的用户名和密码\n\n   ```json\n   {\n       \"token\": \"\",\n       \"username\": \"拷贝的用户名\",\n       \"password\": \"拷贝的密码\",\n       \"from_email\": \"\",\n       \"to_email\": \"\",\n       \"email_token\": \"\"\n   }\n   ```\n   \n3. 双击`main.py`即可启动\n\n### 2.2 在github上使用\n\n\u003e 这种方法相对来说较为麻烦，但是可以定时检查并发邮件通知你，先决条件：\n\u003e\n\u003e 1. 一个开启了SMTP服务的邮箱，用于发送邮件通知你漫画更新了\n\u003e 2. 一个拷贝漫画的账号，用于检查你的个人书架是否有更新\n\u003e 3. 一个github仓库用于定期运行检查脚本\n\n#### 1.开启邮件SMTP服务\n\n此处使用QQ邮箱，可以参阅这篇文章[邮箱开启SMTP服务](https://clb.pages.dev/2024/12/27/开启SMTP服务/)获取邮箱授权码`EMAIL_TOKEN`\n\n如果要使用其他邮箱服务，需要修改`main.py`文件中的对应邮箱服务的地址和端口，对应授权码如何获取可以上网查询，比如修改为Gmail：\n\n```py\n# server = EmailServer(\"smtp.qq.com\", 465, email_token)    # QQ\nserver = EmailServer(\"smtp.gmail.com\", 465, email_token)   # Gmail\n```\n\n#### 2.clone或fork\n\n因为仓库中的`data/comics.json`文件保存了你的书架中最近更新的漫画(上限20个)，所以：\n\n- 如果你不想让别人看到你的个人书架：你可以**Clone**本仓库到本地，然后再推送到你github的私人仓库中(先在github创建一个私有仓库，然后将clone下来的仓库绑定你刚创建的仓库，最后将代码推送上去)\n\n- 如果你不介意别人看到的话：你可以直接**Fork**本仓库(~~我根本不介意的😋~~)\n\n#### 3.添加Secrets\n\n- 进入你的仓库，点击**Settings** \n\n![image-20241228123435863](https://s2.loli.net/2024/12/28/y2YDdAGHhiW3Bkg.png)\n\n- 在左侧栏找到`Secrets`下的`Actions`，添加图中6个变量，下面有`TOKEN`的获取步骤,其他属性按自己的填就行\n\n![image-20241228123648544](https://s2.loli.net/2024/12/28/CkFaXtLTQbRU5he.png)\n\n| Key         | Value        |\n|-------------|--------------|\n| TOKEN       | 拷贝 token     |\n| USERNAME    | 拷贝 用户名       |\n| PASSWORD    | 拷贝 密码        |\n| FROM_EMAIL  | 发件人邮箱        |\n| TO_EMAIL    | 收件人邮箱，可以发给自己 |\n| EMAIL_TOKEN | 邮箱授权码        |\n\n快捷复制:)\n\n```txt\nTOKEN\n```\n\n```txt\nUSERNAME\n```\n\n```txt\nPASSWORD\n```\n\n```txt\nFROM_EMAIL\n```\n\n```txt\nTO_EMAIL\n```\n\n```txt\nEMAIL_TOKEN\n```\n\n\u003e [!caution]\n\u003e\n\u003e 拷贝漫画的Token不是必要的，因为可以用账号发送请求获取Token，那为什么这里还建议用网站的Token呢？因为Actions中使用账号密码获取Token会导致你网站上的Token过期，你就需要在拷贝网站上重新登录才能看漫画\n\u003e\n\u003e - 如果你设置了正确的Token，会优先使用你设置的Token，否则才会使用账号密码\n\u003e\n\u003e - 如果你觉得在拷贝网站重新登录并不麻烦，你可以忽略下面获取Token步骤，`TOKEN`变量也无需设置值\n\n获取拷贝漫画的Token：\n\n- 前往[拷貝漫畫](https://www.mangacopy.com/)，登录你的账号\n\n- 按`F12`或右键选择**检查**打开开发者工具\n\n- 打开应用程序一栏，在左侧找到Cookie，复制token的值\n\n- **其实token也不是必须的，只要有用户名和密码可以自动获取，但是自动获取的token会导致你的网站上的token失效，每次自动获取一次token，网站都需要重新登录**\n\n  ![image-20241228124951850](https://s2.loli.net/2024/12/28/un3kYgVO5BENLvF.png)\n\n#### 4.测试\n\n你可以手动触发工作流测试是否能正常工作\n\n![image-20250307200542211](https://s2.loli.net/2025/03/07/l1ZO7XqyFMRvt9J.png)\n\nActions启动后点击check查看工作流执行情况\n\n![image-20250307200902406](https://s2.loli.net/2025/03/07/UHZo6lhFVT3DMX5.png)\n\n\n## 3.其他配置\n\n### 3.1 修改触发条件\n\n\u003e [!NOTE] \n\u003e\n\u003e 触发条件默认是每隔一段时间触发一次，你可以修改仓库下`.github/workflows/check_update.yml`调整触发频率或时间段，例如修改为：\n\u003e\n\u003e `- cron: \"0 * * * *\"` : 每小时触发一次\n\u003e\n\u003e 最高触发频率是每五分钟一次，注意Actions每个月的[使用额度](https://docs.github.com/zh/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions)是有限的，免费版2000分钟/月，一次任务大概20s左右，只要不是很频繁，这个免费额度还是绰绰有余的\n\n```yml\non:\n  # 定时触发\n  schedule:\n    # 每隔30分钟触发一次\n    - cron: \"*/30 * * * *\"\n    # 每小时整点触发\n    # - cron: \"0 * * * *\"\n```\n\n## 4.计划\n\n- [x] 可以使用其他邮箱服务\n- [x] 项目文件结构优化，抽取函数到多个py文件\n\n**如果对你有帮助的话，不妨给个star⭐**\n\n![](https://counter.seku.su/cmoe?name=check-manga-update\u0026theme=r34)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaolib%2Fcheck-manga-update","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcaolib%2Fcheck-manga-update","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaolib%2Fcheck-manga-update/lists"}