ci: migrate deb repo hosting to cloudflare pages direct upload

This commit is contained in:
2026-01-25 22:32:23 +08:00
parent 32dac2a9fc
commit e257fc5aa0
3 changed files with 52 additions and 61 deletions

View File

@@ -42,7 +42,7 @@ jobs:
LATEST_TAG=$(curl -s https://api.github.com/repos/fatedier/frp/releases/latest | jq -r .tag_name)
LATEST_VERSION=${LATEST_TAG#v}
echo "Latest upstream version: $LATEST_VERSION"
CURRENT_TAG=$(curl -s https://api.github.com/repos/${{ github.repository }}/releases/latest | jq -r .tag_name)
if [ "$CURRENT_TAG" == "null" ]; then
CURRENT_VERSION="0.0.0"
@@ -50,7 +50,7 @@ jobs:
CURRENT_VERSION=${CURRENT_TAG#v}
fi
echo "Current repo version: $CURRENT_VERSION"
if [ "$LATEST_VERSION" == "$CURRENT_VERSION" ] && [ "${{ github.event_name }}" != "workflow_dispatch" ] && [ "${{ inputs.force_build }}" != "true" ]; then
echo "Already up to date."
echo "build=false" >> $GITHUB_OUTPUT
@@ -186,7 +186,6 @@ jobs:
- name: Setup Repo Structure
run: |
mkdir -p deb
touch deb/.nojekyll
# Flatten artifacts
find artifacts -name "*.deb" -exec cp {} deb/ \;
@@ -200,12 +199,6 @@ jobs:
# Generate Packages file
dpkg-scanpackages . > Packages
# Replace Filename with URL
# Filename: ./frpc_0.66.0-1_amd64.deb -> Filename: https://github.com/.../frpc_0.66.0-1_amd64.deb
BASE_URL="https://github.com/${{ github.repository }}/releases/download/v${{ needs.check_version.outputs.version }}/"
sed -i "s|Filename: ./|Filename: $BASE_URL|g" Packages
# Compress
gzip -k -f Packages
@@ -222,15 +215,15 @@ jobs:
apt-ftparchive release . -c apt-ftparchive.conf > Release
# Remove .deb files
rm *.deb
# Do NOT remove .deb files, so they are published to gh-pages
cd ..
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
- name: Deploy to Cloudflare Pages
uses: cloudflare/pages-action@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./deb
destination_dir: deb
keep_files: true
commit_message: "Update deb repo for v${{ needs.check_version.outputs.version }}"
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
projectName: frp-pkgs
directory: deb
# Optional: Enable this if you want to have a default branch deployment (production)
gitHubToken: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -178,12 +178,12 @@ jobs:
# Generate go-frp.repo
echo "[go-frp]
name=FRP Packages for Fedora - \$basearch
baseurl=https://awfufu.github.io/frp-pkgs/\$basearch/
baseurl=https://go-frp.awfufu.com/\$basearch/
enabled=1
gpgcheck=0" > repo/go-frp.repo
# Generate index.html
echo "<html><body><h1>FRP RPM Repository</h1><p>Use the following command to configure this repository:</p><pre>sudo dnf config-manager addrepo --from-repofile=https://awfufu.github.io/frp-pkgs/go-frp.repo</pre><p>For older DNF versions:</p><pre>sudo dnf config-manager --add-repo https://awfufu.github.io/frp-pkgs/go-frp.repo</pre></body></html>" > repo/index.html
echo "<html><body><h1>FRP RPM Repository</h1><p>Use the following command to configure this repository:</p><pre>sudo dnf config-manager addrepo --from-repofile=https://go-frp.awfufu.com/go-frp.repo</pre><p>For older DNF versions:</p><pre>sudo dnf config-manager --add-repo https://go-frp.awfufu.com/go-frp.repo</pre></body></html>" > repo/index.html
- name: Generate Repodata
run: |
@@ -206,12 +206,13 @@ jobs:
fi
done
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
- name: Deploy to Cloudflare Pages
uses: cloudflare/pages-action@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./repo
keep_files: true
commit_message: "Update repo for v${{ needs.check_version.outputs.version }}"
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
projectName: frp-pkgs-rpm
directory: repo
gitHubToken: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -1,23 +1,15 @@
# FRP RPM Packages for Fedora
Auto RPM build for [frp](https://github.com/fatedier/frp) (Fast Reverse Proxy), tracking the official releases.
**Features:**
- **Automated**: Builds are triggered daily to check for new upstream releases.
- **Native**: Built natively for **Fedora 41, 42, 43**.
- **Multi-Arch**: Supports both **x86_64** (AMD64) and **aarch64** (ARM64).
- **Split Packages**: Separate `frpc` and `frps` packages.
- **Systemd Integration**: Includes `frpc@.service` and `frps@.service` templates.
Auto RPM build for [fatedier/frp](https://github.com/fatedier/frp) (Fast Reverse Proxy), tracking the official releases.
### Installation
#### RHEL / Fedora
Add the repository to your system to receive automatic updates.
```bash
sudo dnf config-manager addrepo --from-repofile=https://awfufu.github.io/frp-pkgs/go-frp.repo
# For older DNF versions:
# sudo dnf config-manager --add-repo https://awfufu.github.io/frp-pkgs/go-frp.repo
sudo dnf config-manager --add-repo https://go-frp.awfufu.com/go-frp.repo
sudo dnf install frpc frps
```
@@ -28,7 +20,7 @@ Add the repository to known lists.
```bash
# Add repository
echo "deb [trusted=yes] https://awfufu.github.io/frp-pkgs/deb/ ./" | sudo tee /etc/apt/sources.list.d/go-frp.list
echo "deb [trusted=yes] https://go-frp.awfufu.com/ ./" | sudo tee /etc/apt/sources.list.d/go-frp.list
# Update and install
sudo apt update
@@ -39,35 +31,40 @@ sudo apt install frpc frps
#### Client (frpc)
1. **Configuration**: Edit the configuration file:
```bash
sudo vim /etc/frpc/frpc.toml
```
*For multiple instances, you can create separate config files like `/etc/frpc/my-proxy.toml`.*
1. Configuration: Edit the configuration file:
2. **Start Service**:
```bash
# If using default /etc/frpc/frpc.toml:
sudo systemctl enable --now frpc@frpc
```bash
sudo vim /etc/frpc/frpc.toml
```
# If using /etc/frpc/my-proxy.toml:
sudo systemctl enable --now frpc@my-proxy
```
*For multiple instances, you can create separate config files like `/etc/frpc/my-proxy.toml`.*
3. **Check Status**:
```bash
systemctl status frpc@frpc
```
2. Start Service:
```bash
# If using default /etc/frpc/frpc.toml:
sudo systemctl enable --now frpc@frpc
# If using /etc/frpc/my-proxy.toml:
sudo systemctl enable --now frpc@my-proxy
```
3. Check Status:
```bash
systemctl status frpc@frpc
```
#### Server (frps)
1. **Configuration**: Edit `/etc/frpc/frps.toml`.
2. **Start Service**:
```bash
sudo systemctl enable --now frps@frps
```
1. Configuration: Edit `/etc/frpc/frps.toml`.
2. Start Service:
#### Build Status
```bash
sudo systemctl enable --now frps@frps
```
### Build Status
| Type | Status |
|------|--------|