fork: initialize Mycellium UI Private from Mycell-UI@5229e2c
This repo is a hard fork of mycellium-ui dedicated to the mycelium-private experimental track upstream. The two apps coexist on the same machine via distinct app identifiers, polkit actions, and binary names. Renames - package + crate: mycellium-ui → mycellium-ui-private - bundle identifier: tech.threefold.mycellium-ui-private - daemon binary: mycelium-private (separate upstream release tarball) - bootstrap wrapper: /usr/bin/mycellium-bootstrap-private - polkit policy file + action id Functional changes - SidecarConfig.network_name field (UTF-8, 2..=64 bytes) - start() refuses to spawn without a network name AND a 32-byte key file at app_data_dir/network_key.bin; surfaces a clear error rather than letting mycelium-private fail mid-startup - network_key_status / generate / import / export / delete commands; uses OS RNG (rand) and writes 0600 - empty default peers list (no Threefold seed for private overlays) - new Settings → Private network panel: name input, key generate / reveal-hex / import / delete, status indicator Adapted bootstrap script kills both `mycelium` and `mycelium-private` orphans (cross-clash on UDP/9650 + TCP/8990). CI workflow + sidebar branding updated. The README explains the divergence model and how to cherry-pick upstream fixes.
This commit is contained in:
@@ -1,16 +1,16 @@
|
||||
# Releases
|
||||
# Releases — Mycellium UI Private
|
||||
|
||||
Pre-built `.deb` of the mycellium-ui desktop client. Tested on Debian 12 (bookworm); should work on any apt-based distro shipping `libwebkit2gtk-4.1-0` (Ubuntu 24.04+, Debian 12+).
|
||||
Pre-built `.deb` of the private-network desktop client. Designed to coexist with the public-network variant `mycellium-ui` on the same machine (different identifier, different binary, different polkit action).
|
||||
|
||||
## Install
|
||||
|
||||
```bash
|
||||
sudo apt install ./mycellium-ui_0.1.0_amd64.deb
|
||||
sudo apt install ./mycellium-ui-private_0.1.0_amd64.deb
|
||||
```
|
||||
|
||||
`apt install` with a local path resolves runtime deps (`pkexec` or `policykit-1` depending on the distro, `libwebkit2gtk-4.1-0`, `libgtk-3-0`) automatically. Plain `dpkg -i` will fail if any of those are missing.
|
||||
`apt install` with a local path resolves runtime deps (`pkexec | policykit-1`, `libwebkit2gtk-4.1-0`, `libgtk-3-0`) automatically. Plain `dpkg -i` will fail if any of those are missing.
|
||||
|
||||
The `pkexec | policykit-1` alternative covers both Debian 12 (where `pkexec` ships inside `policykit-1`) and Debian 13 (where `pkexec` is a standalone package).
|
||||
Tested on Debian 12 (bookworm) and Debian 13 (trixie).
|
||||
|
||||
## Verify
|
||||
|
||||
@@ -22,13 +22,28 @@ sha256sum -c SHA256SUMS
|
||||
|
||||
| Path | Purpose |
|
||||
|---|---|
|
||||
| `/usr/bin/mycellium-ui` | GUI launcher |
|
||||
| `/usr/bin/mycelium` | Mycelium daemon (v0.6.1, runs as root via pkexec) |
|
||||
| `/usr/share/polkit-1/actions/tech.threefold.mycellium-ui.policy` | polkit action — auth cached per session (`auth_admin_keep`) |
|
||||
| `/usr/share/applications/Mycellium UI.desktop` | Menu entry |
|
||||
| `/usr/bin/mycellium-ui-private` | GUI launcher |
|
||||
| `/usr/bin/mycelium-private` | Mycelium daemon (private-network track, v0.6.1, runs as root via pkexec) |
|
||||
| `/usr/bin/mycellium-bootstrap-private` | Cleanup wrapper invoked by pkexec |
|
||||
| `/usr/share/polkit-1/actions/tech.threefold.mycellium-ui-private.policy` | polkit action — auth cached per session (`auth_admin_keep`) |
|
||||
| `/usr/share/applications/Mycellium UI Private.desktop` | Menu entry |
|
||||
|
||||
## First run
|
||||
|
||||
1. Open the app — sidebar pastille is grey (idle).
|
||||
2. Go to **Settings → Private network** at the top.
|
||||
3. Type a network name (UTF-8, 2–64 bytes — public, agreed with your peers).
|
||||
4. Click **Generate 32-byte key**, then **Reveal hex** to copy and share with the other nodes through a secure channel.
|
||||
5. Other nodes paste the hex into their **Import** field.
|
||||
6. In Daemon configuration, add at least one bootstrap peer.
|
||||
7. Click **Start daemon** in the sidebar — pkexec prompt the first time.
|
||||
|
||||
Without a network name AND a key file, the daemon refuses to start (the app surfaces a clear error).
|
||||
|
||||
## Uninstall
|
||||
|
||||
```bash
|
||||
sudo apt remove mycellium-ui
|
||||
sudo apt remove mycellium-ui-private
|
||||
```
|
||||
|
||||
The user data (identity key, network key) under `~/.local/share/tech.threefold.mycellium-ui-private/` is preserved across reinstall. Remove it manually if you want a fresh start.
|
||||
|
||||
Reference in New Issue
Block a user