Total Pageviews

Wednesday, 18 July 2018

RSSHub - 使用 RSS 连接全世界

RSSHub 是一个轻量、易于扩展的 RSS feed生成器,可以给任何的网站内容生成 RSS 订阅源。

当前支持列表:
  • bilibili
    • 番剧
    • UP 主投稿
    • UP 主动态
    • UP 主收藏夹
    • 分区视频
  • 微博
    • 博主
  • 网易云音乐
    • 歌单
  • 掘金
    • 分类
  • 自如
    • 房源
  • 快递

参与我们

如果有任何想法或需求,可以在 issue 中告诉我们,同时我们欢迎各种 pull requests
可以通过以下途径参与讨论:
项目地址:https://github.com/DIYgod/RSSHub
( RSS生成器RSSHub

RSSHub是国人开发的开源 RSS 生成器,基于 node.js,可以用来采集网站更新并生成 RSS 源。软件遵守 MIT 开源协议。

默认支持抓取的RSS 源:
    bilibili(B 站)
        番剧
        UP 主投稿
        UP 主动态
        UP 主收藏夹
        UP 主投币视频
        UP 主粉丝
        UP 主关注用户
        分区视频
        视频评论
        link 公告
        直播开播
        直播搜索
        直播分区
    微博
        博主
        关键词
    即刻
        主题
        用户动态
    网易云音乐
        歌单歌曲
        用户歌单
        歌手专辑
    掘金
    简书
        首页
        7 日热门
        30 日热门
        专题
        作者
    知乎
        收藏夹
        用户动态
        用户回答
        专栏
    自如(房源)
    快递
    贴吧
    pixiv
    豆瓣
        正在上映的电影
        正在上映的高分电影
        即将上映的电影
        北美票房榜
    煎蛋(无聊图)
    喷嚏(图卦)
    Dockone(周报)
    腾讯吐个槽(吐槽新帖)
    笔趣阁(小说章节)
    开发者头条
        今天头条
        独家号
    Disqus(评论)
    Twitter(用户)
    Instagram(用户)
    Youtube
        用户
        频道)

--------------


部署rsshub


手动部署

部署 RSSHub 最直接的方式,您可以按照以下步骤将 RSSHub 部署在您的 电脑、服务器或者其他任何地方。

# 在安装之前

在安装 RSSHub 之前,请确保您的电脑中已经安装了 GitNode.js >= 8.0.0

# 安装 Git

提示
首先您应该输入 git,看看系统有没有安装 Git:
windows 打开 cmd, macOS 打开终端(terminal)
$ git
usage: git [--version] [--help] [-C <path>] [-c name=value]
...

# 安装 Node.JS

# Windows

Windows 用户请 下载安装程序。安装时,请勾选Add to PATH选项。

# MacOS & Linux

安装 NodeJS 的最佳方式是使用 nvm
安装 nvm
$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh
安装完成后,重启终端并执行下列命令即可安装 Node.js
$ nvm install node

# 安装 RSSHub

首先是下载 RSSHub 的源码,请执行下列命令。
$ git clone https://github.com/DIYgod/RSSHub.git
$ cd RSSHub
下载完成后,需要安装依赖。
$ npm install
提示
推荐使用 YarnYarnnpm 更快更稳定。
使用 Yarn 安装依赖时只需要键入
$ yarn
由于众所周知的原因,在中国使用 npm 下载依赖十分缓慢,建议挂一个代理或者考虑使用 NPM 镜像

# 启动

RSSHub 文件夹中运行下面的命令就可以启动。
$ npm start
在浏览器中打开 http://127.0.0.1:1200/,enjoy it! ✅

# 更新

RSSHub 文件夹中运行下面的命令就从 github 仓库拉取最新版本。
$ git pull

# 添加配置

可以通过修改 config.js 或者设置环境变量来配置 RSSHub。
如何设置环境变量
Windows 系统在 cmd.exe 中运行 $ set PORT=1000
macOS & Linux 运行 $ PORT=1000
再运行 $ npm start 启动 RSSHub 即可将监听端口设置为 1000
此处设置的环境变量在关闭终端后就会被清除,如果您想保存这些配置可以编写一个简单的 批处理文件shell
更多配置项请看 应用配置

# 使用 Redis 数据库缓存

RSSHub 默认会有 5 分钟的缓存,默认这个缓存是存放在内存中的。RSSHub 还支持 Redis 数据库缓存。
提示
除非流量特别大或者您需要建立分布式集群,否则不需要 Redis 缓存。

# 安装 Redis

Windows
安装 Redis on Windows 直接下载安装程序
在安装目录中运行下面的命令启动 Redis。
$ redis-server  redis.windows.conf
MacOS
使用 Homebrew 安装 Redis。
$ brew install redis
再运行下面的命令启动 Redis。
$ brew services start redis
Linux
使用您的包管理器安装 Redis。
# apt
$ sudo apt install redis-server

# yum
$ sudo yum install redis
然后运行 $ redis-server 启动 Redis。

# 启用 Redis 数据库缓存

修改配置项 CACHE_TYPEredis,RSSHub 将使用默认地址 redis://localhost:6379/ 连接 Redis,如果需要修改地址请看 应用配置

# 部署到 Docker

Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。

# 安装 Docker

官方网站上有各种环境下的 安装指南

# 部署

运行下面的命令下载 RSSHub 镜像。
$ docker pull diygod/rsshub
然后运行 RSSHub 即可
$ docker run -d --name rsshub -p 1200:1200 diygod/rsshub
在浏览器中打开 http://127.0.0.1:1200/,enjoy it! ✅
您可以使用下面的命令来关闭 RSSHub。
$ docker stop rsshub

