Docker本地部署Rss订阅工具并实现公网远程访问

news2024/12/27 23:46:01

文章目录

    • 1. Docker 安装
    • 2. Docker 部署Rsshub
    • 3. 本地访问Rsshub
    • 4. Linux安装Cpolar
    • 5. 配置公网地址
    • 6. 远程访问Rsshub
    • 7. 固定Cpolar公网地址
    • 8. 固定地址访问

Rsshub是一个开源、简单易用、易于扩展的RSS生成器,它可以为各种内容生成RSS订阅源。
Rsshub借助于开源社区的力量快速发展,目前已适配数百家网站的上千项内容。要使用RSS,首先需要生成RSS订阅源。这可以通过RssHub等工具来完成。一旦生成了RSS订阅源,就可以搭配RSS阅读器来浏览自己感兴趣的网页内容。

下面介绍本地使用docker快速简单部署Rsshub工具,并结合cpolar内网穿透工具,使得远程也可以访问RSS订阅源!

1. Docker 安装

Docker部署,首先设备需要提前安装好Docker,下面简单两步实现Linux centos安装docker,然后再进行下面步骤部署Rsshub!

分别执行下面命令,设置Docker的存储库,以便从官方源安装最新版本的docker

sudo yum install -y yum-utils 
sudo yum-config-manager \  
    --add-repo \  
    https://download.docker.com/linux/centos/docker-ce.repo

安装docker

sudo yum install docker-ce docker-ce-cli containerd.io

启动docker

sudo systemctl start docker

2. Docker 部署Rsshub

简单两步,即可成功运行Rsshub服务,首先拉取镜像:

docker pull diygod/rsshub

运行rsshub 容器, 其中,访问的端口为1200端口

docker run -d --name rsshub -p 1200:1200 diygod/rsshub

运行容器后,执行docker ps 命令,即可看到运行的rsshub,状态为UP 表示正常!

image-20240220131602303

3. 本地访问Rsshub

上面成功运行后,在浏览器,访问Linux 1200端口,即可看到Rsshub欢迎界面,表示成功部署完成了

image-20240220132003075

同时,通过访问其中某个订阅源/005tv/zx/latest,可以看到,也是正常访问成功,由于是本地部署,限制只能在本地访问,下面我们安装cpolar工具,实现远程也可以访问,不受本地限制

image-20240220134227633

4. Linux安装Cpolar

上面在本地Docker中成功部署了Rsshub服务,并局域网访问成功,下面我们在Linux安装Cpolar内网穿透工具,通过Cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 安装完成后,可以通过如下方式来操作cpolar服务,首先执行加入系统服务设置开机启动,然后再启动服务
# 加入系统服务设置开机启动
sudo systemctl enable cpolar

# 启动cpolar服务
sudo systemctl start cpolar

# 重启cpolar服务
sudo systemctl restart cpolar

# 查看cpolar服务状态
sudo systemctl status cpolar

# 停止cpolar服务
sudo systemctl stop cpolar

Cpolar安装和成功启动服务后,内部或外部浏览器上通过局域网IP加9200端口即:【http://192.168.xxx.xxx:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可

image-20240220142041422

5. 配置公网地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个rsshub的公网http地址隧道!

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:1200 (本地访问的地址)
  • 域名类型:免费选择随机域名
  • 地区:选择China VIP

点击创建

image-20240220142612782

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https

image-20240220142652998

6. 远程访问Rsshub

使用上面的Cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到我们本地部署的Rsshub界面,

image-20240220142757765

再次访问某个订阅源,可以看到,也是可以访问成功,不受本地网络限制,这样一个公网地址且可以远程访问就创建好了,使用了cpolar的公网域名,无需自己购买云服务器,即可发布到公网进行远程访问 !(绿色上网,从我们做起,不能用作访问违规内容和网站)

image-20240220142959208

小结

为了更好地演示,我们在前述过程中使用了cpolar生成的隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不太容易记忆(例如:3ad5da5.r10.cpolar.top)。另外,这个地址在24小时内会发生随机变化,更适合于临时使用。

我一般会使用固定二级子域名,原因是我希望将网址发送给同事或客户时,它是一个固定、易记的公网地址(例如:rsshub.cpolar.cn),这样更显正式,便于流交协作。

7. 固定Cpolar公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

image-20240220143330278

保留成功后复制保留成功的二级子域名的名称

image-20240220143410161

返回登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20240220143436026

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

image-20240220143510582

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址二级名称变成了我们自己设置的二级子域名名称

image-20240220143538272

8. 固定地址访问

最后,我们使用固定的公网http地址访问,可以看到同样访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以远程访问本地rss工具,无需公网IP,无需云服务器!

image-20240220143626882

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1462965.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android Studio创建项目时gradle下载慢

先停止当前Sync,找到gradle-wrapper.properties文件,将distributionUrl修改为腾讯镜像源: distributionUrlhttps\://mirrors.cloud.tencent.com/gradle/gradle-6.5-bin.zip

Java 学习和实践笔记(16):类的理解以及初始值

类,英文名叫class。基本上对应的就是语言里的名词。 比如,房子、人、树、花、汽车等等,这些名词,这些可以定义成类。 以房子为例,作为一个房子,它一定有相应的属性,比如房顶、墙、门、窗等等&…

ElasticSearch DSL查询、排序 、分页的原理及语法

