{"id":13413522,"url":"https://github.com/containrrr/shoutrrr","last_synced_at":"2025-05-13T21:10:16.187Z","repository":{"id":34635668,"uuid":"180732115","full_name":"containrrr/shoutrrr","owner":"containrrr","description":"Notification library for gophers and their furry friends.","archived":false,"fork":false,"pushed_at":"2024-07-26T14:54:15.000Z","size":13520,"stargazers_count":1211,"open_issues_count":78,"forks_count":73,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-04-28T17:01:57.805Z","etag":null,"topics":["go","golang","hacktoberfest","integrations","messaging","notifications"],"latest_commit_sha":null,"homepage":"https://containrrr.dev/shoutrrr/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/containrrr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-11T06:49:34.000Z","updated_at":"2025-04-28T07:53:05.000Z","dependencies_parsed_at":"2023-02-16T02:00:55.859Z","dependency_job_id":"6ce02f51-c01d-42eb-a995-4b64eba687f6","html_url":"https://github.com/containrrr/shoutrrr","commit_stats":{"total_commits":363,"total_committers":28,"mean_commits":"12.964285714285714","dds":0.559228650137741,"last_synced_commit":"3c77fd561ef108f9a683dfe68f108d56d67c7f24"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containrrr%2Fshoutrrr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containrrr%2Fshoutrrr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containrrr%2Fshoutrrr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containrrr%2Fshoutrrr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/containrrr","download_url":"https://codeload.github.com/containrrr/shoutrrr/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254029002,"owners_count":22002283,"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":["go","golang","hacktoberfest","integrations","messaging","notifications"],"created_at":"2024-07-30T20:01:42.313Z","updated_at":"2025-05-13T21:10:11.144Z","avatar_url":"https://github.com/containrrr.png","language":"Go","funding_links":["http://ko-fi.com/disyer"],"categories":["Go","Miscellaneous","杂项","go","Microsoft Office","其他杂项","Uncategorized"],"sub_categories":["Uncategorized","未分类的","暂未分类这些库被放在这里是因为其他类别似乎都不适合。","暂未分类"],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003ca href=\"https://github.com/containrrr/shoutrrr\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/containrrr/shoutrrr/main/docs/shoutrrr-logotype.png\" width=\"450\" /\u003e\n\u003c/a\u003e\n\n# Shoutrrr\n\nNotification library for gophers and their furry friends.\nHeavily inspired by \u003ca href=\"https://github.com/caronc/apprise\"\u003ecaronc/apprise\u003c/a\u003e.\n\n![github actions workflow status](https://github.com/containrrr/shoutrrr/workflows/Main%20Workflow/badge.svg)\n[![codecov](https://codecov.io/gh/containrrr/shoutrrr/branch/main/graph/badge.svg)](https://codecov.io/gh/containrrr/shoutrrr)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/47eed72de79448e2a6e297d770355544)](https://www.codacy.com/gh/containrrr/shoutrrr/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=containrrr/shoutrrr\u0026amp;utm_campaign=Badge_Grade)\n[![report card](https://goreportcard.com/badge/github.com/containrrr/shoutrrr)](https://goreportcard.com/badge/github.com/containrrr/shoutrrr)\n[![go.dev reference](https://img.shields.io/badge/go.dev-reference-007d9c?logo=go\u0026logoColor=white\u0026style=flat-square)](https://pkg.go.dev/github.com/containrrr/shoutrrr)\n[![github code size in bytes](https://img.shields.io/github/languages/code-size/containrrr/shoutrrr.svg?style=flat-square)](https://github.com/containrrr/shoutrrr)\n[![license](https://img.shields.io/github/license/containrrr/shoutrrr.svg?style=flat-square)](https://github.com/containrrr/shoutrrr/blob/main/LICENSE)\n[![godoc](https://godoc.org/github.com/containrrr/shoutrrr?status.svg)](https://godoc.org/github.com/containrrr/shoutrrr) \u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n[![All Contributors](https://img.shields.io/badge/all_contributors-14-orange.svg?style=flat-square)](#contributors-)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\n\n\u003c/div\u003e\n\u003cbr/\u003e\u003cbr/\u003e\n\n## Installation\n\n### Using the snap\n\n```bash\n$ sudo snap install shoutrrr\n```\n\n### Using the Go CLI\n\n```bash\n$ go install github.com/containrrr/shoutrrr/shoutrrr@latest\n```\n\n### From Source\n\n```bash\n$ go build -o shoutrrr ./shoutrrr\n```\n\n## Quick Start\n\n### As a package\n\nUsing shoutrrr is easy! There is currently two ways of using it as a package.\n\n#### Using the direct send command\n\n```go\n  url := \"slack://token-a/token-b/token-c\"\n  err := shoutrrr.Send(url, \"Hello world (or slack channel) !\")\n\n```\n\n#### Using a sender\n\n```go\n  url := \"slack://token-a/token-b/token-c\"\n  sender, err := shoutrrr.CreateSender(url)\n  sender.Send(\"Hello world (or slack channel) !\", map[string]string { /* ... */ })\n```\n\n\n#### Using a sender with multiple URLs\n```go\n  urls := []string {\n    \"slack://token-a/token-b/token-c\"\n    \"discord://token@channel\"\n  }\n  sender, err := shoutrrr.CreateSender(urls...)\n  sender.Send(\"Hello world (or slack channel) !\", map[string]string { /* ... */ })\n```\n\n### Through the CLI\n\nStart by running the `build.sh` script.\nYou may then run send notifications using the shoutrrr executable:\n\n```shell\n$ shoutrrr send [OPTIONS] \u003cURL\u003e \u003cMessage [...]\u003e\n```\n\n### From a GitHub Actions workflow\n\nYou can also use Shoutrrr from a GitHub Actions workflow.\n\nSee this example and the [action on GitHub\nMarketplace](https://github.com/marketplace/actions/shoutrrr-action):\n\n```yaml\nname: Deploy\non:\n  push:\n    branches:\n      - main\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Some other steps needed for deploying\n        run: ...\n      - name: Shoutrrr\n        uses: containrrr/shoutrrr-action@v1\n        with:\n          url: ${{ secrets.SHOUTRRR_URL }}\n          title: Deployed ${{ github.sha }}\n          message: See changes at ${{ github.event.compare }}.\n```\n\n## Documentation\nFor additional details, visit the [full documentation](https://containrrr.dev/shoutrrr). \n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/amirschnell\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/9380508?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAmir Schnell\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/containrrr/shoutrrr/commits?author=amirschnell\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://piksel.se\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/807383?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003enils måsén\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/containrrr/shoutrrr/commits?author=piksel\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/containrrr/shoutrrr/commits?author=piksel\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#maintenance-piksel\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/lukapeschke\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/17085536?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLuka Peschke\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/containrrr/shoutrrr/commits?author=lukapeschke\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/containrrr/shoutrrr/commits?author=lukapeschke\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/MrLuje\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/632075?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMrLuje\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/containrrr/shoutrrr/commits?author=MrLuje\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/containrrr/shoutrrr/commits?author=MrLuje\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://simme.dev\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/1596025?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSimon Aronsson\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/containrrr/shoutrrr/commits?author=simskij\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/containrrr/shoutrrr/commits?author=simskij\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#maintenance-simskij\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://arnested.dk\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/190005?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eArne Jørgensen\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/containrrr/shoutrrr/commits?author=arnested\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"https://github.com/containrrr/shoutrrr/commits?author=arnested\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/atighineanu\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/27206712?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAlexei Tighineanu\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/containrrr/shoutrrr/commits?author=atighineanu\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/ellisab\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/1402047?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAlexandru Bonini\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/containrrr/shoutrrr/commits?author=ellisab\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://senan.xyz\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/6832539?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSenan Kelly\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/containrrr/shoutrrr/commits?author=sentriz\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/JonasPf\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/2216775?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJonasPf\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/containrrr/shoutrrr/commits?author=JonasPf\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/claycooper\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/3612906?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eclaycooper\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/containrrr/shoutrrr/commits?author=claycooper\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://ko-fi.com/disyer\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/16326697?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDerzsi Dániel\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/containrrr/shoutrrr/commits?author=darktohka\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://josephkav.io\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/4267227?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJoseph Kavanagh\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/containrrr/shoutrrr/commits?author=JosephKav\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/containrrr/shoutrrr/issues?q=author%3AJosephKav\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://ring0.lol\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1893909?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJustin Steven\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/containrrr/shoutrrr/issues?q=author%3Ajustinsteven\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n\n## Related Project(s)\n- [watchtower](https://github.com/containrrr/watchtower) - process for automating Docker container base image updates that uses shoutrrr for notifications\n- [kured](https://github.com/weaveworks/kured) - kubernetes reboot daemon has adopted shoutrrr as their unified notification method starting with version 1.7.0.\n- [Green Orb](https://github.com/atgreen/green-orb) - a versatile 'observe and report' buddy for your application logs\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcontainrrr%2Fshoutrrr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcontainrrr%2Fshoutrrr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcontainrrr%2Fshoutrrr/lists"}