Files
Mycelium-ui-private/release/README.md
syoul 8b83fc10d5 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.
2026-04-27 01:37:07 +02:00

50 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Releases — Mycellium UI Private
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-private_0.1.0_amd64.deb
```
`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.
Tested on Debian 12 (bookworm) and Debian 13 (trixie).
## Verify
```bash
sha256sum -c SHA256SUMS
```
## What's inside
| Path | Purpose |
|---|---|
| `/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, 264 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-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.