dblp默认的前100条只有xml和json格式,zotero识别不了,github上有个开源项目可以将DBLP的api返回结果转换成RSS格式,方便zotero识别。

项目地址:Pantoofle/dblp-rss: A quick and dirty RSS server to translate DBLP API results to a standard RSS flux

服务器配置过程

开启防火墙

如果是走cloudflarecdn的话只能是以下几个端口,这里使用2083:

Cloudflare 支持的 HTTP 端口:

  • 80
  • 8080
  • 8880
  • 2052
  • 2082
  • 2086
  • 2095

Cloudflare 支持的 HTTPS 端口:

  • 443
  • 2053
  • 2083
  • 2087
  • 2096
  • 8443

使用firewalld

1
2
3
4
5
6
7
8
9
10
11
12
sudo apt install firewalld
sudo firewall-cmd --zone=public --permanent \
--add-port=22/tcp --add-port=22/udp \
--add-port=80/tcp --add-port=80/udp \
--add-port=8080/tcp --add-port=8080/udp \
--add-port=443/tcp --add-port=443/udp \
--add-port=2053/tcp --add-port=2053/udp \
--add-port=2083/tcp --add-port=2083/udp \
--add-port=8087/tcp --add-port=8087/udp \
--add-port=2096/tcp --add-port=2096/udp \
--add-port=8443/tcp --add-port=8443/udp
sudo firewall-cmd --reload

查看防火墙状态: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 安装 | 菜鸟教程

  1. 安装docker

    1
    2
    curl -fsSL https://test.docker.com -o test-docker.sh
    sudo sh test-docker.sh
  2. 测试Helloworld:

    1
    docker run ubuntu:15.10 /bin/echo "Hello world"

安装dblp-rss

  1. 克隆项目代码

    1
    git clone https://github.com/Pantoofle/dblp-rss.git
  2. 进入项目目录,构建 Docker 镜像

    1
    2
    cd dblp-rss
    docker build -t dblp-rss .
  3. 运行 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

  4. 验证运行状态

    1
    docker ps

    确认 dblp-rss 容器正在运行,并且 PORTS 列显示 0.0.0.0:2083->80/tcp

  5. 访问:http://ip:8080/dblp/

查看日志: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。

  1. dns设置域名,比如dblp.xxx.xxx,并开启cdn小云朵代理。
  2. 规则-origin rules里头新建一个dblp规则,进行如下配置,将页面访问的443端口重定向到8080:

    • 选择自定义筛选表达式
    • 字段:主机名
    • 运算符:等于
    • 值填写:dblp.xxx.xxx
    • 目标端口重写到:8080
    • 保存
  3. 规则-页面规则里新建一个规则,将该域名的ssl配置修改为灵活

    • URL:dblp.xxx.xxx
    • 选取设置:SSL
    • 选择 SSL/TLS 加密模式:灵活
    • 保存页面规则
  4. 访问:https://dblp.xxx.xxx/dblp/