{"id":15007501,"url":"https://github.com/aceberg/linuxexecbot","last_synced_at":"2026-04-01T22:18:41.459Z","repository":{"id":64692235,"uuid":"573021010","full_name":"aceberg/LinuxExecBot","owner":"aceberg","description":"Telegram bot to execute a command from a configurable list","archived":false,"fork":false,"pushed_at":"2023-07-14T21:29:30.000Z","size":23,"stargazers_count":16,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-02-02T08:42:02.448Z","etag":null,"topics":["golang","golang-application","linux-app","self-hosted","selfhosted","telegram","telegram-bot"],"latest_commit_sha":null,"homepage":"","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/aceberg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"custom":["https://boosty.to/aceberg/donate","https://aceberg.github.io/MyDocs/sponsor"]}},"created_at":"2022-12-01T14:30:00.000Z","updated_at":"2024-12-15T00:41:54.000Z","dependencies_parsed_at":"2024-06-20T08:18:26.581Z","dependency_job_id":"0168d68f-a896-4aa5-8267-0516b2a1ffd0","html_url":"https://github.com/aceberg/LinuxExecBot","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aceberg%2FLinuxExecBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aceberg%2FLinuxExecBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aceberg%2FLinuxExecBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aceberg%2FLinuxExecBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aceberg","download_url":"https://codeload.github.com/aceberg/LinuxExecBot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238968414,"owners_count":19560586,"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":["golang","golang-application","linux-app","self-hosted","selfhosted","telegram","telegram-bot"],"created_at":"2024-09-24T19:10:24.978Z","updated_at":"2026-04-01T22:18:41.451Z","avatar_url":"https://github.com/aceberg.png","language":"Go","funding_links":["https://boosty.to/aceberg/donate","https://aceberg.github.io/MyDocs/sponsor"],"categories":[],"sub_categories":[],"readme":"[![Go Report Card](https://goreportcard.com/badge/github.com/aceberg/LinuxExecBot)](https://goreportcard.com/report/github.com/aceberg/LinuxExecBot)\n[![Maintainability](https://api.codeclimate.com/v1/badges/37a8c60c47f41a54c493/maintainability)](https://codeclimate.com/github/aceberg/LinuxExecBot/maintainability)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/099e3be49e80472bb702b7887e620ab1)](https://app.codacy.com/gh/aceberg/LinuxExecBot/dashboard?utm_source=gh\u0026utm_medium=referral\u0026utm_content=\u0026utm_campaign=Badge_grade)\n[![Binary-release](https://github.com/aceberg/LinuxExecBot/actions/workflows/binary-release.yml/badge.svg)](https://github.com/aceberg/LinuxExecBot/actions/workflows/binary-release.yml)\n![GitHub](https://img.shields.io/github/license/aceberg/LinuxExecBot)\n\n# LinuxExecBot\nTelegram bot to execute a command from a configurable list on your Linux machine\n\n[1. Installation](https://github.com/aceberg/LinuxExecBot#1-installation)   \n[2. Usage](https://github.com/aceberg/LinuxExecBot#2-usage)   \n[3. Options](https://github.com/aceberg/LinuxExecBot#3-options)   \n\n## 1. Installation\n\n### From .deb repository (recommended)\n```sh\ncurl -s --compressed \"https://aceberg.github.io/ppa/KEY.gpg\" | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/aceberg.gpg\n```\n```sh\nsudo curl -s --compressed -o /etc/apt/sources.list.d/aceberg.list \"https://aceberg.github.io/ppa/aceberg.list\"\n```\n```sh\nsudo apt update \u0026\u0026 sudo apt install linuxexecbot\n```\n### From .deb file\nDownload [latest](https://github.com/aceberg/LinuxExecBot/releases/latest) release, install with your package maneger\n\n### From .tar.gz\nDownload [latest](https://github.com/aceberg/LinuxExecBot/releases/latest) release, then\n```sh\ntar xvzf LinuxExecBot-*.tar.gz\ncd LinuxExecBot\nsudo ./install.sh\n```\n### With go\n```sh\ngo install github.com/aceberg/LinuxExecBot/cmd/LinuxExecBot@latest\n```\n\n## 2. Usage\n### As root\n1. Edit `/etc/LinuxExecBot/config.yaml`, put your Telegram bot's Token and ChatID there. Add your commands. Example:\n\n```yaml\nconfig:\n  token: 5XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n  socks5: \"127.0.0.1:1080\" # Optional Socks5 proxy\n  #id: 111111111 \n  ids:     # Use either id (for one user) or ids (for several bot users)\n    - 111111111\n    - 222222222\n  args: no # If set to \"yes\", allows to send arguments with bot commands\n           # WARNING! Could be dangerous, if someone gets access to your bot\ncommands:\n- name: la\n  exec: \"ls -al\"\n  desc: \"List all files\"\n\n- name: ping\n  exec: \"ping -c 3 8.8.8.8\"\n  desc: \"Ping Google DNS\"\n```\n\u003e Only commands with not empty `desc` field will be shown in Bot Menu.   \n\u003e `/help` command lists all available commands\n\n2. Enable and start service\n```sh\nsystemctl enable linuxexecbot.service\nsystemctl start linuxexecbot.service\n```\n3. Go to your bot in Telegram and try to execute command. Example: `/la`\n\n### As user\n1. Copy config example\n```sh\nmkdir -p ~/.config/LinuxExecBot\ncp /etc/LinuxExecBot/config.yaml ~/.config/LinuxExecBot/config.yaml\n```\n2. Edit `config.yaml`,  put your bot's Token and ChatID there\n3. Enable and start service, replace `MYUSER` with your username\n```sh\nsystemctl enable linuxexecbot@MYUSER.service\nsystemctl start linuxexecbot@MYUSER.service\n```\n4. Go to your bot in Telegram and try to execute command.\n\n## 3. Options\n| Key  | Description | Default |\n| --------  | ----------- | ------- |\n| -c | Path to config yaml file |config.yaml|","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faceberg%2Flinuxexecbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faceberg%2Flinuxexecbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faceberg%2Flinuxexecbot/lists"}