discord-autoupdate-secure
discord-autoupdate-secure makes the Linux Discord client behave like a trusted, self-updating application: every launch verifies the transport, checksums the .deb, installs only if it matches Discord’s own digest, and then hands control back to the regular app. It also ships with a shortcut bootstrapper so the stock “Discord” icon routes through this hardened updater. Source is hosted on GitHub at https://github.com/curvedinf/discord-autoupdate-secure.
Quick start (recommended flow)
-
Install the CLI (isolated)
Use pipx (preferred):pipx install discord-autoupdate-secure
Or pip in user mode:
pip install --user discord-autoupdate-secure
Installing into system site-packages with
sudo pipis discouraged. -
Bootstrap the desktop shortcut (installs Discord if needed)
discord-autoupdate-secure --bootstrapThis installs Discord when missing and rewrites the launcher for the current user. Run once per user account; the pip install step does not touch desktop files.
-
Launch Discord normally
Use your desktop’s Discord shortcut as usual. It now runsdiscord-autoupdate-securefirst, which checks for updates, elevates when approved, installs if required, and finally launches Discord.
What the bootstrapper changes
Running --bootstrap drops a managed discord.desktop into ~/.local/share/applications:
- The tool clones the current Discord desktop entry when possible so icons, categories, translations, and Flatpak/Snap flags remain intact.
- Only the
Exec=line is rewritten to point atdiscord-autoupdate-secure; any original command-line options are preserved. - Existing user-level entries are backed up as
discord.desktop.bak,.bak1, etc. so you can revert if needed. - If Discord is not installed yet, the bootstrapper downloads and installs the latest
.debfirst so the icon and desktop metadata exist before rewriting the launcher. - Menus that honor the FreeDesktop spec (GNOME, Xfce/Xubuntu, KDE Plasma, Cinnamon, Budgie, etc.) automatically pick up the change. Reopen your menu or log out/in if you don’t see the new entry immediately.
- Re-run
discord-autoupdate-secure --bootstrapwhenever you want to refresh or repair the shortcut.
Everyday commands
| Command | Purpose |
|---|---|
discord-autoupdate-secure |
Check for updates, install if needed, then launch Discord. |
discord-autoupdate-secure --update |
Update Discord only; do not launch afterward. |
discord-autoupdate-secure --check |
Print installed vs. latest versions without installing. |
discord-autoupdate-secure --bootstrap |
(Re)install the managed desktop shortcut for the current user. |
During an update the tool uses Tk to confirm you actually want to elevate. Redirects that leave Discord-owned domains or downloads that fail the MD5 digest published by Discord are rejected with an explanation.
Troubleshooting
- “Could not find Discord executable.” The CLI expects
discord(orDiscord) in yourPATH. If you installed via Snap/Flatpak, ensure the binary is exposed or edit the desktop file to point to the wrapper you use. - “Refusing untrusted download host.” Captive portals and filtering proxies sometimes rewrite the download URL. Retry on a trusted connection and make sure
discord.comresolves correctly. - Checksum mismatch / dpkg failure. The
.debmay have changed mid-download or your package database is in a bad state. Rundiscord-autoupdate-secure --updatefrom a terminal to see full logs, then inspect/var/log/apt/term.log. - Desktop icon didn’t change. Run
discord-autoupdate-secure --bootstrapagain, then refresh your desktop database viaupdate-desktop-database ~/.local/share/applicationsor log out/in.
Contributing & support
Pull requests and issues are welcome on GitHub (https://github.com/curvedinf/discord-autoupdate-secure). Please include:
- Distribution and desktop environment.
- The exact command you ran plus the console output (scrub secrets).
- Whether the failure happened before or after privilege escalation.
Contributions that expand verification coverage or add reliable tests are especially valuable.
Metadata
Release files for discord-autoupdate-secure 1.4.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| discord_autoupdate_secure-1.4.2.tar.gz | 9.3 kB | Without provenance | Details for discord_autoupdate_secure-1.4.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| discord_autoupdate_secure-1.4.2-py3-none-any.whl | Python 3 | none | any | Details for discord_autoupdate_secure-1.4.2-py3-none-any.whl |
Total release size: 19.2 kB
Release files / discord_autoupdate_secure-1.4.2.tar.gz
| Download URL | discord_autoupdate_secure-1.4.2.tar.gz |
|---|---|
| Size | 9.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
de68b3ae5d9626653e61d47532dd6d9ac7cdec91e7eb42132b7892af3933fc9c
|
|
BLAKE2b-256 checksum How to use checksums |
df6843281b8ead87fe09ee1cef87b2629d8df2d367946a1441d5c67f12c94bd5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / discord_autoupdate_secure-1.4.2-py3-none-any.whl
| Download URL | discord_autoupdate_secure-1.4.2-py3-none-any.whl |
|---|---|
| Size | 9.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3dd1644ef16b57dbc04d2de45f6eea67ac55972c26a79047788a58b5afda6649
|
|
BLAKE2b-256 checksum How to use checksums |
0827399d1968a09a6170f79821d3e075fb9d05fe3b6b0cd246b3653b9a11455b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Security for discord-autoupdate-secure 1.4.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.