mirror of
https://github.com/WJQSERVER-STUDIO/ghproxy.git
synced 2026-02-03 00:01:10 +08:00
1.5.1
This commit is contained in:
parent
2edb6f6dd7
commit
18f78385f3
10 changed files with 153 additions and 32 deletions
13
CHANGELOG.md
13
CHANGELOG.md
|
|
@ -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
|
v1.5.0
|
||||||
---
|
---
|
||||||
- CHANGE: 优化代码结构,提升性能
|
- CHANGE: 优化代码结构,提升性能
|
||||||
|
|
|
||||||
10
README.md
10
README.md
|
|
@ -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)
|
参看[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`作为外部配置,默认配置如下
|
本项目采用`config.toml`作为外部配置,默认配置如下
|
||||||
|
|
|
||||||
2
VERSION
2
VERSION
|
|
@ -1 +1 @@
|
||||||
1.5.0
|
1.5.1
|
||||||
|
|
@ -2,6 +2,6 @@
|
||||||
"blacklist": [
|
"blacklist": [
|
||||||
"black/list",
|
"black/list",
|
||||||
"test/test1",
|
"test/test1",
|
||||||
"example/repo2"
|
"example/*"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -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"
|
|
||||||
|
|
@ -2,6 +2,6 @@
|
||||||
"whitelist": [
|
"whitelist": [
|
||||||
"white/list",
|
"white/list",
|
||||||
"white/test1",
|
"white/test1",
|
||||||
"example/white"
|
"example/*"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
23
deploy/config.toml
Normal file
23
deploy/config.toml
Normal 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
13
deploy/ghproxy.service
Normal 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
78
deploy/install.sh
Normal 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
13
deploy/uninstall.sh
Normal 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 已成功卸载"
|
||||||
Loading…
Add table
Add a link
Reference in a new issue