Skip to content

SaptarshiSarkar12/EdgeUpdateService

EdgeUpdateService (EUS)

Release Version License Total No. Of Downloads of EdgeUpdateService

GitHub Stargazers for EdgeUpdateService Follow us on Twitter Discord Server


Overview

EdgeUpdateService (EUS) is a robust, Java-based program designed to automate the update process for Microsoft Edge on Linux. Instead of manually checking and installing updates, EUS ensures your Edge browser is always up to date by seamlessly integrating with your system’s startup routine. Tested on Ubuntu amd64, it leverages systemd to start automatically with your network connection, so updates occur without any manual intervention.

Note

Currently, EUS supports updates for only the Beta channel of Microsoft Edge. Contributions are welcome to extend support to other channels.

Why Use EUS?

  • Automated Efficiency: Say goodbye to manual updates. EUS checks for the latest releases and automatically upgrades your Edge browser once per login, ensuring you always have the most current version without any extra effort.
  • Seamless Integration: Running as a native systemd service, EUS fits effortlessly into your environment, ensuring reliable operation right from system boot.
  • Transparent Operation: With clear status outputs and detailed logs, you can monitor the update process using standard system tools like systemctl and journalctl.
  • Minimal Configuration: Designed with simplicity in mind, EUS requires only a few steps to install and enable, freeing you to focus on your work without worrying about browser updates.

Note

This service does not manage the acceptance of the terms and conditions of Microsoft Edge. It solely automates the update process; users remain responsible for the initial acceptance of Edge’s terms.

Demo

EUS Demo

Installation

  1. Download the eus executable from the release page and put the binary in /usr/bin directory.
  2. Run this command with elevated privileges: sudo eus -gs to install and enable the EUS service file. Generate Service
  3. EUS service will be enabled and started automatically at startup time when the network connection starts up.

Usage

Available commands:

  • eus [ --help | -h ]: Display help. Help Command
  • eus [ --version | -v ]: Display version.
  • eus [ --uninstall-eus | -u ]: Uninstall everything related to EUS excluding the binary which you need to remove manually. This command requires admin permissions (sudo).
  • eus [ --generate-service | -gs ]: Installs and enables the EUS service. This command requires admin permissions (sudo).
  • eus (with no arguments): Check for Edge updates and install if available. This command also requires admin permissions (sudo).

For EUS service, below are some examples of how

  • To manually start the service, run sudo systemctl start edge-update.service.
  • To stop the service, run sudo systemctl stop edge-update.service.
  • To disable the service, run sudo systemctl disable edge-update.service.
  • To enable the service, run sudo systemctl enable edge-update.service.

Troubleshooting

  • If the service is not working, check the logs by running sudo journalctl -u edge-update.service. Journalctl Logs
  • If the service is not starting, check the status by running sudo systemctl status edge-update.service. Systemctl Status
  • If the service is not updating the Edge browser, check the logs by running sudo journalctl -xeu edge-update.service. Journalctl Error Logs

Uninstallation

  1. Run this command with sudo privileges: eus -u to disable and remove the EUS service file. Uninstall EUS
  2. Remove the binary from /usr/bin directory.

Tech Stack

The project is built using the following technologies:

Building from source

Note

You need to have JDK 23 and GraalVM installed on your machine to build the project. You must set GRAALVM_HOME environment variable to the path of GraalVM.

  1. Clone the repository.
  2. Run mvn clean install to build the project.
  3. Run mvn -P build-binary package to build the binary. A binary named eus will be created in the target directory.
  4. Follow the installation steps to install the binary.

Tip

If you have changed the source code and want to build a new binary, it is recommended to run mvn -P generate-graalvm-metadata exec:exec@java-agent before building the binary. This command will generate the GraalVM metadata required for the binary.

Contributing

Contributions are welcome! Please read the contributing guidelines before submitting a pull request.