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.
52 lines
1.5 KiB
JSON
52 lines
1.5 KiB
JSON
{
|
|
"$schema": "https://schema.tauri.app/config/2",
|
|
"productName": "Mycellium UI Private",
|
|
"version": "0.1.0",
|
|
"identifier": "tech.threefold.mycellium-ui-private",
|
|
"build": {
|
|
"beforeDevCommand": "pnpm dev",
|
|
"devUrl": "http://localhost:1420",
|
|
"beforeBuildCommand": "pnpm build",
|
|
"frontendDist": "../dist"
|
|
},
|
|
"app": {
|
|
"withGlobalTauri": false,
|
|
"windows": [
|
|
{
|
|
"label": "main",
|
|
"title": "Mycellium Private",
|
|
"width": 1100,
|
|
"height": 720,
|
|
"minWidth": 800,
|
|
"minHeight": 600,
|
|
"resizable": true
|
|
}
|
|
],
|
|
"security": {
|
|
"csp": null
|
|
}
|
|
},
|
|
"bundle": {
|
|
"active": true,
|
|
"targets": ["deb", "appimage"],
|
|
"category": "Utility",
|
|
"shortDescription": "Mycelium private network client",
|
|
"longDescription": "Desktop GUI for joining a private Mycelium overlay network — a self-contained IPv6 mesh isolated from the public Mycelium network by a shared 32-byte key.",
|
|
"icon": [
|
|
"icons/32x32.png",
|
|
"icons/128x128.png",
|
|
"icons/128x128@2x.png"
|
|
],
|
|
"externalBin": ["binaries/mycelium-private"],
|
|
"linux": {
|
|
"deb": {
|
|
"depends": ["pkexec | policykit-1"],
|
|
"files": {
|
|
"/usr/share/polkit-1/actions/tech.threefold.mycellium-ui-private.policy": "packaging/polkit/tech.threefold.mycellium-ui-private.policy",
|
|
"/usr/bin/mycellium-bootstrap-private": "packaging/mycellium-bootstrap-private"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|