Merge ahh force (ahhhhh)
This commit is contained in:
Generated
+1
-1
@@ -1179,7 +1179,7 @@ checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65"
|
||||
|
||||
[[package]]
|
||||
name = "wakey"
|
||||
version = "0.1.1"
|
||||
version = "0.1.2"
|
||||
dependencies = [
|
||||
"axum",
|
||||
"axum-extra",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "wakey"
|
||||
version = "0.1.1"
|
||||
version = "0.1.2"
|
||||
edition = "2024"
|
||||
publish = ["gitea"]
|
||||
|
||||
|
||||
+1
-1
@@ -54,7 +54,7 @@ This folder has small helpers for build, CI, and router install. Keep it simple;
|
||||
## Local build/install (manual path)
|
||||
|
||||
```powershell
|
||||
# Build
|
||||
# Build
|
||||
cargo build --release --target armv7-unknown-linux-musleabihf
|
||||
|
||||
# Package rootfs
|
||||
|
||||
@@ -7,19 +7,25 @@
|
||||
# Default-Stop:
|
||||
# Short-Description: Pre-flight Tailscale update
|
||||
|
||||
START=50 # Run before Tailscale (typically START~80)
|
||||
USE_PROCD=1
|
||||
START=50 # Run before Tailscale (typically START~80)
|
||||
|
||||
start_service() {
|
||||
procd_open_instance
|
||||
procd_set_param command /bin/sh -c \
|
||||
'while ! /etc/ldlda_help/update_tailscale.sh; do sleep 5; done'
|
||||
# procd_set_param respawn 0 0 0
|
||||
procd_set_param stdout 1
|
||||
procd_set_param stderr 1
|
||||
procd_close_instance
|
||||
}
|
||||
start() {
|
||||
LOGFILE=/var/log/update_tailscale.log
|
||||
MAX_RETRIES=10
|
||||
RETRY_COUNT=0
|
||||
|
||||
stop_service() {
|
||||
: # one-shot
|
||||
# shellcheck disable=SC2016
|
||||
nohup sh -c '
|
||||
while [ "$RETRY_COUNT" -lt "$MAX_RETRIES" ]; do
|
||||
if fn; then
|
||||
echo "[update_tailscale] Success at $(date)" >>"$LOGFILE"
|
||||
exit 0
|
||||
fi
|
||||
RETRY_COUNT=$((RETRY_COUNT + 1))
|
||||
echo "[update_tailscale] Retry $RETRY_COUNT at $(date)" >>"$LOGFILE"
|
||||
sleep 5
|
||||
done
|
||||
echo "[update_tailscale] Too many retries. Exiting at $(date)" >>"$LOGFILE"
|
||||
exit 1
|
||||
' >>"$LOGFILE" 2>&1 &
|
||||
}
|
||||
|
||||
@@ -1,25 +1,23 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
START=66
|
||||
USE_PROCD=1
|
||||
|
||||
# reboot == new file.
|
||||
FLAG=/var/wakey_updated.flag
|
||||
start() {
|
||||
LOGFILE=/var/log/update_wakey.log
|
||||
MAX_RETRIES=10
|
||||
RETRY_COUNT=0
|
||||
|
||||
start_service() {
|
||||
[ -f "$FLAG" ] && return
|
||||
|
||||
procd_open_instance
|
||||
procd_set_param command /bin/sh -c \
|
||||
'while ! /etc/ldlda_help/update_wakey.sh; do sleep 5; done'
|
||||
procd_set_param stdout 1
|
||||
procd_set_param stderr 1
|
||||
procd_close_instance
|
||||
}
|
||||
|
||||
stop_service() {
|
||||
: # no-op
|
||||
}
|
||||
|
||||
post_service() {
|
||||
touch "$FLAG"
|
||||
# shellcheck disable=SC2016
|
||||
nohup sh -c '
|
||||
while [ "$RETRY_COUNT" -lt "$MAX_RETRIES" ]; do
|
||||
if /etc/ldlda_help/update_wakey.sh; then
|
||||
echo "[update_wakey] Success at $(date)" >>"$LOGFILE"
|
||||
exit 0
|
||||
fi
|
||||
RETRY_COUNT=$((RETRY_COUNT + 1))
|
||||
echo "[update_wakey] Retry $RETRY_COUNT at $(date)" >>"$LOGFILE"
|
||||
sleep 5
|
||||
done
|
||||
echo "[update_wakey] Too many retries. Exiting at $(date)" >>"$LOGFILE"
|
||||
exit 1
|
||||
' >>"$LOGFILE" 2>&1 &
|
||||
}
|
||||
|
||||
@@ -22,4 +22,4 @@ for p in $pids; do
|
||||
done
|
||||
[ -z "$remain" ] || kill -KILL "$remain" 2>/dev/null || true
|
||||
|
||||
exit 0
|
||||
exit 0
|
||||
|
||||
@@ -8,6 +8,11 @@ elif [ -f /rom/etc/resolv.conf ]; then
|
||||
cp -af /rom/etc/resolv.conf /etc/resolv.conf
|
||||
fi
|
||||
|
||||
if [ -x "$(which tailscale)" ]; then
|
||||
tailscale update
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 1. Fetch the latest version number from Tailscale's site
|
||||
LATEST=$(curl -s https://pkgs.tailscale.com/stable/ | grep -Eo 'tailscale_[0-9\.]+_arm.tgz' | head -n1)
|
||||
|
||||
@@ -20,7 +25,6 @@ URL="https://pkgs.tailscale.com/stable/${LATEST}"
|
||||
|
||||
cd /var/tmp
|
||||
|
||||
|
||||
if [ -f "$LATEST" ]; then
|
||||
echo "file exists"
|
||||
rm "$LATEST"
|
||||
|
||||
@@ -15,13 +15,18 @@
|
||||
|
||||
set -eu
|
||||
|
||||
# reboot == new file.
|
||||
FLAG=/var/wakey_updated.flag
|
||||
ARCH=${WAKEY_ARCH:-armv7-unknown-linux-musleabihf}
|
||||
TMPDIR="/var/tmp"
|
||||
TMPFILE="$TMPDIR/wakey-rootfs.$$.$ARCH.tgz"
|
||||
STAGING="$TMPDIR/wakey-rootfs.$$.$ARCH"
|
||||
|
||||
log() { echo "[update_wakey] $*"; }
|
||||
fail() { echo "[update_wakey] ERROR: $*" >&2; exit 1; }
|
||||
fail() {
|
||||
echo "[update_wakey] ERROR: $*" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
http_get() {
|
||||
# http_get <url>
|
||||
@@ -65,13 +70,14 @@ latest_asset_url() {
|
||||
API="https://$HOST/api/v1/repos/$OWNER/$REPO/releases/latest"
|
||||
RESP=$(http_get "$API") || return 1
|
||||
# Extract the first browser_download_url ending with our ARCH .tgz (BusyBox-friendly)
|
||||
echo "$RESP" \
|
||||
| grep -o '"browser_download_url"[[:space:]]*:[[:space:]]*"[^"]*'"$ARCH"'\.tgz"' \
|
||||
| head -n1 \
|
||||
| cut -d '"' -f 4
|
||||
echo "$RESP" |
|
||||
grep -o '"browser_download_url"[[:space:]]*:[[:space:]]*"[^"]*'"$ARCH"'\.tgz"' |
|
||||
head -n1 |
|
||||
cut -d '"' -f 4
|
||||
}
|
||||
|
||||
main() {
|
||||
[ -f "$FLAG" ] && return
|
||||
URL="${WAKEY_TGZ_URL:-}"
|
||||
if [ -z "$URL" ]; then
|
||||
HOST=${WAKEY_HOST:-git.ldlda.com}
|
||||
@@ -109,7 +115,7 @@ main() {
|
||||
for f in \
|
||||
"$STAGING/etc/init.d/"* \
|
||||
"$STAGING/etc/ldlda_help/"*.sh \
|
||||
"$STAGING/root/.bin/"*.sh ; do
|
||||
"$STAGING/root/.bin/"*.sh; do
|
||||
[ -f "$f" ] && sed -i 's/\r$//' "$f" 2>/dev/null || true
|
||||
done
|
||||
|
||||
@@ -123,6 +129,7 @@ main() {
|
||||
/etc/init.d/wakey enable || true
|
||||
/etc/init.d/wakey restart || /etc/init.d/wakey start || true
|
||||
fi
|
||||
touch "$FLAG"
|
||||
log "done"
|
||||
}
|
||||
|
||||
|
||||
@@ -14,7 +14,10 @@ if [ -z "$BIN_TMP" ] || [ -z "$DEST" ]; then
|
||||
exit 2
|
||||
fi
|
||||
|
||||
[ -f "$BIN_TMP" ] || { echo "tmp binary not found: $BIN_TMP" >&2; exit 1; }
|
||||
[ -f "$BIN_TMP" ] || {
|
||||
echo "tmp binary not found: $BIN_TMP" >&2
|
||||
exit 1
|
||||
}
|
||||
chmod +x "$BIN_TMP" || true
|
||||
|
||||
if [ "$RESTART" = "1" ]; then
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
use axum::Json;
|
||||
use axum::http::StatusCode;
|
||||
use axum::response::IntoResponse;
|
||||
|
||||
+2
-2
@@ -1,11 +1,11 @@
|
||||
use crate::{
|
||||
arpparse::{NUDState},
|
||||
arpparse::NUDState,
|
||||
utils::parse::{de_many, serialize_macs},
|
||||
};
|
||||
use axum::{Json, http::StatusCode, response::IntoResponse};
|
||||
use axum_extra::extract::Query;
|
||||
use macaddr::MacAddr;
|
||||
use serde::{Serialize, Deserialize};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use serde_with::skip_serializing_none;
|
||||
use std::collections::HashSet;
|
||||
use std::net::IpAddr;
|
||||
|
||||
+1
-4
@@ -1,9 +1,6 @@
|
||||
use std::net::IpAddr;
|
||||
|
||||
use axum::{
|
||||
http::header,
|
||||
response::IntoResponse,
|
||||
};
|
||||
use axum::{http::header, response::IntoResponse};
|
||||
use macaddr::MacAddr;
|
||||
|
||||
use crate::{arpparse::NUDState, route::DeviceQuery, utils::query::dev::has_dev};
|
||||
|
||||
Reference in New Issue
Block a user