secure chat addon and stun

This commit is contained in:
ariska committed 2026-07-06 08:28:58 +07:00
1 parent b998a85d7e
commit e42358d04c
1560 files changed
+293927 -32

No files matched your search

+105
View File
@@ -0,0 +1,105 @@
#!/usr/bin/env bash
# Install BackOneUI Secure Chat updater bundle onto the current system.
# Usage: sudo ./install.sh [--prefix /] [--no-restart]
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PREFIX="/"
RESTART_TRAY=1
LOG_DIR="/var/log/backone"
LOG_FILE="${LOG_DIR}/backone-ui-updater.log"
log() {
mkdir -p "$LOG_DIR" 2>/dev/null || true
echo "$(date -Iseconds) $*" | tee -a "$LOG_FILE" 2>/dev/null || echo "$(date -Iseconds) $*"
}
while [[ $# -gt 0 ]]; do
case "$1" in
--prefix)
PREFIX="${2%/}/"
shift 2
;;
--no-restart)
RESTART_TRAY=0
shift
;;
-h|--help)
echo "Usage: sudo $0 [--prefix /] [--no-restart]"
exit 0
;;
*)
echo "Unknown option: $1" >&2
exit 1
;;
esac
done
if [[ "${PREFIX}" == "/" && "${EUID}" -ne 0 ]]; then
echo "Run with sudo to install system-wide, or pass --prefix \$HOME/.local" >&2
exit 1
fi
BIN_SRC="${SCRIPT_DIR}/usr/bin/backone_desktop_ui"
DESKTOP_SRC="${SCRIPT_DIR}/usr/share/applications/backone-ui.desktop"
ENV_SRC="${SCRIPT_DIR}/usr/share/backone/backone-ui.env"
if [[ ! -x "$BIN_SRC" ]]; then
echo "Missing bundle binary: $BIN_SRC" >&2
exit 1
fi
BIN_DEST="${PREFIX}usr/bin/backone_desktop_ui"
DESKTOP_DEST="${PREFIX}usr/share/applications/backone-ui.desktop"
ENV_DEST="${PREFIX}usr/share/backone/backone-ui.env"
mkdir -p "$(dirname "$BIN_DEST")" "$(dirname "$DESKTOP_DEST")" "$(dirname "$ENV_DEST")"
if [[ -f "$BIN_DEST" ]]; then
cp -a "$BIN_DEST" "${BIN_DEST}.bak.$(date +%Y%m%d%H%M%S)"
log "Backed up existing binary to ${BIN_DEST}.bak.*"
fi
install -m 755 "$BIN_SRC" "$BIN_DEST"
install -m 644 "$DESKTOP_SRC" "$DESKTOP_DEST"
install -m 644 "$ENV_SRC" "$ENV_DEST"
log "Installed ${BIN_DEST}"
if [[ -x /usr/lib/backone/addons/webhub/backone-webhub ]]; then
if command -v systemctl >/dev/null 2>&1; then
systemctl enable backone-webhub.service 2>/dev/null || true
systemctl restart backone-webhub.service 2>/dev/null || true
log "Ensured backone-webhub.service is running"
fi
elif [[ -x "${SCRIPT_DIR}/extras/setup-webhub.sh" ]]; then
log "backone-webhub not found; run extras/setup-webhub.sh from BackOne repo"
else
log "Install backone-addon-webhub for Secure Chat signaling"
fi
if [[ -x /usr/lib/backone/addons/updater/backone-updater ]]; then
/usr/lib/backone/addons/updater/backone-updater rebuild-manifest 2>/dev/null || true
log "Rebuilt BackOne web addon manifest"
fi
if [[ "$RESTART_TRAY" -eq 1 ]]; then
pkill -f 'backone_desktop_ui' 2>/dev/null || true
sleep 0.5
if [[ -n "${DISPLAY:-}" ]]; then
# shellcheck disable=SC1091
[[ -f "$ENV_DEST" ]] && source "$ENV_DEST"
nohup "$BIN_DEST" >/tmp/backone_desktop_ui.log 2>&1 &
log "Restarted BackOneUI tray (PID $!)"
else
log "DISPLAY not set; start BackOneUI manually from your desktop session"
fi
fi
MANIFEST="${SCRIPT_DIR}/manifest.json"
VERSION="$(grep -m1 '"version"' "$MANIFEST" 2>/dev/null | sed 's/.*: *"\([^"]*\)".*/\1/' || echo unknown)"
log "BackOneUI Secure Chat updater ${VERSION} complete"
echo ""
echo "Secure Chat is available from the tray menu: Secure Chat..."
echo "Requires: backone service online, backone group membership, backone-webhub running."
@@ -0,0 +1,35 @@
{
"id": "backone-ui-secure-chat-updater",
"name": "BackOneUI Secure Chat Updater",
"description": "Upgrades an existing BackOneUI install with native Secure Chat (tray menu + libui window) and WebHub chat signaling.",
"version": "1.10.0",
"target": "linux-amd64",
"requires": [
"backone"
],
"recommends": [
"backone-addon-webhub"
],
"suggests": [
"backone-addon-secure-chat",
"backone-app-shell"
],
"features": [
"native-secure-chat",
"tray-secure-chat-menu"
],
"installs": [
{
"path": "usr/bin/backone_desktop_ui",
"mode": "755"
},
{
"path": "usr/share/applications/backone-ui.desktop",
"mode": "644"
},
{
"path": "usr/share/backone/backone-ui.env",
"mode": "644"
}
]
}
@@ -0,0 +1,5 @@
# Optional runtime library path for BackOneUI on systems without dev packages installed.
# Sourced by install.sh when restarting the tray; add to your shell profile if needed.
if [[ -d "${HOME}/backone-ui-build-deps/usr/lib/x86_64-linux-gnu" ]]; then
export LD_LIBRARY_PATH="${HOME}/backone-ui-build-deps/usr/lib/x86_64-linux-gnu:${LD_LIBRARY_PATH:-}"
fi