mirror of
https://github.com/awfufu/frp-pkgs.git
synced 2026-03-01 04:49:44 +08:00
ci: migrate deb repo hosting to cloudflare pages direct upload
This commit is contained in:
29
.github/workflows/build_deb.yml
vendored
29
.github/workflows/build_deb.yml
vendored
@@ -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 }}
|
||||
|
||||
17
.github/workflows/build_rpm.yml
vendored
17
.github/workflows/build_rpm.yml
vendored
@@ -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 }}
|
||||
|
||||
|
||||
|
||||
67
README.md
67
README.md
@@ -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 |
|
||||
|------|--------|
|
||||
|
||||
Reference in New Issue
Block a user