# # This is free software, lisence use MIT. # # # name: Merge-upstream on: push: paths: - '.github/workflows/upstream.yml' - '.gitignore' - '.github/diy/**' schedule: - cron: 0 */12 * * * workflow_dispatch: inputs: ssh: description: 'ssh' required: false default: 'true' watch: types: started repository_dispatch: jobs: merge: if: github.event.repository.owner.id == github.event.sender.id || ! github.event.sender.id || github.event.sender.id == '119362912' runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@main with: fetch-depth: 0 - uses: de-vri-es/setup-git-credentials@v2 with: credentials: https://kiddin9:${{ secrets.TOKEN_KIDDIN9 }}@github.com/ - name: Set git identity run : | git config --global user.email "github-actions[bot]@users.noreply.github.com" git config --global user.name "github-actions[bot]" sudo timedatectl set-timezone "Asia/Shanghai" - name: Syn upstream run: | shopt -s extglob set +e git rm -r --cache * >/dev/null 2>&1 & rm -rf `find ./* -maxdepth 0 -type d ! -name ".github/diy"` >/dev/null 2>&1 function git_clone() { git clone --depth 1 $1 $2 if [ "$?" != 0 ]; then echo "error on $1" pid="$( ps -q $$ )" kill $pid fi } function git_sparse_clone() { trap 'rm -rf "$tmpdir"' EXIT branch="$1" curl="$2" && shift 2 rootdir="$PWD" tmpdir="$(mktemp -d)" || exit 1 if [ ${#branch} -lt 10 ]; then git clone -b "$branch" --depth 1 --filter=blob:none --sparse "$curl" "$tmpdir" cd "$tmpdir" else git clone --filter=blob:none --sparse "$curl" "$tmpdir" cd "$tmpdir" git checkout $branch fi if [ "$?" != 0 ]; then echo "error on $curl" exit 1 fi git sparse-checkout init --cone git sparse-checkout set "$@" mv -n $@ $rootdir/ || true cd $rootdir } function mvdir() { mv -n `find $1/* -maxdepth 0 -type d` ./ rm -rf $1 } ( git_clone https://github.com/kiddin9/my-packages && mvdir my-packages git_clone https://github.com/kiddin9/openwrt-bypass && mvdir openwrt-bypass git_clone https://github.com/kiddin9/luci-app-dnsfilter git_clone https://github.com/kiddin9/aria2 git_clone https://github.com/kiddin9/luci-theme-edge git_clone https://github.com/kiddin9/luci-app-xlnetacc git_clone https://github.com/kiddin9/luci-app-wizard git_clone https://github.com/kiddin9/luci-app-adguardhome git_clone https://github.com/kiddin9/luci-app-cloudreve git_clone https://github.com/kiddin9/openwrt-filebrowser && mvdir openwrt-filebrowser # git_clone https://github.com/kiddin9/nginx-ui-openwrt && mvdir nginx-ui-openwrt ) & ( git_clone https://github.com/kiddin9/openwrt-netdata netdata git_clone https://github.com/kiddin9/luci-app-syscontrol git_clone https://github.com/kiddin9/luci-app-chinadns-ng git_clone https://github.com/kiddin9/openwrt-my-dnshelper && mvdir openwrt-my-dnshelper git_clone https://github.com/kiddin9/openwrt-lingtigameacc && mvdir openwrt-lingtigameacc git_clone https://github.com/kiddin9/luci-app-vsftpd git_clone https://github.com/kiddin9/openwrt-subconverter && mvdir openwrt-subconverter git_clone https://github.com/kiddin9/luci-app-syncdial ) & ( git_clone https://github.com/Openwrt-Passwall/openwrt-passwall && mvdir openwrt-passwall git_clone https://github.com/Openwrt-Passwall/openwrt-passwall-packages && mvdir openwrt-passwall-packages git_clone https://github.com/sbwml/luci-app-mosdns openwrt-mos && mv -n openwrt-mos/{*mosdns,v2dat} ./; rm -rf openwrt-mos git clone https://github.com/fw876/helloworld -b master && mvdir helloworld git_clone https://github.com/Lienol/openwrt-package liep && rm -rf liep/other git_clone https://github.com/rufengsuixing/luci-app-autoipsetadder git_clone https://github.com/NateLol/luci-app-beardropper git_clone https://github.com/riverscn/openwrt-iptvhelper && mvdir openwrt-iptvhelper git_clone https://github.com/kongfl888/luci-app-timedreboot git_clone https://github.com/sbwml/luci-app-webdav git_clone https://github.com/sbwml/package_kernel_tcp-brutal git_clone https://github.com/sbwml/luci-app-quickfile quickf && mvdir quickf git_clone https://github.com/hudra0/luci-app-qosmate ) & ( git_clone https://github.com/sirpdboy/luci-app-advancedplus git_clone https://github.com/sirpdboy/luci-app-taskplan taskplan && mvdir taskplan git_clone https://github.com/sirpdboy/luci-app-lucky oplucky && mvdir oplucky git_clone https://github.com/sirpdboy/luci-app-partexp partexp && mvdir partexp git_clone https://github.com/sirpdboy/netspeedtest speedtest && mvdir speedtest git_clone https://github.com/sirpdboy/luci-app-parentcontrol git_clone https://github.com/sirpdboy/luci-app-poweroffdevice poweroffdevice && mvdir poweroffdevice git_clone https://github.com/sirpdboy/luci-app-watchdog watchdog1 && mvdir watchdog1 git_clone https://github.com/sirpdboy/luci-app-cupsd cupsd1 && mv -n cupsd1/{luci-app-cupsd,cups} ./ ; rm -rf cupsd1 git_clone https://github.com/sirpdboy/luci-app-timecontrol timecontrol && mvdir timecontrol git_clone https://github.com/sirpdboy/luci-theme-kucat git_clone https://github.com/sirpdboy/luci-app-kucat-config git_clone https://github.com/sirpdboy/luci-app-chatgpt-web git_clone https://github.com/sirpdboy/luci-app-eqosplus git_clone https://github.com/sirpdboy/luci-app-netdata lucinetdata && mv lucinetdata/luci-app-netdata ./;rm -rf lucinetdata ) & ( git_clone https://github.com/destan19/OpenAppFilter && mvdir OpenAppFilter git_clone https://github.com/lvqier/luci-app-dnsmasq-ipset git_clone https://github.com/walkingsky/luci-wifidog luci-app-wifidog git_clone https://github.com/peter-tank/luci-app-autorepeater git_clone https://github.com/brvphoenix/luci-app-wrtbwmon wrtbwmon1 && mvdir wrtbwmon1 git_clone https://github.com/brvphoenix/wrtbwmon wrtbwmon2 && mvdir wrtbwmon2 git_clone https://github.com/timsaya/luci-app-bandix bandix1 && mv -f bandix1/luci-app-bandix ./;rm -rf bandix1 git_clone https://github.com/timsaya/openwrt-bandix bandix2 && mv -f bandix2/openwrt-bandix ./;rm -rf bandix2 ) & ( git_clone https://github.com/everburstSun/tencentcloud-openwrt-plugin-ddns && mv -n tencentcloud-openwrt-plugin-ddns/tencentcloud_ddns ./luci-app-tencentddns; rm -rf tencentcloud-openwrt-plugin-ddns git_clone https://github.com/Tencent-Cloud-Plugins/tencentcloud-openwrt-plugin-cos && mv -n tencentcloud-openwrt-plugin-cos/tencentcloud_cos ./luci-app-tencentcloud-cos; rm -rf tencentcloud-openwrt-plugin-cos git_clone https://github.com/doushang/luci-app-shortcutmenu luci-shortcutmenu && mv -n luci-shortcutmenu/luci-app-shortcutmenu ./ ; rm -rf luci-shortcutmenu git_clone https://github.com/aa65535/openwrt-dist-luci # git_clone https://github.com/morytyann/OpenWrt-msd && mvdir OpenWrt-msd # git_clone https://github.com/messense/aliyundrive-webdav aliyundrive && mv -n aliyundrive/openwrt/* ./ ; rm -rf aliyundrive # git_clone https://github.com/sbilly/netmaker-openwrt && mv -n netmaker-openwrt/netmaker ./; rm -rf netmaker-openwrt # git_clone https://github.com/lisaac/luci-app-dockerman dockerman && mv -n dockerman/applications/* ./; rm -rf dockerman ) & ( git_clone https://github.com/ophub/luci-app-amlogic amlogic && mv -n amlogic/luci-app-amlogic ./;rm -rf amlogic git_clone https://github.com/mingxiaoyu/luci-app-cloudflarespeedtest cloudflarespeedtest && mv -n cloudflarespeedtest/applications/* ./;rm -rf cloudflarespeedtest git_clone https://github.com/Openwrt-Passwall/openwrt-passwall2 passwall2 && mv -n passwall2/luci-app-passwall2 ./;rm -rf passwall2 git_clone https://github.com/linkease/nas-packages && mv -n nas-packages/network/services/* ./; rm -rf nas-packages git_clone https://github.com/linkease/nas-packages-luci && mv -n nas-packages-luci/luci/* ./; rm -rf nas-packages-luci git_clone https://github.com/linkease/istore && mv -n istore/luci/* ./; rm -rf istore #git_clone https://github.com/linkease/lcdsimple lcdsimple1 && mvdir lcdsimple1 git_clone https://github.com/fcshark-org/openwrt-fchomo && mvdir openwrt-fchomo ) & ( git_clone https://github.com/frainzy1477/luci-app-clash git_clone https://github.com/peter-tank/luci-app-fullconenat git_clone https://github.com/KFERMercer/luci-app-tcpdump git_clone https://github.com/ykxVK8yL5L/pikpak-webdav pikpak && mv -n pikpak/openwrt/* ./;rm -rf pikpak git_clone https://github.com/jjm2473/openwrt-apps && rm -rf openwrt-apps/{luci-app-cpufreq,luci-app-ota,homebox,luci-alias.mk} && sed -i "s/luci-alias.mk/..\/luci.mk/" openwrt-apps/*/Makefile && mvdir openwrt-apps git_clone https://github.com/nikkinikki-org/OpenWrt-nikki && mv -f OpenWrt-nikki/{luci-app-nikki,nikki,mihomo*} ./;rm -rf OpenWrt-nikki git_clone https://github.com/nikkinikki-org/OpenWrt-momo && mv -f OpenWrt-momo/{luci-app-momo,momo} ./;rm -rf OpenWrt-momo ) & ( git_clone https://github.com/ZeaKyX/speedtest-web git_clone https://github.com/ZeaKyX/luci-app-speedtest-web git_clone https://github.com/linkease/openwrt-app-actions git_clone https://github.com/Wulnut/luci-app-suselogin git_clone https://github.com/mchome/openwrt-dogcom git_clone https://github.com/lucikap/luci-app-brukamen && mv -n luci-app-brukamen/luci* ./;rm -rf luci-app-brukamen luci-app-autoshell_*.ipk git_clone https://github.com/yichya/luci-app-xray yichya && mv -f yichya/status ./luci-app-xray-status;mv -f yichya/core ./luci-app-xray;rm -rf yichya git_clone https://github.com/rafmilecki/luci-app-xjay git_clone https://github.com/lwb1978/luci-app-timewol ) & ( git_clone https://github.com/honwen/luci-app-aliddns git_clone https://github.com/peter-tank/luci-app-dnscrypt-proxy2 git_clone https://github.com/sundaqiang/openwrt-packages && mv -n openwrt-packages/luci-* ./; rm -rf openwrt-packages git_clone https://github.com/CHN-beta/rkp-ipid git_clone https://github.com/2018nuoyan/openwrt_nezha && mv -n openwrt_nezha/*nezhav1 ./; rm -rf openwrt_nezha git clone https://github.com/Ausaci/luci-app-nat6-helper -b main-dev ) & ( # git_clone https://github.com/zzsj0928/luci-app-pushbot git_clone https://github.com/shanglanxin/luci-app-homebridge git_clone https://github.com/ykxVK8yL5L/luci-app-synology synology && mv -n synology/luci-app-synology ./ && rm -rf synology git_clone https://github.com/htynkn/openwrt-switch-lan-play && mv -n openwrt-switch-lan-play/package/* ./ && rm -rf openwrt-switch-lan-play git_clone https://github.com/xptsp/luci-app-nodogsplash git_clone https://github.com/xptsp/luci-mod-listening-ports git_clone https://github.com/xptsp/luci-app-squid-adv git_clone https://github.com/10000ge10000/luci-app-openclaw ) & ( git_clone https://github.com/honwen/luci-app-shadowsocks-rust git_clone https://github.com/Hyy2001X/AutoBuild-Packages && rm -rf AutoBuild-Packages/luci-app-adguardhome && mvdir AutoBuild-Packages # git_clone https://github.com/lazywalker/mmdvm-openwrt && rm -rf mmdvm-openwrt/misc && mvdir mmdvm-openwrt git_clone https://github.com/4IceG/luci-app-at-socat at-socat && mvdir at-socat git_clone https://github.com/4IceG/luci-app-easyconfig-transfer easyconfig && mvdir easyconfig git_clone https://github.com/4IceG/luci-app-atcommands atcommands && mvdir atcommands ) & ( git_clone https://github.com/Diciya/luci-app-broadbandacc git_clone https://github.com/wiwizcom/WiFiPortal && mvdir WiFiPortal # git_clone https://github.com/vinewx/NanoHatOLED && mv NanoHatOLED/nanohatoled ./ && rm -rf NanoHatOLED git_clone https://github.com/zerolabnet/luci-app-torbp git_clone https://github.com/sbwml/luci-app-airconnect airconnect1 && mv airconnect1/* ./ && rm -rf airconnect1 # git_clone https://github.com/openwrtdiy/luci-app-pppoe-user git_clone https://github.com/derisamedia/luci-theme-alpha git_clone https://github.com/animegasan/luci-app-alpha-config git_clone https://github.com/gofly/openwrt-luci-proto-tinc git_clone https://github.com/hzyitc/mnh-openwrt && mvdir mnh-openwrt ) & ( git_clone https://github.com/QiuSimons/luci-app-daed-next daed1 && mvdir daed1 git_clone https://github.com/JiaY-shi/fancontrol fanc && mv fanc/{fancontrol,luci-app-fancontrol} ./;rm -rf fanc git_sparse_clone master "https://github.com/coolsnowwolf/lede" package/wwan package/lean package/network/services/shellsync package/qca/shortcut-fe && cp -rf wwan/*/* ./ ; rm -Rf wwan git_clone https://github.com/Siriling/5G-Modem-Support && rm -rf 5G-Modem-Support/rooter && mvdir 5G-Modem-Support git_clone https://github.com/linkease/istore-packages ) & ( git_clone https://github.com/muink/luci-app-dnsproxy git_clone https://github.com/muink/luci-app-einat git_clone https://github.com/muink/openwrt-einat-ebpf git_clone https://github.com/muink/openwrt-natmapt git_clone https://github.com/muink/luci-app-natmapt git_clone https://github.com/muink/openwrt-stuntman git_clone https://github.com/muink/openwrt-alwaysonline git_clone https://github.com/muink/luci-app-alwaysonline git_clone https://github.com/muink/openwrt-rgmac git_clone https://github.com/muink/luci-app-change-mac git_clone https://github.com/muink/luci-app-packagesync git_clone https://github.com/muink/luci-app-tn-netports git_clone https://github.com/muink/openwrt-go-stun git_clone https://github.com/muink/luci-app-tinyfilemanager git_clone https://github.com/muink/openwrt-Toolkit git_clone https://github.com/muink/openwrt-fastfetch ) & ( git_clone https://github.com/gSpotx2f/luci-app-temp-status git_clone https://github.com/gSpotx2f/luci-app-cpu-perf git_clone https://github.com/gSpotx2f/luci-app-log git_clone https://github.com/gSpotx2f/luci-app-internet-detector idetector && mv idetector/*internet-detector* ./;rm -rf idetector git_clone https://github.com/gSpotx2f/luci-app-disks-info git_clone https://github.com/gSpotx2f/luci-app-interfaces-statistics git_clone https://github.com/gSpotx2f/luci-app-cpu-status-mini git_clone https://github.com/gSpotx2f/luci-app-cpu-status git_clone https://github.com/Carseason/openwrt-packages Carseason1 && mv -n Carseason1/*/* ./;mv services/* ./;rm -rf Carseason1 services git_clone https://github.com/Carseason/openwrt-themedog && mv -n openwrt-themedog/luci/* ./;rm -rf openwrt-themedog git_clone https://github.com/Carseason/openwrt-app-actions Carseason2 && mv -n Carseason2/applications/* ./;rm -rf Carseason2 git_clone https://github.com/Thaolga/openwrt-nekobox && mv openwrt-nekobox/luci-* ./;rm -rf openwrt-nekobox git_clone https://github.com/nosignals/openwrt-neko && mv openwrt-neko/luci-app-neko ./;rm -rf openwrt-neko ) & ( git_clone https://github.com/ilxp/luci-app-ikoolproxy git_clone https://github.com/animegasan/luci-app-droidmodem git_clone https://github.com/animegasan/luci-app-droidnet git_clone https://github.com/animegasan/luci-app-ipinfo git_clone https://github.com/animegasan/luci-app-dnsleaktest git_clone https://github.com/animegasan/luci-app-gpioled git_clone https://github.com/hingbong/hickory-dns-openwrt && mvdir hickory-dns-openwrt git_clone https://github.com/kenzok78/luci-app-guest-wifi git_clone https://github.com/EkkoG/openwrt-natmap git_clone https://github.com/EkkoG/luci-app-natmap git_clone https://github.com/yichya/openwrt-hv-tools # git_clone https://github.com/papagaye744/luci-theme-design ) & ( git_clone https://github.com/EasyTier/luci-app-easytier luci-app-easytier1 && mvdir luci-app-easytier1 git_clone https://github.com/ntlf9t/luci-app-dnspod git_clone https://github.com/lmq8267/luci-app-vnt opvnt && mv -f opvnt/luci-app-vnt ./;rm -rf opvnt git_clone https://github.com/RymFred11/luci-app-nettask nettask && mv nettask/luci-app-nettask ./;rm -rf nettask git_clone https://github.com/jarod360/luci-app-xupnpd git_clone https://github.com/fuqiang03/openwrt-caddy git_clone https://github.com/lmq8267/luci-app-caddy luci-caddy && mv luci-caddy/luci-app-caddy ./;rm -rf luci-caddy git_clone https://github.com/sbwml/luci-app-smbuser git_clone https://github.com/rushxrushx/luci-app-redsocks git_clone https://github.com/luochongjun/luci-app-dynv6 git_clone https://github.com/nicholas9698/luci-app-campusnet git_clone https://github.com/tanghammer/luci-app-switchtools ) & ( git_clone https://github.com/kingyond/luci-app-accesscontrol-plus accesscontrol-plus && mv accesscontrol-plus/luci-app-accesscontrol-plus ./;rm -rf accesscontrol-plus git_clone https://github.com/4IceG/luci-app-lite-watchdog lite-watchdog && mv lite-watchdog/luci-app-lite-watchdog ./;rm -rf lite-watchdog git_clone https://github.com/Mitsuhaxy/luci-app-miniproxy git_clone https://github.com/tkmsst/luci-app-cellularstatus cellularstatus && mv cellularstatus/luci/applications/* ./;rm -rf cellularstatus # git_clone https://github.com/tracemouse/luci-app-coredns coredns && mv coredns/luci-app-coredns ./;rm -rf coredns git_clone https://github.com/arenekosreal/luci-app-nginx git_clone https://github.com/zfdx123/luci-app-school git_clone https://github.com/tano-systems/luci-app-tn-lldpd git_clone https://github.com/DRAWCORE/luci-app-qos-emong # git_clone https://github.com/wintbiit/luci-app-sakurafrp git_clone https://github.com/ykxVK8yL5L/luci-app-taskschedule taskschedule && mvdir taskschedule #git_clone https://github.com/douo/luci-app-tinyfecvpn ) & ( git_clone https://github.com/ttimasdf/luci-app-jederproxy git_clone https://github.com/ApeaSuperz/luci-app-cqustdotnet cqustdotnet && mv cqustdotnet/luci-app-cqustdotnet ./;rm -rf cqustdotnet git_clone https://github.com/xcode75/luci-app-xclient git_clone https://github.com/chenzhen6666/luci-app-mproxy mproxy && mvdir mproxy git_clone https://github.com/a904055262/luci-app-ipv6clientfilter git_clone https://github.com/mukaiu/luci-app-domain-proxy git_clone https://github.com/danielaskdd/luci-app-smartvpn git_clone https://github.com/hequan2017/luci-app-forcedata git_clone https://github.com/sbwml/luci-app-openlist2 oplist && mvdir oplist git_clone https://github.com/AngelaCooljx/luci-theme-material3 git_clone https://github.com/eamonxg/luci-theme-aurora ) & ( #git_clone https://github.com/bobbyunknown/luci-app-insomclash git_clone https://github.com/muink/luci-app-ssrust git_clone https://github.com/hudra0/qosmate git_clone https://github.com/xptsp/luci-app-ympd git_clone https://github.com/xptsp/openwrt-ympd git_clone https://github.com/xptsp/openwrt-peanut git_clone https://github.com/calfeche13/luci-app-public-ip-monitor # git_clone https://github.com/vison-v/luci-app-nginx-proxy git_clone https://github.com/tty228/luci-app-wechatpush git_clone https://github.com/sbwml/luci-app-mentohust mentohust1 && mvdir mentohust1 git_clone https://github.com/vernette/beszel-agent-openwrt && mvdir beszel-agent-openwrt # git_clone https://github.com/natpierce/luci-app-natpierce natpierce && mv natpierce/luci-app-natpierce ./;rm -rf natpierce ) & ( git_sparse_clone master "https://github.com/coolsnowwolf/packages" multimedia/UnblockNeteaseMusic-Go \ multimedia/UnblockNeteaseMusic multimedia/aliyundrive-webdav net/gowebdav net/kismet net/mstpd \ net/phtunnel net/headscale net/clouddrive2 net/baidupcs-go net/daemonlogger net/geth net/gnurl \ net/uugamebooster net/pgyvpn net/ooniprobe net/polipo net/rosy-file-server net/qiyougamebooster \ net/sqm-scripts-extra net/tor-fw-helper net/vncrepeater net/verysync \ net/vpnbypass net/vpn-policy-routing utils/qfirehose git_sparse_clone master "https://github.com/lunatickochiya/Matrix-Action-Openwrt" package/kochiya/brlaser package/kochiya/luci-app-banmac-ipt package/kochiya/luci-app-banmac-nft package/kochiya/luci-app-nvr package/kochiya/luci-app-openvpn-server package/kochiya/luci-app-openvpn-server-client git_sparse_clone main https://github.com/sbwml/openwrt_pkgs luci-app-socat ) & ( git_sparse_clone master "https://github.com/xiaoqingfengATGH/feeds-xiaoqingfeng" homeredirect luci-app-homeredirect git_sparse_clone openwrt-25.12 "https://github.com/immortalwrt/immortalwrt" \ package/kernel/rtl8189es package/emortal/autocore package/emortal/automount \ package/emortal/cpufreq package/network/utils/fullconenat package/network/utils/fullconenat-nft \ package/utils/mhz package/utils/pcat-manager ) & ( git_sparse_clone master "https://github.com/x-wrt/com.x-wrt" luci-app-macvlan luci-app-xwan git_sparse_clone master "https://github.com/obsy/packages" oscam luci-proto-wwan 3ginfo git_sparse_clone istoreos-24.10 "https://github.com/jjm2473/packages" utils/dockerd git_sparse_clone v24.10 "https://github.com/teleofis/teleofis-feed" luci packages && rm -rf luci/luci-app-{pollmydevice,simman*,strongswan,pingcontrol} luci/luci-theme-teleofis && mvdir luci; \ rm -rf packages/{base-files*,*lt70*,cp210x-cfg,fbfdownloader,pollmydevice,simman*,pingcontrol} && mvdir packages ) & ( git_sparse_clone develop "https://github.com/Ysurac/openmptcprouter-feeds" \ dsvpn glorytun-udp glorytun grpcurl ipcalc luci-app-dsvpn luci-app-glorytun-tcp luci-app-glorytun-udp luci-app-mail luci-app-mlvpn luci-app-mptcp luci-app-nginx-ha luci-app-sqm-autorate luci-app-packet-capture luci-app-iperf luci-theme-openmptcprouter sqm-autorate speedtestc mlvpn mptcp tcptraceroute tracebox tsping atinout z8102 git_sparse_clone chawrt/24.10 "https://github.com/liudf0716/luci" applications/luci-app-yt-dlp applications/luci-app-apfree-wifidog applications/luci-app-ss-redir git_sparse_clone chawrt/24.10 "https://github.com/liudf0716/packages" net/ss-redir ) & git_sparse_clone openwrt-25.12 "https://github.com/immortalwrt/packages" net/n2n net/dae net/qbittorrent \ net/amule net/cdnspeedtest net/minieap net/ddns-go net/sysuh3c net/3proxy net/cloudreve \ net/go-nats net/go-wol net/bitsrunlogin-go net/transfer net/daed net/udp2raw net/msd_lite \ net/subconverter net/ngrokc net/scutclient net/gost net/ua2f net/dufs net/qBittorrent-Enhanced-Edition \ net/tinyportmapper net/nexttrace net/rustdesk-server net/tuic-server \ net/ipset-lists net/ShadowVPN net/nps net/vlmcsd net/dnsforwarder \ net/ps3netsrv net/brook net/q \ net/vsftpd net/smartdns net/miniupnpd net/p910nd \ net/ariang libs/wxbase libs/rapidjson libs/libcron libs/quickjspp libs/toml11 libs/libdvbcsa \ libs/libdouble-conversion libs/qt6base libs/jpcre2 libs/alac libs/libcryptopp libs/antileech \ utils/qt6tools utils/cpulimit utils/sendat utils/cups-bjnp utils/rhash utils/boltbrowser \ utils/phicomm-k3screenctrl utils/joker utils/7z utils/dhrystone utils/supervisor utils/tinymembench utils/pcat-mgr utils/fan2go \ utils/coremark utils/watchcat multimedia/you-get multimedia/lux multimedia/gmediarender multimedia/ykdl multimedia/gallery-dl \ sound/spotifyd devel/go-rice devel/rust-bindgen admin/gotop \ lang/lua/lua-periphery lang/lua/lua-neturl lang/lua/lua-maxminddb devel/gn git_clone https://github.com/koshev-msk/modemfeed && mv -n modemfeed/*/!(telephony)/* ./; rm -rf modemfeed git_sparse_clone openwrt-25.12 "https://github.com/coolsnowwolf/luci" applications \ modules/luci-base modules/luci-mod-network modules/luci-mod-status modules/luci-mod-system protocols/luci-proto-openvpnc themes/luci-theme-design mv -f applications luciapp;rm -rf luciapp/{luci-app-homeproxy,luci-app-dockerman} rm -rf luciapp/{luci-app-qbittorrent,luci-app-zerotier,luci-app-cpufreq,luci-app-e2guardian,luci-app-aliyundrive-fuse,luci-app-syncdial,luci-app-firewall} git_sparse_clone openwrt-25.12 "https://github.com/immortalwrt/luci" applications collections/luci-nginx protocols/luci-proto-minieap protocols/luci-proto-quectel themes/luci-theme-argon mv -n applications/* luciapp/; rm -rf applications git_sparse_clone master "https://github.com/coolsnowwolf/luci" libs/luci-lib-fs applications collections/luci-lib-docker mv -n applications/* luciapp/; rm -rf applications for ipk in $(ls -d luciapp/!(luci-app-rclone|luci-app-upnp|luci-app-dockerman|luci-app-smartdns|luci-app-3ginfo-lite|luci-app-ddns|luci-app-ksmbd|luci-app-samba4|luci-app-watchcat|luci-app-transmission)/); do if [[ $(ls $ipk/po | wc -l) -gt 4 ]]; then rm -rf $ipk fi done - name: Delete duplicated packages run: | shopt -s extglob set +e mv -n luciapp/!(luci-app-noddos|luci-app-filebrowser-go|luci-app-openvpn-server|luci-app-chrony|luci-app-kodexplorer|luci-app-cshark|luci-app-dnscrypt-proxy|luci-app-https-dns-proxy|luci-app-ssr-mudb-server|luci-app-ledtrig-*|luci-app-antiblock) ./ ; rm -Rf luciapp mv -n lean/!(r8101|r8125|r8126|r8168) ./ ; rm -Rf lean mv -n liep/!(luci-app-filebrowser) ./ ; rm -Rf liep mv -n istore-packages/!(qBittorrent*|luci-app-qbittorrent-ee|baidupcs-web|luci-app-LingTiGameAcc|inter_i40e) ./;rm -rf istore-packages mv -n openwrt-app-actions/applications/* ./;rm -rf openwrt-app-actions rm -Rf */.git for pkg in $(ls -d .github/diy/packages/*); do mv -f $pkg/Makefile.k $pkg/Makefile >/dev/null 2>&1 || true done cp -rf .github/diy/packages/* ./ || true for pkg in $(ls -d .github/diy/packages/*); do mv -f $pkg/Makefile $pkg/Makefile.k >/dev/null 2>&1 || true done rm -rf */.github - name: SSH connection to Actions uses: kiddin9/debugger-action@master if: github.event.inputs.ssh == 'true' - name: Apply patches run: | find ".github/diy/patches" -type f -name '*.patch' -print0 | sort -z | xargs -I % -t -0 -n 1 sh -c "patch -d './' -p1 -E -f -F 1 --no-backup-if-mismatch -i '%'" || (curl -k --data chat_id="${{ secrets.TELEGRAM_CHAT_ID }}" --data "text=❌ 软件包更新失败 😂 https://github.com/kiddin9/openwrt-packages/actions" "https://api.telegram.org/bot${{ secrets.TELEGRAM_TOKEN }}/sendMessage";exit 1) - name: Modify run: | shopt -s extglob set +e sed -i \ -e "s/\(network\..*\)\.ifname/\1.device/g" \ `find \( -path "*/root/*" -o -path "*/files/*" -o -path "*/luasrc/*" \) ! -path "./base-files/*" ! -path "./dnsmasq/*" ! -path "./luci-base/*" ! -path "./ppp/*" -type f` & # sed -i -e "s/\(killall .*\)-[0-9] /\1-3 /g" \ -e "s/killall \([^-]+*\)/killall -3 \1/g" \ `find \( -path "*/files/root/etc/init.d/*" -o -path "*/root/etc/init.d/*" -o -path "*/files/*.init" \) -type f` & ( function latest() { (curl -gs -H 'Content-Type: application/json' \ -H "Authorization: Bearer ${{ secrets.TOKEN_KIDDIN9 }}" \ -X POST -d '{ "query": "query {repository(owner: \"'"$1"'\", name: \"'"$2"'\"){latestRelease{tagName tagCommit{oid}}refs(refPrefix:\"refs/tags/\",last:1,orderBy:{field:TAG_COMMIT_DATE,direction:ASC}){edges{node{name target{oid}}}}defaultBranchRef{target{...on Commit {oid}}}}}"}' https://api.github.com/graphql) } for pkg in $(ls !(luci-*|nikki|daed|mihomo*|openwrt-einat-ebpf|glorytun|shadowsocks-libev|mosdns|spotifyd|miniupnpd|qBittorrent-Enhanced-Edition|openwrt-Toolkit|libdouble-conversion|wxbase|3proxy|ucode|mergerfs|openwrt-nezhav1|homebox|sub-web|tcptraceroute|frp|openwrt-caddy|mentohust|brlaser|rapidjson|smartdns|hysteria|gecoosac|libcryptopp|naiveproxy|rustdesk-server|shadowsocksr-libev|tuic-server|joker|ps3netsrv|natter|netmaker|openwrt-ympd|subconverter|sms-tool)/Makefile); do repo="$(grep ^PKG_SOURCE_URL $pkg | grep github | cut -f 4-5 -d '/' | sed -e 's/.git//' | grep -E '[0-9a-zA-Z_-]+$')" || true if [ "$repo" ]; then owner="$(echo $repo | cut -f 1 -d '/')" name="$(echo $repo | cut -f 2 -d '/')" latest="$(latest $owner $name)" sed -i "s/PKG_SOURCE_VERSION:=.*/PKG_SOURCE_VERSION:=$(echo $latest | jq -r '.data.repository.defaultBranchRef.target.oid')/" $pkg || true over="$(grep -E PKG_VERSION:=.*$ $pkg | cut -f 2 -d '=' | sed -e 's/^\(v\|release-\)//' | grep -E "[0-9]")" || true if [ "$over" ]; then ver="$(echo $latest | jq -r '.data.repository.latestRelease.tagName' | sed -e 's/^\(v\|release-\)//' | grep -E "^[^()]*$" | grep -E "[0-9]")" || true # [ "$ver" ] || ver="$(git ls-remote --tags git://github.com/$repo | cut -d/ -f3- | sort -t. -nk1,3 | awk '/^[^{]*$/{version=$1}END{print version}' | grep -o -E "[0-9].*")" || true echo "$repo-$over-$ver" if [ "$ver" ]; then function version_lt() { test "$(echo "$@" | tr " " "\n" | sort -rV | head -n 1)" != "$1"; } if version_lt "$over" "$ver"; then latest="$(echo $latest | jq -r '.data.repository.latestRelease.tagCommit.oid' || echo $latest | jq -r '.data.repository.refs.edges[-1].node.target.oid')" sed -i -e "s/PKG_SOURCE_VERSION:=.*/PKG_SOURCE_VERSION:=$latest/" \ -e "s/PKG_VERSION:=.*/PKG_VERSION:=$ver/" $pkg || true fi || true fi fi fi done touch /tmp/ok ) & ( for pkg in $(ls -d */ | grep -v "naiveproxy" | grep -v "luci-app-store" | grep -v "luci-app-quickstart"); do if [[ "$(grep "PKG_VERSION" $pkg/Makefile)" && ! "$(grep "PKG_RELEASE" $pkg/Makefile)" ]]; then sed -i "s/\(PKG_VERSION:=.*\)/\1\nPKG_RELEASE:=/" $pkg/Makefile || true fi if [ "$(grep "PKG_RELEASE" $pkg/Makefile)" ]; then sed -i "s/PKG_RELEASE:=.*/PKG_RELEASE:=$(git rev-list --count main $pkg)/" $pkg/Makefile || true fi done touch /tmp/ok2 ) & sed -i \ -e 's?include \.\./\.\./\(lang\|devel\)?include $(TOPDIR)/feeds/packages/\1?' \ -e "s/\(\(^\| \| \)\(PKG_HASH\|PKG_MD5SUM\|PKG_MIRROR_HASH\|HASH\):=\).*/\1skip/" \ -e 's?include .*/luci.mk?include $(TOPDIR)/feeds/luci/luci.mk?' \ */Makefile sed -i 's/+docker\( \|$\)/+docker +dockerd /' luci-app-!(docker*)/Makefile sed -i "s/192.168.0.1/10.0.0.1/g" luci-app-onekeyap/{htdocs/luci-static/resources/view/network/onekeyap.js,root/usr/libexec/onekeyap,root/etc/config/onekeyap} chmod +x github/diy/*.sh bash .github/diy/create_acl_for_luci.sh -a >/dev/null 2>&1 || true bash .github/diy/convert_translation.sh -a >/dev/null 2>&1 || true bash .github/diy/create_ucitrack_for_luci.sh -a >/dev/null 2>&1 || true bash .github/diy/generate_ucitrack.sh -a >/dev/null 2>&1 || true chmod -R +x luci-*/root/etc/init.d/ luci-*/root/bin/ luci-*/root/sbin/ luci-*/root/usr/libexec/ luci-*/root/usr/bin/ luci-*/root/usr/sbin/ find . -path "./luci-*/root/usr/share/*" -name "*.sh" -type f -exec chmod +x {} \; #sed -i 's?"http://" + window.location.hostname?window.location.protocol + "//" + window.location.hostname?g' `find luci-app*/luasrc/view/ -maxdepth 2 -name "*.htm"` sed -i "s/default n/default y/" dockerd/Config.in sed -i "s/.tar.gz/.tar.xz/" openwrt-natmap/Makefile mkdir -p luci-app-passwall/root/www/luci-static/passwall luci-app-passwall2/root/www/luci-static/passwall2 luci-app-ssr-plus/root/www/luci-static/shadowsocksr cp -rf luci-app-bypass/root/www/luci-static/bypass/* luci-app-passwall/root/www/luci-static/passwall/ cp -rf luci-app-bypass/root/www/luci-static/bypass/* luci-app-passwall2/root/www/luci-static/passwall2/ cp -rf luci-app-bypass/root/www/luci-static/bypass/* luci-app-ssr-plus/root/www/luci-static/shadowsocksr/ echo ".page-container>div>div>a:first-child{display:none}" >>luci-app-quickstart/htdocs/luci-static/quickstart/style.css sed -i 's/icon!=="baby"/icon!==""/' luci-app-quickstart/htdocs/luci-static/quickstart/index.js sed -i 's/+php8-cgi /+php8-cgi +php8-fpm /' luci-theme-spectra/Makefile while [[ ! -f /tmp/ok || ! -f /tmp/ok2 || ! -f /tmp/ok3 ]]; do echo "wait" sleep 1 done - name: Apply run: | Emoji=("🎉" "🤞" "✨" "🎁" "🎈" "🎄" "🎨" "💋" "🍓" "🍕" "🍉" "💐" "🌴" "🚀" "🛸" "🗽" "⛅" "🌈" "🔥" "⛄" "🐶" "🏅" "🦄" "🐤") git add . git commit -m "${Emoji[$[$RANDOM % ${#Emoji[@]}]]} Sync $(date +%Y-%m-%d" "%H:%M:%S)" for pkg in $(git diff-tree --no-commit-id --name-only HEAD | grep -v "naiveproxy" | grep -v "luci-app-store" | grep -v "luci-app-quickstart"); do if [ "$(grep "PKG_RELEASE" $pkg/Makefile)" ]; then sed -i "s/PKG_RELEASE:=.*/PKG_RELEASE:=$(git rev-list --count main $pkg)/" $pkg/Makefile || true fi done git reset --soft HEAD^ git add . git commit -m "${Emoji[$[$RANDOM % ${#Emoji[@]}]]} Sync $(date +%Y-%m-%d" "%H:%M:%S)" git push -f - name: Delete workflow runs uses: Mattraks/delete-workflow-runs@main continue-on-error: true with: retain_days: 1 keep_minimum_runs: 3