From 7a636798d63906240e96da538299ec23732d34ed Mon Sep 17 00:00:00 2001 From: iamromulan <50184035+iamromulan@users.noreply.github.com> Date: Sun, 6 Oct 2024 02:52:53 -0400 Subject: [PATCH] SDXPINN branch is now ipk focused -Updated opkg-feed with new packages -Updated key cause I lost my private key --- etc/config/ttyd | 6 - .../CONTROL/control | 14 ++ .../CONTROL/postinst | 5 + .../CONTROL/prerm | 4 + .../build-ipk | 74 ++++++++ .../root/lib/upgrade/keep.d/atinout | 2 + .../root/usr/bin/atinout | Bin 0 -> 65611 bytes .../CONTROL/control | 12 ++ .../CONTROL/postinst | 5 + .../CONTROL/postinst-pkg | 7 + .../CONTROL/prerm | 4 + .../build-ipk | 74 ++++++++ .../root/etc}/config/atcommands.user | 4 + .../root/etc}/config/atinout | 0 .../root/etc/uci-defaults/set_at_port.sh | 21 +++ .../root/sbin/set_at_port.sh | 21 +++ .../root/usr/bin/luci-app-atinout | 8 + .../usr/lib/lua/luci/controller/modem/atc.lua | 49 +++++ .../lib/lua/luci/model/cbi/modem/atconfig.lua | 35 ++++ .../usr/lib/lua/luci/view/modem/atcommand.htm | 133 ++++++++++++++ .../rpcd/acl.d/luci-app-atinout-mod.json | 17 ++ .../sdxpinn-console-menu/CONTROL/control | 6 + ipk-source/sdxpinn-console-menu/build-ipk | 74 ++++++++ .../root/usr}/bin/download | 24 +-- .../sdxpinn-console-menu/root/usr}/bin/menu | 167 ++++-------------- opkg-feed/Packages | 99 +++++++++-- opkg-feed/Packages.gz | Bin 510 -> 1165 bytes opkg-feed/Packages.sig | 4 +- opkg-feed/iamromulan-SDXPINN-repo.key | 4 +- ...uci-app-atinout-mod_1.3.2-20220315_all.ipk | Bin 4617 -> 0 bytes ...uci-app-atinout-mod_1.3.4-20241006_all.ipk | Bin 0 -> 4827 bytes ...kla-speedtest_1.2.0_aarch64_cortex-a53.ipk | Bin ...-console-menu_0.0.1_aarch64_cortex-a53.ipk | Bin 0 -> 4902 bytes ...inn-mount-fix_1.1.0_aarch64_cortex-a53.ipk | Bin ...n-quecmanager_0.0.1_aarch64_cortex-a53.ipk | Bin .../tailscale_1.74.1-1_aarch64_cortex-a53.ipk | Bin ...tailscaled_1.74.1-1_aarch64_cortex-a53.ipk | Bin rcPCIe_SDXPINN_toolkit.sh | 32 ++-- .../init.d/socat-at-bridge-NOTREADY | 0 39 files changed, 723 insertions(+), 182 deletions(-) delete mode 100644 etc/config/ttyd create mode 100644 ipk-source/atinout_0.9.1_aarch64_cortex-a53/CONTROL/control create mode 100755 ipk-source/atinout_0.9.1_aarch64_cortex-a53/CONTROL/postinst create mode 100755 ipk-source/atinout_0.9.1_aarch64_cortex-a53/CONTROL/prerm create mode 100755 ipk-source/atinout_0.9.1_aarch64_cortex-a53/build-ipk create mode 100644 ipk-source/atinout_0.9.1_aarch64_cortex-a53/root/lib/upgrade/keep.d/atinout create mode 100755 ipk-source/atinout_0.9.1_aarch64_cortex-a53/root/usr/bin/atinout create mode 100644 ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/CONTROL/control create mode 100755 ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/CONTROL/postinst create mode 100755 ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/CONTROL/postinst-pkg create mode 100755 ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/CONTROL/prerm create mode 100755 ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/build-ipk rename {etc => ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/etc}/config/atcommands.user (87%) rename {etc => ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/etc}/config/atinout (100%) create mode 100755 ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/etc/uci-defaults/set_at_port.sh create mode 100755 ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/sbin/set_at_port.sh create mode 100755 ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/usr/bin/luci-app-atinout create mode 100644 ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/usr/lib/lua/luci/controller/modem/atc.lua create mode 100644 ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/usr/lib/lua/luci/model/cbi/modem/atconfig.lua create mode 100755 ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/usr/lib/lua/luci/view/modem/atcommand.htm create mode 100755 ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/usr/share/rpcd/acl.d/luci-app-atinout-mod.json create mode 100755 ipk-source/sdxpinn-console-menu/CONTROL/control create mode 100755 ipk-source/sdxpinn-console-menu/build-ipk rename {usr => ipk-source/sdxpinn-console-menu/root/usr}/bin/download (92%) mode change 100644 => 100755 rename {usr => ipk-source/sdxpinn-console-menu/root/usr}/bin/menu (65%) mode change 100644 => 100755 delete mode 100644 opkg-feed/luci-app-atinout-mod_1.3.2-20220315_all.ipk create mode 100644 opkg-feed/luci-app-atinout-mod_1.3.4-20241006_all.ipk rename {ipk => opkg-feed}/ookla-speedtest_1.2.0_aarch64_cortex-a53.ipk (100%) create mode 100644 opkg-feed/sdxpinn-console-menu_0.0.1_aarch64_cortex-a53.ipk rename {ipk => opkg-feed}/sdxpinn-mount-fix_1.1.0_aarch64_cortex-a53.ipk (100%) rename {ipk => opkg-feed}/sdxpinn-quecmanager_0.0.1_aarch64_cortex-a53.ipk (100%) rename {ipk => opkg-feed}/tailscale_1.74.1-1_aarch64_cortex-a53.ipk (100%) rename {ipk => opkg-feed}/tailscaled_1.74.1-1_aarch64_cortex-a53.ipk (100%) rename {etc => unused}/init.d/socat-at-bridge-NOTREADY (100%) diff --git a/etc/config/ttyd b/etc/config/ttyd deleted file mode 100644 index 904ff70..0000000 --- a/etc/config/ttyd +++ /dev/null @@ -1,6 +0,0 @@ - -config ttyd - option interface '@lan' - option debug '7' - option command '/usr/bin/login' - diff --git a/ipk-source/atinout_0.9.1_aarch64_cortex-a53/CONTROL/control b/ipk-source/atinout_0.9.1_aarch64_cortex-a53/CONTROL/control new file mode 100644 index 0000000..0de1bc9 --- /dev/null +++ b/ipk-source/atinout_0.9.1_aarch64_cortex-a53/CONTROL/control @@ -0,0 +1,14 @@ +Package: atinout +Version: 0.9.1 +Depends: libc +Source: feeds/kiddin9/atinout +SourceName: atinout +License: GPLv2 +LicenseFiles: LICENSE +Section: net +SourceDateEpoch: 1691250335 +Maintainer: Adrian Guenter +Architecture: aarch64_cortex-a53 +Installed-Size: 3571 +Description: Atinout is a program that will execute AT commands in sequence and + capture the response from the modem. diff --git a/ipk-source/atinout_0.9.1_aarch64_cortex-a53/CONTROL/postinst b/ipk-source/atinout_0.9.1_aarch64_cortex-a53/CONTROL/postinst new file mode 100755 index 0000000..3bba77c --- /dev/null +++ b/ipk-source/atinout_0.9.1_aarch64_cortex-a53/CONTROL/postinst @@ -0,0 +1,5 @@ +#!/bin/sh +[ "${IPKG_NO_SCRIPT}" = "1" ] && exit 0 +[ -s ${IPKG_INSTROOT}/lib/functions.sh ] || exit 0 +. ${IPKG_INSTROOT}/lib/functions.sh +default_postinst $0 $@ diff --git a/ipk-source/atinout_0.9.1_aarch64_cortex-a53/CONTROL/prerm b/ipk-source/atinout_0.9.1_aarch64_cortex-a53/CONTROL/prerm new file mode 100755 index 0000000..12d06ec --- /dev/null +++ b/ipk-source/atinout_0.9.1_aarch64_cortex-a53/CONTROL/prerm @@ -0,0 +1,4 @@ +#!/bin/sh +[ -s ${IPKG_INSTROOT}/lib/functions.sh ] || exit 0 +. ${IPKG_INSTROOT}/lib/functions.sh +default_prerm $0 $@ diff --git a/ipk-source/atinout_0.9.1_aarch64_cortex-a53/build-ipk b/ipk-source/atinout_0.9.1_aarch64_cortex-a53/build-ipk new file mode 100755 index 0000000..eb83cf6 --- /dev/null +++ b/ipk-source/atinout_0.9.1_aarch64_cortex-a53/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/atinout_0.9.1_aarch64_cortex-a53/root/lib/upgrade/keep.d/atinout b/ipk-source/atinout_0.9.1_aarch64_cortex-a53/root/lib/upgrade/keep.d/atinout new file mode 100644 index 0000000..f8fb06c --- /dev/null +++ b/ipk-source/atinout_0.9.1_aarch64_cortex-a53/root/lib/upgrade/keep.d/atinout @@ -0,0 +1,2 @@ +/etc/config/ +/etc/atinout/ diff --git a/ipk-source/atinout_0.9.1_aarch64_cortex-a53/root/usr/bin/atinout b/ipk-source/atinout_0.9.1_aarch64_cortex-a53/root/usr/bin/atinout new file mode 100755 index 0000000000000000000000000000000000000000..9c483b597938abad89f8ff19fca57430676f04b5 GIT binary patch literal 65611 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 literal 0 HcmV?d00001 diff --git a/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/CONTROL/control b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/CONTROL/control new file mode 100644 index 0000000..5a7a71b --- /dev/null +++ b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/CONTROL/control @@ -0,0 +1,12 @@ +Package: luci-app-atinout-mod +Version: 1.3.4-20241006 +Depends: libc, atinout, luci-compat +Source: package/luci-app-atinout-mod +SourceName: luci-app-atinout-mod +License: GPLv3 +Section: luci +SourceDateEpoch: 1636930326 +Maintainer: OpenWrt LuCI community +Architecture: all +Installed-Size: 3790 +Description: Web UI for atinout modded by iamromulan preset for use on SDXPINN diff --git a/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/CONTROL/postinst b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/CONTROL/postinst new file mode 100755 index 0000000..3bba77c --- /dev/null +++ b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/CONTROL/postinst @@ -0,0 +1,5 @@ +#!/bin/sh +[ "${IPKG_NO_SCRIPT}" = "1" ] && exit 0 +[ -s ${IPKG_INSTROOT}/lib/functions.sh ] || exit 0 +. ${IPKG_INSTROOT}/lib/functions.sh +default_postinst $0 $@ diff --git a/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/CONTROL/postinst-pkg b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/CONTROL/postinst-pkg new file mode 100755 index 0000000..2debeb3 --- /dev/null +++ b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/CONTROL/postinst-pkg @@ -0,0 +1,7 @@ +#!/bin/sh +chmod +x /sbin/set_at_port.sh +chmod +x /usr/bin/luci-app-atinout +rm -rf /tmp/luci-indexcache +rm -rf /tmp/luci-modulecache/ +/sbin/set_at_port.sh +exit 0 diff --git a/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/CONTROL/prerm b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/CONTROL/prerm new file mode 100755 index 0000000..12d06ec --- /dev/null +++ b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/CONTROL/prerm @@ -0,0 +1,4 @@ +#!/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-atinout-mod_1.3.4-20241006_all/build-ipk b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/build-ipk new file mode 100755 index 0000000..eb83cf6 --- /dev/null +++ b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/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/etc/config/atcommands.user b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/etc/config/atcommands.user similarity index 87% rename from etc/config/atcommands.user rename to ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/etc/config/atcommands.user index 4e99a18..e41174c 100644 --- a/etc/config/atcommands.user +++ b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/etc/config/atcommands.user @@ -24,3 +24,7 @@ Get Currently Enabled 4G/LTE Bands;AT+QNWPREFCFG="lte_band" View assigned IPv4/IPv6 addresses from the provider;AT+QMAP="WWAN" Enable IPPT paste in MAC for FF:FF:FF...;AT+QMAP="MPDN_rule",0,1,0,1,1,"FF:FF:FF:FF:FF:FF" Disable IPPT;AT+QMAP="MPDN_rule",0 +Set IPv4 DMZ....replace iphere;AT+QMAP="DMZ",1,4,iphere +Set IPv6 DMZ....replace iphere;AT+QMAP="DMZ",1,6,iphere +Disable IPv4 DMZ;AT+QMAP="DMZ",0,4 +Disable IPv6 DMZ;AT+QMAP="DMZ",0,6 diff --git a/etc/config/atinout b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/etc/config/atinout similarity index 100% rename from etc/config/atinout rename to ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/etc/config/atinout diff --git a/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/etc/uci-defaults/set_at_port.sh b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/etc/uci-defaults/set_at_port.sh new file mode 100755 index 0000000..dea87a0 --- /dev/null +++ b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/etc/uci-defaults/set_at_port.sh @@ -0,0 +1,21 @@ +#!/bin/sh +# Copyright 2020-2021 Rafał Wabik (IceG) - From eko.one.pl forum +# Licensed to the GNU General Public License v3.0. + +work=false +for port in /dev/ttyUSB* +do + [[ -e $port ]] || continue + gcom -d $port info &> /tmp/testusb + testUSB=`cat /tmp/testusb | grep "Error\|Can't"` + if [ -z "$testUSB" ]; then + work=$port + break + fi +done +rm -rf /tmp/testusb + +if [ $work != false ]; then +uci set atinout.@atinout[0].atcport=$work +uci commit atinout +fi diff --git a/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/sbin/set_at_port.sh b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/sbin/set_at_port.sh new file mode 100755 index 0000000..dea87a0 --- /dev/null +++ b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/sbin/set_at_port.sh @@ -0,0 +1,21 @@ +#!/bin/sh +# Copyright 2020-2021 Rafał Wabik (IceG) - From eko.one.pl forum +# Licensed to the GNU General Public License v3.0. + +work=false +for port in /dev/ttyUSB* +do + [[ -e $port ]] || continue + gcom -d $port info &> /tmp/testusb + testUSB=`cat /tmp/testusb | grep "Error\|Can't"` + if [ -z "$testUSB" ]; then + work=$port + break + fi +done +rm -rf /tmp/testusb + +if [ $work != false ]; then +uci set atinout.@atinout[0].atcport=$work +uci commit atinout +fi diff --git a/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/usr/bin/luci-app-atinout b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/usr/bin/luci-app-atinout new file mode 100755 index 0000000..f511f40 --- /dev/null +++ b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/usr/bin/luci-app-atinout @@ -0,0 +1,8 @@ +#!/bin/sh + +ARGS=$1 +DEVPORT=$(uci -q get atinout.general.atcport) + +if [ "$DEVPORT" ]; then + echo "${ARGS}" | /usr/bin/atinout - ${DEVPORT} - +fi diff --git a/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/usr/lib/lua/luci/controller/modem/atc.lua b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/usr/lib/lua/luci/controller/modem/atc.lua new file mode 100644 index 0000000..f60a8c7 --- /dev/null +++ b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/usr/lib/lua/luci/controller/modem/atc.lua @@ -0,0 +1,49 @@ +local e=require"luci.util" +local e=require"nixio.fs" +local e=require"luci.sys" +local e=require"luci.http" +local e=require"luci.dispatcher" +local e=require"luci.http" +local t=require"luci.sys" +local t=require"luci.model.uci".cursor() +module("luci.controller.modem.atc",package.seeall) +function index() +entry({"admin","modem"},firstchild(),"Modem",30).dependent=false +entry({"admin","modem","atc"},alias("admin","modem","atc","atcommand"),translate("AT Commands"),10).acl_depends={"luci-app-atinout-mod"} +entry({"admin","modem","atc","atcommand"},template("modem/atcommand"),translate("AT Commands"),10) +entry({"admin","modem","atc","atconfig"},cbi("modem/atconfig"),translate("Configuration"),20) +entry({"admin","modem","webcmd"},call("webcmd")) +entry({"admin","modem","atc","user_atc"},call("useratc"),nil).leaf=true +end +function webcmd() +local t=e.formvalue("cmd") +if t then +local t=io.popen("/usr/bin/luci-app-atinout "..t:gsub("[$]","\\\$"):gsub("\"","\\\"").." 2>&1") +local a=t:read("*a") +t:close() +e.write(tostring(a)) +else +e.write_json(e.formvalue()) +end +end +function uussd(t) +local e=nixio.fs.access("/etc/config/atcommands.user")and +io.popen("cat /etc/config/atcommands.user") +if e then +for a in e:lines()do +local e=a +if e then +t[#t+1]={ +usd=e +} +end +end +e:close() +end +end +function useratc() +local e={} +uussd(e) +luci.http.prepare_content("application/json") +luci.http.write_json(e) +end diff --git a/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/usr/lib/lua/luci/model/cbi/modem/atconfig.lua b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/usr/lib/lua/luci/model/cbi/modem/atconfig.lua new file mode 100644 index 0000000..636958c --- /dev/null +++ b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/usr/lib/lua/luci/model/cbi/modem/atconfig.lua @@ -0,0 +1,35 @@ +local e=require"luci.util" +local o=require"nixio.fs" +local e=require"luci.sys" +local e=require"luci.http" +local e=require"luci.dispatcher" +local e=require"luci.http" +local e=require"luci.sys" +local e=require"luci.model.uci".cursor() +local n="/etc/config/atcommands.user" +local t +local e +local i +local a=nixio.fs.glob("/dev/tty[A-Z][A-Z]*") +t=Map("atinout",translate("Atinout Configuration"), +translate("Configuration panel for atinout.")) +e=t:section(NamedSection,'general',"atinout",""..translate("AT Commands Terminal Settings")) +e.anonymous=true +i=e:option(Value,"atcport",translate("AT Command Sending Port")) +if a then +local e +for e in a do +i:value(e,e) +end +end +local e=e:option(TextValue,"user_atcommands",translate("User AT Commands"),translate("Each line must have the following format: 'AT Command name;AT Command'. Save to file '/etc/config/atcommands.user'.")) +e.rows=20 +e.rmempty=false +function e.cfgvalue(e,e) +return o.readfile(n) +end +function e.write(t,t,e) +e=e:gsub("\r\n","\n") +o.writefile(n,e) +end +return t diff --git a/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/usr/lib/lua/luci/view/modem/atcommand.htm b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/usr/lib/lua/luci/view/modem/atcommand.htm new file mode 100755 index 0000000..b4110df --- /dev/null +++ b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/usr/lib/lua/luci/view/modem/atcommand.htm @@ -0,0 +1,133 @@ +<%+header%> + +

