mirror of
https://github.com/EmiiBytee/np2kai-ps4.git
synced 2026-10-06 08:00:11 +02:00
86 lines
1.6 KiB
Bash
Executable File
86 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
usage() {
|
|
cat <<'EOF'
|
|
Uso:
|
|
./upload-pkg-goldhen-ftp.sh <IP_DE_LA_PS4> <archivo.pkg>
|
|
|
|
Ejemplo:
|
|
./upload-pkg-goldhen-ftp.sh \
|
|
192.168.1.100 \
|
|
IV0000-BREW00984_00-NP2KAIBOOTSTRAP0.pkg
|
|
|
|
Requisitos:
|
|
- FTP de GoldHEN activado
|
|
- PS4 y PC en la misma red
|
|
- curl instalado
|
|
EOF
|
|
}
|
|
|
|
if [[ $# -ne 2 ]]; then
|
|
usage
|
|
exit 1
|
|
fi
|
|
|
|
PS4_IP="$1"
|
|
PKG_PATH="$2"
|
|
PS4_PORT="${PS4_FTP_PORT:-2121}"
|
|
|
|
if [[ ! -f "$PKG_PATH" ]]; then
|
|
echo "ERROR: no existe el archivo: $PKG_PATH"
|
|
exit 1
|
|
fi
|
|
|
|
case "$PKG_PATH" in
|
|
*.pkg|*.PKG)
|
|
;;
|
|
*)
|
|
echo "ERROR: el archivo no parece ser un PKG."
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
if ! command -v curl >/dev/null 2>&1; then
|
|
echo "ERROR: curl no está instalado."
|
|
exit 1
|
|
fi
|
|
|
|
BASENAME="$(basename "$PKG_PATH")"
|
|
|
|
# Keep the remote filename deliberately plain.
|
|
SAFE_NAME="$(
|
|
printf '%s' "$BASENAME" |
|
|
sed -E 's/[^A-Za-z0-9._-]+/_/g'
|
|
)"
|
|
|
|
REMOTE_URL="ftp://${PS4_IP}:${PS4_PORT}/data/pkg/${SAFE_NAME}"
|
|
|
|
echo "PS4: ${PS4_IP}:${PS4_PORT}"
|
|
echo "Local: $PKG_PATH"
|
|
echo "Destino: /data/pkg/$SAFE_NAME"
|
|
echo
|
|
echo "Subiendo mediante FTP de GoldHEN..."
|
|
|
|
curl \
|
|
--fail \
|
|
--show-error \
|
|
--progress-bar \
|
|
--ftp-create-dirs \
|
|
--connect-timeout 10 \
|
|
--retry 2 \
|
|
--retry-delay 2 \
|
|
-T "$PKG_PATH" \
|
|
"$REMOTE_URL"
|
|
|
|
echo
|
|
echo "Transferencia terminada."
|
|
echo
|
|
echo "En la PS4:"
|
|
echo " GoldHEN > Debug Settings > Package Installer"
|
|
echo " Package Source: Hdd [ hdd:/data/pkg/ ]"
|
|
echo " Instala: $SAFE_NAME"
|
|
echo
|
|
echo "Después de instalarlo, borra el PKG de /data/pkg"
|
|
echo "para recuperar espacio."
|