|
|
|
|
@@ -119,10 +119,10 @@ function build_target {
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
AWG_LUCI_MK=$XDIR/package/feeds/_ruantiblock/luci-app-ruantiblock/Makefile
|
|
|
|
|
if [ -f $AWG_LUCI_MK ]; then
|
|
|
|
|
if ! grep "PKG_PROVIDES" $AWG_LUCI_MK >/dev/null ; then
|
|
|
|
|
sed -i 's/LUCI_PKGARCH:=all/LUCI_PKGARCH:=all\nPKG_PROVIDES:=luci-app-ruantiblock/g' $AWG_LUCI_MK
|
|
|
|
|
RAB_LUCI_MK=$XDIR/package/feeds/_ruantiblock/luci-app-ruantiblock/Makefile
|
|
|
|
|
if [ -f $RAB_LUCI_MK ]; then
|
|
|
|
|
if ! grep "PKG_PROVIDES" $RAB_LUCI_MK >/dev/null ; then
|
|
|
|
|
sed -i 's/LUCI_PKGARCH:=all/LUCI_PKGARCH:=all\nPKG_PROVIDES:=luci-app-ruantiblock/g' $RAB_LUCI_MK
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
@@ -133,51 +133,51 @@ function build_target {
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
PODKOP_MK=$XDIR/package/feeds/_podkop/podkop/Makefile
|
|
|
|
|
if [ -f $PODKOP_MK ]; then
|
|
|
|
|
sed -i 's/+sing-box / /g' $PODKOP_MK
|
|
|
|
|
sed -i 's/CONFLICTS:=.*/CONFLICTS:=/g' $PODKOP_MK
|
|
|
|
|
fi
|
|
|
|
|
PODKOP_SH=$XDIR/package/feeds/_podkop/podkop/files/usr/bin/podkop
|
|
|
|
|
if [ -f $PODKOP_SH ] && ! grep -q '(which sing-box)' $PODKOP_SH ; then
|
|
|
|
|
sed -i '/,\\"dns_configured\\":/i [ -z "$(which sing-box)" ] && status="not installed"' $PODKOP_SH
|
|
|
|
|
echo ">>> podkop patched !!!"
|
|
|
|
|
PODKOP_DIR=$XDIR/package/feeds/_podkop
|
|
|
|
|
if [ -d $PODKOP_DIR ]; then
|
|
|
|
|
PODKOP_PATCH=
|
|
|
|
|
PODKOP_MK=$PODKOP_DIR/podkop/Makefile
|
|
|
|
|
if [ -f $PODKOP_MK ] && grep -q '+sing-box' $PODKOP_MK ; then
|
|
|
|
|
sed -i 's/+sing-box / /g' $PODKOP_MK
|
|
|
|
|
sed -i 's/CONFLICTS:=.*/CONFLICTS:=/g' $PODKOP_MK
|
|
|
|
|
PODKOP_PATCH="$PODKOP_PATCH (del depend sing-box)"
|
|
|
|
|
fi
|
|
|
|
|
PODKOP_SH=$PODKOP_DIR/podkop/files/usr/bin/podkop
|
|
|
|
|
if [ -f $PODKOP_SH ] && ! grep -q '(which sing-box)' $PODKOP_SH ; then
|
|
|
|
|
sed -i '/,\\"dns_configured\\":/i [ -z "$(which sing-box)" ] && status="not installed"' $PODKOP_SH
|
|
|
|
|
PODKOP_PATCH="$PODKOP_PATCH (status for sing-box)"
|
|
|
|
|
fi
|
|
|
|
|
if [ -f $PODKOP_MK ] && grep -q 'PODKOP_VERSION' $PODKOP_MK ; then
|
|
|
|
|
PKGVERLIST=$( git ls-remote --tags https://github.com/itdoginfo/podkop.git | awk -F/ '{print $3}' | grep -Ev '^v' | sort -V | tail -n 2 )
|
|
|
|
|
VER_PREV=$( sed -n '1p' <<< "$PKGVERLIST" )
|
|
|
|
|
VER_LATEST=$( sed -n '2p' <<< "$PKGVERLIST" )
|
|
|
|
|
[ -z "$VER_LATEST" ] && { echo "ERROR: cannot detect version of podkop!"; exit 1; }
|
|
|
|
|
sed -i 's/PKG_VERSION :=.*/PKG_VERSION:='$VER_LATEST'/g' $PODKOP_MK
|
|
|
|
|
PODKOP_PATCH="$PODKOP_PATCH (set ver $VER_LATEST)"
|
|
|
|
|
fi
|
|
|
|
|
PODKOP_MK=$PODKOP_DIR/luci-app-podkop/Makefile
|
|
|
|
|
if [ -f $PODKOP_MK ] && grep -q 'PODKOP_VERSION' $PODKOP_MK ; then
|
|
|
|
|
PKGVERLIST=$( git ls-remote --tags https://github.com/itdoginfo/podkop.git | awk -F/ '{print $3}' | grep -Ev '^v' | sort -V | tail -n 2 )
|
|
|
|
|
VER_PREV=$( sed -n '1p' <<< "$PKGVERLIST" )
|
|
|
|
|
VER_LATEST=$( sed -n '2p' <<< "$PKGVERLIST" )
|
|
|
|
|
[ -z "$VER_LATEST" ] && { echo "ERROR: cannot detect version of podkop!"; exit 1; }
|
|
|
|
|
sed -i 's/PKG_VERSION :=.*/PKG_VERSION:='$VER_LATEST'/g' $PODKOP_MK
|
|
|
|
|
PODKOP_PATCH="$PODKOP_PATCH (Set Ver $VER_LATEST)"
|
|
|
|
|
fi
|
|
|
|
|
[ "$PODKOP_PATCH" != "" ] && echo ">>> podkop patched !!! $PODKOP_PATCH"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
DROPBEAR_DIR=$XDIR/package/network/services/dropbear
|
|
|
|
|
DROPBEAR_MK=$DROPBEAR_DIR/Makefile
|
|
|
|
|
TMP_DROPBEAR_DIR=$XDIR/_dropbear2024
|
|
|
|
|
TMP_DROPBEAR_MK=$TMP_DROPBEAR_DIR/Makefile
|
|
|
|
|
DROPBEAR_MK=$XDIR/package/network/services/dropbear/Makefile
|
|
|
|
|
if [ -f $DROPBEAR_MK ]; then
|
|
|
|
|
# download dropbear 2024.86 (OpenWrt v24.10)
|
|
|
|
|
if [ ! -f $TMP_DROPBEAR_DIR/Makefile ]; then
|
|
|
|
|
rm -rf $TMP_DROPBEAR_DIR
|
|
|
|
|
git clone --depth 1 --filter=blob:none --sparse https://github.com/openwrt/openwrt.git $TMP_DROPBEAR_DIR && (
|
|
|
|
|
cd $TMP_DROPBEAR_DIR
|
|
|
|
|
git sparse-checkout set package/network/services/dropbear
|
|
|
|
|
git checkout a2f0cd35ac1d15e69f4897b35c049e175dd06825 # commit 2024-12-12 https://github.com/openwrt/openwrt/commits/openwrt-25.12/package/network/services/dropbear
|
|
|
|
|
mv package/network/services/dropbear/* .
|
|
|
|
|
)
|
|
|
|
|
rm -rf $TMP_DROPBEAR_DIR/package
|
|
|
|
|
rm -rf $TMP_DROPBEAR_DIR/.git
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
if [ -f $TMP_DROPBEAR_MK ] && ! grep -q 'PKG_RELEASE:=0' $TMP_DROPBEAR_MK ; then
|
|
|
|
|
# patch: Disable MODERN and enable RSA/DH-SHA1
|
|
|
|
|
sed -i 's/^PKG_RELEASE:=.*/PKG_RELEASE:=0/g' $TMP_DROPBEAR_MK
|
|
|
|
|
sed -i '/,CONFIG_DROPBEAR_MODERN_ONLY,/d' $TMP_DROPBEAR_MK
|
|
|
|
|
sed -i 's/\tCONFIG_DROPBEAR_MODERN_ONLY/ /g' $TMP_DROPBEAR_MK
|
|
|
|
|
sed -i 's/ CONFIG_DROPBEAR_MODERN_ONLY/ /g' $TMP_DROPBEAR_MK
|
|
|
|
|
sed -i 's/DROPBEAR_DH_GROUP14_SHA1,0/ /g' $TMP_DROPBEAR_MK
|
|
|
|
|
sed -i 's/DROPBEAR_SHA1_HMAC,0/ /g' $TMP_DROPBEAR_MK
|
|
|
|
|
sed -i 's/^PKG_RELEASE:=.*/PKG_RELEASE:=0/g' $DROPBEAR_MK
|
|
|
|
|
sed -i '/,CONFIG_DROPBEAR_MODERN_ONLY,/d' $DROPBEAR_MK
|
|
|
|
|
sed -i 's/\tCONFIG_DROPBEAR_MODERN_ONLY/ /g' $DROPBEAR_MK
|
|
|
|
|
sed -i 's/ CONFIG_DROPBEAR_MODERN_ONLY/ /g' $DROPBEAR_MK
|
|
|
|
|
sed -i 's/DROPBEAR_DH_GROUP14_SHA1,0/ /g' $DROPBEAR_MK
|
|
|
|
|
sed -i 's/DROPBEAR_SHA1_HMAC,0/ /g' $DROPBEAR_MK
|
|
|
|
|
echo ">>> dropbear patched !!! (disable MODERN_ONLY)"
|
|
|
|
|
fi
|
|
|
|
|
if [ -f $DROPBEAR_MK ] && [ -f $TMP_DROPBEAR_MK ] && ! cmp -s $DROPBEAR_MK $TMP_DROPBEAR_MK ; then
|
|
|
|
|
# downgrade dropbear to 2024.86 (OpenWrt v24.10)
|
|
|
|
|
rm -rf $DROPBEAR_DIR/*
|
|
|
|
|
cp -a $TMP_DROPBEAR_DIR/. $DROPBEAR_DIR/
|
|
|
|
|
echo ">>> dropbear downgraded to 2024.86 !!!"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
make defconfig
|
|
|
|
|
|
|
|
|
|
@@ -214,7 +214,10 @@ function build_target {
|
|
|
|
|
echo -e "\nCONFIG_PACKAGE_wpad-openssl=y\n" >> $CFG
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
#DASHBRDPO=$XDIR/feeds/luci/modules/luci-mod-dashboard/po/ru/dashboard.po
|
|
|
|
|
DASHBRDPO=$XDIR/feeds/luci/modules/luci-mod-dashboard/po/ru/dashboard.po
|
|
|
|
|
if [ -f $DASHBRDPO ]; then
|
|
|
|
|
sed -i 's/msgid "Dashboard"/msgid "__dash_board__"/g' $DASHBRDPO
|
|
|
|
|
fi
|
|
|
|
|
DASHBRDPO=$XDIR/package/feeds/luci/luci-mod-dashboard/po/ru/dashboard.po
|
|
|
|
|
if [ -f $DASHBRDPO ]; then
|
|
|
|
|
sed -i 's/msgid "Dashboard"/msgid "__dash_board__"/g' $DASHBRDPO
|
|
|
|
|
@@ -286,32 +289,31 @@ function build_target {
|
|
|
|
|
echo "Patch '$(basename $incfn)' result: OK"
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
APK_DIR=$XDIR/files/etc/apk
|
|
|
|
|
if [ -d $APK_DIR ]; then
|
|
|
|
|
rm -rf $APK_DIR
|
|
|
|
|
OPKG_DIR=$XDIR/files/etc/opkg
|
|
|
|
|
if [ -d $OPKG_DIR ]; then
|
|
|
|
|
rm -rf $OPKG_DIR
|
|
|
|
|
fi
|
|
|
|
|
FANT_PKG_KEY=$XDIR/20241123170031.pub
|
|
|
|
|
FANT_PKG_KEY=$XDIR/53FF2B6672243D28.pub
|
|
|
|
|
if [ -f $FANT_PKG_KEY ]; then
|
|
|
|
|
APK_SRC_DIR=$XDIR/package/system/apk/files
|
|
|
|
|
APK_KEYS_DIR=$APK_DIR/keys
|
|
|
|
|
mkdir -p $APK_KEYS_DIR
|
|
|
|
|
cp $FANT_PKG_KEY $APK_KEYS_DIR/fantastic-packages-20241123170031.pem
|
|
|
|
|
APK_CFEED_FN=$APK_DIR/repositories.d/customfeeds.list
|
|
|
|
|
mkdir -p $APK_DIR/repositories.d
|
|
|
|
|
cp $APK_SRC_DIR/customfeeds.list $APK_CFEED_FN
|
|
|
|
|
PKG_LINK="https://fantastic-packages.github.io/releases/<<VER>>/packages/<<ARCH>>"
|
|
|
|
|
echo "" >> $APK_CFEED_FN
|
|
|
|
|
echo "$PKG_LINK/luci/packages.adb" >> $APK_CFEED_FN
|
|
|
|
|
echo "$PKG_LINK/packages/packages.adb" >> $APK_CFEED_FN
|
|
|
|
|
echo "$PKG_LINK/special/packages.adb" >> $APK_CFEED_FN
|
|
|
|
|
OPKG_SRC_DIR=$XDIR/package/system/opkg/files
|
|
|
|
|
OPKG_KEYS_DIR=$OPKG_DIR/keys
|
|
|
|
|
mkdir -p $OPKG_KEYS_DIR
|
|
|
|
|
cp $FANT_PKG_KEY $OPKG_KEYS_DIR/53ff2b6672243d28
|
|
|
|
|
OPKG_CFEED_FN=$OPKG_DIR/customfeeds.conf
|
|
|
|
|
cp $OPKG_SRC_DIR/customfeeds.conf $OPKG_CFEED_FN
|
|
|
|
|
PKG_LINK="https://fantastic-packages.github.io/packages/releases/<<VER>>/packages/<<ARCH>>"
|
|
|
|
|
echo "" >> $OPKG_CFEED_FN
|
|
|
|
|
echo "src/gz fantastic_packages_luci $PKG_LINK/luci" >> $OPKG_CFEED_FN
|
|
|
|
|
echo "src/gz fantastic_packages_packages $PKG_LINK/packages" >> $OPKG_CFEED_FN
|
|
|
|
|
echo "src/gz fantastic_packages_special $PKG_LINK/special" >> $OPKG_CFEED_FN
|
|
|
|
|
TARGET_ARCH_PACKAGES=$( get_cfg_opt_value $CFG TARGET_ARCH_PACKAGES )
|
|
|
|
|
[ -z "$TARGET_ARCH_PACKAGES" ] && die "Cannot find TARGET ARCH"
|
|
|
|
|
sed -i "s/<<VER>>/25.12/g" $APK_CFEED_FN
|
|
|
|
|
sed -i "s/<<ARCH>>/$TARGET_ARCH_PACKAGES/g" $APK_CFEED_FN
|
|
|
|
|
logmsg "Added support of Fantastic packages [https://fantastic-packages.github.io/releases]"
|
|
|
|
|
sed -i "s/<<VER>>/24.10/g" $OPKG_CFEED_FN
|
|
|
|
|
sed -i "s/<<ARCH>>/$TARGET_ARCH_PACKAGES/g" $OPKG_CFEED_FN
|
|
|
|
|
logmsg "Added support of Fantastic packages [https://fantastic-packages.github.io/packages]"
|
|
|
|
|
fi
|
|
|
|
|
if [ $BUILD_ONLY_INITRAMFS = true ]; then
|
|
|
|
|
rm -f $APK_DIR/repositories.d/customfeeds.list
|
|
|
|
|
rm -f $OPKG_DIR/customfeeds.conf
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
SYSCTLCONF_FN=$XDIR/files/etc/sysctl.conf
|
|
|
|
|
|