Add Joplin, old Mac, and Fedora WiFi runbooks; simplify JA3 Whisky scripts and hotspot recovery.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
ahauimix
2026-06-19 22:26:33 +03:00
parent 1938b7c743
commit 4bc9629a09
381 changed files with 3442 additions and 773 deletions

View File

@@ -0,0 +1,72 @@
#!/bin/sh
# Локальный WebDAV для синхронизации Joplin (Mac ↔ телефон по LAN).
# Данные: ~/JoplinSync. Учётка: ~/.config/joplin-webdav/env
#
# ./joplin-webdav-serve.sh # фон
# ./joplin-webdav-serve.sh --foreground # передний план (для launchd)
set -e
CONFIG="${JOPLIN_WEBDAV_CONFIG:-$HOME/.config/joplin-webdav/env}"
LOG_DIR="$HOME/Library/Logs/joplin-webdav"
PID_FILE="$HOME/.config/joplin-webdav/rclone.pid"
SCRIPT_DIR=$(CDPATH= cd -- "$(dirname "$0")" && pwd)
mkdir -p "$LOG_DIR" "$(dirname "$PID_FILE")"
if [ ! -f "$CONFIG" ]; then
echo "Нет $CONFIG — запустите: $SCRIPT_DIR/joplin-webdav-install.sh" >&2
exit 1
fi
# shellcheck disable=SC1090
. "$CONFIG"
: "${JOPLIN_WEBDAV_USER:?}"
: "${JOPLIN_WEBDAV_PASS:?}"
: "${JOPLIN_WEBDAV_PORT:=8080}"
: "${JOPLIN_WEBDAV_ROOT:=$HOME/JoplinSync}"
mkdir -p "$JOPLIN_WEBDAV_ROOT"
RCLONE="$(command -v rclone || echo /opt/homebrew/bin/rclone)"
if [ ! -x "$RCLONE" ]; then
echo "rclone не найден. Установите: brew install rclone" >&2
exit 1
fi
run_rclone() {
exec "$RCLONE" serve webdav "$JOPLIN_WEBDAV_ROOT" \
--addr "0.0.0.0:${JOPLIN_WEBDAV_PORT}" \
--user "$JOPLIN_WEBDAV_USER" \
--pass "$JOPLIN_WEBDAV_PASS" \
--vfs-cache-mode minimal \
--log-file "$LOG_DIR/rclone.log" \
--log-level INFO
}
case "${1:-}" in
--foreground|-f)
run_rclone
;;
*)
if [ -f "$PID_FILE" ]; then
old_pid=$(cat "$PID_FILE")
if kill -0 "$old_pid" 2>/dev/null; then
echo "Уже запущен (PID $old_pid), порт ${JOPLIN_WEBDAV_PORT}"
exit 0
fi
rm -f "$PID_FILE"
fi
nohup "$0" --foreground >>"$LOG_DIR/stdout.log" 2>&1 &
echo $! >"$PID_FILE"
sleep 1
if kill -0 "$(cat "$PID_FILE")" 2>/dev/null; then
echo "WebDAV запущен (PID $(cat "$PID_FILE")), порт ${JOPLIN_WEBDAV_PORT}"
else
echo "Не удалось запустить. См. $LOG_DIR/stdout.log" >&2
rm -f "$PID_FILE"
exit 1
fi
;;
esac