79 lines
3.7 KiB
YAML
79 lines
3.7 KiB
YAML
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/amd64 tmp/arm64
|
|
|
|
- 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/amd64/
|
|
mv tmp/amd64/zellij app/zellij_amd64
|
|
|
|
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/arm64/ && \
|
|
mv tmp/arm64/zellij app/zellij_arm64
|
|
|
|
- name: 下载并解压7-zip
|
|
run: |
|
|
7Z_VERSION=$(curl -s "https://api.github.com/repos/ip7z/7zip/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
|
|
7Z_X86_URL="https://github.com/ip7z/7zip/releases/latest/download/7z${7Z_VERSION/./}-linux-x86.tar.xz"
|
|
7Z_ARM64_URL="https://github.com/ip7z/7zip/releases/latest/download/7z${7Z_VERSION/./}-linux-arm64.tar.xz"
|
|
7Z_WINDOWS_URL="https://github.com/ip7z/7zip/releases/latest/download/7z${7Z_VERSION/./}.exe"
|
|
|
|
echo "下载版本: ${7Z_VERSION}"
|
|
curl -L "${7Z_X86_URL}" -o "7z-x86.tar.xz" --fail --silent --show-error
|
|
curl -L "${7Z_ARM64_URL}" -o "7z-arm64.tar.xz" --fail --silent --show-error
|
|
curl -L "${7Z_WINDOWS_URL}" -o "app/7z_windows.exe" --fail --silent --show-error
|
|
|
|
tar -xvf 7z-x86.tar.xz -C tmp/7z-x86
|
|
tar -xvf 7z-arm64.tar.xz -C tmp/7z-arm64
|
|
|
|
mv tmp/7z-x86/7zz app/7z_amd64
|
|
mv tmp/7z-arm64/7zz app/7z_arm64
|
|
|
|
- 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/amd64/
|
|
mv tmp/amd64/ssserver app/
|
|
mv tmp/amd64/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/amd64/
|
|
mv tmp/amd64/frp_${FRP_VERSION#v}_linux_amd64/frps app/
|
|
mv tmp/amd64/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 |