Compare commits
4
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bbeea24759 | ||
|
|
2a18280863 | ||
|
|
d474447e54 | ||
|
|
15ec8f1be1 |
@@ -18,7 +18,16 @@ WORKDIR /work
|
||||
|
||||
# nssm — Non-Sucking Service Manager (public domain): macht aus der Konsolen-.exe
|
||||
# einen sauberen Windows-Dienst (die .exe selbst spricht das SCM nicht).
|
||||
RUN curl -fsSL https://nssm.cc/release/nssm-2.24.zip -o /tmp/nssm.zip \
|
||||
# nssm.cc faellt oefter aus (503) — dann Ersatz aus dem Internet Archive.
|
||||
# Beide liefern dieselbe Datei; die Pruefsumme stellt das sicher.
|
||||
ARG NSSM_SHA256=727d1e42275c605e0f04aba98095c38a8e1e46def453cdffce42869428aa6743
|
||||
RUN for url in https://nssm.cc/release/nssm-2.24.zip \
|
||||
"https://web.archive.org/web/2024id_/https://nssm.cc/release/nssm-2.24.zip"; do \
|
||||
curl -fsSL --retry 3 --retry-delay 5 --retry-all-errors "$url" -o /tmp/nssm.zip \
|
||||
&& echo "$NSSM_SHA256 /tmp/nssm.zip" | sha256sum -c - && break; \
|
||||
echo "nssm: $url fehlgeschlagen, versuche naechste Quelle" >&2; rm -f /tmp/nssm.zip; \
|
||||
done \
|
||||
&& test -f /tmp/nssm.zip \
|
||||
&& unzip -q /tmp/nssm.zip -d /tmp \
|
||||
&& cp /tmp/nssm-2.24/win64/nssm.exe ./nssm.exe \
|
||||
&& rm -rf /tmp/nssm*
|
||||
|
||||
@@ -151,7 +151,10 @@ Danach die `.env` unter `%ProgramData%\ARIA-Host-Agent\` mit RVS-Zugang +
|
||||
SKIP_WINDOWS=1 ./release_agent.sh # ohne Windows (schneller)
|
||||
```
|
||||
|
||||
Assets: `aria-host-agent-linux-x64`, `aria-host-agent-android-agent-v<v>.apk`,
|
||||
Assets: `aria-host-agent-linux-x64-v<v>.zip` (Binary + `install-service.sh` +
|
||||
systemd-Unit + `.env.example` + `LIESMICH.txt` — entpacken, `.env` anlegen, dann
|
||||
`./aria-host-agent` oder als Dienst `sudo ./install-service.sh ./.env`),
|
||||
`aria-host-agent-android-agent-v<v>.apk`,
|
||||
`aria-host-agent-windows.exe`, `aria-host-agent-windows-setup.exe`. **macOS** ist
|
||||
nicht Docker-baubar — auf einem Mac `./build-native.sh` laufen lassen und das
|
||||
Ergebnis vor dem Release nach `dist/aria-host-agent-macos` legen, dann nimmt das
|
||||
|
||||
@@ -11,8 +11,8 @@ android {
|
||||
applicationId 'de.hackersoft.ariaagent'
|
||||
minSdk 26
|
||||
targetSdk 33 // 33 vermeidet die Foreground-Service-Typ-Pflicht von 34
|
||||
versionCode 106
|
||||
versionName '0.0.1.6'
|
||||
versionCode 108
|
||||
versionName '0.0.1.8'
|
||||
}
|
||||
|
||||
// Fester Signaturschlüssel: jeder Build signiert mit DEMSELBEN Key, damit
|
||||
|
||||
@@ -162,7 +162,7 @@ OUT_MAX_CHARS_HARD = int(os.environ.get("OUT_MAX_CHARS_HARD", "200000") or "2000
|
||||
FILE_MAX_BYTES = int(os.environ.get("FILE_MAX_BYTES", str(10 * 1024 * 1024)) or str(10 * 1024 * 1024))
|
||||
|
||||
# Version (wird von release_agent.sh beim Release gesetzt).
|
||||
AGENT_VERSION = "0.0.1.6"
|
||||
AGENT_VERSION = "0.0.1.8"
|
||||
|
||||
HEARTBEAT_SEC = 25
|
||||
|
||||
|
||||
@@ -66,7 +66,10 @@ else
|
||||
fi
|
||||
|
||||
systemctl daemon-reload
|
||||
systemctl enable --now aria-host-agent
|
||||
systemctl enable aria-host-agent
|
||||
# restart statt "enable --now": bei einem Update laeuft der Dienst schon und
|
||||
# muss die NEUE Binary laden
|
||||
systemctl restart aria-host-agent
|
||||
|
||||
echo
|
||||
echo "✓ Installiert & gestartet."
|
||||
|
||||
@@ -106,6 +106,38 @@ LINUX_BIN="$SCRIPT_DIR/dist/aria-host-agent"
|
||||
[ -f "$LINUX_BIN" ] || { echo -e "${RED}Linux-Binary fehlt: $LINUX_BIN${NC}"; exit 1; }
|
||||
echo -e " ${GREEN}✓${NC} Linux-Binary ($(du -h "$LINUX_BIN" | cut -f1))"
|
||||
|
||||
# Linux-Paket: Binary + Dienst-Installer + Unit + .env-Vorlage in EINER Zip —
|
||||
# entpacken, .env anlegen, optional als Dienst installieren.
|
||||
LINUX_PKG_NAME="aria-host-agent-linux-x64-v$VERSION"
|
||||
LINUX_ZIP="$SCRIPT_DIR/dist/$LINUX_PKG_NAME.zip"
|
||||
PKG_TMP="$(mktemp -d)"
|
||||
mkdir -p "$PKG_TMP/$LINUX_PKG_NAME"
|
||||
install -m 0755 "$LINUX_BIN" "$PKG_TMP/$LINUX_PKG_NAME/aria-host-agent"
|
||||
install -m 0755 install-service.sh "$PKG_TMP/$LINUX_PKG_NAME/install-service.sh"
|
||||
install -m 0644 aria-host-agent.service "$PKG_TMP/$LINUX_PKG_NAME/aria-host-agent.service"
|
||||
install -m 0644 .env.example "$PKG_TMP/$LINUX_PKG_NAME/.env.example"
|
||||
cat > "$PKG_TMP/$LINUX_PKG_NAME/LIESMICH.txt" <<EOF
|
||||
ARIA Host-Agent $VERSION (Linux x86_64)
|
||||
|
||||
1) Zugangsdaten eintragen:
|
||||
cp .env.example .env && nano .env (RVS_HOST, RVS_PORT, RVS_TOKEN, ...)
|
||||
|
||||
2a) Einfach starten (laeuft, solange das Terminal offen ist):
|
||||
./aria-host-agent
|
||||
|
||||
2b) ODER als Dienst installieren (startet automatisch mit dem Rechner):
|
||||
sudo ./install-service.sh ./.env
|
||||
Danach: systemctl status aria-host-agent · journalctl -u aria-host-agent -f
|
||||
Update: neue Zip entpacken, nochmal sudo ./install-service.sh /etc/aria-host-agent/.env
|
||||
|
||||
Screenshots brauchen eine grafische Sitzung — als Dienst gehen sie nur mit
|
||||
DISPLAY/XAUTHORITY in der Unit (siehe aria-host-agent.service).
|
||||
EOF
|
||||
rm -f "$LINUX_ZIP"
|
||||
( cd "$PKG_TMP" && zip -qr "$LINUX_ZIP" "$LINUX_PKG_NAME" )
|
||||
rm -rf "$PKG_TMP"
|
||||
echo -e " ${GREEN}✓${NC} Linux-Paket $LINUX_PKG_NAME.zip ($(du -h "$LINUX_ZIP" | cut -f1))"
|
||||
|
||||
( cd android && ./build.sh >/dev/null )
|
||||
APK="$SCRIPT_DIR/android/dist/aria-android-agent.apk"
|
||||
[ -f "$APK" ] || { echo -e "${RED}APK fehlt: $APK${NC}"; exit 1; }
|
||||
@@ -117,18 +149,20 @@ if [ "${SKIP_WINDOWS:-0}" = "1" ]; then
|
||||
echo -e " ${YELLOW}Windows-Build uebersprungen (SKIP_WINDOWS=1)${NC}"
|
||||
else
|
||||
echo -e " ${CYAN}…${NC} Windows-.exe + setup.exe bauen (Wine, kann dauern)"
|
||||
if ./build-win.sh "$VERSION" >/dev/null 2>&1; then
|
||||
WIN_LOG="$SCRIPT_DIR/dist/build-win.log"
|
||||
if ./build-win.sh "$VERSION" >"$WIN_LOG" 2>&1; then
|
||||
echo -e " ${GREEN}✓${NC} Windows-.exe + setup.exe"
|
||||
else
|
||||
echo -e " ${YELLOW}Windows-Build fehlgeschlagen — Release laeuft ohne Windows weiter.${NC}"
|
||||
echo -e " ${YELLOW}(Einzeln testen: ./build-win.sh $VERSION)${NC}"
|
||||
echo -e " ${YELLOW}Letzte Zeilen (ganzes Log: $WIN_LOG):${NC}"
|
||||
tail -n 8 "$WIN_LOG" | sed 's/^/ /'
|
||||
fi
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# Asset-Liste aufbauen: "lokaler_pfad::asset-name"
|
||||
ASSETS=(
|
||||
"$LINUX_BIN::aria-host-agent-linux-x64"
|
||||
"$LINUX_ZIP::$LINUX_PKG_NAME.zip"
|
||||
"$APK::aria-host-agent-android-$TAG.apk"
|
||||
)
|
||||
# Native Artefakte (nur wenn vorhanden): Windows aus build-win.sh, macOS
|
||||
|
||||
Reference in New Issue
Block a user