Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
/multi_exodus/__pycache__
__pycache__/
*.pyc
Multi Exodus.iss
38 changes: 31 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,12 +53,22 @@ MultiExodus leverages **PIL for image handling**, **OS-level commands for wallet
* βœ… **Safety Prompts** β€” Confirmation dialogs for sensitive actions like deleting or overwriting wallets to prevent accidental loss.
* ⭐ **Auto-Updater** β€” Automatically checks for new versions, verifies integrity with SHA-256, downloads updates securely, and installs them with one click.
* πŸ–₯ **Discord RPC** β€” Show your friends that you're using MultiExodus.
* 🎨 **Color Customization** β€” Full theme system with built-in presets (Midnight, Nord, Dracula, Solarized, Ocean, Blood), a per-color picker with **live preview**, and theme **import/export** as JSON.
* 🌐 **Modern Web-App** β€” A sleek local web interface (served on `localhost` only) that reuses the same wallet logic and mirrors your desktop theme. Launch it from Settings β†’ Tools or the tray.
* ⏳ **Auto-Lock** β€” Optionally re-encrypts your wallet data and returns to the password screen after a configurable period of inactivity (only when encryption is enabled).
* πŸ“¦ **Encrypted Backups** β€” Export all (or selected) wallets to a single password-protected `.mexbak` archive and restore them anywhere. AES-256, fully local.
* 🟒 **Active Wallet Indicator** β€” Clearly highlights which saved wallet is currently loaded in Exodus.
* πŸ“ **Wallet Groups** β€” Organize wallets into buckets (Trading, Cold, DeFi…) and filter by group.
* 🧾 **Local Action Journal** β€” A private, offline audit trail of every load/delete/import/backup/lock action. Nothing is ever uploaded.
* β˜‘οΈ **Bulk Actions** β€” Multi-select wallets to delete, group, or export them all at once.
* 🧬 **Duplicate Detection** β€” Finds wallets whose data is byte-for-byte identical (the same wallet copied twice).

---

## πŸ•’ Todo (Planned Features)
* πŸŽ‰ Add **Color** Customization β€” Maybe next Update
* 🌐 Create a modern **Web-App** (Upgrade the GUI) β€” Unknown
* βœ… Add **Color** Customization β€” **Done**
* βœ… Create a modern **Web-App** (Upgrade the GUI) β€” **Done**
* πŸ—“οΈ Scheduled per-group backups β€” Maybe next Update
> πŸ’‘ View the [`TODO`](https://github.com/SwezyDev/MultiExodus/blob/main/TODO) file in this repository.

---
Expand All @@ -72,6 +82,9 @@ MultiExodus leverages **PIL for image handling**, **OS-level commands for wallet
* πŸ“‚ **F3** β€” Show Data Folder
* πŸ›œ **F4** β€” Check for Updates
* πŸ” **F5** β€” Reload Wallets
* 🧾 **F6** β€” Show Action Journal
* 🧬 **F7** β€” Find Duplicate Wallets
* πŸ” **CTRL+L** β€” Lock Now (re-encrypt & show password screen)
* πŸ‘‹ **M** β€” Show Message of Today
* πŸ”’ **P** β€” Encrypt Wallet Data
* βž• **+** β€” Add a Wallet
Expand Down Expand Up @@ -145,19 +158,30 @@ MultiExodus leverages **PIL for image handling**, **OS-level commands for wallet
β”‚ └─ title.png βž” Standard wallet preview picture
β”œβ”€ multi_exodus/ βž” Scripts that are required to run the Application
β”‚ β”œβ”€ __init__.py βž” Exposes main
β”‚ β”œβ”€ app.py βž” Main app window and event loop
β”‚ β”œβ”€ constants.py βž” Defines wallet and Exodus directory paths
β”‚ β”œβ”€ app.py βž” Main app window, event loop, auto-lock & live theming
β”‚ β”œβ”€ backup.py βž” Encrypted .mexbak backup/restore
β”‚ β”œβ”€ constants.py βž” Defines wallet and Exodus directory paths + config keys
β”‚ β”œβ”€ dialogs.py βž” Custom input dialog for user prompts
β”‚ β”œβ”€ duplicates.py βž” Detects wallets with identical data
β”‚ β”œβ”€ groups.py βž” Per-wallet group management
β”‚ β”œβ”€ info.py βž” Custom Information box
β”‚ β”œβ”€ journal.py βž” Local, offline action journal
β”‚ β”œβ”€ motd.py βž” Custom Message of the Day box
β”‚ β”œβ”€ protection.py βž” Encryption/Decryption Functions to protect Wallet Data
β”‚ β”œβ”€ rpc.py βž” Discord RPC handling
β”‚ β”œβ”€ settings.py βž” Custom Settings box to configure MultiExodus
β”‚ β”œβ”€ settings.py βž” Settings box: theme editor, auto-lock, backups, tools
β”‚ β”œβ”€ theme.py βž” Central color system (presets + custom palettes)
β”‚ β”œβ”€ toast.py βž” Windows Toast Notification handle
β”‚ β”œβ”€ tray.py βž” Tray Icon on Taskbar to control MultiExodus
β”‚ β”œβ”€ ui.py βž” Builds the scrollable wallet interface and handles UI interactions
β”‚ β”œβ”€ ui.py βž” Scrollable wallet interface (grid/list, groups, bulk select)
β”‚ β”œβ”€ update.py βž” Auto-Update Helper Functions for MultiExodus
β”‚ └─ wallet_manager.py βž” Manage, edit, and load Exodus wallets with backup support
β”‚ β”œβ”€ views.py βž” Journal & duplicate-finder popups
β”‚ β”œβ”€ wallet_manager.py βž” Manage, edit, and load Exodus wallets with backup support
β”‚ └─ webapp/ βž” Local web-app (localhost-only)
β”‚ β”œβ”€ __init__.py βž” launch() entry point
β”‚ β”œβ”€ api.py βž” Headless JSON API over the wallet logic
β”‚ β”œβ”€ server.py βž” Tiny http.server backend (token-protected actions)
β”‚ └─ static/ βž” Self-contained SPA (index.html, styles.css, app.js)
β”œβ”€ .gitignore βž” Specifies files and directories Git should ignore
β”œβ”€ LICENSE βž” License file
β”œβ”€ MultiExodus.sha256 βž” SHA256 file for Auto-Updater
Expand Down
18 changes: 16 additions & 2 deletions TODO
Original file line number Diff line number Diff line change
@@ -1,2 +1,16 @@
- Add Color Customization ⚠️
- Create a modern Web-App (Upgrade the GUI) ❓️
- Add Color Customization βœ… (theme system: presets, per-color picker, live apply, import/export)
- Create a modern Web-App (Upgrade the GUI) βœ… (local web app in multi_exodus/webapp β€” localhost only)

Newly added:
- Auto-Lock after inactivity (re-encrypts wallet data) βœ…
- Encrypted backup / restore (.mexbak archives) βœ…
- Active wallet indicator (shows which wallet is loaded in Exodus) βœ…
- Wallet groups βœ…
- Local action journal βœ…
- Bulk / multi-select actions βœ…
- Duplicate wallet detection βœ…

Ideas for later:
- Per-group backups on a schedule
- Wallet folder/subgroup nesting
- Search history & saved filters
Loading