<%:AT Commands%>

+ +

+

<%:Sending commands to modem%>

+
+ +
+
<%:User AT Commands%>:
+ +
+ +
+
+
+ +
+
<%:Command to send%>:
+
+
+ +
+ +
+
<%:Reply%>: +

+

+ +
+ +
+ +
+ + + +<%+footer%> + diff --git a/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/usr/share/rpcd/acl.d/luci-app-atinout-mod.json b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/usr/share/rpcd/acl.d/luci-app-atinout-mod.json new file mode 100755 index 0000000..3897cf2 --- /dev/null +++ b/ipk-source/luci-app-atinout-mod_1.3.4-20241006_all/root/usr/share/rpcd/acl.d/luci-app-atinout-mod.json @@ -0,0 +1,17 @@ +{ + "luci-app-atinout-mod": { + "description": "Grant UCI and file access for luci-app-atinout-mod", + "read": { + "uci": [ "atinout" ] + }, + "write": { + "uci": [ "atinout" ] + } + } +} + + + + + + diff --git a/ipk-source/sdxpinn-console-menu/CONTROL/control b/ipk-source/sdxpinn-console-menu/CONTROL/control new file mode 100755 index 0000000..c2539cd --- /dev/null +++ b/ipk-source/sdxpinn-console-menu/CONTROL/control @@ -0,0 +1,6 @@ +Package: sdxpinn-console-menu +Version: 0.0.1 +Architecture: aarch64_cortex-a53 +Maintainer: Cameron Thompson iamromulan@github.com +Description: A custom CLI menu system for mamnagment of Quectel RM5xx modems +Depends: libc sdxpinn-mount-fix diff --git a/ipk-source/sdxpinn-console-menu/build-ipk b/ipk-source/sdxpinn-console-menu/build-ipk new file mode 100755 index 0000000..eb83cf6 --- /dev/null +++ b/ipk-source/sdxpinn-console-menu/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/usr/bin/download b/ipk-source/sdxpinn-console-menu/root/usr/bin/download old mode 100644 new mode 100755 similarity index 92% rename from usr/bin/download rename to ipk-source/sdxpinn-console-menu/root/usr/bin/download index fc67251..d67c3a5 --- a/usr/bin/download +++ b/ipk-source/sdxpinn-console-menu/root/usr/bin/download @@ -1,15 +1,16 @@ #!/bin/sh +# Disabled for now # Determine the absolute path of the script SCRIPT_PATH=$(realpath "$0") -download() { - if [ "$1" = "github" ]; then - download_github_directory "$2" "$3" - else - download_file "$1" "$2" - fi -} +#download() { +# if [ "$1" = "github" ]; then +# download_github_directory "$2" "$3" +# else +# download_file "$1" "$2" +# fi +#} download_file() { url="$1" @@ -106,9 +107,10 @@ download_github_directory() { }' } -if [ "$#" -eq 0 ]; then - echo "Usage: download [output_directory]" +#if [ "$#" -eq 0 ]; then +# echo "Usage: download [output_directory]" exit 1 -else +#else download "$@" -fi +#fi +exit 0 diff --git a/usr/bin/menu b/ipk-source/sdxpinn-console-menu/root/usr/bin/menu old mode 100644 new mode 100755 similarity index 65% rename from usr/bin/menu rename to ipk-source/sdxpinn-console-menu/root/usr/bin/menu index 5095ae1..03e498d --- a/usr/bin/menu +++ b/ipk-source/sdxpinn-console-menu/root/usr/bin/menu @@ -1,19 +1,13 @@ #!/bin/ash #WORK IN PROGRESS -#Console Menu # Define toolkit paths GITUSER="iamromulan" GITREPO="quectel-rgmii-toolkit" -GITTREE="SDXPINN" +GITTREE="development-SDXPINN" GITMAINTREE="SDXPINN" GITDEVTREE="development-SDXPINN" -TMP_DIR="/tmp" -USRDATA_DIR="/data" -SIMPLE_FIREWALL_DIR="/data/simplefirewall" -SIMPLE_FIREWALL_SCRIPT="$SIMPLE_FIREWALL_DIR/simplefirewall.sh" -SIMPLE_FIREWALL_SYSTEMD_DIR="$SIMPLE_FIREWALL_DIR/systemd" # Function to remount file system as read-write remount_rw() { @@ -25,15 +19,27 @@ remount_ro() { mount -o remount,ro / } - -overlay_check() { - if ! grep -qs '/real_rootfs ' /proc/mounts; then - echo -e "\e[31mYou do not have an overlay setup!\e[0m" - return 1 - fi +send_at_commands_using_atcmd() { + while true; do + echo -e "\e[1;32mEnter AT command (or type 'exit' to return to the main menu): \e[0m" + read at_command + if [ "$at_command" = "exit" ]; then + echo -e "\e[1;32mReturning to the main menu.\e[0m" + break + fi + echo -e "\e[1;32mSending AT command: $at_command\e[0m" + echo -e "\e[1;32mResponse:\e[0m" + # Use atcmd to send the command and display the output + atcmd_output=$(atcmd "'$at_command'") + echo "$atcmd_output" + echo -e "\e[1;32m----------------------------------------\e[0m" + done } + + + ttl_setup() { local ttl_file="/etc/firewall.user.ttl" local lan_utils_script="/etc/data/lanUtils.sh" @@ -109,87 +115,6 @@ set_root_passwd() { passwd } -# Function for Tailscale Submenu -tailscale_menu() { - while true; do - echo -e "\e[1;32mTailscale Menu\e[0m" - echo -e "\e[1;32m1) Install/Update Tailscale\e[0m" - echo -e "\e[1;36m2) Configure Tailscale\e[0m" - echo -e "\e[1;31m3) Return to Main Menu\e[0m" - read -p "Enter your choice: " tailscale_choice - - case $tailscale_choice in - 1) install_update_tailscale ;; - 2) configure_tailscale ;; - 3) break ;; - *) echo "Invalid option" ;; - esac - done -} - -# Function to install, update, or remove Tailscale -install_update_tailscale() { - echo -e "\e[1;31mInstalling Tailscale from opkg...\e[0m" - opkg install tailscale - if [ $? -ne 0 ]; then - echo -e "\e[1;31mFailed to install Tailscale via opkg.\e[0m" - return 1 - fi - - echo -e "\e[1;32mTailscale has been installed via opkg.\e[0m" - echo -e "\e[1;32mUpdating to the latest Tailscale version...\e[0m" - - # Stop Running Service - service tailscale stop - - # Define variables for the download - TAILSCALE_URL="https://pkgs.tailscale.com/stable/tailscale_1.74.1_arm64.tgz" - TAILSCALE_TGZ="/tmp/tailscale_1.74.1_arm64.tgz" - TAILSCALE_TMP_DIR="/tmp/tailscale_update" - - # Download the latest Tailscale package - echo -e "\e[1;32mDownloading latest Tailscale package...\e[0m" - curl "$TAILSCALE_URL" -o "$TAILSCALE_TGZ" - if [ $? -ne 0 ]; then - echo -e "\e[1;31mFailed to download Tailscale package. Please check your internet connection.\e[0m" - rm -f "$TAILSCALE_TGZ" - return 1 - fi - - # Extract the package - echo -e "\e[1;32mExtracting Tailscale package...\e[0m" - mkdir -p "$TAILSCALE_TMP_DIR" - tar -xzf "$TAILSCALE_TGZ" -C "$TAILSCALE_TMP_DIR" - if [ $? -ne 0 ]; then - echo -e "\e[1;31mFailed to extract Tailscale package.\e[0m" - rm -f "$TAILSCALE_TGZ" - rm -rf "$TAILSCALE_TMP_DIR" - return 1 - fi - - # Replace the binaries with force option - echo -e "\e[1;32mUpdating Tailscale binaries...\e[0m" - cp -f "$TAILSCALE_TMP_DIR/tailscale_1.74.1_arm64/tailscale" /usr/sbin/ - cp -f "$TAILSCALE_TMP_DIR/tailscale_1.74.1_arm64/tailscaled" /usr/sbin/ - if [ $? -ne 0 ]; then - echo -e "\e[1;31mFailed to copy new Tailscale binaries.\e[0m" - rm -f "$TAILSCALE_TGZ" - rm -rf "$TAILSCALE_TMP_DIR" - return 1 - fi - - # Set the correct permissions - chmod +x /usr/sbin/tailscale /usr/sbin/tailscaled - - # Clean up temporary files - rm -f "$TAILSCALE_TGZ" - rm -rf "$TAILSCALE_TMP_DIR" - - # Start Tailscale service if available - service tailscale start - echo -e "\e[1;32mTailscale version 1.74.1 installed\e[0m" -} - # Function to Configure Tailscale configure_tailscale() { @@ -282,49 +207,31 @@ while true; do echo " :+##+. " echo -e "\e[92m" - echo "Welcome to iamromulan's rcPCIe Toolkit script for Quectel RM55x Series modems!" + echo "Welcome to iamromulan's console menu for Quectel RM55x Series modems!" echo "Visit https://github.com/iamromulan for more!" echo -e "\e[0m" - echo -e "\e[91mThis is a test version of the toolkit for the new RM550/551 modems\e[0m" # Light Red + echo -e "\e[91mThis is a work in progress menu for RM550/551 modems\e[0m" # Light Red echo "Select an option:" echo -e "\e[0m" - echo -e "\e[94m1) TTL Setup\e[0m" # Light Blue - echo -e "\e[94m2) Set root password\e[0m" # Light Blue - echo -e "\e[94m3) Tailscale Management\e[0m" # Light Blue - echo -e "\e[92m4) Install Speedtest.net CLI app (speedtest command)\e[0m" # Light Green - echo -e "\e[93m5) Exit\e[0m" # Yellow (repeated color for exit option) + echo -e "\e[96m1) Send AT Commands\e[0m" # Cyan + echo -e "\e[92m2) Run the SDXPINN toolkit\e[0m" # Green + echo -e "\e[94m3) Run the development-SDXPINN toollkit (beta/test branch)\e[0m" # Light Blue + echo -e "\e[94m4) TTL Settings\e[0m" # Light Blue + echo -e "\e[94m5) Set root password\e[0m" # Light Blue + echo -e "\e[94m6) Tailscale Management\e[0m" # Light Blue + echo -e "\e[92m7) Run a speedtest.net speed test\e[0m" # Light Green + echo -e "\e[93m8) Exit\e[0m" # Yellow (repeated color for exit option) read -p "Enter your choice: " choice case $choice in - 1) - overlay_check - if [ $? -eq 1 ]; then continue; fi - ttl_setup - ;; - 2) - overlay_check - if [ $? -eq 1 ]; then continue; fi - set_root_passwd - ;; - 3) tailscale_menu ;; - 4) - overlay_check - if [ $? -eq 1 ]; then continue; fi - echo -e "\e[1;32mInstalling Speedtest.net CLI (speedtest command)\e[0m" - cd /usr/bin - curl -O https://install.speedtest.net/app/cli/ookla-speedtest-1.2.0-linux-aarch64.tgz - tar -xzf ookla-speedtest-1.2.0-linux-aarch64.tgz - rm ookla-speedtest-1.2.0-linux-aarch64.tgz - rm speedtest.md - rm speedtest.5 - cd / - echo -e "\e[1;32mSpeedtest CLI (speedtest command) installed!!\e[0m" - echo -e "\e[1;32mTry running the command 'speedtest'\e[0m" - echo -e "\e[1;32mNote that it will not work unless you login to the root account first\e[0m" - echo -e "\e[1;32mNormally only an issue in adb, ttyd, and ssh you are forced to login\e[0m" - echo -e "\e[1;32mIf in adb just type login and then try to run the speedtest command\e[0m" - ;; - 5) echo -e "\e[1;32mGoodbye!\e[0m"; break ;; + 1) send_at_commands_using_atcmd ;; + 2) cd /tmp && wget -O rcPCIe_SDXPINN_toolkit.sh https://raw.githubusercontent.com/iamromulan/quectel-rgmii-toolkit/SDXPINN/rcPCIe_SDXPINN_toolkit.sh && chmod +x rcPCIe_SDXPINN_toolkit.sh && ./rcPCIe_SDXPINN_toolkit.sh && cd / ;; + 3) cd /tmp && wget -O rcPCIe_SDXPINN_toolkit.sh https://raw.githubusercontent.com/iamromulan/quectel-rgmii-toolkit/development-SDXPINN/rcPCIe_SDXPINN_toolkit.sh && chmod +x rcPCIe_SDXPINN_toolkit.sh && ./rcPCIe_SDXPINN_toolkit.sh && cd / ;; + 4) ttl_setup ;; + 5) set_root_passwd ;; + 6) configure_tailscale ;; + 7) speedtest ;; + 8) echo -e "\e[1;32mGoodbye!\e[0m"; break ;; *) echo -e "\e[1;31mInvalid option\e[0m" ;; esac done diff --git a/opkg-feed/Packages b/opkg-feed/Packages index 0a948ff..994b148 100644 --- a/opkg-feed/Packages +++ b/opkg-feed/Packages @@ -1,10 +1,3 @@ -Lost field SourceName, atinout -Lost field LicenseFiles, LICENSE -Lost field SourceDateEpoch, 1691250335 -Lost field Installed-Size, 3571 -Lost field SourceName, luci-app-atinout-mod -Lost field SourceDateEpoch, 1636930326 -Lost field Installed-Size, 3790 Package: atinout Version: 0.9.1 Depends: libc @@ -20,16 +13,100 @@ License: GPLv2 Package: luci-app-atinout-mod -Version: 1.3.2-20220315 +Version: 1.3.4-20241006 Depends: libc, atinout, luci-compat Section: luci Architecture: all Maintainer: OpenWrt LuCI community -MD5Sum: 92a24b32ebcbd41501895fc0748a22d1 -Size: 4617 -Filename: luci-app-atinout-mod_1.3.2-20220315_all.ipk +MD5Sum: 2dac55de763333c37dd1728957fc8294 +Size: 4827 +Filename: luci-app-atinout-mod_1.3.4-20241006_all.ipk Source: package/luci-app-atinout-mod Description: Web UI for atinout License: GPLv3 +Package: ookla-speedtest +Version: 1.2.0 +Depends: libc +Section: net +Architecture: aarch64_cortex-a53 +Maintainer: Ookla +MD5Sum: 2183f2df42a00380e761cace096e17c3 +Size: 10757762 +Filename: ookla-speedtest_1.2.0_aarch64_cortex-a53.ipk +Source: speedtest.net/apps/cli +Description: speedtest.net CLI +License: GPLv3 + + +Package: sdxpinn-console-menu +Version: 0.0.1 +Depends: libc sdxpinn-mount-fix +Section: utils +Architecture: aarch64_cortex-a53 +Maintainer: iamromulan +MD5Sum: e4dd60a7725fb3df16e5ebc0f8d12330 +Size: 4902 +Filename: sdxpinn-console-menu_0.0.1_aarch64_cortex-a53.ipk +Source: github/iamromulan +Description: A custom CLI menu system for mamnagment of Quectel RM5xx modems +License: GPLv3 + + +Package: sdxpinn-mount-fix +Version: 1.1.0 +Depends: libc +Section: base +Architecture: aarch64_cortex-a53 +Maintainer: iamromulan +MD5Sum: f8e8f830a7ba794d3d090c206df2b729 +Size: 29357 +Filename: sdxpinn-mount-fix_1.1.0_aarch64_cortex-a53.ipk +Source: github/iamromulan +Description: Creates a usable mount space and overlay for SDXPINN modems. Dependencies bundled: libinotifytools and inotifywait +License: GPLv3 + + +Package: sdxpinn-quecmanager +Version: 0.0.1 +Depends: libc sdxpinn-mount-fix atinout +Section: admin +Architecture: aarch64_cortex-a53 +Maintainer: Russel Yasol Cameron Thompson +MD5Sum: 60381135963551200ca0479aceaab617 +Size: 643499 +Filename: sdxpinn-quecmanager_0.0.1_aarch64_cortex-a53.ipk +Source: github/iamromulan +Description: A custom web UI desgined to run alongside luci for Quectel RM55x modems +License: GPLv3 + + +Package: tailscale +Version: 1.74.1-1 +Depends: libc tailscaled +Section: net +Architecture: aarch64_cortex-a53 +Maintainer: Jan Pavlinec +MD5Sum: 17b17e02759f162b73697f5a2d00e1d5 +Size: 9392904 +Filename: tailscale_1.74.1-1_aarch64_cortex-a53.ipk +Source: feeds/packages/net/tailscale +Description: It creates a secure network between your servers, computers, and cloud instances. Even when separated by firewalls or subnets. Updated by iamromulan to 1.74.1 +License: GPLv3 + + +Package: tailscaled +Version: 1.74.1-1 +Depends: libc ca-bundle kmod-tun +Section: net +Architecture: aarch64_cortex-a53 +Maintainer: Jan Pavlinec +MD5Sum: 3f1290daeb00519877d4cc0628bfe190 +Size: 17468475 +Filename: tailscaled_1.74.1-1_aarch64_cortex-a53.ipk +Source: feeds/packages/net/tailscale +Description: It creates a secure network between your servers, computers, and cloud instances. Even when separated by firewalls or subnets. Updated by iamromulan to 1.74.1 +License: GPLv3 + + diff --git a/opkg-feed/Packages.gz b/opkg-feed/Packages.gz index 8ecbf1e99d6e874776b1a6e0df25b7d3c9cde0dd..857926bb63d71eeec681e71292576c01aefd3076 100644 GIT binary patch literal 1165 zcmV;81akWyiwFoIE&^u&15jaOYhh<)a{%pD+iu)85PjEI@B^}1Qa4J55yY_Dz=e~z zaniI;3yK`ASxb~kQeL}X-;wsFb+?Iwq7k1M?$z8CnIB@5YF4-Yeu#=#q*jmKZG zC*(|7Eev_xgYjU=sd%+C-i8gl4BlL%H+^$LGMTGb7K|pGL(GbV0&t#C#+cxhs)8H+ zCmxhUQ5O8DYcQhO=e-!yUHmuDZ4@4$`;6iYvB^Zaty}rJ>kAfh$ z-jZDRQqM%!%{E8RnpW)@XJH&Bvxr6sqcl6D{>2vPi**n@yc2#e$gucSk-9#R;2nnh zWIeg+&o9U1d!zm1j{ZmqnWhSO7UPeMxl)Wrd6Du;=24Ms>CYoRq5l}7#UYRdCUT%c zx29u$l#K&1K0!%7UXrS{JAWRK8&An?+q+uKT!$KaaDK{b6w>eJUo>rR{H)Rsd%k1*sCJKC4p-}YsQHlFWa?-_?gsf-HFqqHhxRj~|GC?&0O#iBT-TQe7Q%Jwm! zixJDN##jXA+mSAZ3d#r5S6$`=b;&$-H67BC9ZnXR^;a%S%I3of0I5u5UdDj z+%vSgHfis{*5Yy0&v%qH~fcW%_4SqjSs7FI%ku2*d#;?$5hL~zZ1Wku~8;!aYb8g0H#)Azk|=(XPj+Wn}i z%Fa|tJdC;68{1i@`zFK zoyAIZFNQlzhj+2z-=Xqk-S$KMIWO=ghDH0sJ$|yfh2eVE35%f>DY3q_g%#dO96?=O zU*aLS`D3TH8z!9&4Y5Z09Ie$C#g<~WZXVt++2v18{dVAS9MAX^Z^Vbf}N%!g? zclBOHpxT``5XzxMl-+ozq*OW^zgeDPCyZ(bXVakwssj$KX*Pz}V7J`DFI825FDQD8 zF#QUmscY`ofYQ+659drExPo__ksR)yil5Z;&X8{=c_K~%7Eqstl!lDN*XU2fcpL}U zyyf;B$iDb@B2{%2!58=3v$0V0cZ-AgUMu_igg>L4Mr%fKE!Hw3aY!avT#7J_CY(}9 z-tZ?Ry}*CV(dydB$_cqjp&f9HZ_>C5;~CfRZ2@It&i~>iT;|}u0`F&ThP(p+0RN)? Ag8%>k diff --git a/opkg-feed/Packages.sig b/opkg-feed/Packages.sig index 0aa048f..17f87ae 100644 --- a/opkg-feed/Packages.sig +++ b/opkg-feed/Packages.sig @@ -1,2 +1,2 @@ -untrusted comment: signed by key 2585d2dfe7e59028 -RWQlhdLf5+WQKHWdQyQdLxIrKqkDw8qMwdMnUvku9kAeFA4ibt9OtqMfObgPHGgzc5ai7Bao7ngdDe6+6yAfx8MYBwtdYP36Zgc= +untrusted comment: signed by key 6262698f038d1226 +RWRiYmmPA40SJkznq10rfs6bQH4JWPaTgsi68fSXP0wo51V394xOKFMj5jluXjbBzozuAIBxA+ANBSAgcDc9Zk3IV3yloLyOpwc= diff --git a/opkg-feed/iamromulan-SDXPINN-repo.key b/opkg-feed/iamromulan-SDXPINN-repo.key index a751ff4..67ce58a 100644 --- a/opkg-feed/iamromulan-SDXPINN-repo.key +++ b/opkg-feed/iamromulan-SDXPINN-repo.key @@ -1,2 +1,2 @@ -untrusted comment: public key 2585d2dfe7e59028 -RWQlhdLf5+WQKAVdfAaG8TkXZi5WfCnsxMiupWrh0Lt2yEubx05UYYfx +untrusted comment: iamromulan-SDXPINN-repo +RWRiYmmPA40SJuEKQND0oYaMLANvANo+5dJCAlGvndAi5aHQP3KPZ9aE diff --git a/opkg-feed/luci-app-atinout-mod_1.3.2-20220315_all.ipk b/opkg-feed/luci-app-atinout-mod_1.3.2-20220315_all.ipk deleted file mode 100644 index b81152ee38a0c87776bbd3dfd4d5d9d5ff989741..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4617 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 diff --git a/opkg-feed/luci-app-atinout-mod_1.3.4-20241006_all.ipk b/opkg-feed/luci-app-atinout-mod_1.3.4-20241006_all.ipk new file mode 100644 index 0000000000000000000000000000000000000000..1535cbe6da9a4e55e5783136e9be2899bed9a6c9 GIT binary patch literal 4827 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 BfolK& literal 0 HcmV?d00001 diff --git a/ipk/ookla-speedtest_1.2.0_aarch64_cortex-a53.ipk b/opkg-feed/ookla-speedtest_1.2.0_aarch64_cortex-a53.ipk similarity index 100% rename from ipk/ookla-speedtest_1.2.0_aarch64_cortex-a53.ipk rename to opkg-feed/ookla-speedtest_1.2.0_aarch64_cortex-a53.ipk diff --git a/opkg-feed/sdxpinn-console-menu_0.0.1_aarch64_cortex-a53.ipk b/opkg-feed/sdxpinn-console-menu_0.0.1_aarch64_cortex-a53.ipk new file mode 100644 index 0000000000000000000000000000000000000000..0520116103d8dd6153ce36af422743f7c9643471 GIT binary patch literal 4902 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 YJb3Wn!Gi}69{fA`52ol|z5ply01FJnUjP6A literal 0 HcmV?d00001 diff --git a/ipk/sdxpinn-mount-fix_1.1.0_aarch64_cortex-a53.ipk b/opkg-feed/sdxpinn-mount-fix_1.1.0_aarch64_cortex-a53.ipk similarity index 100% rename from ipk/sdxpinn-mount-fix_1.1.0_aarch64_cortex-a53.ipk rename to opkg-feed/sdxpinn-mount-fix_1.1.0_aarch64_cortex-a53.ipk diff --git a/ipk/sdxpinn-quecmanager_0.0.1_aarch64_cortex-a53.ipk b/opkg-feed/sdxpinn-quecmanager_0.0.1_aarch64_cortex-a53.ipk similarity index 100% rename from ipk/sdxpinn-quecmanager_0.0.1_aarch64_cortex-a53.ipk rename to opkg-feed/sdxpinn-quecmanager_0.0.1_aarch64_cortex-a53.ipk diff --git a/ipk/tailscale_1.74.1-1_aarch64_cortex-a53.ipk b/opkg-feed/tailscale_1.74.1-1_aarch64_cortex-a53.ipk similarity index 100% rename from ipk/tailscale_1.74.1-1_aarch64_cortex-a53.ipk rename to opkg-feed/tailscale_1.74.1-1_aarch64_cortex-a53.ipk diff --git a/ipk/tailscaled_1.74.1-1_aarch64_cortex-a53.ipk b/opkg-feed/tailscaled_1.74.1-1_aarch64_cortex-a53.ipk similarity index 100% rename from ipk/tailscaled_1.74.1-1_aarch64_cortex-a53.ipk rename to opkg-feed/tailscaled_1.74.1-1_aarch64_cortex-a53.ipk diff --git a/rcPCIe_SDXPINN_toolkit.sh b/rcPCIe_SDXPINN_toolkit.sh index 8349c78..4a30bd5 100644 --- a/rcPCIe_SDXPINN_toolkit.sh +++ b/rcPCIe_SDXPINN_toolkit.sh @@ -73,7 +73,7 @@ install_mount_fix() { fi # Install mount-fix cd /tmp - curl -O https://raw.githubusercontent.com/$GITUSER/$GITREPO/$GITTREE/ipk/sdxpinn-mount-fix_1.1.0_aarch64_cortex-a53.ipk + curl -O https://raw.githubusercontent.com/$GITUSER/$GITREPO/$GITTREE/opkg-feed/sdxpinn-mount-fix_1.1.0_aarch64_cortex-a53.ipk opkg install sdxpinn-mount-fix_1.1.0_aarch64_cortex-a53.ipk } @@ -86,29 +86,21 @@ basic_55x_setup() { echo -e "\e[92m" echo "iamromulan's ipk/opkg repo added!...." echo -e "\e[0m" - opkg install atinout luci-app-atinout-mod + opkg install atinout luci-app-atinout-mod sdxpinn-console-menu + + # Get rid of the Quectel Login Binary opkg install shadow-login - opkg install luci-app-ttyd - opkg install mc-skins mv /bin/login /bin/login.old cp /usr/bin/login /bin/login - rm /etc/config/atcommands.user - rm /etc/config/atinout - rm /etc/config/ttyd - cd /etc/config/ - curl -O https://raw.githubusercontent.com/$GITUSER/$GITREPO/$GITTREE/etc/config/atcommands.user - curl -O https://raw.githubusercontent.com/$GITUSER/$GITREPO/$GITTREE/etc/config/ttyd - curl -O https://raw.githubusercontent.com/$GITUSER/$GITREPO/$GITTREE/etc/config/atinout - cd / + + opkg install luci-app-ttyd + opkg install mc-skins + service uhttpd enable service dropbear enable service uhttpd start service dropbear start - echo -e "\e[92m" - echo "Set your root password:" - echo -e "\e[0m" - set_root_passwd - echo -e "\e[92m" + echo "Basic packages installed!" echo "Visit https://github.com/iamromulan for more!" echo -e "\e[0m" @@ -211,8 +203,8 @@ tailscale_menu() { install_update_tailscale() { echo -e "\e[1;31mInstalling Tailscale 1.74.1...\e[0m" cd /tmp - curl -O https://raw.githubusercontent.com/$GITUSER/$GITREPO/$GITTREE/ipk/tailscaled_1.74.1-1_aarch64_cortex-a53.ipk - curl -O https://raw.githubusercontent.com/$GITUSER/$GITREPO/$GITTREE/ipk/tailscale_1.74.1-1_aarch64_cortex-a53.ipk + curl -O https://raw.githubusercontent.com/$GITUSER/$GITREPO/$GITTREE/opkg-feed/tailscaled_1.74.1-1_aarch64_cortex-a53.ipk + curl -O https://raw.githubusercontent.com/$GITUSER/$GITREPO/$GITTREE/opkg-feed/tailscale_1.74.1-1_aarch64_cortex-a53.ipk opkg install tailscaled_1.74.1-1_aarch64_cortex-a53.ipk opkg install tailscale_1.74.1-1_aarch64_cortex-a53.ipk @@ -352,7 +344,7 @@ while true; do if [ $? -eq 1 ]; then continue; fi echo -e "\e[1;32mInstalling Speedtest.net CLI (speedtest command)\e[0m" cd /tmp - curl -O https://raw.githubusercontent.com/$GITUSER/$GITREPO/$GITTREE/ipk/ookla-speedtest_1.2.0_aarch64_cortex-a53.ipk + curl -O https://raw.githubusercontent.com/$GITUSER/$GITREPO/$GITTREE/opkg-feed/ookla-speedtest_1.2.0_aarch64_cortex-a53.ipk opkg install ookla-speedtest_1.2.0_aarch64_cortex-a53.ipk echo -e "\e[1;32mSpeedtest CLI (speedtest command) installed!!\e[0m" echo -e "\e[1;32mTry running the command 'speedtest'\e[0m" diff --git a/etc/init.d/socat-at-bridge-NOTREADY b/unused/init.d/socat-at-bridge-NOTREADY similarity index 100% rename from etc/init.d/socat-at-bridge-NOTREADY rename to unused/init.d/socat-at-bridge-NOTREADY