{"id":22748693,"url":"https://github.com/fgrehm/notify-send-http","last_synced_at":"2025-04-14T12:06:00.049Z","repository":{"id":21309379,"uuid":"24625875","full_name":"fgrehm/notify-send-http","owner":"fgrehm","description":"Trigger notify-send across the network using HTTP, useful for triggering notifications from local VMs / Containers into your own computer. It even supports notification icons!","archived":false,"fork":false,"pushed_at":"2018-06-12T02:53:44.000Z","size":14,"stargazers_count":69,"open_issues_count":7,"forks_count":10,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-14T12:05:56.129Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"jmacd/xdelta","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fgrehm.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}},"created_at":"2014-09-30T05:38:33.000Z","updated_at":"2024-07-20T18:29:56.000Z","dependencies_parsed_at":"2022-08-05T11:30:10.138Z","dependency_job_id":null,"html_url":"https://github.com/fgrehm/notify-send-http","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fgrehm%2Fnotify-send-http","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fgrehm%2Fnotify-send-http/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fgrehm%2Fnotify-send-http/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fgrehm%2Fnotify-send-http/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fgrehm","download_url":"https://codeload.github.com/fgrehm/notify-send-http/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248877985,"owners_count":21176243,"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":[],"created_at":"2024-12-11T03:34:22.546Z","updated_at":"2025-04-14T12:06:00.023Z","avatar_url":"https://github.com/fgrehm.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# notify-send-http\n\nTrigger `notify-send` across the network using HTTP, useful for triggering\nnotifications from local VMs / Containers into your own computer. It even supports\nnotification icons!\n\n![demo](http://i.imgur.com/51hGcuW.png)\n\n## :warning: Unmaintained :warning:\n\nThis project is no longer maintained, please reach out to me if you are interested in continuing working on it.\n\n**_Tested on Ubuntu 14.04 only_**\n\n## Why?\n\nBecause I do all of my dev work on virtualized environments and I use [guard](https://github.com/guard/guard/)\nquite a lot to keep my Ruby tests running when files get changed. The problem is\nthat its builtin notification support will trigger a `notify-send` inside the virtual\nenvironment instead of my machine.\n\nWith `notify-send-http` I can run an HTTP server on my machine and make use of a\ncustom `notify-send` executable on my virtual environments that has the same\ninterface as the original command and will send notifications to the HTTP server\nso that I can see alerts poping up on my screen whenever the build fails.\n\n## Server setup\n\nFirst you'll need to download the HTTP server on the machine where notifications\nwill get displayed and drop it somewhere on your `PATH`.\n\nFor example, if `$HOME/bin` is on your `PATH`:\n\n```sh\ncurl -L https://github.com/fgrehm/notify-send-http/releases/download/v0.2.0/server-linux_amd64 \u003e $HOME/bin/notify-send-server\nchmod +x $HOME/bin/notify-send-server\n```\n\nThen fire up the server with:\n\n```sh\nPORT=12345 notify-send-server\n```\n\nIf you are on an Ubuntu machine, you can set it up to start automatically after\nlogging in to the machine:\n\n```sh\ncat \u003c\u003c-STR \u003e ~/.config/autostart/notify-send-server.desktop\n[Desktop Entry]\nType=Application\nExec=env PORT=12345 ${HOME}/bin/notify-send-server\nHidden=false\nNoDisplay=false\nX-GNOME-Autostart-enabled=true\nName[en_US]=NotifySend server\nName=NotifySend server\nComment[en_US]=\nComment=\nSTR\n```\n\n## Client setup\n\nFrom another machine / VM / Linux Container you'll have to first download the\nclient somewhere on the `PATH`:\n\n```sh\ncurl -L https://github.com/fgrehm/notify-send-http/releases/download/v0.2.0/client-linux_amd64 | sudo tee /usr/local/bin/notify-send \u0026\u003e/dev/null\nsudo chmod +x /usr/local/bin/notify-send\n```\n\nThen point the CLI to the notification server:\n\n```sh\nSERVER_IP=$(ip route|awk '/default/ { print $3 }')\nexport NOTIFY_SEND_URL=\"http://${SERVER_IP}:12345\"\n```\n\nAnd trigger notifications with:\n\n```sh\nnotify-send \"A summary\" \"Some message\"\n```\n\n## Integration\n\n### [Devstep](http://fgrehm.viewdocs.io/devstep/)\n\nDownload the client to a folder under `$HOME/devstep/bin`:\n\n```sh\nDEVSTEP_DIR=\"$HOME/devstep/bin\"\nmkdir -p $DEVSTEP_DIR\ncurl -sL https://github.com/fgrehm/notify-send-http/releases/download/v0.2.0/client-linux_amd64 \u003e $DEVSTEP_DIR/notify-send\nchmod +x $DEVSTEP_DIR/notify-send\n```\n\nAdd to your `$HOME/devstep.yml`:\n\n```yaml\nvolumes:\n  # Share executable with container\n  - '{{env \"HOME\"}}/devstep/bin/notify-send:/.devstep/bin/notify-send'\nenvironment:\n  # Set to a different IP if your docker0 bridge is set to something else\n  NOTIFY_SEND_URL: \"http://172.17.42.1:12345\"\n```\n\n### [Docker](https://www.docker.com/)\n\n```sh\n# Grab Docker bridge IP\nDOCKER_BRIDGE_IP=$(/sbin/ifconfig docker0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}')\n\n# Download binary\ncurl -sL https://github.com/fgrehm/notify-send-http/releases/download/v0.2.0/client-linux_amd64 \u003e /tmp/notify-send \u0026\u0026 chmod +x /tmp/notify-send\n\n# Start container ready to send notifications\ndocker run -ti --rm \\\n           -e NOTIFY_SEND_URL=\"http://${DOCKER_BRIDGE_IP}:12345\" \\\n           -v /tmp/notify-send:/usr/bin/notify-send \\\n           -v `pwd`/success.png:/tmp/success.png \\\n           ubuntu:14.04 \\\n           /usr/bin/notify-send \"Hello docker\" \"It Works!\" -i /tmp/success.png\n```\n\n### [Vagrant](http://www.vagrantup.com/)\n\n```ruby\n# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!\nVagrant.configure(\"2\") do |config|\n  config.vm.box = \"\u003cYOUR BOX\u003e\"\n  config.vm.provision :shell,\n                      path: 'https://github.com/fgrehm/notify-send-http/raw/master/vagrant-installer.sh',\n                      args: ['12345']\nend\n```\n\n## TODO\n\n- [ ] Handle other `notify-send` parameters\n- [ ] Implement support for other notifiers / platforms\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffgrehm%2Fnotify-send-http","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffgrehm%2Fnotify-send-http","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffgrehm%2Fnotify-send-http/lists"}