name: app_update on: schedule: - cron: '0 23 * * *' # 每天北京时间早上7点执行 workflow_dispatch: # 允许手动触发 jobs: update-rules: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: 创建目录结构 run: | mkdir -p app/ tmp/x86_64 tmp/aarch64 tmp/x86_64/7z tmp/aarch64/7z - name: 下载并解压Zellij run: | curl -L "https://github.com/zellij-org/zellij/releases/latest/download/zellij-x86_64-unknown-linux-musl.tar.gz" \ -o "zellij-x86_64-unknown-linux-musl.tar.gz" \ --fail --silent --show-error && \ tar -xvf zellij-x86_64-unknown-linux-musl.tar.gz -C tmp/x86_64/ mv tmp/x86_64/zellij app/zellij_x86_64 curl -L "https://github.com/zellij-org/zellij/releases/latest/download/zellij-aarch64-unknown-linux-musl.tar.gz" \ -o "zellij-aarch64-unknown-linux-musl.tar.gz" \ --fail --silent --show-error && \ tar -xvf zellij-aarch64-unknown-linux-musl.tar.gz -C tmp/aarch64/ && \ mv tmp/aarch64/zellij app/zellij_aarch64 - name: 下载并解压7-zip run: | VERSION_7Z=$(curl -s "https://api.github.com/repos/ip7z/7zip/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') X86_64_7Z_URL="https://github.com/ip7z/7zip/releases/latest/download/7z${VERSION_7Z/./}-linux-x64.tar.xz" AARCH64_7Z_URL="https://github.com/ip7z/7zip/releases/latest/download/7z${VERSION_7Z/./}-linux-arm64.tar.xz" WINDOWS_7Z_URL="https://github.com/ip7z/7zip/releases/latest/download/7z${VERSION_7Z/./}.exe" echo "下载版本: ${VERSION_7Z}" curl -L "${X86_64_7Z_URL}" -o "7z-x86_64.tar.xz" --fail --silent --show-error curl -L "${AARCH64_7Z_URL}" -o "7z-aarch64.tar.xz" --fail --silent --show-error curl -L "${WINDOWS_7Z_URL}" -o "app/7z_windows.exe" --fail --silent --show-error tar -xvf 7z-x86_64.tar.xz -C tmp/x86_64/7z tar -xvf 7z-aarch64.tar.xz -C tmp/aarch64/7z mv tmp/x86_64/7z/7zz app/7z_x86_64 mv tmp/aarch64/7z/7zz app/7z_aarch64 - name: 下载并解压Shadowsocks-Rust run: | SS_RUST_VERSION=$(curl -s "https://api.github.com/repos/shadowsocks/shadowsocks-rust/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') SS_RUST_URL="https://github.com/shadowsocks/shadowsocks-rust/releases/latest/download/shadowsocks-${SS_RUST_VERSION}.x86_64-unknown-linux-musl.tar.xz" echo "下载版本: ${SS_RUST_VERSION}" curl -L "${SS_RUST_URL}" -o "shadowsocks.tar.xz" --fail --silent --show-error tar -xvf shadowsocks.tar.xz -C tmp/x86_64/ mv tmp/x86_64/ssserver app/ mv tmp/x86_64/sslocal app/ - name: 下载并解压Frp run: | FRP_VERSION=$(curl -s "https://api.github.com/repos/fatedier/frp/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') FRP_URL="https://github.com/fatedier/frp/releases/latest/download/frp_${FRP_VERSION#v}_linux_amd64.tar.gz" echo "下载版本: ${FRP_VERSION}" curl -L "${FRP_URL}" -o "frp.tar.gz" --fail --silent --show-error tar -zxvf frp.tar.gz -C tmp/x86_64/ mv tmp/x86_64/frp_${FRP_VERSION#v}_linux_amd64/frps app/ mv tmp/x86_64/frp_${FRP_VERSION#v}_linux_amd64/frpc app/ - name: 提交更改 run: | git config --local user.email "gitea-actions[bot]@users.noreply.nvme.cc" git config --local user.name "gitea-actions[bot]" git add ./app git diff --cached --quiet || git commit -m "Update rules: $(TZ=Asia/Shanghai date +'%Y-%m-%d %H:%M:%S')" git push