This commit is contained in:
WJQSERVER
2024-10-14 16:16:04 +08:00
parent 2edb6f6dd7
commit 18f78385f3
10 changed files with 153 additions and 32 deletions

View File

@@ -1,5 +1,18 @@
# 更新日志
v1.5.1
---
- CHANGE: 优化代码结构,提升性能
- CHANGE: Bump github.com/imroc/req/v3 from 3.48.0 to 3.49.0 by @dependabot in https://github.com/WJQSERVER-STUDIO/ghproxy/pull/7
- ADD: 新增一键部署脚本,简化二进制文件部署流程
24w16a
---
- PRE-RELEASE: 此版本是v1.5.1的预发布版本,请勿在生产环境中使用
- CHANGE: 优化代码结构,提升性能
- CHANGE: Bump github.com/imroc/req/v3 from 3.47.0 to 3.48.0 by @dependabot in https://github.com/WJQSERVER-STUDIO/ghproxy/pull/6
- ADD: 新增一键部署脚本,简化二进制文件部署流程
v1.5.0
---
- CHANGE: 优化代码结构,提升性能

View File

@@ -58,6 +58,16 @@ docker run -p 7210:80 -v ./ghproxy/log/run:/data/ghproxy/log -v ./ghproxy/log/ca
参看[docker-compose.yml](https://github.com/WJQSERVER-STUDIO/ghproxy/blob/main/docker/compose/docker-compose.yml)
### 二进制文件部署
一键部署脚本:
```bash
wget -O install.sh https://raw.githubusercontent.com/WJQSERVER-STUDIO/ghproxy/main/deploy/install.sh && chmod +x install.sh &&./install.sh
```
## 配置说明
### 外部配置文件
本项目采用`config.toml`作为外部配置,默认配置如下

View File

@@ -1 +1 @@
1.5.0
1.5.1

View File

@@ -2,6 +2,6 @@
"blacklist": [
"black/list",
"test/test1",
"example/repo2"
"example/*"
]
}

View File

@@ -1,29 +0,0 @@
# Server Configuration
server:
port: 8080
host: "127.0.0.1"
sizelimit: 131072000 # 125MB
# Logging Configuration
logger:
logfilepath: "/data/ghproxy/log/ghproxy.log"
maxlogsize: 5 # MB
# CORS Configuration
cors:
enabled: true
# Authentication Configuration
auth:
enabled: false
authtoken: "test"
# Blacklist Configuration
blacklist:
enabled: false
blacklistfile: "/data/ghproxy/config/blacklist.json"
# Whitelist Configuration
whitelist:
enabled: false
whitelistfile: "/data/ghproxy/config/whitelist.json"

View File

@@ -2,6 +2,6 @@
"whitelist": [
"white/list",
"white/test1",
"example/white"
"example/*"
]
}

23
deploy/config.toml Normal file
View File

@@ -0,0 +1,23 @@
[server]
host = "127.0.0.1"
port = 8080
sizelimit = 131072000 # 125MB
[log]
logfilepath = "/root/data/ghproxy/log/ghproxy.log"
maxlogsize = 5 # MB
[cors]
enabled = true
[auth]
authtoken = "test"
enabled = false
[blacklist]
blacklistfile = "/root/data/ghproxy/config/blacklist.json"
enabled = false
[whitelist]
enabled = false
whitelistfile = "/root/data/ghproxy/config/whitelist.json"

13
deploy/ghproxy.service Normal file
View File

@@ -0,0 +1,13 @@
[Unit]
Description=Github Proxy Service
After=network.target
[Service]
ExecStart=/bin/bash -c '/root/data/ghproxy/ghproxy -cfg /root/data/ghproxy/config/config.toml > /root/data/ghproxy/log/run.log 2>&1'
WorkingDirectory=/root/data/ghproxy
Restart=always
User=root
Group=root
[Install]
WantedBy=multi-user.target

78
deploy/install.sh Normal file
View File

@@ -0,0 +1,78 @@
# /bin/bash
# install packages
install() {
if [ $# -eq 0 ]; then
echo "ARGS NOT FOUND"
return 1
fi
for package in "$@"; do
if ! command -v "$package" &>/dev/null; then
if command -v dnf &>/dev/null; then
dnf -y update && dnf install -y "$package"
elif command -v yum &>/dev/null; then
yum -y update && yum -y install "$package"
elif command -v apt &>/dev/null; then
apt update -y && apt install -y "$package"
elif command -v apk &>/dev/null; then
apk update && apk add "$package"
else
echo "UNKNOWN PACKAGE MANAGER"
return 1
fi
fi
done
return 0
}
# 安装依赖包
install curl wget sed
# 查看当前架构是否为linux/amd64或linux/arm64
ARCH=$(uname -m)
if [ "$ARCH" != "x86_64" ] && [ "$ARCH" != "aarch64" ]; then
echo " $ARCH 架构不被支持"
exit 1
fi
# 重写架构值,改为amd64或arm64
if [ "$ARCH" == "x86_64" ]; then
ARCH="amd64"
elif [ "$ARCH" == "aarch64" ]; then
ARCH="arm64"
fi
read -p "请输入程序监听的端口(默认8080): " PORT
if [ -z "$PORT" ]; then
PORT=8080
fi
# 创建目录
mkdir -p /root/data/ghproxy
mkdir -p /root/data/ghproxy/config
mkdir -p /root/data/ghproxy/log
# 获取最新版本号
VERSION=$(curl -s https://raw.githubusercontent.com/WJQSERVER-STUDIO/ghproxy/main/VERSION)
wget -O /root/data/ghproxy/VERSION https://raw.githubusercontent.com/WJQSERVER-STUDIO/ghproxy/main/VERSION
# 下载ghproxy
wget -O /root/data/ghproxy/ghproxy https://github.com/WJQSERVER-STUDIO/ghproxy/releases/download/$VERSION/ghproxy-linux-$ARCH
chmod +x /root/data/ghproxy/ghproxy
# 下载配置文件
wget -O /root/data/ghproxy/config/config.toml https://raw.githubusercontent.com/WJQSERVER-STUDIO/ghproxy/main/deploy/config.toml
# 替换 port = 8080
sed -i "s/port = 8080/port = $PORT/g" /root/data/ghproxy/config/config.toml
# 下载systemd服务文件
wget -O /etc/systemd/system/ghproxy.service https://raw.githubusercontent.com/WJQSERVER-STUDIO/ghproxy/main/deploy/ghproxy.service
# 启动ghproxy
systemctl daemon-reload
systemctl enable ghproxy
systemctl start ghproxy
echo "ghproxy 安装成功, 监听端口为 $PORT"

13
deploy/uninstall.sh Normal file
View File

@@ -0,0 +1,13 @@
# /bin/bash
# 停止 ghproxy 服务
systemctl stop ghproxy
# 删除 ghproxy 服务
systemctl disable ghproxy
rm /etc/systemd/system/ghproxy.service
# 删除 ghproxy 文件夹
rm -r /root/data/ghproxy
echo "ghproxy 已成功卸载"