{"id":19902830,"url":"https://github.com/cp0204/chinatelecommonitor","last_synced_at":"2025-04-05T11:06:42.338Z","repository":{"id":239274474,"uuid":"799072729","full_name":"Cp0204/ChinaTelecomMonitor","owner":"Cp0204","description":"中国电信 话费、通话、流量 套餐用量监控，支持青龙，支持 Docker 部署成 API 服务。","archived":false,"fork":false,"pushed_at":"2024-12-31T05:02:37.000Z","size":115,"stargazers_count":153,"open_issues_count":2,"forks_count":19,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-29T10:05:03.902Z","etag":null,"topics":["docker","qinglong","telecom"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/cp0204/chinatelecommonitor","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Cp0204.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}},"created_at":"2024-05-11T05:34:23.000Z","updated_at":"2025-03-27T03:28:45.000Z","dependencies_parsed_at":"2024-06-11T14:27:17.004Z","dependency_job_id":"807df33f-66fb-406b-a2b0-2aa5dc39e1bb","html_url":"https://github.com/Cp0204/ChinaTelecomMonitor","commit_stats":null,"previous_names":["cp0204/chinatelecommonitor"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cp0204%2FChinaTelecomMonitor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cp0204%2FChinaTelecomMonitor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cp0204%2FChinaTelecomMonitor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cp0204%2FChinaTelecomMonitor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Cp0204","download_url":"https://codeload.github.com/Cp0204/ChinaTelecomMonitor/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247325693,"owners_count":20920714,"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":["docker","qinglong","telecom"],"created_at":"2024-11-12T20:19:46.615Z","updated_at":"2025-04-05T11:06:42.303Z","avatar_url":"https://github.com/Cp0204.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ChinaTelecomMonitor\n\n中国电信 话费、通话、流量 套餐用量监控。\n\n本项目是部署在服务器（或x86软路由等设备）使用接口模拟登录，定时获取电信手机话费、通话、流量使用情况，推送到各种通知渠道提醒。\n\n## 特性\n\n- [x] 支持青龙\n- [x] 支持通过 json push_config 字段独立配置通知渠道\n- [x] 本地保存登录 token ，有效期内不重复登录\n- [x] Docker 独立部署 API 查询服务\n\n## 使用案例\n\n- [提供一个ios的自制UI面板](https://github.com/Cp0204/ChinaTelecomMonitor/issues/18) --- By: LRZ9712\n\n## 部署\n\n### 青龙监控\n\n拉库命令：\n\n```\nql repo https://github.com/Cp0204/ChinaTelecomMonitor.git \"telecom_monitor\" \"\" \"telecom_class|notify\"\n```\n\n| 环境变量       | 示例                  | 备注                           |\n| -------------- | --------------------- | ------------------------------ |\n| `TELECOM_USER` | `18912345678password` | 手机号密码直接拼接，会自动截取 |\n\n### Docker API 服务\n\n注意：Docker 部署的是 API 服务，没有监控提醒功能，主要是用于第三方（如 HomeAssistant 等）获取信息，数据原样返回。\n\n```shell\ndocker run -d \\\n  --name china-telecom-monitor \\\n  -p 10000:10000 \\\n  -v ./china-telecom-monitor/config:/app/config \\\n  -v /etc/localtime:/etc/localtime \\\n  -e WHITELIST_NUM= \\\n  --network bridge \\\n  --restart unless-stopped \\\n  cp0204/chinatelecommonitor:main\n```\n\n| 环境变量        | 示例                      | 备注         |\n| --------------- | ------------------------- | ------------ |\n| `WHITELIST_NUM` | `18912345678,13312345678` | 手机号白名单 |\n\n#### 接口URL\n\n- `http://127.0.0.1:10000/login`\n\n  登录，返回用户信息，token长期有效，用以下次请求数据\n\n- `http://127.0.0.1:10000/qryImportantData`\n\n  返回主要信息，总用量 话费、通话、流量 等\n\n- `http://127.0.0.1:10000/userFluxPackage`\n\n  返回流量包明细\n\n- `http://127.0.0.1:10000/qryShareUsage`\n\n  返回共享套餐各号码用量\n\n- `http://127.0.0.1:10000/summary`\n\n  `/qryImportantData` 的数据简化接口，非原样返回，简化后返回格式：\n\n```json\n{\n  \"phonenum\": \"18912345678\", // 手机号码\n  \"balance\": 0,              // 账户余额（分）\n  \"voiceUsage\": 39,          // 语音通话已使用时长（分钟）\n  \"voiceTotal\": 2250,        // 语音通话总时长（分钟）\n  \"flowUse\": 7366923,        // 总流量已使用量（KB）\n  \"flowTotal\": 7366923,      // 总流量总量（KB）\n  \"flowOver\": 222222,        // 总流量超量（KB）\n  \"commonUse\": 7273962,      // 通用流量已使用量（KB）\n  \"commonTotal\": 25550446,   // 通用流量总量（KB）\n  \"commonOver\": 222222,      // 通用流量超量（KB）\n  \"specialUse\": 92961,       // 专用流量已使用量（KB）\n  \"specialTotal\": 215265280, // 专用流量总量（KB）\n  \"createTime\": \"2024-05-12 14:13:28\", // 数据创建时间\n  \"flowItems\": [             // 流量类型列表\n    {\n      \"name\": \"国内通用流量(达量降速)\", // 流量类型名称\n      \"use\": 10241024,           // 流量包已使用量（KB）\n      \"balance\": 0,              // 流量包剩余量（KB），当为负值时则是超流量\n      \"total\": 10241024          // 流量包总量（KB）\n    },\n    {\n      \"name\": \"国内通用流量(非畅享)\",\n      \"use\": 1,\n      \"balance\": 10241023,\n      \"total\": 10241024\n    },\n    {\n      \"name\": \"专用流量\",\n      \"use\": 1,\n      \"balance\": 10241023,\n      \"total\": 10241024\n    }\n  ]\n}\n```\n\n接口均支持 POST 和 GET 方法，如 GET ：\n\n```\nhttp://127.0.0.1:10000/summary?phonenum=18912345678\u0026password=123456\n```\n\nPOST 时 Body 须为 json 数据，如：\n\n```bash\ncurl --request POST \\\n  --url http://127.0.0.1:10000/summary \\\n  --header 'Content-Type: application/json' \\\n  --data '{\"phonenum\": \"18912345678\",\"password\": \"123456\"}'\n```\n\n\u003e [!NOTE]\n\u003e 登录成功后，会在 config/login_info.json 文件**记录账号敏感信息**。程序请求数据将先尝试用记录的 token 获取，避免重复登录。\n\n## 感谢\n\n本项目大量参考其他项目的代码，在此表示感谢！\n\n- [ChinaTelecomMonitor](https://github.com/LambdaExpression/ChinaTelecomMonitor) : go 语言的实现\n- [boxjs](https://github.com/gsons/boxjs) : 感谢开源提供的电信接口\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcp0204%2Fchinatelecommonitor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcp0204%2Fchinatelecommonitor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcp0204%2Fchinatelecommonitor/lists"}