update to support short url for sub

This commit is contained in:
Stille 2022-08-05 14:19:50 +08:00
parent 92ecf9e135
commit 3a91d92ce8
4 changed files with 79 additions and 3 deletions

View File

@ -5,12 +5,13 @@ Docker [stilleshan/sub](https://hub.docker.com/r/stilleshan/sub)
> *docker image support for X86 and ARM*
## 简介
基于 subweb 和 subconverter 前后端整合容器,支持自定义配置.
基于 subweb 和 subconverter 前后端加上 myurls 短链接整合容器,支持自定义配置.
## 部署
**注意,本项目必须搭配域名反代使用.**
### docker
> 已更新支持短链接,如需要更换短链接或自己部署,请使用以下 docker compose 部署.
```shell
docker run -d --name subweb --restart always \
-p 18080:80 \
@ -24,11 +25,15 @@ docker run -d --name subweb --restart always \
`subconverter`同样支持挂载外部配置文件,参考容器内部路径:`/base/snippets/rulesets.txt`.
### docker compose
docker compose 已包含 myurl 短链接:
- 如无需部署 myurls 服务,可删除`12-32`行,将默认使用本站短链接.也可以修改`config.js`来使用其他`myurls`短链接服务.
- 如需自行部署 myurls 服务,需修改`docker-compose.yml`中的`MYURLS_DOMAIN`,以及`config.js`中的`shortUrl`,注意请严格按照示例格式填写.
- myurls 服务需要单独配置 nginx 反代以及证书,可以参考`myurls.conf`配置.注意需要修改`域名`,`证书路径`,`日志路径`.
下载 [docker-compose.yml](https://raw.githubusercontent.com/stilleshan/dockerfiles/main/sub/docker-compose.yml) 执行以下命令启动:
```shell
docker-compose up -d
```
## 参考
[stilleshan/subweb](https://github.com/stilleshan/subweb)
[stilleshan/subconverter](https://github.com/stilleshan/subconverter)
- [stilleshan/subweb](https://github.com/stilleshan/subweb)
- [stilleshan/subconverter](https://github.com/stilleshan/subconverter)

View File

@ -1,6 +1,7 @@
window.config = {
siteName: 'Subconverter Web',
apiUrl: 'http://127.0.0.1:25500',
shortUrl: 'https://s.ops.ci',
menuItem: [
{
title: '首页',

View File

@ -8,3 +8,24 @@ services:
volumes:
- ./conf:/usr/share/nginx/html/conf
restart: always
myurls:
image: stilleshan/myurls:latest
# container_name: myurls
environment:
- MYURLS_DOMAIN=s.ops.ci
- MYURLS_TTL=365
volumes:
- ./data/myurls/logs:/app/logs
ports:
- "8002:8002"
depends_on:
- redis
restart: always
redis:
image: redis:latest
# container_name: myurls-redis
volumes:
- ./data/redis:/data
restart: always

49
sub/myurls.conf Normal file
View File

@ -0,0 +1,49 @@
server {
listen 80;
server_name s.ops.ci;
return 301 https://s.ops.ci$request_uri;
}
server {
listen 443 ssl;
server_name s.ops.ci;
index index.php index.html index.htm;
gzip on;
ssl_certificate /usr/local/nginx/conf/ssl/ops.ci.cer;
ssl_certificate_key /usr/local/nginx/conf/ssl/ops.ci.key;
ssl_trusted_certificate /usr/local/nginx/conf/ssl/ops.ci.cer;
ssl_stapling on;
ssl_stapling_verify on;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4;
ssl_ecdh_curve secp384r1;
ssl_session_timeout 10m;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_session_tickets off;
resolver 8.8.8.8 8.8.4.4 valid=60s ipv6=off;
resolver_timeout 5s;
add_header Strict-Transport-Security "max-age=63072000" always;
location / {
proxy_redirect off;
proxy_pass http://127.0.0.1:8002;
add_header 'Access-Control-Allow-Origin' '*';
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Frame-Options SAMEORIGIN;
client_max_body_size 100m;
client_body_buffer_size 128k;
}
access_log /home/wwwlogs/s.ops.ci.access.log main;
error_log /home/wwwlogs/s.ops.ci.error.log warn;
}