From 8dc578a364b6fa27f8827a6e482a2e3f29ab9d13 Mon Sep 17 00:00:00 2001 From: Cameron Thompson <50184035+iamromulan@users.noreply.github.com> Date: Sat, 1 Feb 2025 01:30:56 -0500 Subject: [PATCH 1/3] Create warp CLI wrapper - A CLI tool that uses wgcf CLI to create a directory for free and plus warp accounts - Allows profiles to install direct to luci-app-go-wireguard --- ipk-source/warp_sdxpinn/CONTROL/control | 7 + ipk-source/warp_sdxpinn/build-ipk | 74 +++++++ ipk-source/warp_sdxpinn/root/usr/bin/warp | 235 ++++++++++++++++++++++ 3 files changed, 316 insertions(+) create mode 100755 ipk-source/warp_sdxpinn/CONTROL/control create mode 100755 ipk-source/warp_sdxpinn/build-ipk create mode 100755 ipk-source/warp_sdxpinn/root/usr/bin/warp diff --git a/ipk-source/warp_sdxpinn/CONTROL/control b/ipk-source/warp_sdxpinn/CONTROL/control new file mode 100755 index 0000000..0d60dd5 --- /dev/null +++ b/ipk-source/warp_sdxpinn/CONTROL/control @@ -0,0 +1,7 @@ +Package: warp +Depends: libc, wgcf, luci-app-go-wireguard +Version: 1 +Architecture: sdxpinn +Maintainer: iamromulan +Source: github.com/iamromulan +Description: Installs the 'warp' command to help setup Cloudflare WARP on SDXPINN diff --git a/ipk-source/warp_sdxpinn/build-ipk b/ipk-source/warp_sdxpinn/build-ipk new file mode 100755 index 0000000..eb83cf6 --- /dev/null +++ b/ipk-source/warp_sdxpinn/build-ipk @@ -0,0 +1,74 @@ +#!/bin/sh + +# Script for building OpenWRT .ipk packages using tar by iamromulan +# Works with SDXPPINN OpenWRT - iamromulan +# This script accepts an optional path to the directory containing the `CONTROL` and `root` directories. +# Usage: ./build-ipk.sh [path] +# If no path is provided, the script will look in the current directory for `CONTROL` and `root` directories. +# This will spit out an ipk in the current directory + +# Check if the script is run as root. If not, rerun with sudo. +if [ "$(id -u)" -ne 0 ]; then + echo "Script is not running as root. Re-executing with sudo..." + exec sudo "$0" "$@" +fi + +# Set the default build path to the current directory +build_path="." + +# Check if a path is provided as the first argument +if [ "$1" ]; then + build_path="$1" +fi + +# Check if the required directories are present in the specified path +if [ ! -d "${build_path}/CONTROL" ] || [ ! -d "${build_path}/root" ]; then + echo "Error: CONTROL and root directories must be present in the specified path (${build_path})." + exit 1 +fi + +# Extract values from the CONTROL/control file in the specified path +pkgname=$(grep -i '^Package:' "${build_path}/CONTROL/control" | awk '{print $2}') +version=$(grep -i '^Version:' "${build_path}/CONTROL/control" | awk '{print $2}') +architecture=$(grep -i '^Architecture:' "${build_path}/CONTROL/control" | awk '{print $2}') + +# Check if values are extracted correctly +if [ -z "$pkgname" ] || [ -z "$version" ] || [ -z "$architecture" ]; then + echo "Error: Failed to extract Package, Version, or Architecture from ${build_path}/CONTROL/control." + exit 1 +fi + +# Set the final IPK name based on the extracted values +ipkname="${pkgname}_${version}_${architecture}.ipk" + +# Ensure all CONTROL scripts are executable +echo "Setting permissions for CONTROL scripts..." +chmod +x "${build_path}/CONTROL"/* + +# Set ownership for CONTROL and root files +echo "Setting ownership for all package files..." +chown -R root:root "${build_path}/CONTROL"/* +chown -R root:root "${build_path}/root"/* + +# Create control.tar.gz from the CONTROL directory +echo "Creating control.tar.gz..." +tar -czvf control.tar.gz -C "${build_path}/CONTROL" . + +# Create data.tar.gz from the root directory +echo "Creating data.tar.gz..." +tar -czvf data.tar.gz -C "${build_path}/root" . + +# Create debian-binary file (must contain exactly "2.0" without a newline) +echo -n "2.0" > debian-binary +chown -R root:root debian-binary + +# Combine the components into the final .ipk file using tar +echo "Packaging ${ipkname}..." +tar -czvf "$ipkname" debian-binary control.tar.gz data.tar.gz + +# Clean up intermediate files +echo "Cleaning up temporary files..." +rm -f control.tar.gz data.tar.gz debian-binary + +echo "IPK package ${ipkname} created successfully using tar." + diff --git a/ipk-source/warp_sdxpinn/root/usr/bin/warp b/ipk-source/warp_sdxpinn/root/usr/bin/warp new file mode 100755 index 0000000..05cd0b3 --- /dev/null +++ b/ipk-source/warp_sdxpinn/root/usr/bin/warp @@ -0,0 +1,235 @@ +#!/bin/sh + +# Combined WARP management script +VERSION="1.0" +SCRIPT_NAME="warp" + +# Configuration directories +WGCF_FREE_CONFIG_DIR="/etc/warp/free" +WGCF_PLUS_CONFIG_DIR="/etc/warp/plus" + +# Color codes +GREEN='\033[0;32m' +NC='\033[0m' # No Color + +# Usage information +show_usage() { + cat < + +Modes: + free Manage free WARP configuration + plus Manage WARP+ configuration + +Commands: + setup Initial setup for WARP configuration + update-key Update license key in wgcf-account.toml + install-profile Install WARP profile to UCI config + +Examples: + ${SCRIPT_NAME} free setup + ${SCRIPT_NAME} plus update-key + ${SCRIPT_NAME} free install-profile + +EOF +} + +# Setup wizard +setup_warp() { + MODE=$1 + case $MODE in + free) + CONFIG_DIR="$WGCF_FREE_CONFIG_DIR" + PROFILE_NAME="WARPfree" + ;; + plus) + CONFIG_DIR="$WGCF_PLUS_CONFIG_DIR" + PROFILE_NAME="WARPplus" + ;; + *) return 1 ;; + esac + + # Create config directory if needed + mkdir -p "$CONFIG_DIR" || { + echo "Error: Failed to create configuration directory $CONFIG_DIR" + return 1 + } + + ACCOUNT_FILE="${CONFIG_DIR}/wgcf-account.toml" + PROFILE_FILE="${CONFIG_DIR}/wgcf-profile.conf" + + # Check for existing account + if [ -f "$ACCOUNT_FILE" ]; then + echo "Warning: Existing account found in $CONFIG_DIR" + echo "This will DELETE ALL EXISTING CONFIGURATION for WARP $MODE!" + printf "Do you want to continue? [1=Yes 2=No] " + + while true; do + read choice + case $choice in + 1) + rm -f "$ACCOUNT_FILE" "$PROFILE_FILE" + break + ;; + 2) + echo "Setup aborted by user" + return 1 + ;; + *) + printf "Invalid choice. Enter 1 or 2: " + ;; + esac + done + fi + + # Register new account + echo "Creating new WARP $MODE account..." + if ! wgcf --config "$ACCOUNT_FILE" register; then + echo "Error: Failed to register WARP account" + return 1 + fi + + # Update license key for plus accounts + if [ "$MODE" = "plus" ]; then + echo "Please enter your WARP+ license key:" + if ! update_license_key "$MODE"; then + echo "Error: Failed to update license key" + return 1 + fi + fi + + # Generate profile + echo "Generating WireGuard profile..." + if ! wgcf --config "$ACCOUNT_FILE" update; then + echo "Error: Failed to update WARP account" + return 1 + fi + + if ! wgcf --config "$ACCOUNT_FILE" generate -p "$PROFILE_FILE"; then + echo "Error: Failed to generate WireGuard profile" + return 1 + fi + + # Install profile + if ! install_warp_profile "$MODE"; then + echo "Error: Failed to install WireGuard profile" + return 1 + fi + + # Success message + printf "${GREEN}Cloudflare WARP %s has been setup and installed to your WireGuard profiles in Luci.${NC}\n" "$MODE" + printf "${GREEN}Head to Luci to connect the VPN.${NC}\n" +} + +# License key updater +update_license_key() { + MODE=$1 + case $MODE in + free) CONFIG_DIR="$WGCF_FREE_CONFIG_DIR" ;; + plus) CONFIG_DIR="$WGCF_PLUS_CONFIG_DIR" ;; + *) return 1 ;; + esac + + ACCOUNT="${CONFIG_DIR}/wgcf-account.toml" + + LINE=$(grep -n "license_key" "$ACCOUNT" | cut -d: -f1) + if [ -z "$LINE" ]; then + echo "Error: License key line not found in $ACCOUNT" + return 1 + fi + + read -p "Enter WARP+ license key from your phone app: " NEW_KEY + sed -i "${LINE}s/'.*'/'$NEW_KEY'/" "$ACCOUNT" + echo "License key updated successfully in $ACCOUNT" +} + +# Profile installer +install_warp_profile() { + MODE=$1 + case $MODE in + free) + CONFIG_DIR="$WGCF_FREE_CONFIG_DIR" + PROFILE_NAME="WARPfree" + ;; + plus) + CONFIG_DIR="$WGCF_PLUS_CONFIG_DIR" + PROFILE_NAME="WARPplus" + ;; + *) return 1 ;; + esac + + WGCF_CONF="${CONFIG_DIR}/wgcf-profile.conf" + + # Validate config file exists + [ ! -f "$WGCF_CONF" ] && { + echo "Error: $WGCF_CONF not found" + return 1 + } + + # Extract values + ENDPOINT=$(awk -F' = ' '/Endpoint/ {print $2}' "$WGCF_CONF") + ENDPOINT_HOST=$(echo "$ENDPOINT" | cut -d':' -f1) + ENDPOINT_PORT=$(echo "$ENDPOINT" | cut -d':' -f2) + + # Delete existing section + uci delete wireguard.${PROFILE_NAME} 2>/dev/null + + # Create new section + uci add wireguard wireguard >/dev/null + uci rename wireguard.@wireguard[-1]="${PROFILE_NAME}" + + # Set configuration values + uci batch < Date: Sat, 1 Feb 2025 01:58:54 -0500 Subject: [PATCH 2/3] Update luci-app-go-wireguard - Defined conffile - Added service firewall reload when starting the vpn --- ipk-source/luci-app-go-wireguard/CONTROL/conffiles | 1 + ipk-source/luci-app-go-wireguard/CONTROL/control | 2 +- ipk-source/luci-app-go-wireguard/CONTROL/prerm | 4 ---- .../luci-app-go-wireguard/root/usr/lib/wireguard/startvpn.sh | 1 + 4 files changed, 3 insertions(+), 5 deletions(-) create mode 100755 ipk-source/luci-app-go-wireguard/CONTROL/conffiles delete mode 100755 ipk-source/luci-app-go-wireguard/CONTROL/prerm diff --git a/ipk-source/luci-app-go-wireguard/CONTROL/conffiles b/ipk-source/luci-app-go-wireguard/CONTROL/conffiles new file mode 100755 index 0000000..f5f38a6 --- /dev/null +++ b/ipk-source/luci-app-go-wireguard/CONTROL/conffiles @@ -0,0 +1 @@ +/etc/config/wireguard diff --git a/ipk-source/luci-app-go-wireguard/CONTROL/control b/ipk-source/luci-app-go-wireguard/CONTROL/control index 92fa283..5f8c99e 100755 --- a/ipk-source/luci-app-go-wireguard/CONTROL/control +++ b/ipk-source/luci-app-go-wireguard/CONTROL/control @@ -1,5 +1,5 @@ Package: luci-app-go-wireguard -Version: 4.500-1 +Version: 4.500-2 Depends: libc, wireguard-tools, kmod-wireguard, luci-proto-wireguard, udptunnel, eoip Source: package/rooter/0optionalapps/ext-wireguard SourceName: ext-wireguard diff --git a/ipk-source/luci-app-go-wireguard/CONTROL/prerm b/ipk-source/luci-app-go-wireguard/CONTROL/prerm deleted file mode 100755 index 12d06ec..0000000 --- a/ipk-source/luci-app-go-wireguard/CONTROL/prerm +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -[ -s ${IPKG_INSTROOT}/lib/functions.sh ] || exit 0 -. ${IPKG_INSTROOT}/lib/functions.sh -default_prerm $0 $@ diff --git a/ipk-source/luci-app-go-wireguard/root/usr/lib/wireguard/startvpn.sh b/ipk-source/luci-app-go-wireguard/root/usr/lib/wireguard/startvpn.sh index 5beade6..90060ba 100755 --- a/ipk-source/luci-app-go-wireguard/root/usr/lib/wireguard/startvpn.sh +++ b/ipk-source/luci-app-go-wireguard/root/usr/lib/wireguard/startvpn.sh @@ -324,4 +324,5 @@ fi uci set wireguard."$WG".active="1" uci commit wireguard +service firewall reload From 61a14f6b3911412fbd80467799b6d061f0573e4d Mon Sep 17 00:00:00 2001 From: Cameron Thompson <50184035+iamromulan@users.noreply.github.com> Date: Sat, 1 Feb 2025 02:04:07 -0500 Subject: [PATCH 3/3] Rebuild opkg-feed --- ipk-source/warp_sdxpinn/CONTROL/control | 2 +- opkg-feed/Packages | 20 ++++++++++++++---- opkg-feed/Packages.gz | Bin 2051 -> 2145 bytes opkg-feed/Packages.log | 12 ++++++----- opkg-feed/Packages.sig | 2 +- .../luci-app-go-wireguard_4.500-1_all.ipk | Bin 24327 -> 0 bytes .../luci-app-go-wireguard_4.500-2_all.ipk | Bin 0 -> 24213 bytes opkg-feed/warp_1.0_sdxpinn.ipk | Bin 0 -> 2698 bytes 8 files changed, 25 insertions(+), 11 deletions(-) delete mode 100644 opkg-feed/luci-app-go-wireguard_4.500-1_all.ipk create mode 100644 opkg-feed/luci-app-go-wireguard_4.500-2_all.ipk create mode 100644 opkg-feed/warp_1.0_sdxpinn.ipk diff --git a/ipk-source/warp_sdxpinn/CONTROL/control b/ipk-source/warp_sdxpinn/CONTROL/control index 0d60dd5..f72d52c 100755 --- a/ipk-source/warp_sdxpinn/CONTROL/control +++ b/ipk-source/warp_sdxpinn/CONTROL/control @@ -1,6 +1,6 @@ Package: warp Depends: libc, wgcf, luci-app-go-wireguard -Version: 1 +Version: 1.0 Architecture: sdxpinn Maintainer: iamromulan Source: github.com/iamromulan diff --git a/opkg-feed/Packages b/opkg-feed/Packages index 3fe9cf0..6485420 100644 --- a/opkg-feed/Packages +++ b/opkg-feed/Packages @@ -40,7 +40,7 @@ License: GPLv3 Package: luci-app-go-wireguard -Version: 4.500-1 +Version: 4.500-2 Depends: libc, wireguard-tools, kmod-wireguard, luci-proto-wireguard, udptunnel, eoip Source: package/rooter/0optionalapps/ext-wireguard SourceName: ext-wireguard @@ -48,9 +48,9 @@ Section: utils Architecture: all SourceDateEpoch: 1716401566 Maintainer: Created by DM/makefile by Cobia@whirlpool -MD5Sum: b586305255284278b9012483da246bc3 -Size: 24327 -Filename: luci-app-go-wireguard_4.500-1_all.ipk +MD5Sum: 66549e8d970b9046440e6a836f9c9639 +Size: 24213 +Filename: luci-app-go-wireguard_4.500-2_all.ipk Description: Wireguard luci App @@ -206,6 +206,18 @@ Description: It creates a secure network between your servers, computers, and cl License: GPLv3 +Package: warp +Depends: libc, wgcf, luci-app-go-wireguard +Version: 1.0 +Architecture: sdxpinn +Maintainer: iamromulan +MD5Sum: ea95658bf84f619cabe5dd62280fe787 +Size: 2698 +Filename: warp_1.0_sdxpinn.ipk +Source: github.com/iamromulan +Description: Installs the 'warp' command to help setup Cloudflare WARP on SDXPINN + + Package: wgcf Version: 2.2.24 Depends: libc diff --git a/opkg-feed/Packages.gz b/opkg-feed/Packages.gz index c20f4f118dde66d44838406f858f5212bda9edc5..2130bab7e0da67c888262bd813e24cfa32dcf0bb 100644 GIT binary patch literal 2145 zcmV-n2%h&JiwFoU$DL;Y15jaOYhh<)a{%pGYj4{|7X7YYG2hw(rbG^hLynOR;6!~*D4`vs-)VZopQEG*p-4snF;bo(>suy=wDVwuJKlDaR*A30Jo1Ini z);f67RPF2>ZYf#HqH_A)<54(!%Wdx9tE*FVrYg&G^rq3d(-nHbU#)Ui%`^RS_VyyW zX|hv92+<;mNsN+A}d=p;q^$&2z8hPTn41y!~wi>^Y!N z6*>BFTV!Po7nWyLku@pLU#+aWZNwZlx&xUdItE}9iA^9PV+hqIj)PDTLqpEU7UVc# z1B}PpUIxqUMn>4~7hCMNFvj*{KShf!yja2taGkpX5Z35USGi7yc%_ZB9xqF8OO*#3 z8K5=~=fuN4j{G2CV@E#e9phv(NxK>!IB@&$(1X)-gzPUc-N(wItLFT&BfH71d)Ofv z81N>hWny#`<4`04@rA(>2S)SAPkMJvC>cOGWzlkM$PzX(Lblw%v6w_-46qjHw@YM- zY8UMzXACF7T@_P4N#>F7d-xF6-J6~(inKmCaE>k95IC+FK5bO#njGjoLAtQzk!@8` zKwen*MP~_5VPEw^-@C!iHbdTZFdqEUv)VYD))TaDhF)-|Uzdfv1@hv65`s7$|ri9#gq{b8xB9k1ziQ1L9;J zc;u(=88A^O6CxRjCBZ6=f`n@+2&W?9Oh&v97z#l!h170~%dI&_ak9xkk7l2%7B!fu z3y(cY0}PAeF6CZbLX~j3c4Gkj!%F$5YvC{LGU&yvb7g(HSghCU`EJcQ%(m#9U#50n z8wI91U_Of&gIXxL05{`4P67aq;-s&QfgeYd(E)r1CUw~P&y~sP-Hg#3y@SrLE}zIW zeNB@^UKgqMGMzU=8RE~6e6t^t6;19uWAC2{@~08syTl&$$$GU%TwMe6OR#ZRKPG_AnXFSXK3Z6Pt z81!ocsOS{Ee;eK3BgoD=tG|GpJ<_8Biyw1)!E60rXTkT0A|{YA!`eu!La47wmQQ1+;aDgUikOd zAI|;~U)=IPNa~L|!BK81BzMprdZMywrN2ot6*aUyT|wF}*K?GFN+!Z6tO%Eh0+EC{ z<}4CeXhuTQa}?4f9x}8wZTYxG&yn<`6D?qYWry9kbGmtZgFdt&)zT5ZS&%o2=*@+hsWcfj(<5J_YhLm8z;=l~0YLlUtt;U-{F4{QvV16;=&-#GlYA^B5Cv3VmjH4cFpDE?Wp>O-s)!%m)HDr3U?B{ z_=D&3a(frNT4k_8Yv`b_;+#P5E;wOu1sW653YSuFtRyz7?@3vb;3OLMRl{y{W6qbI zJ#NoC>P6dG?ZFuVd+CteY0X+ou)76fT~v1n653kp96i9S@LL6vvp(t0(i+!Ywh=4S zqG^R>?RYLVsL$7*VaWPcw+EFaulh3%kV|?Ef~!Ul7j+|G5qSBxQuQwk6g%WMu#`d^ zJf6A+3?8yg4%wF6+sNSU36g8_zm9fFVnI|Wsg42@`@T|)h7=oy4faJu_F+bS#*!)C zRZl$mKk;bItMcfea3#&jbBBx|55M4ydm>S4s5Uf$8k7)2117o9kx~@n#5X!ldX0+d zh`n~7tt9=k2iTV_vMp@warF=FY(MmW1GG5Z>a+x)9puFGmI;$`VDRJF`)dROXxoL1 za085n%^Q3U0_Bk~=o%g?M=1Sn--~c?VkCHw1P0_(AhA#&s$v#`%lp!ggI$RZX&fiX z@MyB#({i(w<-u}~!PTw2Xa_DTooeVU>oIQaPu)K%IcoC47%MGL!F#KsuDvql4hr+; XXrryrL+o0|n$7+L^lJ8v#2Nqq1?Crr literal 2051 zcmV+e2>kaSiwFo-VV!3H15jaOYhh<)a{%pGYj4}g75%PXF(12tDUrkBV~lJN*G`QT zcGiu(o9!oIp7N~u3TGJE{q?=1M2VDXJE_wJ3KWJ6lA6~&=RVG*u9&!ED|L*RGez0B z*>9@0rYw$;Kd19xcBU#-NPCPj!^P~nY-$06wNlb9?u?YCpo@O$wGytIS|~R=sl}~v z@T95R)fwEzWGTwpse6w_;p~!`!of$?$LK`Xh85_%QH4`Adc)qW3Rll_^>%i77F{>_ zF(QO0o+czsIgoRXLR=isociZqe9CQaVO;rNGrUL7LM_Q9u=_Cn4PIMeHO12;;DIH)u zKK3$LZVxiTcE8zTe}pl%pZg_RbYWlxJHU0}NB4FI?pr@fm6eiFqr9>8~CQiq-YQkk4S%^1zm7<78^;h9X+ z*ECTUw#<~5tD+go5P$y2H~T4h*%Z#x=Kh5se;)C@OYC8vtXF%)rAi`+)09SmuPEkG zqD9IQ!TdB4O703}7!SR5%F<Oc z8xTPv8d!lhg@jbwAqrL68U4@|({7dRgEceH74NZ3+%bmd(PJq&5kpht9c1(G6qddc zafCxqL0B?LBdLNoj=3MOSo>7OTc)5^k_o0dGnR1rCzATJvhoD26dajlNSoTaJ~FyB zM`Uyb>eI~>jv(I!sCjr+5B=XiY>*~0(@tv6PRl}PMmRgUuE&*QdkUD$P4RsJ^r^8H z0{fo~a?4~0$=Z`;R_3tc+s6ccYtRW!V-YC<|1prLLn>)XHBJ)6g|Cx7^#o8+j|0T>&5xLElg}1$b^*tgMl0BaB+c2RShMjvV-it${1RpBFw8Tt{PP z?sOD5^iM}yzZt~!5vZeDb#=^hCRbgX(zNV=QntD6r1fS2=n2}LsdsYK>g+v4uJUC@qGBEh9wtd5xDTBwXvUbxozx+Ilul*+LlT!;?q2DIe|>** z@~8OXmj6Lgf6@sa<)%_F2koK9Ya>_cRhp@^(Drl%X}?|15%f1AyK(1qeR+*;+K_7L2+tSfd=Z^*m>3~{ zfZjOxC$auPs&oe|i!>2Lgb9?R9a=*NeHCLw(u6ZY;R-Y+q!lIvXIKiXW#5z1G{tE&?5l>|=*FCHd-u3~ z-(eSRXSD}s1ndWg#7=8kCBW_$h;>=tAxLOzr3&-_tHO6RNKSjyy-RCcciBd)$jYV_ zlGd?8C{Um8zrvLDt!iIXR;=#dae!P>YY8(11c96X)6 z1`HmuO%B->%-hJ|?HeT56n`G=F-bU)p@>x!=*0J>q;VKyO|iy4kH|jEVxQ71McEa6=5tqN2PdpsF`QR)_0}Zku5SU942MG;h^8jzX5|k;iHTh008(A*fRhC diff --git a/opkg-feed/Packages.log b/opkg-feed/Packages.log index 061b4a2..094e676 100644 --- a/opkg-feed/Packages.log +++ b/opkg-feed/Packages.log @@ -1,8 +1,9 @@ -Starting package analysis - Fri Jan 31 06:48:37 PM EST 2025 +Starting package analysis - Sat Feb 1 02:03:08 AM EST 2025 No update needed for atinout (version 0.9.1, MD5: 444eb87488bad1927b6ed069dedf7393, size: 4323) No update needed for kmod-wireguard (version 1, MD5: 98e77b68c2f1b5ff46ef7713b4f63a94, size: 789) No update needed for luci-app-atinout-mod (version 1.3.4-20250119, MD5: 1ffee9ec8fe5723b8140bf2c21fea508, size: 4864) -No update needed for luci-app-go-wireguard (version 4.500-1, MD5: b586305255284278b9012483da246bc3, size: 24327) +Updating package info for luci-app-go-wireguard... +Updated luci-app-go-wireguard to version 4.500-2 with MD5: 66549e8d970b9046440e6a836f9c9639 and size: 24213 No update needed for luci-app-tailscale (version 1.2.3-2, MD5: 53c84c947c42d7518aecb4a6b8a9c5a8, size: 6501) No update needed for ookla-speedtest (version 1.2.0, MD5: b26e1909599f73cab40ea0281c5a6283, size: 1075696) No update needed for sdxpinn-console-menu (version 0.0.2, MD5: de75d2889510e92b57fc8a7ca087ced4, size: 7361) @@ -14,7 +15,8 @@ No update needed for sms-tool (version 2025.1.19-APmod-iamromulan, MD5: 83dc8bfd No update needed for socat-at-bridge (version 1.1.1, MD5: a5f4c4c371426fbe12bf2345938af195, size: 1795) No update needed for tailscale (version 1.78.1-2, MD5: baa4d97ba49aa42ef104accba2dc2fd8, size: 9882856) No update needed for tailscaled (version 1.78.1-4, MD5: 647b4d3c6e51f700dd96362f92f20b54, size: 17960998) -Updating package info for wgcf... -Updated wgcf to version 2.2.24 with MD5: b2ba181f9181c2bd8f37933c60c0713f and size: 3677883 +Updating package info for warp... +Updated warp to version 1.0 with MD5: ea95658bf84f619cabe5dd62280fe787 and size: 2698 +No update needed for wgcf (version 2.2.24, MD5: b2ba181f9181c2bd8f37933c60c0713f, size: 3677883) Package file and signature updated successfully. -Package analysis completed - Fri Jan 31 06:48:38 PM EST 2025 +Package analysis completed - Sat Feb 1 02:03:09 AM EST 2025 diff --git a/opkg-feed/Packages.sig b/opkg-feed/Packages.sig index 61182c8..7dc6c02 100644 --- a/opkg-feed/Packages.sig +++ b/opkg-feed/Packages.sig @@ -1,2 +1,2 @@ untrusted comment: signed by key 6262698f038d1226 -RWRiYmmPA40SJpD0jXhZMEUM4ylwICDZGrhRosYxvzDd8jNYm28pfIEWkND7+zmq1Z2U3sbUGIPZybNBERPVCxB25K/xI0Ik3As= +RWRiYmmPA40SJqh6swrZprVskraD3U4vDJ0Fd3If3BKSqtOGL0Yvz4pVu1kaEpPf2KhrK7DPlNkCh71BY4BuTsoFcmfCrYpbJA4= diff --git a/opkg-feed/luci-app-go-wireguard_4.500-1_all.ipk b/opkg-feed/luci-app-go-wireguard_4.500-1_all.ipk deleted file mode 100644 index c3c8058ef31419d340446a514d096c900fafc835..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24327 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 GcmM#&EX>RR diff --git a/opkg-feed/luci-app-go-wireguard_4.500-2_all.ipk b/opkg-feed/luci-app-go-wireguard_4.500-2_all.ipk new file mode 100644 index 0000000000000000000000000000000000000000..3172d0b683fcdee68176285e0c671ce81e3df995 GIT binary patch literal 24213 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 literal 0 HcmV?d00001 diff --git a/opkg-feed/warp_1.0_sdxpinn.ipk b/opkg-feed/warp_1.0_sdxpinn.ipk new file mode 100644 index 0000000000000000000000000000000000000000..6bb19bb6dce83774ca5fb713ce969fe5f52c93a4 GIT binary patch literal 2698 zcmV;53U&1#iwFP!000001MSv#FdW(*2XNw&5YcueqC}7=!LqtUua`)$Y6Q_mTWyIN zC367ts<#*_V0mpZD&YdH0Vu$-FynKmYvB%sDgX%EFvr-Bt#?#77`K^Bf2g4 zgU<6WJltXCZntj}xj8$-{?ocYoBxXv0{xUO6a0^|bcVv*oE<^mLjbb%`7wL^S^hR82JewK0;+3khLHWy;gK32J!9=k&B5e$ z!KViXEKs2?DL9*-td{AbbdqWdOe)d`0qf0`7^~(>!uim?@lHozpJd$ePRYmeWvb{N zwip3J$AwjaYMw5uG(c?2;Oypn(OwACcBZ!UoGTnJiDMP*+20bz?^ql4H=benkjg2C z^;pEiivb4w#7x;mrjhVP7o+xYq9l_*2z?`z7vk0z4s$$){(8?v(qcT0QTV<(S4OKb zi|o}2^*mnnZZ)YFege%4GW9#Z)xNBQ;Eog3wwqMzqtF3aUY5bjvxXe!GLGFd%$x?Z zq0bwV$Fl}aH$g0KjP`xyUtyz2Hdm=NCO%!;4t+OD!OADi4cN@Ics$g1X7@-1YqQsA z`c{80Ai&~}jSQUgBLbxw#1nD<>?{1QSee7je`xrL{xtt0;D3An!D2!pg#7;u|CIkH z{_ayMfTQ_uK&EtkS5)|m2dGL#BkEL>0x`jlanr8CF$q*dhQDsA3Avh}eUD5-sEEVt zaQ(0)7|dz-e6p2er(r{Oh6W9rrcg^;qbk{T8X zFK?`;XA*ZUcWa!(qvwKZQhm=J)oq-~Hma}O$rXqpzKfTdXc(kFDQ6y~YH_=;qrnUg zJKe{}gA(yUxR%>wwF3doXgoUXbj+T`d^ZDMUh(cslb;bC6SsEotgNMcV&sf<%b=tb zKXK0x4@ZD)UHz9&=KVX8Sz|?=Ze+Cm5$>siA?dy z@;y|XE1FPeEdgP=N6V|XaCh_^jCk0w*C=Bt8$Wus5LHe^&we`q^mG-_o z%m-7MW!GLu(~j3w6g6xp8_FO9DMpgfB76T`L(sS8b8uQOs5;2kvQpo)2J4a>*i zHs5S=>M;tQ(t83Xbe_JMRpX&N4scQ>AW}kFX7yQ`&S1pA*e9RiT!kA-Ez=}XrV!R* zi)f|PvPG^`@Lj$hcD93;LFu=GH6s+6^D}0aWq^u9SEGn`*RrIHxj)>xoQ+H&JG?T$ z7gN(g=Twq=z_LM0;cW{6>~+W7d@ml>Z;p4ZJzSdv*z$YpZ$+nu*?D2}dH_Bu2BWvrxr^k6KkAyJ40{n_G8(@~}s90Z#=%okKeX+lGiIJnaqJfJxr&xmYKJOj0&fS7V z`xENawE}c%>!GDWrHmk^hGWP;ZAq^KEfF-BD-0tI^RWt1Q-x+}&>voz_6`EeRdn!q z^OzLrj*yPbMer6GrqrZSbHa^ME9!K;c;0An(esZP+Mh>>4Z3vsmVSyIF&b*vzAqxT z=47LM7be|Kr069`B`G#@tQ8J~Y-p@4f`+ ztsn7agM+9I-$E-NW^#Ew$XA*!R7Q;w%icV$1g`o#>PW+X7rvM&50Lr1sKbdyo7|2BB5g`_XCMBbLRW>rU#VC^6xl5n}r-MRN%n`q|hexhS zgE9tkuyE1TOKJ8c>buiOhXyN7*fe+-fFwf)C}?3FDfMI9nM0kW#55~K_mJ~PG7l{V-7y=$ zru7I9?JX~R1zW9CL(kt8CsmCFq{1uM?6gx>B+{8zknD0akfo;py|ws*@)w<(wqYTp zOjfI|wf)k${Z(!GRHYwp^}V3=GB15m6yohIcca2bTMy)K;`&wC+mAEo8yP7Bc~o6+CX@nRNSjRoP%MllsaDC*vwKKxSswpe8p5zQ+Ek z-o=iM_(Y*1r;4nvyQm!mY-X_U6@)j(Sr@lt^XtXNs%#JqZyB4Ssx_HHGYTTL6?P)* zf(OTz5+C^16=?MBe;b&aC!hMF8GKW72aYoH+bQC(gbNT~_e1(}6=9BBkI=mVFW