Expand local_machine docs and automation for connectivity, games, and ops.

Add proxy/VPN/telegram launchd and emergency runbooks; reorganize apps docs;
document JA3 CrossOver runbook and Wine troubleshooting; add GOG/HoMM game
scripts, disk cleanup guides, and gitea push-via-proxy helper. Ignore temp/.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
ahauimix
2026-06-01 08:12:19 +03:00
parent a39ef89125
commit 1938b7c743
135 changed files with 9933 additions and 388 deletions

View File

@@ -0,0 +1,48 @@
#!/usr/bin/env bash
set -euo pipefail
GOG_DIR="$(cd "$(dirname "$0")" && pwd)"
# shellcheck source=config.sh
source "${GOG_DIR}/config.sh"
# shellcheck source=wine-fonts.sh
source "${GOG_DIR}/wine-fonts.sh"
CACHE="${GAMES_CACHE_DIR}/corefonts"
FONTS="${BOTTLE_DIR}/drive_c/windows/Fonts"
cmd_fetch() {
local name="$1" url="$2"
mkdir -p "${CACHE}"
if [[ -f "${CACHE}/${name}" ]] && [[ "$(wc -c <"${CACHE}/${name}")" -gt 10000 ]]; then
return 0
fi
echo "Скачиваю ${name}"
curl -fsSL --retry 3 -o "${CACHE}/${name}" "${url}" || return 1
}
cmd_extract_cab() {
local cab="$1" out="${CACHE}/extract-${2:-x}"
rm -rf "${out}"
mkdir -p "${out}"
cabextract -d "${out}" "${cab}"
find "${out}" -iname '*.ttf' -exec cp -n {} "${FONTS}/" \;
}
gog_wine_check
command -v cabextract >/dev/null || { echo "brew install cabextract"; exit 1; }
mkdir -p "${FONTS}" "${CACHE}"
cmd_fetch andale32.exe "https://downloads.sourceforge.net/corefonts/andale32.exe" \
|| cmd_fetch andale32.exe "https://ftp.debian.org/debian/pool/contrib/m/msttcorefonts/andale32.exe" || true
cmd_fetch arial32.exe "https://downloads.sourceforge.net/corefonts/arial32.exe" \
|| cmd_fetch arial32.exe "https://ftp.debian.org/debian/pool/contrib/m/msttcorefonts/arial32.exe" || true
cmd_fetch times32.exe "https://downloads.sourceforge.net/corefonts/times32.exe" \
|| cmd_fetch times32.exe "https://ftp.debian.org/debian/pool/contrib/m/msttcorefonts/times32.exe" || true
for cab in andale32.exe arial32.exe times32.exe; do
[[ -f "${CACHE}/${cab}" ]] && [[ "$(wc -c <"${CACHE}/${cab}")" -gt 10000 ]] \
&& cmd_extract_cab "${CACHE}/${cab}" "${cab%.exe}" || true
done
gog_wine_ensure_fonts 1
touch "${BOTTLE_DIR}/.gog_corefonts_installed"
echo "OK: corefonts в GOG bottle ($(ls "${FONTS}" | wc -l | tr -d ' ') файлов)"