{"id":22960241,"url":"https://github.com/erzbir/xiaobei","last_synced_at":"2025-08-13T06:32:47.059Z","repository":{"id":63678514,"uuid":"531683082","full_name":"Erzbir/XiaoBei","owner":"Erzbir","description":"小北学生多人体温打卡脚本, Java多线程","archived":false,"fork":false,"pushed_at":"2023-02-05T03:47:19.000Z","size":101,"stargazers_count":6,"open_issues_count":0,"forks_count":11,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-03-04T23:07:23.499Z","etag":null,"topics":["automatic","java","thread","xiaobei"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Erzbir.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-09-01T20:54:15.000Z","updated_at":"2023-02-27T13:28:24.000Z","dependencies_parsed_at":"2023-02-18T21:25:21.980Z","dependency_job_id":null,"html_url":"https://github.com/Erzbir/XiaoBei","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Erzbir%2FXiaoBei","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Erzbir%2FXiaoBei/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Erzbir%2FXiaoBei/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Erzbir%2FXiaoBei/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Erzbir","download_url":"https://codeload.github.com/Erzbir/XiaoBei/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229740759,"owners_count":18116993,"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","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":["automatic","java","thread","xiaobei"],"created_at":"2024-12-14T18:31:42.079Z","updated_at":"2024-12-14T18:32:08.208Z","avatar_url":"https://github.com/Erzbir.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 介绍:\n\n这是一个基于HTTP多线程体温上报脚本, 希望有朋友能优化其中的代码, 非常感谢!\n\n每个用户的打卡包括 验证/登录/上报/保存日志/推送消息, 每个用户的操作是一个大线程, 验证/登录/上报/获取位置/生成上报信息/保存日志/推送消息\n每个都是一个小线程运行在大线程上\n\n# 三十多个同时打卡测试了一个月均稳定打卡\n\n联系方式: 2118675437@qq.com\n\n博客链接: erzbir.com\n\n# !!!仅用于学习, 一切责任自己承担!!!\n\n# 使用:\n\nGitHub Action实现自动运行或者在电脑上设置定时任务启动脚本\n\nGitHub Action的文件已经写好, 不需要自己创建, 在.github目录下\n\n使用非常简单\n\n1. fork本仓库到自己仓库, fork按钮在页面右上角, 再将代码clone到本地.\n2. 获取location待会配置文件中会用到, 获取网址: https://api.xiaobaibk.com/api/map/\n3. 配置名称为\"config.json\"的配置文件, 将所有信息填进去; head和user都支持添加多个\n4. 如果想使用环境变量来打卡而不用创建新仓库请忽略此步操作, 看下面的补充说明. 配置完后提交到github脚本就已经就绪了.\n   注意提交时请修改\".git\"文件夹中的\"config\"文件,\n   将远程仓库地址改到你的一个私有仓库(因为会涉及到隐私问题)\n5. 如果不会提交github, 找个教程看就好\n6. 最好手动push一次开起action看看结果\n\n$补充说明$:\n\n- 如果你不想创建私人仓库, 可以用在fork下来的本仓库 Settings-\u003eSecrets-\u003eactions, 设置环境变量, 名字为 KEY(必须,\n  会改就自己改名字)\n\n  ![actionsecr](https://bloghexofluid.oss-cn-hangzhou.aliyuncs.com/uPic/actionsecr.png)\n\n- 做法: 将整个配置文件内容添加到刚刚设置的KEY\n\n- *如果使用环境变量则不要取消System.out.\\*()方法的注释(隐私问题)*\n\n- 程序首先获取环境变量的配置, 如果没有(获取值为空)则从config.json中读取配置\n\n有什么不会的操作可以通过最上面的联系方式找到我\n\n# 配置文件说明:\n\nplace建议手动填, 也可以自动, 如果自动出错请手动填\n\nuser中的email是收件邮箱, sender_email是发发件邮箱\n\nkey是你邮箱的服务, 需要自行去邮箱官网获取, host是服务的域名\n\n如果你不懂请求头, 请尽量不要改head中除\"user_agent\"的其他内容, 只修改\"user_agent\"(请求头)即可\n\nuser_agent随便搜索一个填上就行, 最好填手机的吧\n\n```json\n{\n  \"head\": [\n    {\n      \"user_agent\": \"iPhone13,3(iOS/14.4) Uninview(Uninview/1.0.0) Weex/0.26.0 1125x2436\",\n      \"accept\": \"*/*\",\n      \"accept_language\": \"zh-cn\",\n      \"accept_encoding\": \"gzip, deflate, br\",\n      \"content_type\": \"application/json;charset=UTF-8\"\n    }\n  ],\n  \"user\": [\n    {\n      \"username\": \"3490181804214\",\n      \"password\": \"42424\",\n      \"location\": \"103.340138,29.905536\",\n      \"place\": \"中国-四川省-成都市-成华区\",\n      \"email\": \"111111111@qq.com\"\n    }\n  ],\n  \"sender_email\": \"1111111111@qq.com\",\n  \"key\": \"dwoafifbajslajd\",\n  \"host\": \"smtp.qq.com\"\n}\n\n```\n\n# 推送通知:\n\n这里只写了邮件推送, 要是有人完善telegramBot和server酱就更好了\n\n可以通过推送通知来确认打卡情况\n\n如果发邮件过多smtp服务器会禁止访问, 这会导致线程阻塞, 如果推送卡住, 不要惊慌, 推送超时时间设置的是3s\n\n比如你用的QQ邮箱\n\n1. 搜索\"如何获取QQ邮箱smtp服务码\"\n2. 将服务码填到\"key\"后面\n3. 将\"smtp.qq.com\"填到\"host\"后面\n4. \"sender_email\"后面填服务码对应的邮箱\n5. 将每个user成员中的\"email\"后面填写收件邮箱\n\n# 查看失败日志:\n\n程序在本地运行时, 如果出现错误会生成一个\"ErrLog.log\"的文件, 可以在里面看到为什么失败\n\n# Bug:\n\n暂未发现\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferzbir%2Fxiaobei","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferzbir%2Fxiaobei","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferzbir%2Fxiaobei/lists"}