55c7cfd52b
Some checks failed
MacOS - x64 DMG Build / build (20) (push) Has been cancelled
Lint Test / build (20) (push) Has been cancelled
Linux - AppImage Build / build (20) (push) Has been cancelled
Linux - x86_64 RPM Build / build (20) (push) Has been cancelled
Linux - x64 DEB Build / build (20) (push) Has been cancelled
MacOS Build / build (20) (push) Has been cancelled
Windows Build / build (20) (push) Has been cancelled
|
||
---|---|---|
.github | ||
.vscode | ||
app | ||
e2e | ||
src | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc.json | ||
.gitignore | ||
.node-version | ||
.npmrc | ||
_config.yml | ||
angular.json | ||
angular.webpack.js | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
donate.png | ||
donate_btc.png | ||
donate_wow.png | ||
electron-builder.json | ||
electron-installer-debian.json | ||
electron-installer-redhat.json | ||
electron-installer-windows.json | ||
HOW_TO.md | ||
jest.config.js | ||
LICENSE.md | ||
monerod-gui-demo.mp4 | ||
package-lock.json | ||
package.json | ||
README.md | ||
tsconfig.json | ||
tsconfig.serve.json |
Introduction
Monerod GUI is a desktop application that provides a graphical user interface (GUI) for installing, updating, and interacting with the Monero daemon (monerod
). This tool simplifies the process of managing a full Monero node, enabling users to run, configure, and monitor monerod
without needing to use the command line.
Demo
https://github.com/user-attachments/assets/c4a50d2f-5bbb-48ac-9425-30ecc20ada7c
Features
1. Simple Monerod Setup
- Automatically downloads and installs the latest version of
monerod
based on your operating system (Windows, macOS, Linux). - Provides configuration options for running
monerod
with custom parameters (e.g., enabling testnet, fast block sync, blockchain pruning).
2. Seamless Updates
- Automatically checks for new
monerod
releases. - One-click updates to the latest version, keeping your node secure and up-to-date.
3. Interactive Control Panel
- Start, stop, and monitor the status of the Monero daemon from an intuitive control panel.
- Configure important
monerod
settings like RPC access, logging level, concurrency, and more from the GUI.
4. Real-Time Log Monitoring
- Displays real-time
monerod
logs in a clean, readable format, helping users track sync progress, transactions, and errors. - Offers log filtering for easier monitoring of specific events or errors.
5. Network and Connectivity Monitoring
- Detects whether your current connection is over Wi-Fi and provides feedback on network stability.
- Supports external bind confirmations and allows for easy configuration of RPC access control for enhanced security.
6. Cross-Platform Support
- Monerod GUI automatically detects the operating system and selects the appropriate
monerod
version to download. - Available for Windows, macOS, and Linux.
7. Customizable Installation
- Users can choose the installation directory for
monerod
, allowing for greater flexibility in managing the software on different systems.
Usage
- On the first run, Monerod GUI will detect your operating system and prompt you to download the appropriate version of
monerod
. - Once installed, you can start the Monero daemon with one click and configure various settings like testnet mode, fast sync, and more.
- Monitor real-time logs to keep track of blockchain synchronization and transaction details.
To Do
- Upgrade Electron to latest version
- Upgrade Angular to latest version
- Implement e2e tests
- Detect wired/Wi-Fi connection
- Detect battery/ac power
- Detect preinstalled
monerod
- Linux
- Windows
- MacOs
- Automatic startup at login
- Linux
- Windows
- MacOS
- Installers
- Linux
- Windows
- MacOS
- Packages
- deb
- rpm
- exe
- msi
- dmg
- pkg
- flatpack
- snap
- Import/export
monerod.conf
node configuration - Synchronization in a specific time slot
- Prompt user access control for administration operation
- Check for new versions of the GUI
- Wallet RPC management
- Blockchain tools
- Private testnet
- Import blockchain
- Export blockchain
- Prune blockchain
- Blockchain explorer
- Blockchain ancestry
- Blockchain stats
- Blockchain usage
- Blockchain depth
- Mining tools
- Calculator
- XMRig integration
- P2Pool integration
- Network tools
- Generate SSL certificate
- Tor integration
- I2P integration
- Automatic malicious node detection
- Remote node management
- No CORS connection
- SSH connection
- Move to Tauri
- Port and upgrade
battery-level
dependency - Light Wallet Server integration
Getting Started
Clone this repository locally:
git clone https://github.com/everoddandeven/monerod-gui.git
Install dependencies with npm (used by Electron renderer process):
npm install
There is an issue with yarn
and node_modules
when the application is built by the packager. Please use npm
as dependencies manager.
Install NodeJS dependencies with npm (used by Electron main process):
cd app/
npm install
Why two package.json ? This project follow Electron Builder two package.json structure in order to optimize final bundle and be still able to use Angular ng add
feature.
Project structure
Folder | Description |
---|---|
app | Electron main process folder (NodeJS) |
src | Electron renderer process folder (Web / Angular) |
To build for development
Command | Description |
---|---|
npm run electron:local:dev |
Builds your application and start electron locally (DEV MODE) |
If you want to generate Angular components with Angular-cli , you MUST install @angular/cli
in npm global context.
Please follow Angular-cli documentation if you had installed a previous version of angular-cli
.
npm install -g @angular/cli
To build for production
Command | Description |
---|---|
npm run electron:local |
Builds your application and start electron locally |
npm run electron:build |
Builds your application and creates an app and installer for Windows |
npm run electron:build:deb |
Builds your application and creates an installer consumable for debian based operating systems |
npm run electron:build:rpm |
Builds your application and creates an installer consumable for redhat based operating systems |
npm run electron:build:mac |
Builds your application and creates an installer consumable for MacOS |
Your application is optimised. Only /dist folder and NodeJS dependencies are included in the final bundle.
E2E Testing
E2E Test scripts can be found in e2e
folder.
Command | Description |
---|---|
npm run e2e |
Execute end to end tests |
Note: To make it work behind a proxy, you can add this proxy exception in your terminal
export {no_proxy,NO_PROXY}="127.0.0.1,localhost"
Debug with VsCode
VsCode debug configuration is available! In order to use it, you need the extension Debugger for Chrome.
Then set some breakpoints in your application's source code.
Finally from VsCode press Ctrl+Shift+D and select Application Debug and press F5.
Please note that Hot reload is only available in Renderer process.
Donating
Please consider donating to support the development of this project.
Monero
84Q1SdQgFWaEWRn5KcvSPCQUa3NF39EJ3HPCTaiM86RHLLftqgTZpkP24jXrK5YpeedWbQAjHcFcDLpFJfr9TypfAU7pPjA
Bitcoin
bc1qndc2lesy0sse9vj33a35pnfrqz4znlhhs58vfp
Wownero
WW33Zj3xu6EGTyKVWaz8EQZmqsTXKdK5eG7PDRaiPuJ1LyREhGHLCRDX3AaLx4r9NFCThRvsbq99KATbswJaxd3T1iwQLJ3Tw