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>
49 lines
1.8 KiB
Bash
Executable File
49 lines
1.8 KiB
Bash
Executable File
#!/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 ' ') файлов)"
|