# 更新

您可以使用下面的命令来更新镜像。
# 先关闭 rsshub
$ docker stop rsshub

# 删除现有的容器
$ docker rm rsshub

# 下载最新版的 rsshub 镜像
$ docker pull diygod/rsshub

# 添加配置

配置运行在 docker 中的 RSSHub,最便利的方法是使用环境变量。
以设置缓存时间为 1 小时举例,只需要在运行时增加参数:-e CACHE_EXPIRE=3600
$ docker run -d --name rsshub -p 1200:1200 -e CACHE_EXPIRE=3600 -e GITHUB_ACCESS_TOKEN=example diygod/rsshub
更多配置项请看 应用配置

# 使用 docker-compose 部署

docker-compose 是用来运行多容器 Docker 应用的小工具,可以简化配置部署过程:
  1. 创建 volume 持久化 Redis 缓存
$ docker volume create redis-data
  1. 修改 docker-compose.yml 中的 environment 进行配置
  2. 部署
$ docker-compose up
  1. 更新
$ docker-compose build
$ docker-compose up

# 部署到 Heroku

Deploy

# 部署到 Google App Engine

# 部署之前

Before you begin
按照这里的引导完成 GCP 账号设置,创建 GCP 项目,创建 App Engine 项目,开通付费功能(必须),安装 git 与 gcloud 工具。并完成 gcloud 工具的初始化,初始化具体方式请查看这个链接。如果你不打算在本地调试本项目,可以不安装 Node.js 环境。
请注意,GAE 免费用量不支持 Flexible Environment ,部署至 Flexible Environment 前请确认收费标准。
Node.JS 的 standard environment 仍在测试中,您可能会在部署或使用中遇到某些不可预期的问题。

# 拉取

运行 git clone https://github.com/DIYgod/RSSHub.git 拉取本项目的最新版本。

# app.yaml 配置

# 部署至 Flexible Environment

在 RSSHub 项目根目录下建立一个 app.yaml 文件,内容示例如下:
# [START app_yaml]
runtime: custom
env: flex

# This sample incurs costs to run on the App Engine flexible environment.
# The settings below are to reduce costs during testing and are not appropriate
# for production use. For more information, see:
# https://cloud.google.com/appengine/docs/flexible/nodejs/configuring-your-app-with-app-yaml
manual_scaling:
  instances: 1
# 以下是 app engine 资源配置,可以自行修改,硬盘最低为 10G
resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10
network:
  forwarded_ports:
    - 80:1200
    - 443:1200
# 以下是环境配置示例,具体可配置项见本文档配置章节
env_variables:
  CACHE_EXPIRE: "300"
# [END app_yaml]

# 部署至 standard environment

在 RSSHub 项目根目录下建立一个 app.yaml 文件,内容示例如下:
# [START app_yaml]
runtime: nodejs8

network:
  forwarded_ports:
    - 80:1200
    - 443:1200
# 以下是环境配置示例,具体可配置项见本文档配置章节
env_variables:
  CACHE_EXPIRE: "300"
# [END app_yaml]

# 开始部署

在 RSSHub 项目根目录下运行
gcloud app deploy
进行项目部署,如果您需要变更 app.yaml 文件名称或者变更部署的项目 ID 或者指定版本号等,请参考这个链接的"Deploying a service" 部分。
部署完成后可访问您的 Google App Engine URL 查看部署情况。

# 配置

# 应用配置

可以通过修改 config.js 或者设置环境变量来配置 RSSHub。
提示
建议通过设置环境变量来配置 RSSHub。避免版本更新时的冲突。
PORT: 监听端口,默认为 1200
SOCKET: 监听 Unix Socket,默认为 null
CACHE_TYPE: 缓存类型,可为 memoryredis,设为空可以禁止缓存,默认为 memory
CACHE_EXPIRE: 缓存过期时间,单位为秒,默认 300
LISTEN_INADDR_ANY: 是否允许公网连接,默认 1
REDIS_URL: Redis 连接地址(memory 缓存类型时无效),默认为 redis://localhost:6379/
REDIS_PASSWORD: Redis 连接密码(memory 缓存类型时无效)

# 部分 RSS 模块配置

  • pixiv: 注册地址
    • PIXIV_USERNAME: Pixiv 用户名
    • PIXIV_PASSWORD: Pixiv 密码
  • disqus: 申请地址
    • DISQUS_API_KEY: Disqus API
  • twitter: 申请地址
    • TWITTER_CONSUMER_KEY: Twitter Consumer Key
    • TWITTER_CONSUMER_SECRET: Twitter Consumer Secret
    • TWITTER_ACCESS_TOKEN: Twitter Access Token
    • TWITTER_ACCESS_TOKEN_SECRET: Twitter Access Token Secret
  • youtube: 申请地址
    • YOUTUBE_KEY: YouTube API Key
  • telegram: Telegram 机器人
    • TELEGRAM_TOKEN: Telegram 机器人 token
  • github: 申请地址
    • GITHUB_ACCESS_TOKEN: GitHub Access Token

# 访问控制

可以通过修改 middleware/access-control.js 或者设置环境变量来配置黑名单和白名单。
支持 IP 和路由,设置多项时用英文逗号 , 隔开。同时设置黑名单和白名单时仅白名单有效。
  • BLACKLIST: 黑名单
  • WHITELIST: 白名单,设置白名单后黑名单无效

    from https://docs.rsshub.app/install/#%E6%89%8B%E5%8A%A8%E9%83%A8%E7%BD%B2

No comments:

Post a Comment