{"id":44514571,"url":"https://github.com/edevsh/discord-auto-updater","last_synced_at":"2026-05-09T06:02:29.975Z","repository":{"id":311476997,"uuid":"1043817563","full_name":"edevsh/discord-auto-updater","owner":"edevsh","description":"A simple tool to automatically update Discord on Debian/Ubuntu systems using systemd.","archived":false,"fork":false,"pushed_at":"2025-08-24T17:36:56.000Z","size":16,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-13T23:35:45.247Z","etag":null,"topics":["debian","discord","updater"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/edevsh.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-24T17:22:31.000Z","updated_at":"2025-10-05T00:32:45.000Z","dependencies_parsed_at":"2025-09-02T12:01:38.082Z","dependency_job_id":null,"html_url":"https://github.com/edevsh/discord-auto-updater","commit_stats":null,"previous_names":["shahmal1yev/discord-auto-updater"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/edevsh/discord-auto-updater","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edevsh%2Fdiscord-auto-updater","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edevsh%2Fdiscord-auto-updater/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edevsh%2Fdiscord-auto-updater/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edevsh%2Fdiscord-auto-updater/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/edevsh","download_url":"https://codeload.github.com/edevsh/discord-auto-updater/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edevsh%2Fdiscord-auto-updater/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32809147,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["debian","discord","updater"],"created_at":"2026-02-13T16:58:50.197Z","updated_at":"2026-05-09T06:02:29.968Z","avatar_url":"https://github.com/edevsh.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Discord Auto-Updater for Debian/Ubuntu\n\nAutomatic Discord updater for Debian/Ubuntu systems. Since Discord doesn't provide an official APT repository, this tool automatically updates Discord to keep you on the latest version without manual intervention.\n\n## ✨ Features\n\n- 🔄 Automatic version checking and updates\n- ⏰ Daily checks via systemd timer\n- 🛡️ Safe download and package verification\n- 📝 Comprehensive logging system\n- ⚙️ Configuration file support\n- 🔐 System-wide installation with proper permissions\n- 🚨 Desktop notifications for updates\n- 💾 Backup creation before updates\n- 🔒 Lock file prevents multiple instances\n- 🧹 Automatic cleanup of temporary files\n\n## 📋 System Requirements\n\n- Debian/Ubuntu or other dpkg-based systems\n- Root privileges (sudo)\n- Internet connection\n- `curl` or `wget` (automatically installed if missing)\n- `systemd` (for scheduled updates)\n\n## 🚀 Installation\n\n### Quick Installation\n\n```bash\n# Clone the repository\ngit clone \u003crepository-url\u003e\ncd discord-auto-updater\n\n# Run the installation script\nsudo ./install.sh\n```\n\n### Manual Installation\n\n```bash\n# Copy script to system location\nsudo cp discord-auto-updater.sh /usr/local/bin/\nsudo chmod +x /usr/local/bin/discord-auto-updater.sh\n\n# Create configuration file\nsudo cp discord-updater.conf /etc/\n\n# Install systemd files\nsudo cp discord-auto-updater.service /etc/systemd/system/\nsudo cp discord-auto-updater.timer /etc/systemd/system/\n\n# Reload and enable systemd\nsudo systemctl daemon-reload\nsudo systemctl enable discord-auto-updater.timer\nsudo systemctl start discord-auto-updater.timer\n```\n\n## 🎮 Usage\n\n### Basic Commands\n\n```bash\n# Update Discord now\nsudo discord-auto-updater.sh\n\n# Force update (even if versions match)\nsudo discord-auto-updater.sh --force\n\n# Check only, don't install\nsudo discord-auto-updater.sh --check-only\n\n# Show current version\nsudo discord-auto-updater.sh --version\n\n# Help information\nsudo discord-auto-updater.sh --help\n\n# Silent mode (no console output)\nsudo discord-auto-updater.sh --silent\n```\n\n### Service Management\n\n```bash\n# Check timer status\nsudo systemctl status discord-auto-updater.timer\n\n# View logs\nsudo journalctl -u discord-auto-updater.service\n\n# Stop automatic updates\nsudo systemctl stop discord-auto-updater.timer\n\n# Start automatic updates\nsudo systemctl start discord-auto-updater.timer\n\n# Disable automatic updates completely\nsudo systemctl disable discord-auto-updater.timer\n\n# See next scheduled run\nsudo systemctl list-timers discord-auto-updater.timer\n```\n\n## ⚙️ Configuration\n\nConfiguration file: `/etc/discord-updater.conf`\n\n```bash\n# Enable automatic update checks (1 = enabled, 0 = disabled)\nDEFAULT_UPDATE_CHECK=1\n\n# Force updates even if versions match (1 = enabled, 0 = disabled)\nDEFAULT_FORCE_UPDATE=0\n\n# Silent mode - suppress console output (1 = silent, 0 = verbose)\nDEFAULT_SILENT=0\n\n# Create backup before updates (1 = enabled, 0 = disabled)\nDEFAULT_BACKUP=1\n```\n\n### Advanced Configuration\n\n```bash\n# Custom Discord download URL (advanced users only)\nDISCORD_URL=\"https://discord.com/api/download?platform=linux\u0026format=deb\"\n\n# Custom temporary directory\nTEMP_DIR=\"/tmp/discord-updater\"\n\n# Custom log file location\nLOG_FILE=\"/var/log/discord-updater.log\"\n```\n\n## 📊 Logging System\n\nLog file: `/var/log/discord-updater.log`\n\n```bash\n# Follow live logs\nsudo tail -f /var/log/discord-updater.log\n\n# Last 50 lines\nsudo tail -n 50 /var/log/discord-updater.log\n\n# Systemd logs\nsudo journalctl -u discord-auto-updater.service -f\n\n# View logs with timestamps\nsudo journalctl -u discord-auto-updater.service --since \"1 hour ago\"\n```\n\n## 🔧 Troubleshooting\n\n### Common Issues\n\n**Problem:** Discord not updating\n```bash\n# Check manually\nsudo discord-auto-updater.sh --check-only\n\n# Check logs\nsudo tail -n 20 /var/log/discord-updater.log\n\n# Test internet connection\ncurl -I https://discord.com\n```\n\n**Problem:** Permission denied\n```bash\n# Check script permissions\nls -la /usr/local/bin/discord-auto-updater.sh\n\n# Fix permissions\nsudo chmod +x /usr/local/bin/discord-auto-updater.sh\n```\n\n**Problem:** Systemd timer not working\n```bash\n# Check timer status\nsudo systemctl status discord-auto-updater.timer\n\n# Restart timer\nsudo systemctl restart discord-auto-updater.timer\n\n# Check if timer is enabled\nsudo systemctl is-enabled discord-auto-updater.timer\n```\n\n**Problem:** Download failures\n```bash\n# Test direct download\ncurl -I \"https://discord.com/api/download?platform=linux\u0026format=deb\"\n\n# Check DNS resolution\nnslookup discord.com\n\n# Verify proxy settings if applicable\necho $http_proxy $https_proxy\n```\n\n### Testing and Debugging\n\n```bash\n# Test configuration loading\nsudo discord-auto-updater.sh --check-only\n\n# Run with verbose logging\nsudo discord-auto-updater.sh\n\n# Manual service execution\nsudo systemctl start discord-auto-updater.service\n\n# Check service status\nsudo systemctl status discord-auto-updater.service\n\n# Validate systemd timer syntax\nsudo systemd-analyze verify /etc/systemd/system/discord-auto-updater.timer\n```\n\n## 🗑️ Uninstallation\n\n### Automatic Uninstallation\n\n```bash\nsudo ./install.sh uninstall\n```\n\n### Manual Uninstallation\n\n```bash\n# Stop and disable service\nsudo systemctl stop discord-auto-updater.timer\nsudo systemctl disable discord-auto-updater.timer\n\n# Remove files\nsudo rm -f /usr/local/bin/discord-auto-updater.sh\nsudo rm -f /etc/systemd/system/discord-auto-updater.service\nsudo rm -f /etc/systemd/system/discord-auto-updater.timer\nsudo rm -f /etc/discord-updater.conf\n\n# Optionally remove log file\nsudo rm -f /var/log/discord-updater.log\n\n# Reload systemd\nsudo systemctl daemon-reload\n```\n\n## 📁 File Structure\n\n```\ndiscord-auto-updater/\n├── discord-auto-updater.sh     # Main updater script\n├── discord-auto-updater.service # Systemd service file\n├── discord-auto-updater.timer   # Systemd timer file\n├── discord-updater.conf         # Configuration template\n├── install.sh                   # Installation script\n└── README.md                    # This document\n```\n\n## 🔒 Security Features\n\n- Downloads only from official Discord URLs\n- Package verification and integrity checks\n- Requires root privileges for system-wide installation\n- Temporary files are automatically cleaned up\n- Systemd security restrictions applied (PrivateTmp, ProtectSystem, etc.)\n- Lock file prevents multiple simultaneous executions\n- Safe error handling and rollback capabilities\n\n## 📈 How It Works\n\n1. **Version Detection**: Compares installed Discord version with latest available\n2. **Secure Download**: Downloads official Discord .deb package from Discord's servers  \n3. **Verification**: Validates downloaded package integrity and authenticity\n4. **Backup**: Creates backup information before updates (optional)\n5. **Installation**: Uses dpkg/apt to safely install the new version\n6. **Cleanup**: Removes temporary files and sends notifications\n7. **Logging**: Records all operations for audit and troubleshooting\n\n## 🤝 Contributing\n\n1. Fork this repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n### Development Guidelines\n\n- Follow bash best practices and use `shellcheck`\n- Test on multiple Debian/Ubuntu versions\n- Maintain backward compatibility\n- Update documentation for new features\n- Add appropriate error handling and logging\n\n## 📜 License\n\nThis project is licensed under the MIT License. See the LICENSE file for details.\n\n## 💡 Feature Requests and Bug Reports\n\nIf you encounter issues or have suggestions, please report them in the GitHub Issues section.\n\n## ❓ FAQ\n\n**Q:** When does the update check happen?  \n**A:** Daily with a randomized delay of up to 2 hours to distribute server load.\n\n**Q:** Can updates happen while Discord is running?  \n**A:** Yes, but Discord will need to be restarted to use the new version.\n\n**Q:** Are there update notifications?  \n**A:** Yes, via desktop notifications (if available) and log entries.\n\n**Q:** How are versions compared?  \n**A:** Using dpkg's built-in package version comparison system.\n\n**Q:** What happens if Discord is already up to date?  \n**A:** The script exits gracefully without making changes.\n\n**Q:** Can I customize the update schedule?  \n**A:** Yes, edit the systemd timer file or disable it and use cron instead.\n\n**Q:** Is this safe to use on production systems?  \n**A:** Yes, the script includes safety checks, backups, and proper error handling.\n\n## 🚀 Quick Start Example\n\n```bash\n# Download and install\ngit clone \u003crepository-url\u003e\ncd discord-auto-updater\nsudo ./install.sh\n\n# Verify installation\nsudo discord-auto-updater.sh --version\nsudo systemctl status discord-auto-updater.timer\n\n# Manual update (optional)\nsudo discord-auto-updater.sh\n\n# Check logs\nsudo tail -f /var/log/discord-updater.log\n```\n\n---\n\n**Note:** This tool is not an official Discord product and is not supported by Discord's official support team. Use at your own discretion.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedevsh%2Fdiscord-auto-updater","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fedevsh%2Fdiscord-auto-updater","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedevsh%2Fdiscord-auto-updater/lists"}