dblp rss转换器部署
dblp默认的前100条只有xml和json格式,zotero识别不了,github上有个开源项目可以将DBLP的api返回结果转换成RSS格式,方便zotero识别。
服务器配置过程
开启防火墙
如果是走cloudflarecdn的话只能是以下几个端口,这里使用2083:
Cloudflare 支持的 HTTP 端口:
- 80
- 8080
- 8880
- 2052
- 2082
- 2086
- 2095
Cloudflare 支持的 HTTPS 端口:
- 443
- 2053
- 2083
- 2087
- 2096
- 8443
使用firewalld
1 | sudo apt install firewalld |
查看防火墙状态:sudo firewall-cmd —zone=public —list-ports
查看防火墙当前规则:sudo firewall-cmd —list-all
确认特定端口是否开放:sudo firewall-cmd —zone=public —query-port=8080/tcp
使用x-ui自带的iptables管理工具
输入x-ui
选择21,开启防火墙并放行端口,将上述端口放行即可
安装docker
使用runoob教程的方案,地址:Ubuntu Docker 安装 | 菜鸟教程
安装docker
1
2curl -fsSL https://test.docker.com -o test-docker.sh
sudo sh test-docker.sh测试Helloworld:
1
docker run ubuntu:15.10 /bin/echo "Hello world"
安装dblp-rss
克隆项目代码
1
git clone https://github.com/Pantoofle/dblp-rss.git
进入项目目录,构建 Docker 镜像
1
2cd dblp-rss
docker build -t dblp-rss .运行 Docker 容器
1
docker run -d -p 8080:8080 --restart always --name dblp-rss dblp-rss
-p 8080:8080
:将服务器的 2083 端口映射到容器的 80 端口。--restart always
:设置容器在意外退出时自动重启。--name dblp-rss
:将容器命名为dblp-rss
。验证运行状态
1
docker ps
确认
dblp-rss
容器正在运行,并且PORTS
列显示0.0.0.0:2083->80/tcp
。
查看日志:docker logs dblp-rss
重启容器:docker start dblp-rss
停止容器:docker stop dblp-rss
删除容器,但不删除镜像和数据:docker rm dblp-rss
删除镜像:docker rmi dblp-rss
查看所有容器(包括停止的):docker ps -a
一键启动:
1
2 docker build -t dblp-rss .
docker run -d -p 8080:8080 --restart always --name dblp-rss dblp-rss一键删除:
1
2
3 docker stop dblp-rss
docker rm dblp-rss
docker rmi dblp-rss
cloudflare配置ssl
一般情况下网站的SSL/TLS 全局加密模式为:完全(严格),这里通过特殊规则的形式为dblp rss配置单独ssl。
- dns设置域名,比如dblp.xxx.xxx,并开启cdn小云朵代理。
规则-origin rules
里头新建一个dblp规则,进行如下配置,将页面访问的443端口重定向到8080:- 选择
自定义筛选表达式
- 字段:主机名
- 运算符:等于
- 值填写:dblp.xxx.xxx
- 目标端口重写到:8080
- 保存
- 选择
规则-页面规则
里新建一个规则,将该域名的ssl配置修改为灵活
:- URL:dblp.xxx.xxx
- 选取设置:SSL
- 选择 SSL/TLS 加密模式:灵活
- 保存页面规则
- 访问:https://dblp.xxx.xxx/dblp/