{"id":13819657,"url":"https://github.com/os7blue/dobby","last_synced_at":"2025-05-16T07:31:49.807Z","repository":{"id":153352042,"uuid":"546513047","full_name":"os7blue/dobby","owner":"os7blue","description":"简配版server酱，支持：websocket、钉钉webhook机器人、飞书webhook机器人、企业微信webhook机器人、email，以及公众号消息推送服务。","archived":false,"fork":false,"pushed_at":"2024-04-18T14:30:08.000Z","size":22052,"stargazers_count":32,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-04-18T16:12:15.162Z","etag":null,"topics":["dingding","dingtalk","email","feishu","rebot","webhook","websocket","wechat","wechatwork","weixin"],"latest_commit_sha":null,"homepage":"","language":"Go","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/os7blue.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}},"created_at":"2022-10-06T07:39:54.000Z","updated_at":"2024-04-23T12:57:04.984Z","dependencies_parsed_at":"2024-04-23T12:57:00.804Z","dependency_job_id":null,"html_url":"https://github.com/os7blue/dobby","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/os7blue%2Fdobby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/os7blue%2Fdobby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/os7blue%2Fdobby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/os7blue%2Fdobby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/os7blue","download_url":"https://codeload.github.com/os7blue/dobby/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254488274,"owners_count":22079393,"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":["dingding","dingtalk","email","feishu","rebot","webhook","websocket","wechat","wechatwork","weixin"],"created_at":"2024-08-04T08:00:51.308Z","updated_at":"2025-05-16T07:31:48.607Z","avatar_url":"https://github.com/os7blue.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"\n![logo](./view/static/img/dobby.png)\n\n# dobby 多通道消息推送服务\n\n# 单个主体使用（个人/团队/公司）无限制，标注出处即可，涉及商业行为需要联系本人获取许可。\n\n\n### 新版本：1.2 新增websocket支持，并提供一个接收大屏实现，包含语音播报功能\n![截图1](./doc/4.png)\n\n\n\n\n界面：\n![截图1](./doc/1.png)\n![截图2](./doc/2.png)\n![截图3](./doc/3.png)\n\n流程：\n\n![流程](./doc/process.svg)\n\n支持推送通道：\n\n    - websocket\n    - 微信公众号/测试号\n    - 企业微信webhook机器人\n    - 钉钉webhook机器人\n    - 飞书webhook机器人\n    - email\n    - 智能音箱（待定）\n\n项目结构：\n\n```\n├── api //service api\n├── common  //global util\n│   └── sender  //all message sender\n├── bootstrap  //projrct config init\n├── doc \n├── model   //struce(like oop model)\n│   ├── constant    //\n│   └── r   //unified return model\n├── router\n├── service\n├── view\n│   ├── static\n│   │   ├── css\n│   │   ├── fonts\n│   │   ├── img\n│   │   ├── js\n│   │   └── module\n│   └── templates\n├── config.ini //config file\n├── main.go //starter\n```\n\n安装说明：\n    \n```\n    \n    1、配置go环境，clone本项目。\n    2、打包。\n    3、创建一个sqlite的.db文件。\n    4、编辑config.ini配置文件，修改相应配置。\n    5、将编辑好的config.ini文件，view文件夹，db文件与打包后的执行文件放置在同一目录。\n    6、运行（如果配置无误，第一次运行时会自动建表）\n\n\n```\n\nconfig.ini配置文件说明：\n```\n\n[Web]\n#监听地址和端口，gin原生配置。\nport = 8082\naddr =\n\n[DB]\n#sqlite .db文件路径\nurl = /Users/codecv/push.db\nusername =\npassword =\n\n#默认邮件服务，不配置将无法登录\n#一把情况下去你的电子邮件服务商的设置页面都可以查看并设置smtp服务\n[Email]\nhost = smtp.qq.com\nport = 25\nusername =\npassword =\n#切记 这是可以登录管理后台的邮箱，所有账户都具有相同权限，默认会将smtp自身的邮件地址加入。\nadmin = \n\n#非必填\n[Setting]\n#如果设置了pushTitle\n#webhook推送格式为：[pushTitle]调用api时传递的title：推送内容\n#mail的推送标题为：[pushTitle]调用api时传递的title\n#测试号/公众号的推送格式为：[pushTitle]调用api时传递的title：推送内容\n\n#如果未设置pushTitle\n#webhook推送格式为：调用api时传递的title：推送内容\n#mail的推送标题为：调用api时传递的title\n#测试号/公众号的推送格式为：调用api时传递的title：推送内容\n\n#设置pushTitle是为了能设置一个统一的标题以方便使用各个webhook的关键字验证。\n#也可自己调用api的时候自己在title/content中包含设置好的关键字。\npushTitle = dobby\n\n\n\n\n\n```\n\n其他说明：\n```\n    \n    登录页面背景图是我家领导手绘的图。\n    文件有点大，可以自己替换自己喜欢的，或者直接删掉，设置了默认背景色，但是我觉得不好看。\n    我也懒得在css上下太多功夫，就这样吧。\n    \n    只提供文字的推送的原因：\n        1、本来写这个就是为了有个提醒，文字就够了。\n        2、如果你需要更丰富的推送内容，你可以fork自己修改，我代码分的层级应该还行，另外个人认为，如果你的需求中需要推送复杂的内容，那你应该自己着手去定制。\n        3、坦白说，如果不是为了有个可视化管理界面，写这个东西根本不需要这么麻烦。\n        \n    从我开始学go到做完这个东西用的时间加起来不超过半个月，如有不妥之处，那就不妥着吧。\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fos7blue%2Fdobby","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fos7blue%2Fdobby","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fos7blue%2Fdobby/lists"}