diff --git a/.github/diy/packages/vsftpd-alt/Makefile b/.github/diy/packages/vsftpd-alt/Makefile new file mode 100644 index 00000000..d94026d8 --- /dev/null +++ b/.github/diy/packages/vsftpd-alt/Makefile @@ -0,0 +1,113 @@ +# +# Copyright (C) 2006-2014 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=vsftpd-alt +PKG_VERSION:=3.0.3 +PKG_RELEASE:=5 + +PKG_SOURCE:=vsftpd-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://security.appspot.com/downloads/ +PKG_MD5SUM:=da119d084bd3f98664636ea05b5bb398 +PKG_LICENSE:=GPLv2 + +BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) +PKG_BUILD_DIR:=$(BUILD_DIR)/vsftpd-$(PKG_VERSION) + +include $(INCLUDE_DIR)/package.mk + +define Package/vsftpd-alt/Default + SUBMENU:=File Transfer + SECTION:=net + CATEGORY:=Network + TITLE:=A fast and secure FTP server (with aio support) + URL:=http://vsftpd.beasts.org/ + MAINTAINER:=Cezary Jackiewicz + DEPENDS=+libuci + #+PACKAGE_libpam:libpam +endef + +define Package/vsftpd-alt/conffiles +/etc/vsftpd.conf +endef + +#EXTRA_LDFLAGS:= -lcrypt -lcrypto -lssl + +define Package/vsftpd-alt/config +config VSFTPD_USE_UCI_SCRIPTS + bool "Uses UCI scripts" + depends on PACKAGE_vsftpd-alt + default y +#config VSFTPD_ENABLE_AIO +# bool "Enable async I/O (Currently Buggy)" +# depends on PACKAGE_vsftpd-alt +# default n +endef + +ifneq ($(CONFIG_USE_MUSL),) + NLSSTRING:=-lcrypt +else + NLSSTRING:=-lcrypt -lnsl +endif + +TARGET_CFLAGS += -D_GNU_SOURCE -include fcntl.h + +#ifdef CONFIG_PACKAGE_libpam +# EXTRA_LDFLAGS += -lpam +#endif + +#ifeq ($(CONFIG_VSFTPD_ENABLE_AIO),y) +#define Package/vsftpd-alt +#$(call Package/vsftpd-alt/Default) +# DEPENDS=+PACKAGE_libpam:libpam +libopenssl +libuci +libaio +#endef +# EXTRA_LDFLAGS += -laio +# EXTRA_CFLAGS += -DVSFTPD_ASYNC_IO +#else +define Package/vsftpd-alt +$(call Package/vsftpd-alt/Default) +endef +#endif + + +define Build/Compile + $(SED) 's/-lcrypt -lnsl/$(NLSSTRING)/' $(PKG_BUILD_DIR)/Makefile + $(MAKE) -C $(PKG_BUILD_DIR) \ + CC="$(TARGET_CC)" \ + CFLAGS="$(TARGET_CFLAGS)" \ + LDFLAGS="$(TARGET_LDFLAGS)" \ + vsftpd +endef + +ifeq ($(CONFIG_VSFTPD_USE_UCI_SCRIPTS),y) +define Package/vsftpd-alt/install +$(call Package/vsftpd-alt/install/default, $(1)) + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_DIR) $(1)/etc/config +ifdef CONFIG_PACKAGE_libpam + $(INSTALL_DIR) $(1)/etc/pam.d +endif + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/vsftpd $(1)/usr/sbin + $(INSTALL_BIN) ./files/vsftpd-uci.init $(1)/etc/init.d/vsftpd + $(INSTALL_BIN) ./files/vsftpd.uci $(1)/etc/config/vsftpd + $(INSTALL_BIN) ./files/vsftpd_wrapper $(1)/usr/sbin + $(INSTALL_BIN) ./files/vsftpd_prepare $(1)/usr/sbin +endef +else +define Package/vsftpd-alt/install +$(call Package/vsftpd-alt/install/default, $(1)) + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_CONF) ./files/vsftpd.conf $(1)/etc/vsftpd.conf + $(INSTALL_BIN) ./files/vsftpd.init $(1)/etc/init.d/vsftpd + $(INSTALL_BIN) $(PKG_BUILD_DIR)/vsftpd $(1)/usr/sbin +endef +endif + +$(eval $(call BuildPackage,vsftpd-alt)) diff --git a/.github/diy/packages/vsftpd-alt/files/vsftpd-uci.init b/.github/diy/packages/vsftpd-alt/files/vsftpd-uci.init new file mode 100644 index 00000000..a5af8b79 --- /dev/null +++ b/.github/diy/packages/vsftpd-alt/files/vsftpd-uci.init @@ -0,0 +1,14 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006-2011 OpenWrt.org + +START=50 + +start() { + /usr/sbin/vsftpd_prepare + service_start /usr/sbin/vsftpd_wrapper ipv4 + service_start /usr/sbin/vsftpd_wrapper ipv6 +} + +stop() { + service_stop /usr/sbin/vsftpd +} diff --git a/.github/diy/packages/vsftpd-alt/files/vsftpd.conf b/.github/diy/packages/vsftpd-alt/files/vsftpd.conf new file mode 100644 index 00000000..7d46506e --- /dev/null +++ b/.github/diy/packages/vsftpd-alt/files/vsftpd.conf @@ -0,0 +1,30 @@ +background=YES +listen=YES +anonymous_enable=NO +local_enable=YES +write_enable=YES +local_umask=022 +check_shell=NO +#dirmessage_enable=YES +#ftpd_banner=Welcome to blah FTP service. +session_support=NO +#syslog_enable=YES +#userlist_enable=YES +#userlist_deny=NO +#userlist_file=/etc/vsftpd.users +#xferlog_enable=YES +#xferlog_file=/var/log/vsftpd.log +#xferlog_std_format=YES +### +### TLS/SSL options +### example key generation: openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/config/vsftpd_privkey.pem -out /etc/config/vsftpd_cert.pem -subj /C="DE"/ST="Saxony"/L="Leipzig"/CN="OpenWrt" +#ssl_enable=YES +#allow_anon_ssl=NO +#force_local_data_ssl=NO +#force_local_logins_ssl=NO +#ssl_tlsv1=YES +#ssl_sslv2=NO +#ssl_sslv3=NO +#rsa_cert_file=/etc/config/vsftpd_cert.pem +#rsa_private_key_file=/etc/config/vsftpd_privkey.pem + diff --git a/.github/diy/packages/vsftpd-alt/files/vsftpd.init b/.github/diy/packages/vsftpd-alt/files/vsftpd.init new file mode 100644 index 00000000..ad3e23da --- /dev/null +++ b/.github/diy/packages/vsftpd-alt/files/vsftpd.init @@ -0,0 +1,13 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006-2011 OpenWrt.org + +START=50 + +start() { + mkdir -m 0755 -p /var/run/vsftpd + service_start /usr/sbin/vsftpd +} + +stop() { + service_stop /usr/sbin/vsftpd +} diff --git a/.github/workflows/sync_lede.yml b/.github/workflows/sync_lede.yml index eab55227..8f6a0912 100644 --- a/.github/workflows/sync_lede.yml +++ b/.github/workflows/sync_lede.yml @@ -1,210 +1,210 @@ -# -# This is free software, lisence use MIT. -# - -name: Merge-Upstream-Lede -on: - push: - branches: - - Lede - paths: - - '.github/workflows/sync_lede.yml' - - '.gitignore' - - '.github/diy/**' - schedule: - - cron: 5 */8 * * * - workflow_dispatch: - inputs: - ssh: - description: '开启SSH远程配置' - required: false - default: false - type: boolean - watch: - types: started - repository_dispatch: -env: - BRANCH: Lede - -jobs: - merge: - if: github.event.repository.owner.id == github.event.sender.id || ! github.event.sender.id - runs-on: Ubuntu-20.04 - - steps: - - name: Check inputs - run: | - echo github.ref is: ${{ github.ref }} - echo github.event_name is: ${{ github.event_name }} - - - name: Checkout - uses: actions/checkout@v4 - with: - ref: ${{ env.BRANCH }} - fetch-depth: 0 - - - name: Set git identity - run : | - git config --global user.email "41898282+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 --cached * >/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_branch_clone() { - git clone --depth 1 -b $1 $2 $3 - if [ "$?" != 0 ]; then - echo "error on $2" - pid="$( ps -q $$ )" - kill $pid - fi - } - - function git_sparse_clone() { - branch="$1" rurl="$2" localdir="$3" && shift 3 - git clone -b $branch --depth 1 --filter=blob:none --sparse $rurl $localdir - if [ "$?" != 0 ]; then - echo "error on $rurl" - pid="$( ps -q $$ )" - kill $pid - fi - cd $localdir - git sparse-checkout init --cone - git sparse-checkout set $@ - mv -n $@ ../ || true - cd .. - rm -rf $localdir - } - - function git_sparse_clone2() { - commitid="$1" rurl="$2" localdir="$3" && shift 3 - git clone --filter=blob:none --sparse $rurl $localdir - cd $localdir - git checkout $commitid - git sparse-checkout init --cone - git sparse-checkout set $@ - mv -n $@ ../ || true - cd .. - rm -rf $localdir - } - - function mvdir() { - mv -n `find $1/* -maxdepth 0 -type d` ./ - rm -rf $1 - } - - function mvdir_force() { - mv -f `find $1/* -maxdepth 0 -type d` ./ - rm -rf $1 - } - - git_clone https://github.com/sirpdboy/luci-app-advanced - git_clone https://github.com/honwen/luci-app-aliddns - git_clone https://github.com/sbwml/luci-app-alist sbwmlalist - svn export https://github.com/messense/aliyundrive-webdav/trunk/openwrt && mvdir openwrt - git_clone https://github.com/roacn/luci-app-autoupdate - git_clone https://github.com/sirpdboy/luci-app-autotimeset - git_clone https://github.com/NateLol/luci-app-beardropper - git_clone https://github.com/mingxiaoyu/luci-app-cloudflarespeedtest.git cloudflarespeedtest - svn export https://github.com/immortalwrt-collections/openwrt-cdnspeedtest/trunk/cdnspeedtest - git_clone https://github.com/sirpdboy/luci-app-ddns-go - svn export https://github.com/lisaac/luci-app-dockerman/trunk/applications/luci-app-dockerman - git_clone https://github.com/sirpdboy/luci-app-eqosplus - git_clone https://github.com/sbwml/luci-app-mosdns mos - git_clone https://github.com/sirpdboy/luci-app-netdata - svn export https://github.com/sirpdboy/netspeedtest/trunk/luci-app-netspeedtest - svn export https://github.com/sirpdboy/netspeedtest/trunk/homebox - git_clone https://github.com/rufengsuixing/luci-app-onliner - svn export https://github.com/vernesong/OpenClash/trunk/luci-app-openclash - git_clone https://github.com/sirpdboy/luci-app-parentcontrol - git_clone https://github.com/sirpdboy/luci-app-partexp - git_clone https://github.com/esirplayground/luci-app-poweroff - git_clone https://github.com/sirpdboy/luci-app-poweroffdevice - git_clone https://github.com/zzsj0928/luci-app-pushbot - #git_clone https://github.com/sbwml/luci-app-qbittorrent sbwml_qbittorrent && mvdir sbwml_qbittorrent - git_clone https://github.com/DevOpenWRT-Router/luci-app-rebootschedule - svn export https://github.com/doushang/luci-app-shortcutmenu/trunk/luci-app-shortcutmenu - git_branch_clone lede https://github.com/pymumu/luci-app-smartdns - git_clone https://github.com/pymumu/openwrt-smartdns smartdns - svn export https://github.com/Tencent-Cloud-Plugins/tencentcloud-openwrt-plugin-ddns/trunk/tencentcloud_ddns luci-app-tencentddns - svn export https://github.com/Tencent-Cloud-Plugins/tencentcloud-openwrt-plugin-cos/trunk/tencentcloud_cos luci-app-tencentcloud-cos - git_branch_clone master https://github.com/UnblockNeteaseMusic/luci-app-unblockneteasemusic - svn export https://github.com/coolsnowwolf/gargoyle/trunk/package/addon/lean/vsftpd-alt - git_branch_clone openwrt-18.06 https://github.com/tty228/luci-app-wechatpush - git_clone https://github.com/walkingsky/luci-wifidog luci-app-wifidog - - git_clone https://github.com/xiaorouji/openwrt-passwall-packages && mvdir_force openwrt-passwall-packages - svn export https://github.com/xiaorouji/openwrt-passwall/trunk/luci-app-passwall - svn export https://github.com/xiaorouji/openwrt-passwall2/trunk/luci-app-passwall2 - git_branch_clone main https://github.com/fw876/helloworld && mvdir helloworld - - svn export https://github.com/linkease/nas-packages-luci/trunk/luci ./linkease/nas/luci && mv -n ./linkease/nas/luci/* ./linkease && rm -rf ./linkease/nas - svn export https://github.com/linkease/nas-packages/trunk/network/services ./linkease/nas/network/services && mv -n ./linkease/nas/network/services/* ./linkease && rm -rf ./linkease/nas - svn export https://github.com/linkease/nas-packages/trunk/multimedia/ffmpeg-remux ./linkease/nas/multimedia/ffmpeg-remux && mv -n ./linkease/nas/multimedia/* ./linkease && rm -rf ./linkease/nas - svn export https://github.com/linkease/istore/trunk/luci ./linkease/iStore/luci && mv -n ./linkease/iStore/luci/* ./linkease && rm -rf ./linkease/iStore - svn export https://github.com/linkease/istore/trunk/translations ./linkease/translations - - git_clone https://github.com/openwrt-develop/luci-theme-atmaterial - git_clone https://github.com/sirpdboy/luci-theme-btmod - git_clone https://github.com/netitgo/luci-theme-jj - git_clone https://github.com/thinktip/luci-theme-neobird - git_clone https://github.com/sirpdboy/luci-theme-opentopd - git_branch_clone 18.06 https://github.com/jerrykuku/luci-theme-argon - git_branch_clone 18.06 https://github.com/jerrykuku/luci-app-argon-config - svn export https://github.com/Aslin-Ameng/luci-theme-Light/trunk/luci-theme-Light - - - name: Delete duplicated packages - continue-on-error: true - run: | - shopt -s extglob - mv -n cloudflarespeedtest/applications/luci-app-cloudflarespeedtest luci-app-cloudflarespeedtest ; rm -rf cloudflarespeedtest - mv -f sbwmlalist/luci-app-alist luci-app-alist && mv -f sbwmlalist/alist alist ; rm -rf sbwmlalist - rm -rf mosdns && mv -f mos/luci-app-mosdns luci-app-mosdns && mv -f mos/mosdns mosdns && mv -f mos/v2dat v2dat ; rm -rf mos - cp -rf .github/diy/packages/* ./ || true - rm -rf */.git - - - name: Apply patches - continue-on-error: true - run: | - find ".github/diy/patches" -type f -name '*.patch' -print0 | sort -z | xargs -I % -t -0 -n 1 sh -c "cat '%' | patch -d './' -p1 -E --forward --no-backup-if-mismatch" - - - name: Modify - continue-on-error: true - run: | - 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 - - - name: SSH connection to Actions - uses: kiddin9/debugger-action@master - if: github.event.inputs.ssh == 'true' - - - name: Apply - continue-on-error: true - run: | - Emoji=("🎉" "🤞" "✨" "🎁" "🎈" "🎄" "🎨" "💋" "🍓" "🍕" "🍉" "💐" "🌴" "🚀" "🛸" "🗽" "⛅" "🌈" "🔥" "⛄" "🐶" "🏅" "🦄" "🐤") - git add . - if [ -n "$(git status -s)" ]; then - git commit -m "${Emoji[$[$RANDOM % ${#Emoji[@]}]]} Sync $(date +%Y-%m-%d" "%H:%M)" - git push -f origin ${{ env.BRANCH }} - fi - - - name: Delete workflow runs - uses: Mattraks/delete-workflow-runs@main - continue-on-error: true - with: - retain_days: 0 - keep_minimum_runs: 2 +# +# This is free software, lisence use MIT. +# + +name: Merge-Upstream-Lede +on: + push: + branches: + - Lede + paths: + - '.github/workflows/sync_lede.yml' + - '.gitignore' + - '.github/diy/**' + schedule: + - cron: 5 */8 * * * + workflow_dispatch: + inputs: + ssh: + description: '开启SSH远程配置' + required: false + default: false + type: boolean + watch: + types: started + repository_dispatch: +env: + BRANCH: Lede + +jobs: + merge: + if: github.event.repository.owner.id == github.event.sender.id || ! github.event.sender.id + runs-on: Ubuntu-20.04 + + steps: + - name: Check inputs + run: | + echo github.ref is: ${{ github.ref }} + echo github.event_name is: ${{ github.event_name }} + + - name: Checkout + uses: actions/checkout@v4 + with: + ref: ${{ env.BRANCH }} + fetch-depth: 0 + + - name: Set git identity + run : | + git config --global user.email "41898282+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 --cached * >/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_branch_clone() { + git clone --depth 1 -b $1 $2 $3 + if [ "$?" != 0 ]; then + echo "error on $2" + pid="$( ps -q $$ )" + kill $pid + fi + } + + function git_sparse_clone() { + branch="$1" rurl="$2" localdir="$3" && shift 3 + git clone -b $branch --depth 1 --filter=blob:none --sparse $rurl $localdir + if [ "$?" != 0 ]; then + echo "error on $rurl" + pid="$( ps -q $$ )" + kill $pid + fi + cd $localdir + git sparse-checkout init --cone + git sparse-checkout set $@ + mv -n $@ ../ || true + cd .. + rm -rf $localdir + } + + function git_sparse_clone2() { + commitid="$1" rurl="$2" localdir="$3" && shift 3 + git clone --filter=blob:none --sparse $rurl $localdir + cd $localdir + git checkout $commitid + git sparse-checkout init --cone + git sparse-checkout set $@ + mv -n $@ ../ || true + cd .. + rm -rf $localdir + } + + function mvdir() { + mv -n `find $1/* -maxdepth 0 -type d` ./ + rm -rf $1 + } + + function mvdir_force() { + mv -f `find $1/* -maxdepth 0 -type d` ./ + rm -rf $1 + } + + git_clone https://github.com/sirpdboy/luci-app-advanced + git_clone https://github.com/honwen/luci-app-aliddns + git_clone https://github.com/sbwml/luci-app-alist sbwmlalist + svn export https://github.com/messense/aliyundrive-webdav/trunk/openwrt && mvdir openwrt + git_clone https://github.com/roacn/luci-app-autoupdate + git_clone https://github.com/sirpdboy/luci-app-autotimeset + git_clone https://github.com/NateLol/luci-app-beardropper + git_clone https://github.com/mingxiaoyu/luci-app-cloudflarespeedtest.git cloudflarespeedtest + svn export https://github.com/immortalwrt-collections/openwrt-cdnspeedtest/trunk/cdnspeedtest + git_clone https://github.com/sirpdboy/luci-app-ddns-go + svn export https://github.com/lisaac/luci-app-dockerman/trunk/applications/luci-app-dockerman + git_clone https://github.com/sirpdboy/luci-app-eqosplus + git_clone https://github.com/sbwml/luci-app-mosdns mos + git_clone https://github.com/sirpdboy/luci-app-netdata + svn export https://github.com/sirpdboy/netspeedtest/trunk/luci-app-netspeedtest + svn export https://github.com/sirpdboy/netspeedtest/trunk/homebox + git_clone https://github.com/rufengsuixing/luci-app-onliner + svn export https://github.com/vernesong/OpenClash/trunk/luci-app-openclash + git_clone https://github.com/sirpdboy/luci-app-parentcontrol + git_clone https://github.com/sirpdboy/luci-app-partexp + git_clone https://github.com/esirplayground/luci-app-poweroff + git_clone https://github.com/sirpdboy/luci-app-poweroffdevice + git_clone https://github.com/zzsj0928/luci-app-pushbot + #git_clone https://github.com/sbwml/luci-app-qbittorrent sbwml_qbittorrent && mvdir sbwml_qbittorrent + git_clone https://github.com/DevOpenWRT-Router/luci-app-rebootschedule + svn export https://github.com/doushang/luci-app-shortcutmenu/trunk/luci-app-shortcutmenu + git_branch_clone lede https://github.com/pymumu/luci-app-smartdns + git_clone https://github.com/pymumu/openwrt-smartdns smartdns + svn export https://github.com/Tencent-Cloud-Plugins/tencentcloud-openwrt-plugin-ddns/trunk/tencentcloud_ddns luci-app-tencentddns + svn export https://github.com/Tencent-Cloud-Plugins/tencentcloud-openwrt-plugin-cos/trunk/tencentcloud_cos luci-app-tencentcloud-cos + git_branch_clone master https://github.com/UnblockNeteaseMusic/luci-app-unblockneteasemusic + svn export https://github.com/coolsnowwolf/gargoyle/trunk/package/addon/lean/vsftpd-alt + git_branch_clone openwrt-18.06 https://github.com/tty228/luci-app-wechatpush + git_clone https://github.com/walkingsky/luci-wifidog luci-app-wifidog + + git_clone https://github.com/xiaorouji/openwrt-passwall-packages && mvdir_force openwrt-passwall-packages + svn export https://github.com/xiaorouji/openwrt-passwall/trunk/luci-app-passwall + svn export https://github.com/xiaorouji/openwrt-passwall2/trunk/luci-app-passwall2 + git_branch_clone main https://github.com/fw876/helloworld && mvdir helloworld + + svn export https://github.com/linkease/nas-packages-luci/trunk/luci ./linkease/nas/luci && mv -n ./linkease/nas/luci/* ./linkease && rm -rf ./linkease/nas + svn export https://github.com/linkease/nas-packages/trunk/network/services ./linkease/nas/network/services && mv -n ./linkease/nas/network/services/* ./linkease && rm -rf ./linkease/nas + svn export https://github.com/linkease/nas-packages/trunk/multimedia/ffmpeg-remux ./linkease/nas/multimedia/ffmpeg-remux && mv -n ./linkease/nas/multimedia/* ./linkease && rm -rf ./linkease/nas + svn export https://github.com/linkease/istore/trunk/luci ./linkease/iStore/luci && mv -n ./linkease/iStore/luci/* ./linkease && rm -rf ./linkease/iStore + svn export https://github.com/linkease/istore/trunk/translations ./linkease/translations + + git_clone https://github.com/openwrt-develop/luci-theme-atmaterial + git_clone https://github.com/sirpdboy/luci-theme-btmod + git_clone https://github.com/netitgo/luci-theme-jj + git_clone https://github.com/thinktip/luci-theme-neobird + git_clone https://github.com/sirpdboy/luci-theme-opentopd + git_branch_clone 18.06 https://github.com/jerrykuku/luci-theme-argon + git_branch_clone 18.06 https://github.com/jerrykuku/luci-app-argon-config + svn export https://github.com/Aslin-Ameng/luci-theme-Light/trunk/luci-theme-Light + + - name: Delete duplicated packages + continue-on-error: true + run: | + shopt -s extglob + mv -n cloudflarespeedtest/applications/luci-app-cloudflarespeedtest luci-app-cloudflarespeedtest ; rm -rf cloudflarespeedtest + mv -f sbwmlalist/luci-app-alist luci-app-alist && mv -f sbwmlalist/alist alist ; rm -rf sbwmlalist + rm -rf mosdns && mv -f mos/luci-app-mosdns luci-app-mosdns && mv -f mos/mosdns mosdns && mv -f mos/v2dat v2dat ; rm -rf mos + cp -rf .github/diy/packages/* ./ || true + rm -rf */.git + + - name: Apply patches + continue-on-error: true + run: | + find ".github/diy/patches" -type f -name '*.patch' -print0 | sort -z | xargs -I % -t -0 -n 1 sh -c "cat '%' | patch -d './' -p1 -E --forward --no-backup-if-mismatch" + + - name: Modify + continue-on-error: true + run: | + 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 + + - name: SSH connection to Actions + uses: kiddin9/debugger-action@master + if: github.event.inputs.ssh == 'true' + + - name: Apply + continue-on-error: true + run: | + Emoji=("🎉" "🤞" "✨" "🎁" "🎈" "🎄" "🎨" "💋" "🍓" "🍕" "🍉" "💐" "🌴" "🚀" "🛸" "🗽" "⛅" "🌈" "🔥" "⛄" "🐶" "🏅" "🦄" "🐤") + git add . + if [ -n "$(git status -s)" ]; then + git commit -m "${Emoji[$[$RANDOM % ${#Emoji[@]}]]} Sync $(date +%Y-%m-%d" "%H:%M)" + git push -f origin ${{ env.BRANCH }} + fi + + - name: Delete workflow runs + uses: Mattraks/delete-workflow-runs@main + continue-on-error: true + with: + retain_days: 0 + keep_minimum_runs: 2 diff --git a/.github/workflows/sync_official.yml b/.github/workflows/sync_official.yml index 4840e68c..3d9f808a 100644 --- a/.github/workflows/sync_official.yml +++ b/.github/workflows/sync_official.yml @@ -1,208 +1,208 @@ -# -# This is free software, lisence use MIT. -# - -name: Merge-Upstream-Official -on: - push: - branches: - - Official - paths: - - '.github/workflows/sync_official.yml' - - '.gitignore' - - '.github/diy/**' - schedule: - - cron: 25 */8 * * * - workflow_dispatch: - inputs: - ssh: - description: '开启SSH远程配置' - required: false - default: false - type: boolean - watch: - types: started - repository_dispatch: - -env: - BRANCH: Official - -jobs: - merge: - if: github.event.repository.owner.id == github.event.sender.id || ! github.event.sender.id - runs-on: Ubuntu-20.04 - - steps: - - name: Check inputs - run: | - echo github.ref is: ${{ github.ref }} - echo github.event_name is: ${{ github.event_name }} - - - name: Checkout - uses: actions/checkout@v4 - with: - ref: ${{ env.BRANCH }} - fetch-depth: 0 - - - name: Set git identity - run : | - git config --global user.email "41898282+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 --cached * >/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_branch_clone() { - git clone --depth 1 -b $1 $2 $3 - if [ "$?" != 0 ]; then - echo "error on $2" - pid="$( ps -q $$ )" - kill $pid - fi - } - - function git_sparse_clone() { - branch="$1" rurl="$2" localdir="$3" && shift 3 - git clone -b $branch --depth 1 --filter=blob:none --sparse $rurl $localdir - if [ "$?" != 0 ]; then - echo "error on $rurl" - pid="$( ps -q $$ )" - kill $pid - fi - cd $localdir - git sparse-checkout init --cone - git sparse-checkout set $@ - mv -n $@ ../ || true - cd .. - rm -rf $localdir - } - - function git_sparse_clone2() { - commitid="$1" rurl="$2" localdir="$3" && shift 3 - git clone --filter=blob:none --sparse $rurl $localdir - cd $localdir - git checkout $commitid - git sparse-checkout init --cone - git sparse-checkout set $@ - mv -n $@ ../ || true - cd .. - rm -rf $localdir - } - - function mvdir() { - mv -n `find $1/* -maxdepth 0 -type d` ./ - rm -rf $1 - } - - function mvdir_force() { - mv -f `find $1/* -maxdepth 0 -type d` ./ - rm -rf $1 - } - - git_clone https://github.com/sirpdboy/luci-app-advanced - git_clone https://github.com/honwen/luci-app-aliddns - git_clone https://github.com/sbwml/luci-app-alist sbwmlalist - svn export https://github.com/messense/aliyundrive-webdav/trunk/openwrt && mvdir openwrt - git_clone https://github.com/roacn/luci-app-autoupdate - git_clone https://github.com/sirpdboy/luci-app-autotimeset - git_clone https://github.com/NateLol/luci-app-beardropper - git_clone https://github.com/mingxiaoyu/luci-app-cloudflarespeedtest.git cloudflarespeedtest - svn export https://github.com/immortalwrt-collections/openwrt-cdnspeedtest/trunk/cdnspeedtest - git_clone https://github.com/sirpdboy/luci-app-eqosplus - git_clone https://github.com/sbwml/luci-app-mosdns mos - git_clone https://github.com/sirpdboy/luci-app-netdata - svn export https://github.com/sirpdboy/netspeedtest/trunk/luci-app-netspeedtest - svn export https://github.com/sirpdboy/netspeedtest/trunk/homebox - svn export https://github.com/coolsnowwolf/gargoyle/trunk/package/addon/lean/vsftpd-alt - git_clone https://github.com/rufengsuixing/luci-app-onliner - svn export https://github.com/vernesong/OpenClash/trunk/luci-app-openclash - git_clone https://github.com/sirpdboy/luci-app-parentcontrol - git_clone https://github.com/esirplayground/luci-app-poweroff - git_clone https://github.com/zzsj0928/luci-app-pushbot - git_clone https://github.com/sbwml/luci-app-qbittorrent sbwml_qbittorrent && mvdir sbwml_qbittorrent - git_clone https://github.com/DevOpenWRT-Router/luci-app-rebootschedule - svn export https://github.com/doushang/luci-app-shortcutmenu/trunk/luci-app-shortcutmenu - #git_clone https://github.com/pymumu/luci-app-smartdns - #git_clone https://github.com/pymumu/openwrt-smartdns smartdns - svn export https://github.com/Tencent-Cloud-Plugins/tencentcloud-openwrt-plugin-ddns/trunk/tencentcloud_ddns luci-app-tencentddns - svn export https://github.com/Tencent-Cloud-Plugins/tencentcloud-openwrt-plugin-cos/trunk/tencentcloud_cos luci-app-tencentcloud-cos - git_branch_clone master https://github.com/tty228/luci-app-wechatpush - git_clone https://github.com/walkingsky/luci-wifidog luci-app-wifidog - #git_branch_clone master https://github.com/UnblockNeteaseMusic/luci-app-unblockneteasemusic - git_branch_clone js https://github.com/UnblockNeteaseMusic/luci-app-unblockneteasemusic - #git_clone https://github.com/maxlicheng/luci-app-unblockmusic.git - svn export https://github.com/brvphoenix/luci-app-wrtbwmon/trunk/luci-app-wrtbwmon - git_clone https://github.com/sbwml/luci-app-xunlei - svn export https://github.com/brvphoenix/wrtbwmon/trunk/wrtbwmon - - git_clone https://github.com/xiaorouji/openwrt-passwall-packages && mvdir_force openwrt-passwall-packages - svn export https://github.com/xiaorouji/openwrt-passwall/trunk/luci-app-passwall - svn export https://github.com/xiaorouji/openwrt-passwall2/trunk/luci-app-passwall2 - git_branch_clone main https://github.com/fw876/helloworld && mvdir helloworld - - svn export https://github.com/linkease/nas-packages-luci/trunk/luci ./linkease/nas/luci && mv -n ./linkease/nas/luci/* ./linkease && rm -rf ./linkease/nas - svn export https://github.com/linkease/nas-packages/trunk/network/services ./linkease/nas/network/services && mv -n ./linkease/nas/network/services/* ./linkease && rm -rf ./linkease/nas - svn export https://github.com/linkease/nas-packages/trunk/multimedia/ffmpeg-remux ./linkease/nas/multimedia/ffmpeg-remux && mv -n ./linkease/nas/multimedia/* ./linkease && rm -rf ./linkease/nas - svn export https://github.com/linkease/istore/trunk/luci ./linkease/iStore/luci && mv -n ./linkease/iStore/luci/* ./linkease && rm -rf ./linkease/iStore - svn export https://github.com/linkease/istore/trunk/translations ./linkease/translations - - git_branch_clone master https://github.com/jerrykuku/luci-theme-argon - git_branch_clone master https://github.com/jerrykuku/luci-app-argon-config - git_clone https://github.com/derisamedia/luci-theme-alpha - svn export https://github.com/Aslin-Ameng/luci-theme-Light/trunk/luci-theme-Light - - - name: Delete duplicated packages - continue-on-error: true - run: | - shopt -s extglob - mv -n cloudflarespeedtest/applications/luci-app-cloudflarespeedtest luci-app-cloudflarespeedtest ; rm -rf cloudflarespeedtest - mv -f sbwmlalist/luci-app-alist luci-app-alist && mv -f sbwmlalist/alist alist ; rm -rf sbwmlalist - rm -rf mosdns && mv -f mos/luci-app-mosdns luci-app-mosdns && mv -f mos/mosdns mosdns && mv -f mos/v2dat v2dat ; rm -rf mos - cp -rf .github/diy/packages/* ./ || true - rm -rf */.git - - - name: Apply patches - continue-on-error: true - run: | - find ".github/diy/patches" -type f -name '*.patch' -print0 | sort -z | xargs -I % -t -0 -n 1 sh -c "cat '%' | patch -d './' -p1 -E --forward --no-backup-if-mismatch" - - - name: Modify - continue-on-error: true - run: | - 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 - - - name: SSH connection to Actions - uses: kiddin9/debugger-action@master - if: github.event.inputs.ssh == 'true' - - - name: Apply - continue-on-error: true - run: | - Emoji=("🎉" "🤞" "✨" "🎁" "🎈" "🎄" "🎨" "💋" "🍓" "🍕" "🍉" "💐" "🌴" "🚀" "🛸" "🗽" "⛅" "🌈" "🔥" "⛄" "🐶" "🏅" "🦄" "🐤") - git add . - if [ -n "$(git status -s)" ]; then - git commit -m "${Emoji[$[$RANDOM % ${#Emoji[@]}]]} Sync $(date +%Y-%m-%d" "%H:%M)" - git push -f origin ${{ env.BRANCH }} - fi - - - name: Delete workflow runs - uses: Mattraks/delete-workflow-runs@main - continue-on-error: true - with: - retain_days: 0 - keep_minimum_runs: 2 +# +# This is free software, lisence use MIT. +# + +name: Merge-Upstream-Official +on: + push: + branches: + - Official + paths: + - '.github/workflows/sync_official.yml' + - '.gitignore' + - '.github/diy/**' + schedule: + - cron: 25 */8 * * * + workflow_dispatch: + inputs: + ssh: + description: '开启SSH远程配置' + required: false + default: false + type: boolean + watch: + types: started + repository_dispatch: + +env: + BRANCH: Official + +jobs: + merge: + if: github.event.repository.owner.id == github.event.sender.id || ! github.event.sender.id + runs-on: Ubuntu-20.04 + + steps: + - name: Check inputs + run: | + echo github.ref is: ${{ github.ref }} + echo github.event_name is: ${{ github.event_name }} + + - name: Checkout + uses: actions/checkout@v4 + with: + ref: ${{ env.BRANCH }} + fetch-depth: 0 + + - name: Set git identity + run : | + git config --global user.email "41898282+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 --cached * >/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_branch_clone() { + git clone --depth 1 -b $1 $2 $3 + if [ "$?" != 0 ]; then + echo "error on $2" + pid="$( ps -q $$ )" + kill $pid + fi + } + + function git_sparse_clone() { + branch="$1" rurl="$2" localdir="$3" && shift 3 + git clone -b $branch --depth 1 --filter=blob:none --sparse $rurl $localdir + if [ "$?" != 0 ]; then + echo "error on $rurl" + pid="$( ps -q $$ )" + kill $pid + fi + cd $localdir + git sparse-checkout init --cone + git sparse-checkout set $@ + mv -n $@ ../ || true + cd .. + rm -rf $localdir + } + + function git_sparse_clone2() { + commitid="$1" rurl="$2" localdir="$3" && shift 3 + git clone --filter=blob:none --sparse $rurl $localdir + cd $localdir + git checkout $commitid + git sparse-checkout init --cone + git sparse-checkout set $@ + mv -n $@ ../ || true + cd .. + rm -rf $localdir + } + + function mvdir() { + mv -n `find $1/* -maxdepth 0 -type d` ./ + rm -rf $1 + } + + function mvdir_force() { + mv -f `find $1/* -maxdepth 0 -type d` ./ + rm -rf $1 + } + + git_clone https://github.com/sirpdboy/luci-app-advanced + git_clone https://github.com/honwen/luci-app-aliddns + git_clone https://github.com/sbwml/luci-app-alist sbwmlalist + svn export https://github.com/messense/aliyundrive-webdav/trunk/openwrt && mvdir openwrt + git_clone https://github.com/roacn/luci-app-autoupdate + git_clone https://github.com/sirpdboy/luci-app-autotimeset + git_clone https://github.com/NateLol/luci-app-beardropper + git_clone https://github.com/mingxiaoyu/luci-app-cloudflarespeedtest.git cloudflarespeedtest + svn export https://github.com/immortalwrt-collections/openwrt-cdnspeedtest/trunk/cdnspeedtest + git_clone https://github.com/sirpdboy/luci-app-eqosplus + git_clone https://github.com/sbwml/luci-app-mosdns mos + git_clone https://github.com/sirpdboy/luci-app-netdata + svn export https://github.com/sirpdboy/netspeedtest/trunk/luci-app-netspeedtest + svn export https://github.com/sirpdboy/netspeedtest/trunk/homebox + svn export https://github.com/coolsnowwolf/gargoyle/trunk/package/addon/lean/vsftpd-alt + git_clone https://github.com/rufengsuixing/luci-app-onliner + svn export https://github.com/vernesong/OpenClash/trunk/luci-app-openclash + git_clone https://github.com/sirpdboy/luci-app-parentcontrol + git_clone https://github.com/esirplayground/luci-app-poweroff + git_clone https://github.com/zzsj0928/luci-app-pushbot + git_clone https://github.com/sbwml/luci-app-qbittorrent sbwml_qbittorrent && mvdir sbwml_qbittorrent + git_clone https://github.com/DevOpenWRT-Router/luci-app-rebootschedule + svn export https://github.com/doushang/luci-app-shortcutmenu/trunk/luci-app-shortcutmenu + #git_clone https://github.com/pymumu/luci-app-smartdns + #git_clone https://github.com/pymumu/openwrt-smartdns smartdns + svn export https://github.com/Tencent-Cloud-Plugins/tencentcloud-openwrt-plugin-ddns/trunk/tencentcloud_ddns luci-app-tencentddns + svn export https://github.com/Tencent-Cloud-Plugins/tencentcloud-openwrt-plugin-cos/trunk/tencentcloud_cos luci-app-tencentcloud-cos + git_branch_clone master https://github.com/tty228/luci-app-wechatpush + git_clone https://github.com/walkingsky/luci-wifidog luci-app-wifidog + #git_branch_clone master https://github.com/UnblockNeteaseMusic/luci-app-unblockneteasemusic + git_branch_clone js https://github.com/UnblockNeteaseMusic/luci-app-unblockneteasemusic + #git_clone https://github.com/maxlicheng/luci-app-unblockmusic.git + svn export https://github.com/brvphoenix/luci-app-wrtbwmon/trunk/luci-app-wrtbwmon + git_clone https://github.com/sbwml/luci-app-xunlei + svn export https://github.com/brvphoenix/wrtbwmon/trunk/wrtbwmon + + git_clone https://github.com/xiaorouji/openwrt-passwall-packages && mvdir_force openwrt-passwall-packages + svn export https://github.com/xiaorouji/openwrt-passwall/trunk/luci-app-passwall + svn export https://github.com/xiaorouji/openwrt-passwall2/trunk/luci-app-passwall2 + git_branch_clone main https://github.com/fw876/helloworld && mvdir helloworld + + svn export https://github.com/linkease/nas-packages-luci/trunk/luci ./linkease/nas/luci && mv -n ./linkease/nas/luci/* ./linkease && rm -rf ./linkease/nas + svn export https://github.com/linkease/nas-packages/trunk/network/services ./linkease/nas/network/services && mv -n ./linkease/nas/network/services/* ./linkease && rm -rf ./linkease/nas + svn export https://github.com/linkease/nas-packages/trunk/multimedia/ffmpeg-remux ./linkease/nas/multimedia/ffmpeg-remux && mv -n ./linkease/nas/multimedia/* ./linkease && rm -rf ./linkease/nas + svn export https://github.com/linkease/istore/trunk/luci ./linkease/iStore/luci && mv -n ./linkease/iStore/luci/* ./linkease && rm -rf ./linkease/iStore + svn export https://github.com/linkease/istore/trunk/translations ./linkease/translations + + git_branch_clone master https://github.com/jerrykuku/luci-theme-argon + git_branch_clone master https://github.com/jerrykuku/luci-app-argon-config + git_clone https://github.com/derisamedia/luci-theme-alpha + svn export https://github.com/Aslin-Ameng/luci-theme-Light/trunk/luci-theme-Light + + - name: Delete duplicated packages + continue-on-error: true + run: | + shopt -s extglob + mv -n cloudflarespeedtest/applications/luci-app-cloudflarespeedtest luci-app-cloudflarespeedtest ; rm -rf cloudflarespeedtest + mv -f sbwmlalist/luci-app-alist luci-app-alist && mv -f sbwmlalist/alist alist ; rm -rf sbwmlalist + rm -rf mosdns && mv -f mos/luci-app-mosdns luci-app-mosdns && mv -f mos/mosdns mosdns && mv -f mos/v2dat v2dat ; rm -rf mos + cp -rf .github/diy/packages/* ./ || true + rm -rf */.git + + - name: Apply patches + continue-on-error: true + run: | + find ".github/diy/patches" -type f -name '*.patch' -print0 | sort -z | xargs -I % -t -0 -n 1 sh -c "cat '%' | patch -d './' -p1 -E --forward --no-backup-if-mismatch" + + - name: Modify + continue-on-error: true + run: | + 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 + + - name: SSH connection to Actions + uses: kiddin9/debugger-action@master + if: github.event.inputs.ssh == 'true' + + - name: Apply + continue-on-error: true + run: | + Emoji=("🎉" "🤞" "✨" "🎁" "🎈" "🎄" "🎨" "💋" "🍓" "🍕" "🍉" "💐" "🌴" "🚀" "🛸" "🗽" "⛅" "🌈" "🔥" "⛄" "🐶" "🏅" "🦄" "🐤") + git add . + if [ -n "$(git status -s)" ]; then + git commit -m "${Emoji[$[$RANDOM % ${#Emoji[@]}]]} Sync $(date +%Y-%m-%d" "%H:%M)" + git push -f origin ${{ env.BRANCH }} + fi + + - name: Delete workflow runs + uses: Mattraks/delete-workflow-runs@main + continue-on-error: true + with: + retain_days: 0 + keep_minimum_runs: 2