1. DSL查询分类和基本语法 ElasticSearch提供了基于Json的DSL来定义查询,常见的查询类型包括: • 查询所有:查询出所有数据,一般测试用,一般不是查出所有,一次性查询20条。例如 match_all • 全文检索(ful…

『智能遥控新境界』:远程控制APP,高效生活的秘诀!

在这个科技日新月异的时代,我们的生活被各种手机软件所包围。几乎每个人都有一个甚至多个手机,你是否也有遇到过需要远程操作自己某一台手机的场景呢?今天,我要向大家推荐一款神奇的手机远程操作神器,让你可以随时随地…

基于 java springboot+layui仓库管理系统

基于 java springbootlayui仓库管理系统设计和实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文末获取源…

力扣102 二叉树的层序遍历 Java版本

文章目录 题目描述思路代码 题目描述 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:[[3],[…

VsCode编译wxWidgets的HelloWorld

wxWidgets 环境搭建 在wxWidgets 官网下载页面点击Download Windows Binaries选择TDM-GCC 10.3和MinGW-w64 8.1下的头文件和开发包进行下载。这儿我们会用两种 gcc 编译器进行对比,所以下载 2 个种编译器对应的库文件。正常只需根据自己安装的编译器下载对应的 1 种…

Stable Diffusion 模型分享:Indigo Furry mix(人类与野兽的混合)

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十

再添数十种回归模型!最全机器学习预测全家桶,MATLAB代码,这次千万别再错过了!

截止到本期,一共发了14篇关于机器学习预测全家桶MATLAB代码的文章。算上这一篇,一共15篇!参考文章如下: 1.五花八门的机器学习预测?一篇搞定不行吗?http://mp.weixin.qq.com/s?__bizMzkyNDUwMjc3Mg&m…

UIKit 在 UICollectionView 中拖放交换 Cell 视图的极简实现

概览 UIKit 中的 UICollectionView 视图是我们显示多列集合数据的不二选择,而丰富多彩的交互操作更是我们选择 UICollectionView 视图的另一个重要原因。 如上图所示:我们实现了在 UICollectionView 中拖放交换任意两个 Cell 子视图的功能,这…

JAVAEE初阶 网络编程(十二)

HTTP协议 一. 状态码1.200 OK2. 404 NOT FOUND3.403 forbidden4. 405 Method Not Allowed5. 500 Interval Server Error6.504 Gateway Timeout7.302 Move temporarily 二. 如何构造HTTP请求1.通过第三方工具构造. 二.HTTPS三. 密码学中的重要概念1.明文2.密文3.密钥4.对称加密5…

SpringBoot+MybatisPlus+Mysql实现批量插入万级数据多种方式与耗时对比

场景 若依前后端分离版本地搭建开发环境并运行项目的教程: 若依前后端分离版手把手教你本地搭建环境并运行项目_本地运行若依前后端分离-CSDN博客 若依前后端分离版如何集成的mybatis以及修改集成mybatisplus实现Mybatis增强: https://blog.csdn.net…

“TypeError: utils request jS WEBPACK IMPORTED MODULE O .default is undefined‘报错

写项目时报下列错误,找了半天,结果才发现自己在request.js中少写了一行代码 一定不要少些代码 export default requestrequest.js完整代码 import axios from axios;//创建一个新的axios对象 const request axios.create({baseURL:http://localhost:…

《springcloud alibaba》 一 Openfeign

准备 创建三个项目 父项目pom <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://mav…

[WebDav] WebDav基础知识

文章目录 什么是WebDavWebDav常用命令WebDav常用命令的测试&#xff08;代码&#xff09;PROPFIND 方法测试PUT 方法测试GET 方法测试PROPPATCH方法 WebDav缓存Cache-ControlEtag测试 强制重新验证不需要缓存 WebDav的锁WebDav的状态码WebDav身份验证WebDav版本控制WebDav和FTP…

mplfinance 使用make_addplot做复杂股票走势图

mplfinance 使用make_addplot做复杂股票走势图 1.代码 import talib as tb import pandas as pd import mplfinance as mpfimport matplotlib.pyplot as pltplt.rcParams[font.sans-serif][simHei] # 以黑体显示中文 plt.rcParams[axes.unicode_minus]False # 解决保存图像符…

通俗易懂分析:Vite和Webpack的区别

1、对项目构建的理解 先从浏览器出发&#xff0c; 浏览器是由浏览器内核和JS引擎组成&#xff1b;浏览器内核编译解析html代码和css代码&#xff0c;js引擎编译解析JavaScript代码&#xff1b;所以从本质上&#xff0c;浏览器只能识别运行JavaScript、CSS、HTML代码。 而我们在…

基于CNN-GRU-Attention的时间序列回归预测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 CNN&#xff08;卷积神经网络&#xff09;部分 4.2 GRU&#xff08;门控循环单元&#xff09;部分 4.3 Attention机制部分 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版…

STM32基于寄存器编程

在51中让一个引脚输出高低电平只需要一个步骤&#xff0c;而在32中至少需要三个步骤。 开启对应GPIO的时钟配置对应IO口设置IO口 本文将一步步进阶的讲解&#xff0c;三种寄存器编程的方法。 使用地址赋值进行配置使用ST的宏进行配置只控制需要的位&#xff08;位运算&#…

无/自监督去噪(2)——Noise2Noise (N2N) 理论分析(从损失函数入手)

目录 读前须知1. 前置知识——L1和L2 loss的特性2. additive Gaussian noise (spatial independent noise), L 2 L_2 L2​首杀3. brown Gaussian noise (spatial dependent noise), L 2 L_2 L2​双杀4. blind text removal, L 2 L_2 L2​导致结果偏灰, L 1 L_1 L1​前来破局…