MercuryAlloy is an automation tool designed to streamline the build process for the Mercury web browser, an optimized fork of Mozilla Firefox. Through a series of Linux shell scripts, MercuryAlloy enables automatic checking for source code updates, rebuilding of the web browser upon updates, and custom actions for file management and notifications.
- Automatic Updates: Utilizes
autobuild.sh
to check for source code updates every 3 hours and rebuild the Mercury web browser when updates are detected. - Customizable Post-Build Actions: Includes
move_files.sh
andalert.sh
scripts for custom file management and notifications after a successful build. - MercuryOverrides Directory: Contains overridden files to customize the Mercury web browser build.
- Environment Configuration: Uses a
.env
file for easy setup of necessary paths to Mozilla and Mercury source code directories.
- Linux operating system with shell environment
- Git for cloning repositories
- Necessary build tools for compiling Firefox
- See the dependencies requirements for Mercury
- Clone the Mercury Repository: Start by cloning the Mercury repository to your local machine.
git clone https://github.com/Alex313031/Mercury.git
- Initialize the Mercury Repository: Run
bootstrap.sh
within the cloned Mercury repository to prepare it for building.cd [Mercury Repository Directory] ./bootstrap.sh
- Configure MercuryAlloy:
- Clone the MercuryAlloy repository to your local machine.
- Edit the
.env
file within MercuryAlloy to point to your cloned Mercury repository and your Mozilla source code directory.
- (Optional) Configure
autobuild.sh
as a Service:- Follow the instructions in the provided example service file, paying special attention to manually exposing environment variables necessary for the service context.
- move_files.sh: Fill in with your logic to move the compiled executable to a desired location, such as a web host.
- alert.sh: Implement your custom logic to send a notification when the build completes successfully.
When configuring autobuild.sh
as a service, ensure that all required environment variables are exposed to the service. This may require manual configuration, as the service's execution context differs from the user's shell environment.
Contributions to MercuryAlloy are welcome! This project started as a personal endeavor to learn more about building browsers from source with the goal of relieving some of the pain points of aquiring new browser versions. Please submit pull requests or open issues for any enhancements, bug fixes, or improvements.
MercuryAlloy is open source and available under [MPL-2.0 license]. See the LICENSE file for more details.
- Mozilla for the Firefox browser, which serves as the foundation for the Mercury web browser.
- The Mercury team for their optimized fork of Firefox, enabling enhanced web browsing experiences.