secure chat addon and stun
This commit is contained in:
1 parent
b998a85d7e
commit
e42358d04c
1560 files changed
+293927
-32
No files matched your search
Executable
+105
@@ -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
|
||||
Reference in new issue
Block a user