diff --git a/fish-config/functions/mslab-tunnel.fish b/fish-config/functions/mslab-tunnel.fish
index 4562df5869871efe6a09af7e4d2a1d991c426685..49d13f111ac3b97ac8608ebcdca053c9ff3718cd 100644
--- a/fish-config/functions/mslab-tunnel.fish
+++ b/fish-config/functions/mslab-tunnel.fish
@@ -1,5 +1,5 @@
 function mslab-tunnel
-    if test (count $argv) != 0 ; and $argv[1] = b
+    if test (count $argv) != 0 ; and test $argv[1] = b
         ssh -L 30627:127.0.0.1:30627 -Nf msbackup.recolic
     else
         ssh -L 30627:127.0.0.1:30627 -Nf ms.recolic
diff --git a/fish-config/functions/nupkg-repak.fish b/fish-config/functions/nupkg-repak.fish
new file mode 100644
index 0000000000000000000000000000000000000000..0313f74070b7e155b63820773868fa4eedfe7e30
--- /dev/null
+++ b/fish-config/functions/nupkg-repak.fish
@@ -0,0 +1,9 @@
+function nupkg-repak
+set nu $argv[1]
+mkdir -p $nu.wd ; cd $nu.wd
+unzip ../$nu ; or unzip $nu ; or return 1
+cd content/Redist
+rm remote/*.lib ; rm remote/*.pdb ; cd ..
+zip -r r.zip Redist ; or return 2
+echo "DONE. CHECK r.zip"
+end
diff --git a/mybin/alliant-toolkit.sh b/mybin/alliant-toolkit.sh
index 49b4851d7785bcd08197e053dcb0f405f6f7fa74..7a5615445f19a012f507938204541fbcbab13c78 100755
--- a/mybin/alliant-toolkit.sh
+++ b/mybin/alliant-toolkit.sh
@@ -134,12 +134,11 @@ function alliant_oneclick () {
     [[ ! -f $fname ]] || [[ $budget_cny = "" ]] && echo "
 Prog Usage:
 1. Export Alliant 60d history as CSV file
-2. Download Alliant statement
-3. Delete all unrelated Tx from CSV file (DO NOT delete the title line)
-4. Run this script like
+2. Delete all unrelated Tx from CSV file (DO NOT delete the title line)
+3. Run this script like
      alliant_oneclick 1.csv 7000
-5. Visual check: check if month_txt is correct
-6. Send HTML as email
+4. Visual check: check if month_txt is correct
+5. Send HTML as email
 " && exit 1
 
     ## start working
diff --git a/mybin/rrdp b/mybin/rrdp
index cfcc090d021ed6177033829509a9e2655ff78936..1b71a2ca67b0c8df69338dff9e9352e0e7df7e5f 100755
--- a/mybin/rrdp
+++ b/mybin/rrdp
@@ -25,6 +25,7 @@ host16   |local\Administrator|sh://rsec OVL_HOST_RDP|10.10.18.31
 host18   |local\Administrator|sh://rsec OVL_HOST_RDP|10.10.18.29
 host32   |local\Administrator|sh://rsec OVL_HOST_RDP|10.10.10.94
 host33   |local\Administrator|sh://rsec OVL_HOST_RDP|10.10.10.92
+hosttm   |local\Administrator|sh://rsec OVL_HOST_RDP|10.10.21.28
 host1030 |local\Administrator|sh://rsec OVL_HOST_RDP|10.10.10.37
 host2021 |local\Administrator|sh://rsec OVL_HOST_RDP|10.10.15.30
 kedardbg |local\Administrator|sh://rsec OVL_HOST_RDP|10.10.12.79
diff --git a/mybin/rwatchdog.sh b/mybin/rwatchdog.sh
index b98a62d284801a9890fce9ee7e8b9ec39a736c61..cdb1976bd51534c69f1d91f26a0fa5d31f2f26c0 100755
--- a/mybin/rwatchdog.sh
+++ b/mybin/rwatchdog.sh
@@ -90,8 +90,8 @@ function low_battery_check_cron () {
         _alarm hard "battery lower than 20"
         return
     fi
-    if [[ "$bat_percent" -lt 50 ]]; then
-        _alarm soft "battery lower than 50"
+    if [[ "$bat_percent" -lt 40 ]]; then
+        _alarm soft "battery lower than 40"
         return
     fi
 }
diff --git a/rflog.h b/rflog.h
index 9fb1ac8b8cc488d095015cac6c2b22661ae3eaa7..88769a49f7b57e193f5f8d8da3b9da31e7be71ad 100644
--- a/rflog.h
+++ b/rflog.h
@@ -1,4 +1,5 @@
 // GPT-4o generated. NOT thread safe.
+// v2502.1
 #ifndef SIMPLE_LOGGER_H
 #define SIMPLE_LOGGER_H