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.
29 lines
1.3 KiB
XML
29 lines
1.3 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE policyconfig PUBLIC
|
|
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
|
|
"https://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
|
|
<policyconfig>
|
|
<vendor>Threefold</vendor>
|
|
<vendor_url>https://threefold.io</vendor_url>
|
|
|
|
<!--
|
|
Bootstrap action: covers the wrapper that cleans up orphan
|
|
mycelium state and then execs the daemon. pkexec matches the
|
|
binary path against `org.freedesktop.policykit.exec.path` to
|
|
pick this action up; auth_admin_keep then caches the auth for
|
|
the user's session so subsequent restarts don't re-prompt.
|
|
-->
|
|
<action id="tech.threefold.mycellium-ui-private.bootstrap">
|
|
<description>Run the Mycelium overlay daemon</description>
|
|
<description xml:lang="fr">Lancer le démon de l'overlay Mycelium</description>
|
|
<message>Authentication is required to start the Mycelium overlay daemon.</message>
|
|
<message xml:lang="fr">Une authentification est requise pour démarrer le démon Mycelium.</message>
|
|
<defaults>
|
|
<allow_any>auth_admin</allow_any>
|
|
<allow_inactive>auth_admin</allow_inactive>
|
|
<allow_active>auth_admin_keep</allow_active>
|
|
</defaults>
|
|
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/mycellium-bootstrap-private</annotate>
|
|
</action>
|
|
</policyconfig>
|