一个超简单的短网址管理平台。
配置前端:shortener-frontend
命令行工具:shortener
go install go.dsig.cn/shortener/cmd/shortener@latest
版本:
latest
,main
, <TAG
>
Registry | Image |
---|---|
Docker Hub | idevsig/shortener-server |
GitHub Container Registry | ghcr.io/idevsig/shortener-server |
Tencent Cloud Container Registry | ccr.ccs.tencentyun.com/idevsig/shortener-server |
Aliyun Container Registry | registry.cn-guangzhou.aliyuncs.com/idevsig/shortener-server |
git clone https://git.jetsung.com/idev/shortener-server.git
cd shortener-server
mkdir -p config/dev
cp config/config.toml config/dev/
# 修改开发环境的配置文件
vi config/dev/config.toml
go run .
go build
# 支持 GoReleaser 方式构建
goreleaser release --snapshot --clean
just --list
-
下载发行版的安装包:
deb
/rpm
-
安装
# deb 安装包 dpkg -i shortener-server_<VERSION>_linux_amd64.deb # rpm 安装包 rpm -ivh shortener-server_<VERSION>_linux_amd64.rpm
-
配置文件
config.toml
-
启动
systemctl start shortener-server systemctl enable shortener-server
-
配置 Nginx 反向代理(若使用管理界面作为入口域名,可忽略此步)
点击展开/折叠
# 对接 API location /api/ { proxy_pass http://127.0.0.1:8081/api/v1/; client_max_body_size 1024m; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-Ip $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # 透传 HTTPS 协议标识 proxy_set_header X-Forwarded-Ssl on; # 明确 SSL 启用状态 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_connect_timeout 99999; }
若需要前端管理平台,需要使用 shortener-frontend 。
-
下载并解压到指定目录
-
配置
nginx
:点击展开/折叠
... listen 80; server_name <DOMAIN>; index index.html; root /data/wwwroot/<DOMAIN>; # 对接 API location /api/ { proxy_pass http://127.0.0.1:8081/api/v1/; client_max_body_size 1024m; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-Ip $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # 透传 HTTPS 协议标识 proxy_set_header X-Forwarded-Ssl on; # 明确 SSL 启用状态 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_connect_timeout 99999; }
-
配置文件
config.toml
-
若需要使用缓存,需要配置
valkey
缓存- 取消
compose.yml
中的valkey
配置的注释。 - 修改配置文件
config.toml
中的cache.enabled
字段为true
。 - 修改配置文件
config.toml
中的cache.type
字段为valkey
。
- 取消
-
若需要 IP 数据,需要配置
ip2region
数据库- 下载 ip2region.xdb ,保存至
./data/ip2region.xdb
。 - 修改配置文件
config.toml
中的geoip.enabled
字段为true
。
- 下载 ip2region.xdb ,保存至
-
启动
docker compose up -d
-
配置 Nginx 反向代理
点击展开/折叠
# 前端配置 location / { proxy_pass http://127.0.0.1:8080; client_max_body_size 1024m; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-Ip $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # 透传 HTTPS 协议标识 proxy_set_header X-Forwarded-Ssl on; # 明确 SSL 启用状态 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_connect_timeout 99999; } # 对接 API location /api/ { proxy_pass http://127.0.0.1:8081/api/v1/; client_max_body_size 1024m; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-Ip $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # 透传 HTTPS 协议标识 proxy_set_header X-Forwarded-Ssl on; # 明确 SSL 启用状态 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_connect_timeout 99999; }
- 实现全部功能接口
-
API
权限校验
-
- 支持数据库
- SQLite
- PostgreSQL
- MySQL
- 支持缓存
- Redis
- Valkey
- 制作 CLI 工具
- 添加 OpenAPI
- 添加跳转请求日志记录
-
CI/CD
构建- Docker 镜像构建与推送
- 实现管理平台接口
- 添加文档
- 添加测试