fix: download actual upstream configs and scripts
This commit is contained in:
@@ -1,6 +1,109 @@
|
||||
#!/bin/bash
|
||||
# Placeholder for Scripts/Handles.sh
|
||||
# Please download manually from:
|
||||
# curl -fsSL https://raw.githubusercontent.com/VIKINGYFY/OpenWRT-CI/main/Scripts/Handles.sh -o Scripts/Handles.sh
|
||||
set -euo pipefail
|
||||
echo "Handles.sh placeholder - please download the actual script"
|
||||
|
||||
PKG_PATH="$GITHUB_WORKSPACE/wrt/package/"
|
||||
|
||||
#预置HomeProxy数据
|
||||
if [ -d *"homeproxy"* ]; then
|
||||
echo " "
|
||||
|
||||
HP_RULE="surge"
|
||||
HP_PATH="homeproxy/root/etc/homeproxy"
|
||||
|
||||
rm -rf ./$HP_PATH/resources/*
|
||||
|
||||
git clone -q --depth=1 --single-branch --branch "release" "https://github.com/Loyalsoldier/surge-rules.git" ./$HP_RULE/
|
||||
cd ./$HP_RULE/ && RES_VER=$(git log -1 --pretty=format:'%s' | grep -o "[0-9]*")
|
||||
|
||||
echo $RES_VER | tee china_ip4.ver china_ip6.ver china_list.ver gfw_list.ver
|
||||
awk -F, '/^IP-CIDR,/{print $2 > "china_ip4.txt"} /^IP-CIDR6,/{print $2 > "china_ip6.txt"}' cncidr.txt
|
||||
sed 's/^\.//g' direct.txt > china_list.txt ; sed 's/^\.//g' gfw.txt > gfw_list.txt
|
||||
mv -f ./{china_*,gfw_list}.{ver,txt} ../$HP_PATH/resources/
|
||||
|
||||
cd .. && rm -rf ./$HP_RULE/
|
||||
|
||||
cd $PKG_PATH && echo "homeproxy date has been updated!"
|
||||
fi
|
||||
|
||||
#修改argon主题字体和颜色
|
||||
if [ -d *"luci-theme-argon"* ]; then
|
||||
echo " "
|
||||
|
||||
cd ./luci-theme-argon/
|
||||
|
||||
sed -i "s/primary '.*'/primary '#31a1a1'/; s/'0.2'/'0.5'/; s/'none'/'bing'/; s/'600'/'normal'/" ./luci-app-argon-config/root/etc/config/argon
|
||||
|
||||
cd $PKG_PATH && echo "theme-argon has been fixed!"
|
||||
fi
|
||||
|
||||
#修改aurora菜单式样
|
||||
if [ -d *"luci-app-aurora-config"* ]; then
|
||||
echo " "
|
||||
|
||||
cd ./luci-app-aurora-config/
|
||||
|
||||
sed -i "s/nav_submenu_type '.*'/nav_submenu_type 'boxed-dropdown'/g" $(find ./root/ -type f -name "*aurora")
|
||||
|
||||
cd $PKG_PATH && echo "theme-aurora has been fixed!"
|
||||
fi
|
||||
|
||||
#修改qca-nss-drv启动顺序
|
||||
NSS_DRV="../feeds/nss_packages/qca-nss-drv/files/qca-nss-drv.init"
|
||||
if [ -f "$NSS_DRV" ]; then
|
||||
echo " "
|
||||
|
||||
sed -i 's/START=.*/START=85/g' $NSS_DRV
|
||||
|
||||
cd $PKG_PATH && echo "qca-nss-drv has been fixed!"
|
||||
fi
|
||||
|
||||
#修改qca-nss-pbuf启动顺序
|
||||
NSS_PBUF="./kernel/mac80211/files/qca-nss-pbuf.init"
|
||||
if [ -f "$NSS_PBUF" ]; then
|
||||
echo " "
|
||||
|
||||
sed -i 's/START=.*/START=86/g' $NSS_PBUF
|
||||
|
||||
cd $PKG_PATH && echo "qca-nss-pbuf has been fixed!"
|
||||
fi
|
||||
|
||||
#修复TailScale配置文件冲突
|
||||
TS_FILE=$(find ../feeds/packages/ -maxdepth 3 -type f -wholename "*/tailscale/Makefile")
|
||||
if [ -f "$TS_FILE" ]; then
|
||||
echo " "
|
||||
|
||||
sed -i '/\/files/d' $TS_FILE
|
||||
|
||||
cd $PKG_PATH && echo "tailscale has been fixed!"
|
||||
fi
|
||||
|
||||
#修复Rust编译失败
|
||||
RUST_FILE=$(find ../feeds/packages/ -maxdepth 3 -type f -wholename "*/rust/Makefile")
|
||||
if [ -f "$RUST_FILE" ]; then
|
||||
echo " "
|
||||
|
||||
sed -i 's/ci-llvm=true/ci-llvm=false/g' $RUST_FILE
|
||||
|
||||
cd $PKG_PATH && echo "rust has been fixed!"
|
||||
fi
|
||||
|
||||
#修复DiskMan编译失败
|
||||
DM_FILE="./luci-app-diskman/applications/luci-app-diskman/Makefile"
|
||||
if [ -f "$DM_FILE" ]; then
|
||||
echo " "
|
||||
|
||||
sed -i '/ntfs-3g-utils /d' $DM_FILE
|
||||
|
||||
cd $PKG_PATH && echo "diskman has been fixed!"
|
||||
fi
|
||||
|
||||
#修复luci-app-netspeedtest相关问题
|
||||
if [ -d *"luci-app-netspeedtest"* ]; then
|
||||
echo " "
|
||||
|
||||
cd ./luci-app-netspeedtest/
|
||||
|
||||
sed -i '$a\exit 0' ./netspeedtest/files/99_netspeedtest.defaults
|
||||
sed -i 's/ca-certificates/ca-bundle/g' ./speedtest-cli/Makefile
|
||||
|
||||
cd $PKG_PATH && echo "netspeedtest has been fixed!"
|
||||
fi
|
||||
@@ -1,6 +1,121 @@
|
||||
#!/bin/bash
|
||||
# Placeholder for Scripts/Packages.sh
|
||||
# Please download manually from:
|
||||
# curl -fsSL https://raw.githubusercontent.com/VIKINGYFY/OpenWRT-CI/main/Scripts/Packages.sh -o Scripts/Packages.sh
|
||||
set -euo pipefail
|
||||
echo "Packages.sh placeholder - please download the actual script"
|
||||
|
||||
#安装和更新软件包
|
||||
UPDATE_PACKAGE() {
|
||||
local PKG_NAME=$1
|
||||
local PKG_REPO=$2
|
||||
local PKG_BRANCH=$3
|
||||
local PKG_SPECIAL=${4:-}
|
||||
local PKG_LIST=("$PKG_NAME" $5) # 第5个参数为自定义名称列表
|
||||
local REPO_NAME=${PKG_REPO#*/}
|
||||
|
||||
echo " "
|
||||
|
||||
# 删除本地可能存在的不同名称的软件包
|
||||
for NAME in "${PKG_LIST[@]}"; do
|
||||
# 查找匹配的目录
|
||||
echo "Search directory: $NAME"
|
||||
local FOUND_DIRS=$(find ../feeds/luci/ ../feeds/packages/ -maxdepth 3 -type d -iname "*$NAME*" 2>/dev/null)
|
||||
|
||||
# 删除找到的目录
|
||||
if [ -n "$FOUND_DIRS" ]; then
|
||||
while read -r DIR; do
|
||||
rm -rf "$DIR"
|
||||
echo "Delete directory: $DIR"
|
||||
done <<< "$FOUND_DIRS"
|
||||
else
|
||||
echo "Not fonud directory: $NAME"
|
||||
fi
|
||||
done
|
||||
|
||||
# 克隆 GitHub 仓库
|
||||
git clone --depth=1 --single-branch --branch $PKG_BRANCH "https://github.com/$PKG_REPO.git"
|
||||
|
||||
# 处理克隆的仓库
|
||||
if [[ "$PKG_SPECIAL" == "pkg" ]]; then
|
||||
find ./$REPO_NAME/*/ -maxdepth 3 -type d -iname "*$PKG_NAME*" -prune -exec cp -rf {} ./ \;
|
||||
rm -rf ./$REPO_NAME/
|
||||
elif [[ "$PKG_SPECIAL" == "name" ]]; then
|
||||
mv -f $REPO_NAME $PKG_NAME
|
||||
fi
|
||||
}
|
||||
|
||||
# 调用示例
|
||||
# UPDATE_PACKAGE "OpenAppFilter" "destan19/OpenAppFilter" "master" "" "custom_name1 custom_name2"
|
||||
# UPDATE_PACKAGE "open-app-filter" "destan19/OpenAppFilter" "master" "" "luci-app-appfilter oaf" 这样会把原有的open-app-filter,luci-app-appfilter,oaf相关组件删除,不会出现coremark错误。
|
||||
|
||||
# UPDATE_PACKAGE "包名" "项目地址" "项目分支" "pkg/name,可选,pkg为从大杂烩中单独提取包名插件;name为重命名为包名"
|
||||
UPDATE_PACKAGE "argon" "sbwml/luci-theme-argon" "openwrt-25.12"
|
||||
UPDATE_PACKAGE "aurora" "eamonxg/luci-theme-aurora" "master"
|
||||
UPDATE_PACKAGE "aurora-config" "eamonxg/luci-app-aurora-config" "master"
|
||||
UPDATE_PACKAGE "kucat" "sirpdboy/luci-theme-kucat" "master"
|
||||
UPDATE_PACKAGE "kucat-config" "sirpdboy/luci-app-kucat-config" "master"
|
||||
|
||||
UPDATE_PACKAGE "homeproxy" "VIKINGYFY/homeproxy" "main"
|
||||
UPDATE_PACKAGE "momo" "nikkinikki-org/OpenWrt-momo" "main"
|
||||
UPDATE_PACKAGE "nikki" "nikkinikki-org/OpenWrt-nikki" "main"
|
||||
UPDATE_PACKAGE "openclash" "vernesong/OpenClash" "dev" "pkg"
|
||||
UPDATE_PACKAGE "passwall" "Openwrt-Passwall/openwrt-passwall" "main" "pkg"
|
||||
UPDATE_PACKAGE "passwall2" "Openwrt-Passwall/openwrt-passwall2" "main" "pkg"
|
||||
|
||||
UPDATE_PACKAGE "luci-app-tailscale" "asvow/luci-app-tailscale" "main"
|
||||
|
||||
UPDATE_PACKAGE "ddns-go" "sirpdboy/luci-app-ddns-go" "main"
|
||||
UPDATE_PACKAGE "diskman" "lisaac/luci-app-diskman" "master"
|
||||
UPDATE_PACKAGE "easytier" "EasyTier/luci-app-easytier" "main"
|
||||
UPDATE_PACKAGE "fancontrol" "rockjake/luci-app-fancontrol" "main"
|
||||
UPDATE_PACKAGE "gecoosac" "lwb1978/openwrt-gecoosac" "main"
|
||||
UPDATE_PACKAGE "mosdns" "sbwml/luci-app-mosdns" "v5" "" "v2dat"
|
||||
UPDATE_PACKAGE "netspeedtest" "sirpdboy/luci-app-netspeedtest" "master" "" "homebox speedtest"
|
||||
UPDATE_PACKAGE "openlist2" "sbwml/luci-app-openlist2" "main"
|
||||
UPDATE_PACKAGE "partexp" "sirpdboy/luci-app-partexp" "main"
|
||||
UPDATE_PACKAGE "qbittorrent" "sbwml/luci-app-qbittorrent" "master" "" "qt6base qt6tools rblibtorrent"
|
||||
UPDATE_PACKAGE "qmodem" "FUjr/QModem" "main"
|
||||
UPDATE_PACKAGE "quickfile" "sbwml/luci-app-quickfile" "main"
|
||||
UPDATE_PACKAGE "viking" "VIKINGYFY/packages" "main" "" "luci-app-timewol luci-app-wolplus"
|
||||
UPDATE_PACKAGE "vnt" "lmq8267/luci-app-vnt" "main"
|
||||
|
||||
#更新软件包版本
|
||||
UPDATE_VERSION() {
|
||||
local PKG_NAME=$1
|
||||
local PKG_MARK=${2:-false}
|
||||
local PKG_FILES=$(find ./ ../feeds/packages/ -maxdepth 3 -type f -wholename "*/$PKG_NAME/Makefile")
|
||||
|
||||
if [ -z "$PKG_FILES" ]; then
|
||||
echo "$PKG_NAME not found!"
|
||||
return
|
||||
fi
|
||||
|
||||
echo -e "\n$PKG_NAME version update has started!"
|
||||
|
||||
for PKG_FILE in $PKG_FILES; do
|
||||
local PKG_REPO=$(grep -Po "PKG_SOURCE_URL:=https://.*github.com/\K[^/]+/[^/]+(?=.*)" $PKG_FILE)
|
||||
local PKG_TAG=$(curl -sL "https://api.github.com/repos/$PKG_REPO/releases" | jq -r "map(select(.prerelease == $PKG_MARK)) | first | .tag_name")
|
||||
|
||||
local OLD_VER=$(grep -Po "PKG_VERSION:=\K.*" "$PKG_FILE")
|
||||
local OLD_URL=$(grep -Po "PKG_SOURCE_URL:=\K.*" "$PKG_FILE")
|
||||
local OLD_FILE=$(grep -Po "PKG_SOURCE:=\K.*" "$PKG_FILE")
|
||||
local OLD_HASH=$(grep -Po "PKG_HASH:=\K.*" "$PKG_FILE")
|
||||
|
||||
local PKG_URL=$([[ "$OLD_URL" == *"releases"* ]] && echo "${OLD_URL%/}/$OLD_FILE" || echo "${OLD_URL%/}")
|
||||
|
||||
local NEW_VER=$(echo $PKG_TAG | sed -E 's/[^0-9]+/\./g; s/^\.|\.$//g')
|
||||
local NEW_URL=$(echo $PKG_URL | sed "s/\$(PKG_VERSION)/$NEW_VER/g; s/\$(PKG_NAME)/$PKG_NAME/g")
|
||||
local NEW_HASH=$(curl -sL "$NEW_URL" | sha256sum | cut -d ' ' -f 1)
|
||||
|
||||
echo "old version: $OLD_VER $OLD_HASH"
|
||||
echo "new version: $NEW_VER $NEW_HASH"
|
||||
|
||||
if [[ "$NEW_VER" =~ ^[0-9].* ]] && dpkg --compare-versions "$OLD_VER" lt "$NEW_VER"; then
|
||||
sed -i "s/PKG_VERSION:=.*/PKG_VERSION:=$NEW_VER/g" "$PKG_FILE"
|
||||
sed -i "s/PKG_HASH:=.*/PKG_HASH:=$NEW_HASH/g" "$PKG_FILE"
|
||||
echo "$PKG_FILE version has been updated!"
|
||||
else
|
||||
echo "$PKG_FILE version is already the latest!"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
#UPDATE_VERSION "软件包名" "测试版,true,可选,默认为否"
|
||||
UPDATE_VERSION "sing-box"
|
||||
#UPDATE_VERSION "tailscale"
|
||||
|
||||
@@ -1,6 +1,70 @@
|
||||
#!/bin/bash
|
||||
# Placeholder for Scripts/Settings.sh
|
||||
# Please download manually from:
|
||||
# curl -fsSL https://raw.githubusercontent.com/VIKINGYFY/OpenWRT-CI/main/Scripts/Settings.sh -o Scripts/Settings.sh
|
||||
set -euo pipefail
|
||||
echo "Settings.sh placeholder - please download the actual script"
|
||||
|
||||
#移除luci-app-attendedsysupgrade
|
||||
sed -i "/attendedsysupgrade/d" $(find ./feeds/luci/collections/ -type f -name "Makefile")
|
||||
#修改默认主题
|
||||
sed -i "s/luci-theme-bootstrap/luci-theme-$WRT_THEME/g" $(find ./feeds/luci/collections/ -type f -name "Makefile")
|
||||
#修改immortalwrt.lan关联IP
|
||||
sed -i "s/192\.168\.[0-9]*\.[0-9]*/$WRT_IP/g" $(find ./feeds/luci/modules/luci-mod-system/ -type f -name "flash.js")
|
||||
#添加编译日期标识
|
||||
sed -i "s/(\(luciversion || ''\))/(\1) + (' \/ $WRT_MARK-$WRT_DATE')/g" $(find ./feeds/luci/modules/luci-mod-status/ -type f -name "10_system.js")
|
||||
|
||||
WIFI_SH=$(find ./target/linux/{mediatek/filogic,qualcommax}/base-files/etc/uci-defaults/ -type f -name "*set-wireless.sh" 2>/dev/null)
|
||||
WIFI_UC="./package/network/config/wifi-scripts/files/lib/wifi/mac80211.uc"
|
||||
if [ -f "$WIFI_SH" ]; then
|
||||
#修改WIFI名称
|
||||
sed -i "s/BASE_SSID='.*'/BASE_SSID='$WRT_SSID'/g" $WIFI_SH
|
||||
#修改WIFI密码
|
||||
sed -i "s/BASE_WORD='.*'/BASE_WORD='$WRT_WORD'/g" $WIFI_SH
|
||||
elif [ -f "$WIFI_UC" ]; then
|
||||
#修改WIFI名称
|
||||
sed -i "s/ssid='.*'/ssid='$WRT_SSID'/g" $WIFI_UC
|
||||
#修改WIFI密码
|
||||
sed -i "s/key='.*'/key='$WRT_WORD'/g" $WIFI_UC
|
||||
#修改WIFI地区
|
||||
sed -i "s/country='.*'/country='CN'/g" $WIFI_UC
|
||||
#修改WIFI加密
|
||||
sed -i "s/encryption='.*'/encryption='psk2+ccmp'/g" $WIFI_UC
|
||||
fi
|
||||
|
||||
CFG_FILE="./package/base-files/files/bin/config_generate"
|
||||
#修改默认IP地址
|
||||
sed -i "s/192\.168\.[0-9]*\.[0-9]*/$WRT_IP/g" $CFG_FILE
|
||||
#修改默认主机名
|
||||
sed -i "s/hostname='.*'/hostname='$WRT_NAME'/g" $CFG_FILE
|
||||
|
||||
#配置文件修改
|
||||
echo "CONFIG_PACKAGE_luci=y" >> ./.config
|
||||
echo "CONFIG_LUCI_LANG_zh_Hans=y" >> ./.config
|
||||
echo "CONFIG_PACKAGE_luci-theme-$WRT_THEME=y" >> ./.config
|
||||
echo "CONFIG_PACKAGE_luci-app-$WRT_THEME-config=y" >> ./.config
|
||||
|
||||
#手动调整的插件
|
||||
if [ -n "$WRT_PACKAGE" ]; then
|
||||
echo -e "$WRT_PACKAGE" >> ./.config
|
||||
fi
|
||||
|
||||
#高通平台调整
|
||||
DTS_PATH="./target/linux/qualcommax/dts/"
|
||||
if [[ "${WRT_TARGET^^}" == *"QUALCOMMAX"* ]]; then
|
||||
#取消nss相关feed
|
||||
echo "CONFIG_FEED_nss_packages=n" >> ./.config
|
||||
echo "CONFIG_FEED_sqm_scripts_nss=n" >> ./.config
|
||||
#开启sqm-nss插件
|
||||
echo "CONFIG_PACKAGE_luci-app-sqm=y" >> ./.config
|
||||
echo "CONFIG_PACKAGE_sqm-scripts-nss=y" >> ./.config
|
||||
#设置NSS版本
|
||||
echo "CONFIG_NSS_FIRMWARE_VERSION_11_4=n" >> ./.config
|
||||
if [[ "${WRT_CONFIG,,}" == *"ipq50"* ]]; then
|
||||
echo "CONFIG_NSS_FIRMWARE_VERSION_12_2=y" >> ./.config
|
||||
else
|
||||
echo "CONFIG_NSS_FIRMWARE_VERSION_12_5=y" >> ./.config
|
||||
fi
|
||||
#无WIFI配置调整Q6大小
|
||||
if [[ "${WRT_CONFIG,,}" == *"wifi"* && "${WRT_CONFIG,,}" == *"no"* ]]; then
|
||||
find $DTS_PATH -type f ! -iname '*nowifi*' -exec sed -i 's/ipq\(6018\|8074\).dtsi/ipq\1-nowifi.dtsi/g' {} +
|
||||
echo "qualcommax set up nowifi successfully!"
|
||||
fi
|
||||
#其他调整
|
||||
echo "CONFIG_PACKAGE_kmod-usb-serial-qualcomm=y" >> ./.config
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user