mirror of
https://github.com/DIYgod/RSSHub.git
synced 2026-03-13 10:30:18 +08:00
Revamp the doc. Add LICENSE file. (#580)
1. 参数现在和英文版一样使用 list 2. 全角`,`, `:`改半角`,`, `:` 3. 补全部分遗漏 4. 修改部分格式
This commit is contained in:
21
LICENSE
Normal file
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2018 DIYgod
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -20,7 +20,7 @@ We welcome all pull requests. Suggestions and feedback are also welcomed [here](
|
||||
|
||||
### Access the target data source API
|
||||
|
||||
Use [axios](https://github.com/axios/axios) to access the target data source API, assign the acquired title, link, description and datetime to ctx.state.data(refer to Data for the list of parameters), typically it looks like this: [/routes/bilibili/bangumi.js](https://github.com/DIYgod/RSSHub/blob/master/routes/bilibili/bangumi.js)
|
||||
Use [axios](https://github.com/axios/axios) to access the target data source API, assign the acquired title, link, description and datetime to ctx.state.data (refer to Data for the list of parameters) , typically it looks like this: [/routes/bilibili/bangumi.js](https://github.com/DIYgod/RSSHub/blob/master/routes/bilibili/bangumi.js)
|
||||
|
||||
### Acquire data from HTML
|
||||
|
||||
@@ -72,17 +72,17 @@ Reference article:
|
||||
|
||||
- [Create a podcast - Apple](https://help.apple.com/itc/podcasts_connect/?lang=en#/itca5b22233a)
|
||||
- [Podcast best practices - Apple](https://help.apple.com/itc/podcasts_connect/?lang=en#/itc2b3780e76)
|
||||
- Itunes podcast XML generator :https://codepen.io/jon-walstedt/pen/jsIup
|
||||
- Feed Validation Service :https://podba.se/validate/?url=https://rsshub.app/ximalaya/album/299146/
|
||||
- Itunes podcast XML generator : https://codepen.io/jon-walstedt/pen/jsIup
|
||||
- Feed Validation Service : https://podba.se/validate/?url=https://rsshub.app/ximalaya/album/299146/
|
||||
|
||||
these datas can make your podcast subscribeable:
|
||||
these datas can make your podcast subscribeable:
|
||||
|
||||
```js
|
||||
ctx.state.data = {
|
||||
title: '', // The feed title
|
||||
link: '', // The feed link
|
||||
itunes_author: '', // The channel's author, you must fill this data.
|
||||
itunes_category: '',// Channel category
|
||||
itunes_category: '',// Channel category
|
||||
image: '', // Channel's image
|
||||
description: '', // The feed description
|
||||
item: [
|
||||
|
||||
@@ -4,23 +4,23 @@ sidebar: auto
|
||||
|
||||
# 部署
|
||||
|
||||
部署 RSSHub 非常简单,如果您在部署过程中遇到无法解决的问题请到 [issues](https://github.com/DIYgod/RSSHub/issues) 寻找类似的问题或 [向我们提问](https://github.com/DIYgod/RSSHub/issues/new),我们会尽快给您答复。
|
||||
部署 RSSHub 非常简单, 如果您在部署过程中遇到无法解决的问题请到 [issues](https://github.com/DIYgod/RSSHub/issues) 寻找类似的问题或 [向我们提问](https://github.com/DIYgod/RSSHub/issues/new), 我们会尽快给您答复.
|
||||
|
||||
## 手动部署
|
||||
|
||||
部署 `RSSHub` 最直接的方式,您可以按照以下步骤将 `RSSHub` 部署在您的 电脑、服务器或者其他任何地方。
|
||||
部署 `RSSHub` 最直接的方式, 您可以按照以下步骤将 `RSSHub` 部署在您的 电脑、服务器或者其他任何地方.
|
||||
|
||||
### 在安装之前
|
||||
|
||||
在安装 RSSHub 之前,请确保您的电脑中已经安装了 [Git](https://git-scm.com/) 和 [Node.js >= 8.0.0](https://nodejs.org/)。
|
||||
在安装 RSSHub 之前, 请确保您的电脑中已经安装了 [Git](https://git-scm.com/) 和 [Node.js >= 8.0.0](https://nodejs.org/).
|
||||
|
||||
### 安装 Git
|
||||
|
||||
::: tip 提示
|
||||
|
||||
首先您应该输入 `git`,看看系统有没有安装 Git:
|
||||
首先您应该输入 `git`, 看看系统有没有安装 Git:
|
||||
|
||||
windows 打开 `cmd`, macOS 打开`终端(terminal)`。
|
||||
windows 打开 `cmd`, macOS 打开`终端(terminal)`.
|
||||
|
||||
```bash
|
||||
$ git
|
||||
@@ -30,19 +30,19 @@ usage: git [--version] [--help] [-C <path>] [-c name=value]
|
||||
|
||||
:::
|
||||
|
||||
- Windows:从 Git 官网直接[下载安装程序](https://git-scm.com/downloads)。
|
||||
- MacOS:使用 [Homebrew](https://brew.sh/) `$ brew install git` 或者[下载安装程序](https://git-scm.com/download/mac)。
|
||||
- Linux:使用您的包管理器安装例如 `$ sudo apt-get install git`。
|
||||
- Windows: 从 Git 官网直接[下载安装程序](https://git-scm.com/downloads).
|
||||
- MacOS: 使用 [Homebrew](https://brew.sh/) `$ brew install git` 或者[下载安装程序](https://git-scm.com/download/mac).
|
||||
- Linux: 使用您的包管理器安装例如 `$ sudo apt-get install git`.
|
||||
|
||||
### 安装 Node.JS
|
||||
|
||||
#### Windows
|
||||
|
||||
Windows 用户请 [下载安装程序](https://nodejs.org/zh-cn/)。安装时,请勾选`Add to PATH`选项。
|
||||
Windows 用户请 [下载安装程序](https://nodejs.org/zh-cn/). 安装时, 请勾选`Add to PATH`选项.
|
||||
|
||||
#### MacOS & Linux
|
||||
|
||||
安装 NodeJS 的最佳方式是使用 [nvm](https://github.com/creationix/nvm)。
|
||||
安装 NodeJS 的最佳方式是使用 [nvm](https://github.com/creationix/nvm).
|
||||
|
||||
安装 `nvm`
|
||||
|
||||
@@ -50,7 +50,7 @@ Windows 用户请 [下载安装程序](https://nodejs.org/zh-cn/)。安装时,
|
||||
$ curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | sh
|
||||
```
|
||||
|
||||
安装完成后,重启终端并执行下列命令即可安装 `Node.js`。
|
||||
安装完成后, 重启终端并执行下列命令即可安装 `Node.js`.
|
||||
|
||||
```bash
|
||||
$ nvm install node
|
||||
@@ -58,14 +58,14 @@ $ nvm install node
|
||||
|
||||
### 安装 RSSHub
|
||||
|
||||
首先是下载 `RSSHub` 的源码,请执行下列命令。
|
||||
首先是下载 `RSSHub` 的源码, 请执行下列命令.
|
||||
|
||||
```bash
|
||||
$ git clone https://github.com/DIYgod/RSSHub.git
|
||||
$ cd RSSHub
|
||||
```
|
||||
|
||||
下载完成后,需要安装依赖。
|
||||
下载完成后, 需要安装依赖.
|
||||
|
||||
```bash
|
||||
$ npm install
|
||||
@@ -73,7 +73,7 @@ $ npm install
|
||||
|
||||
::: tip 提示
|
||||
|
||||
推荐使用 [Yarn](https://yarn.bootcss.com/) ,`Yarn` 比 `npm` 更快更稳定。
|
||||
推荐使用 [Yarn](https://yarn.bootcss.com/) , `Yarn` 比 `npm` 更快更稳定.
|
||||
|
||||
使用 `Yarn` 安装依赖时只需要键入
|
||||
|
||||
@@ -81,23 +81,23 @@ $ npm install
|
||||
$ yarn
|
||||
```
|
||||
|
||||
由于众所周知的原因,在中国使用 `npm` 下载依赖十分缓慢,建议挂一个代理或者考虑使用 [NPM 镜像](https://npm.taobao.org/)。
|
||||
由于众所周知的原因, 在中国使用 `npm` 下载依赖十分缓慢, 建议挂一个代理或者考虑使用 [NPM 镜像](https://npm.taobao.org/).
|
||||
|
||||
:::
|
||||
|
||||
### 启动
|
||||
|
||||
在 `RSSHub` 文件夹中运行下面的命令就可以启动。
|
||||
在 `RSSHub` 文件夹中运行下面的命令就可以启动.
|
||||
|
||||
```bash
|
||||
$ npm start
|
||||
```
|
||||
|
||||
在浏览器中打开 [http://127.0.0.1:1200/](http://127.0.0.1:1200/),enjoy it! ✅
|
||||
在浏览器中打开 [http://127.0.0.1:1200/](http://127.0.0.1:1200/), enjoy it! ✅
|
||||
|
||||
### 更新
|
||||
|
||||
在 `RSSHub` 文件夹中运行下面的命令就从 github 仓库拉取最新版本。
|
||||
在 `RSSHub` 文件夹中运行下面的命令就从 github 仓库拉取最新版本.
|
||||
|
||||
```bash
|
||||
$ git pull
|
||||
@@ -105,7 +105,7 @@ $ git pull
|
||||
|
||||
### 添加配置
|
||||
|
||||
可以通过修改 `config.js` 或者设置环境变量来配置 RSSHub。
|
||||
可以通过修改 `config.js` 或者设置环境变量来配置 RSSHub.
|
||||
|
||||
**如何设置环境变量**
|
||||
|
||||
@@ -113,19 +113,19 @@ Windows 系统在 cmd.exe 中运行 `$ set PORT=1000`
|
||||
|
||||
macOS & Linux 运行 `$ PORT=1000`
|
||||
|
||||
再运行 `$ npm start` 启动 RSSHub 即可将监听端口设置为 `1000`。
|
||||
再运行 `$ npm start` 启动 RSSHub 即可将监听端口设置为 `1000`.
|
||||
|
||||
此处设置的环境变量在关闭终端后就会被清除,如果您想保存这些配置可以编写一个简单的 [批处理文件](https://en.wikipedia.org/wiki/Batch_file) 或 [shell](https://en.wikipedia.org/wiki/Shell_script)。
|
||||
此处设置的环境变量在关闭终端后就会被清除, 如果您想保存这些配置可以编写一个简单的 [批处理文件](https://en.wikipedia.org/wiki/Batch_file) 或 [shell](https://en.wikipedia.org/wiki/Shell_script).
|
||||
|
||||
更多配置项请看 [应用配置](#应用配置)
|
||||
|
||||
### 使用 Redis 数据库缓存
|
||||
|
||||
RSSHub 默认会有 5 分钟的缓存,默认这个缓存是存放在内存中的。RSSHub 还支持 Redis 数据库缓存。
|
||||
RSSHub 默认会有 5 分钟的缓存, 默认这个缓存是存放在内存中的. RSSHub 还支持 Redis 数据库缓存.
|
||||
|
||||
::: tip 提示
|
||||
|
||||
除非流量特别大或者您需要建立分布式集群,否则不需要 Redis 缓存。
|
||||
除非流量特别大或者您需要建立分布式集群, 否则不需要 Redis 缓存.
|
||||
|
||||
:::
|
||||
|
||||
@@ -133,9 +133,9 @@ RSSHub 默认会有 5 分钟的缓存,默认这个缓存是存放在内存中
|
||||
|
||||
**Windows**
|
||||
|
||||
安装 Redis on Windows 直接[下载安装程序](https://github.com/MicrosoftArchive/redis/releases)。
|
||||
安装 Redis on Windows 直接[下载安装程序](https://github.com/MicrosoftArchive/redis/releases).
|
||||
|
||||
在安装目录中运行下面的命令启动 Redis。
|
||||
在安装目录中运行下面的命令启动 Redis.
|
||||
|
||||
```bash
|
||||
$ redis-server redis.windows.conf
|
||||
@@ -143,13 +143,13 @@ $ redis-server redis.windows.conf
|
||||
|
||||
**MacOS**
|
||||
|
||||
使用 [Homebrew](https://brew.sh/) 安装 Redis。
|
||||
使用 [Homebrew](https://brew.sh/) 安装 Redis.
|
||||
|
||||
```bash
|
||||
$ brew install redis
|
||||
```
|
||||
|
||||
再运行下面的命令启动 Redis。
|
||||
再运行下面的命令启动 Redis.
|
||||
|
||||
```bash
|
||||
$ brew services start redis
|
||||
@@ -157,7 +157,7 @@ $ brew services start redis
|
||||
|
||||
**Linux**
|
||||
|
||||
使用您的包管理器安装 Redis。
|
||||
使用您的包管理器安装 Redis.
|
||||
|
||||
```bash
|
||||
# apt
|
||||
@@ -167,15 +167,15 @@ $ sudo apt install redis-server
|
||||
$ sudo yum install redis
|
||||
```
|
||||
|
||||
然后运行 `$ redis-server` 启动 Redis。
|
||||
然后运行 `$ redis-server` 启动 Redis.
|
||||
|
||||
#### 启用 Redis 数据库缓存
|
||||
|
||||
修改配置项 `CACHE_TYPE` 为 `redis`,RSSHub 将使用默认地址 `redis://localhost:6379/` 连接 Redis,如果需要修改地址请看 [应用配置](#应用配置)。
|
||||
修改配置项 `CACHE_TYPE` 为 `redis`, RSSHub 将使用默认地址 `redis://localhost:6379/` 连接 Redis, 如果需要修改地址请看 [应用配置](#应用配置).
|
||||
|
||||
## 部署到 Docker
|
||||
|
||||
Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。
|
||||
Docker 属于 Linux 容器的一种封装, 提供简单易用的容器使用接口. 它是目前最流行的 Linux 容器解决方案.
|
||||
|
||||
### 安装 Docker
|
||||
|
||||
@@ -183,7 +183,7 @@ Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接
|
||||
|
||||
### 部署
|
||||
|
||||
运行下面的命令下载 RSSHub 镜像。
|
||||
运行下面的命令下载 RSSHub 镜像.
|
||||
|
||||
```bash
|
||||
$ docker pull diygod/rsshub
|
||||
@@ -195,9 +195,9 @@ $ docker pull diygod/rsshub
|
||||
$ docker run -d --name rsshub -p 1200:1200 diygod/rsshub
|
||||
```
|
||||
|
||||
在浏览器中打开 [http://127.0.0.1:1200/](http://127.0.0.1:1200/),enjoy it! ✅
|
||||
在浏览器中打开 [http://127.0.0.1:1200/](http://127.0.0.1:1200/), enjoy it! ✅
|
||||
|
||||
您可以使用下面的命令来关闭 RSSHub。
|
||||
您可以使用下面的命令来关闭 RSSHub.
|
||||
|
||||
```bash
|
||||
$ docker stop rsshub
|
||||
@@ -205,7 +205,7 @@ $ docker stop rsshub
|
||||
|
||||
### 更新
|
||||
|
||||
您可以使用下面的命令来更新镜像。
|
||||
您可以使用下面的命令来更新镜像.
|
||||
|
||||
```bash
|
||||
# 先关闭 rsshub
|
||||
@@ -220,9 +220,9 @@ $ docker pull diygod/rsshub
|
||||
|
||||
### 添加配置
|
||||
|
||||
配置运行在 docker 中的 RSSHub,最便利的方法是使用环境变量。
|
||||
配置运行在 docker 中的 RSSHub, 最便利的方法是使用环境变量.
|
||||
|
||||
以设置缓存时间为 1 小时举例,只需要在运行时增加参数:`-e CACHE_EXPIRE=3600`
|
||||
以设置缓存时间为 1 小时举例, 只需要在运行时增加参数: `-e CACHE_EXPIRE=3600`
|
||||
|
||||
```bash
|
||||
$ docker run -d --name rsshub -p 1200:1200 -e CACHE_EXPIRE=3600 -e GITHUB_ACCESS_TOKEN=example diygod/rsshub
|
||||
@@ -232,7 +232,7 @@ $ docker run -d --name rsshub -p 1200:1200 -e CACHE_EXPIRE=3600 -e GITHUB_ACCESS
|
||||
|
||||
### 使用 docker-compose 部署
|
||||
|
||||
[docker-compose](https://docs.docker.com/compose/overview/) 是用来运行多容器 Docker 应用的小工具,可以简化配置部署过程:
|
||||
[docker-compose](https://docs.docker.com/compose/overview/) 是用来运行多容器 Docker 应用的小工具, 可以简化配置部署过程:
|
||||
|
||||
1. 创建 volume 持久化 Redis 缓存
|
||||
|
||||
@@ -265,21 +265,21 @@ $ docker-compose up
|
||||
|
||||
[Before you begin](https://cloud.google.com/appengine/docs/flexible/nodejs/quickstart)
|
||||
|
||||
按照这里的引导完成 GCP 账号设置,创建 GCP 项目,创建 App Engine 项目,开通付费功能(必须),安装 git 与 gcloud 工具。并完成 gcloud 工具的初始化,初始化具体方式[请查看这个链接](https://cloud.google.com/sdk/gcloud/?hl=zh-CN)。如果你不打算在本地调试本项目,可以不安装 Node.js 环境。
|
||||
按照这里的引导完成 GCP 账号设置, 创建 GCP 项目, 创建 App Engine 项目, 开通付费功能(必须), 安装 git 与 gcloud 工具. 并完成 gcloud 工具的初始化, 初始化具体方式[请查看这个链接](https://cloud.google.com/sdk/gcloud/?hl=zh-CN). 如果你不打算在本地调试本项目, 可以不安装 Node.js 环境.
|
||||
|
||||
请注意,GAE 免费用量不支持 Flexible Environment ,部署至 Flexible Environment 前请确认收费标准。
|
||||
请注意, GAE 免费用量不支持 Flexible Environment , 部署至 Flexible Environment 前请确认收费标准.
|
||||
|
||||
Node.JS 的 standard environment 仍在测试中,您可能会在部署或使用中遇到某些不可预期的问题。
|
||||
Node.JS 的 standard environment 仍在测试中, 您可能会在部署或使用中遇到某些不可预期的问题.
|
||||
|
||||
### 拉取
|
||||
|
||||
运行 `git clone https://github.com/DIYgod/RSSHub.git` 拉取本项目的最新版本。
|
||||
运行 `git clone https://github.com/DIYgod/RSSHub.git` 拉取本项目的最新版本.
|
||||
|
||||
### app.yaml 配置
|
||||
|
||||
#### 部署至 Flexible Environment
|
||||
|
||||
在 RSSHub 项目根目录下建立一个 app.yaml 文件,内容示例如下:
|
||||
在 RSSHub 项目根目录下建立一个 app.yaml 文件, 内容示例如下:
|
||||
|
||||
```yaml
|
||||
# [START app_yaml]
|
||||
@@ -292,7 +292,7 @@ env: flex
|
||||
# https://cloud.google.com/appengine/docs/flexible/nodejs/configuring-your-app-with-app-yaml
|
||||
manual_scaling:
|
||||
instances: 1
|
||||
# 以下是 app engine 资源配置,可以自行修改,硬盘最低为 10G
|
||||
# 以下是 app engine 资源配置, 可以自行修改, 硬盘最低为 10G
|
||||
resources:
|
||||
cpu: 1
|
||||
memory_gb: 0.5
|
||||
@@ -301,7 +301,7 @@ network:
|
||||
forwarded_ports:
|
||||
- 80:1200
|
||||
- 443:1200
|
||||
# 以下是环境配置示例,具体可配置项见本文档配置章节
|
||||
# 以下是环境配置示例, 具体可配置项见本文档配置章节
|
||||
env_variables:
|
||||
CACHE_EXPIRE: '300'
|
||||
# [END app_yaml]
|
||||
@@ -309,7 +309,7 @@ env_variables:
|
||||
|
||||
#### 部署至 standard environment
|
||||
|
||||
在 RSSHub 项目根目录下建立一个 app.yaml 文件,内容示例如下:
|
||||
在 RSSHub 项目根目录下建立一个 app.yaml 文件, 内容示例如下:
|
||||
|
||||
```yaml
|
||||
# [START app_yaml]
|
||||
@@ -319,7 +319,7 @@ network:
|
||||
forwarded_ports:
|
||||
- 80:1200
|
||||
- 443:1200
|
||||
# 以下是环境配置示例,具体可配置项见本文档配置章节
|
||||
# 以下是环境配置示例, 具体可配置项见本文档配置章节
|
||||
env_variables:
|
||||
CACHE_EXPIRE: '300'
|
||||
# [END app_yaml]
|
||||
@@ -333,33 +333,33 @@ env_variables:
|
||||
gcloud app deploy
|
||||
```
|
||||
|
||||
进行项目部署,如果您需要变更 app.yaml 文件名称或者变更部署的项目 ID 或者指定版本号等,请参考[这个链接](https://cloud.google.com/appengine/docs/flexible/nodejs/testing-and-deploying-your-app)的"Deploying a service" 部分。
|
||||
进行项目部署, 如果您需要变更 app.yaml 文件名称或者变更部署的项目 ID 或者指定版本号等, 请参考[这个链接](https://cloud.google.com/appengine/docs/flexible/nodejs/testing-and-deploying-your-app)的"Deploying a service" 部分.
|
||||
|
||||
部署完成后可访问您的 Google App Engine URL 查看部署情况。
|
||||
部署完成后可访问您的 Google App Engine URL 查看部署情况.
|
||||
|
||||
## 配置
|
||||
|
||||
### 应用配置
|
||||
|
||||
可以通过修改 `config.js` 或者设置环境变量来配置 RSSHub。
|
||||
可以通过修改 `config.js` 或者设置环境变量来配置 RSSHub.
|
||||
|
||||
::: tip 提示
|
||||
|
||||
建议通过设置环境变量来配置 RSSHub。避免版本更新时的冲突。
|
||||
建议通过设置环境变量来配置 RSSHub. 避免版本更新时的冲突.
|
||||
|
||||
:::
|
||||
|
||||
`PORT`: 监听端口,默认为 `1200`
|
||||
`PORT`: 监听端口, 默认为 `1200`
|
||||
|
||||
`SOCKET`: 监听 Unix Socket,默认为 `null`
|
||||
`SOCKET`: 监听 Unix Socket, 默认为 `null`
|
||||
|
||||
`CACHE_TYPE`: 缓存类型,可为 `memory` 和 `redis`,设为空可以禁止缓存,默认为 `memory`
|
||||
`CACHE_TYPE`: 缓存类型, 可为 `memory` 和 `redis`, 设为空可以禁止缓存, 默认为 `memory`
|
||||
|
||||
`CACHE_EXPIRE`: 缓存过期时间,单位为秒,默认 300
|
||||
`CACHE_EXPIRE`: 缓存过期时间, 单位为秒, 默认 300
|
||||
|
||||
`LISTEN_INADDR_ANY`: 是否允许公网连接,默认 1
|
||||
`LISTEN_INADDR_ANY`: 是否允许公网连接, 默认 1
|
||||
|
||||
`REDIS_URL`: Redis 连接地址(memory 缓存类型时无效),默认为 `redis://localhost:6379/`
|
||||
`REDIS_URL`: Redis 连接地址(memory 缓存类型时无效), 默认为 `redis://localhost:6379/`
|
||||
|
||||
`REDIS_PASSWORD`: Redis 连接密码(memory 缓存类型时无效)
|
||||
|
||||
@@ -399,10 +399,10 @@ gcloud app deploy
|
||||
|
||||
### 访问控制
|
||||
|
||||
可以通过修改 `middleware/access-control.js` 或者设置环境变量来配置黑名单和白名单。
|
||||
可以通过修改 `middleware/access-control.js` 或者设置环境变量来配置黑名单和白名单.
|
||||
|
||||
支持 IP 和路由,设置多项时用英文逗号 `,` 隔开。同时设置黑名单和白名单时仅白名单有效。
|
||||
支持 IP 和路由, 设置多项时用英文逗号 `,` 隔开. 同时设置黑名单和白名单时仅白名单有效.
|
||||
|
||||
- `BLACKLIST`: 黑名单
|
||||
|
||||
- `WHITELIST`: 白名单,设置白名单后黑名单无效
|
||||
- `WHITELIST`: 白名单, 设置白名单后黑名单无效
|
||||
|
||||
@@ -4,7 +4,7 @@ sidebar: auto
|
||||
|
||||
# 参与我们
|
||||
|
||||
如果有任何想法或需求,可以在 [issue](https://github.com/DIYgod/RSSHub/issues) 中告诉我们,同时我们欢迎各种 pull requests
|
||||
如果有任何想法或需求, 可以在 [issue](https://github.com/DIYgod/RSSHub/issues) 中告诉我们, 同时我们欢迎各种 pull requests
|
||||
|
||||
## 提交新的 RSS 内容
|
||||
|
||||
@@ -12,28 +12,28 @@ sidebar: auto
|
||||
|
||||
1. 在 [/routes/](https://github.com/DIYgod/RSSHub/tree/master/routes) 中的路由对应路径添加获取 RSS 内容的脚本
|
||||
|
||||
1. 更新 [README (/README.md) ](https://github.com/DIYgod/RSSHub/blob/master/README.md) 和 [文档 (/docs/README.md) ](https://github.com/DIYgod/RSSHub/blob/master/docs/README.md),可以执行 `npm run docs:dev` 查看文档效果
|
||||
1. 更新 [README (/README.md) ](https://github.com/DIYgod/RSSHub/blob/master/README.md) 和 [文档 (/docs/README.md) ](https://github.com/DIYgod/RSSHub/blob/master/docs/README.md), 可以执行 `npm run docs:dev` 查看文档效果
|
||||
|
||||
1. 执行 `npm run format` 自动处理代码格式后,提交代码,然后提交 pull request
|
||||
1. 执行 `npm run format` 自动处理代码格式后, 提交代码, 然后提交 pull request
|
||||
|
||||
## 编写脚本
|
||||
|
||||
### 从接口获取数据
|
||||
|
||||
使用 [axios](https://github.com/axios/axios) 请求接口,然后把获取的标题、链接、描述、发布时间等数据赋值给 ctx.state.data(每个字段的含义在下面说明),可以直接看这个典型的例子:[/routes/bilibili/bangumi.js](https://github.com/DIYgod/RSSHub/blob/master/routes/bilibili/bangumi.js)
|
||||
使用 [axios](https://github.com/axios/axios) 请求接口, 然后把获取的标题、链接、描述、发布时间等数据赋值给 ctx.state.data (每个字段的含义在下面说明) , 可以直接看这个典型的例子: [/routes/bilibili/bangumi.js](https://github.com/DIYgod/RSSHub/blob/master/routes/bilibili/bangumi.js)
|
||||
|
||||
### 从 HTML 获取数据
|
||||
|
||||
有时候数据是写在 HTML 里的,没有接口供我们调用,这时候可以使用 [axios](https://github.com/axios/axios) 请求 HTML 数据,然后使用 [cheerio](https://github.com/cheeriojs/cheerio) 解析 HTML,再把数据赋值给 ctx.state.data,可以直接看这个典型的例子:[/routes/jianshu/home.js](https://github.com/DIYgod/RSSHub/blob/master/routes/jianshu/home.js)
|
||||
有时候数据是写在 HTML 里的, 没有接口供我们调用, 这时候可以使用 [axios](https://github.com/axios/axios) 请求 HTML 数据, 然后使用 [cheerio](https://github.com/cheeriojs/cheerio) 解析 HTML, 再把数据赋值给 ctx.state.data, 可以直接看这个典型的例子: [/routes/jianshu/home.js](https://github.com/DIYgod/RSSHub/blob/master/routes/jianshu/home.js)
|
||||
|
||||
### 使用缓存
|
||||
|
||||
所有路由都有一个缓存,缓存时间在 `config.js` 里设定,但某些接口返回的内容可能长时间都不会变化,这时应该给这些数据设置一个更长的缓存。
|
||||
所有路由都有一个缓存, 缓存时间在 `config.js` 里设定, 但某些接口返回的内容可能长时间都不会变化, 这时应该给这些数据设置一个更长的缓存.
|
||||
|
||||
添加缓存:
|
||||
|
||||
```js
|
||||
ctx.cache.set((key: string), (value: string), (time: number)); // time 为缓存时间,单位为秒
|
||||
ctx.cache.set((key: string), (value: string), (time: number)); // time 为缓存时间, 单位为秒
|
||||
```
|
||||
|
||||
获取缓存:
|
||||
@@ -42,11 +42,11 @@ ctx.cache.set((key: string), (value: string), (time: number)); // time 为缓存
|
||||
const value = await ctx.cache.get((key: string));
|
||||
```
|
||||
|
||||
可以直接看这个典型的例子:[/routes/zhihu/daily.js](https://github.com/DIYgod/RSSHub/blob/master/routes/zhihu/daily.js),这个例子中需要获取每篇文章的详细内容,每篇文章都需要单独请求一次,请求很多而且每个请求只需要一次,这时候可以把结果缓存一天。
|
||||
可以直接看这个典型的例子: [/routes/zhihu/daily.js](https://github.com/DIYgod/RSSHub/blob/master/routes/zhihu/daily.js), 这个例子中需要获取每篇文章的详细内容, 每篇文章都需要单独请求一次, 请求很多而且每个请求只需要一次, 这时候可以把结果缓存一天.
|
||||
|
||||
### 数据
|
||||
|
||||
获取到的数据赋给 ctx.state.data,然后数据会经过 [template.js](https://github.com/DIYgod/RSSHub/blob/master/middleware/template.js) 中间件处理,最后传到 [/views/rss.art](https://github.com/DIYgod/RSSHub/blob/master/views/rss.art) 来生成最后的 RSS 结果,每个字段的含义如下:
|
||||
获取到的数据赋给 ctx.state.data, 然后数据会经过 [template.js](https://github.com/DIYgod/RSSHub/blob/master/middleware/template.js) 中间件处理, 最后传到 [/views/rss.art](https://github.com/DIYgod/RSSHub/blob/master/views/rss.art) 来生成最后的 RSS 结果, 每个字段的含义如下:
|
||||
|
||||
```js
|
||||
ctx.state.data = {
|
||||
@@ -59,31 +59,31 @@ ctx.state.data = {
|
||||
title: '', // 文章标题
|
||||
description: '', // 文章内容或描述
|
||||
pubDate: '', // 文章发布时间
|
||||
guid: '', // 文章唯一标示,必须唯一,可选,默认为文章链接
|
||||
guid: '', // 文章唯一标示, 必须唯一, 可选, 默认为文章链接
|
||||
link: '', // 指向文章的链接
|
||||
},
|
||||
],
|
||||
};
|
||||
```
|
||||
|
||||
<details><summary>如果你想制作播客订阅型RSS,点这儿</summary><br>
|
||||
<details><summary>如果你想制作播客订阅型RSS, 点这儿</summary><br>
|
||||
|
||||
参考文章:
|
||||
|
||||
- [Podcasts Connect 帮助 创建播客 - Apple](https://help.apple.com/itc/podcasts_connect/#/itca5b22233a)
|
||||
- [Podcasts Connect 帮助 播客最佳做法 - Apple](https://help.apple.com/itc/podcasts_connect/#/itc2b3780e76)
|
||||
- RSS 格式参考:https://codepen.io/jon-walstedt/pen/jsIup
|
||||
- 播客验证:https://podba.se/validate/?url=https://rsshub.app/ximalaya/album/299146/
|
||||
- RSS 格式参考: https://codepen.io/jon-walstedt/pen/jsIup
|
||||
- 播客验证: https://podba.se/validate/?url=https://rsshub.app/ximalaya/album/299146/
|
||||
|
||||
这些字段能使你的 RSS 被泛用型播客软件订阅:
|
||||
这些字段能使你的 RSS 被泛用型播客软件订阅:
|
||||
|
||||
```js
|
||||
ctx.state.data = {
|
||||
title: '', // 项目的标题
|
||||
link: '', // 指向项目的链接
|
||||
itunes_author: '', // 主播名字,必须填充本字段才会被视为播客
|
||||
itunes_category: '',// 播客分类
|
||||
image: '', // 专辑图片,作为播客源时必填
|
||||
itunes_author: '', // 主播名字, 必须填充本字段才会被视为播客
|
||||
itunes_category: '', // 播客分类
|
||||
image: '', // 专辑图片, 作为播客源时必填
|
||||
description: '', // 描述项目
|
||||
item: [
|
||||
// 其中一篇文章或一项内容
|
||||
@@ -91,11 +91,11 @@ ctx.state.data = {
|
||||
title: '', // 文章标题
|
||||
description: '', // 文章内容或描述
|
||||
pubDate: '', // 文章发布时间
|
||||
guid: '', // 文章唯一标示,必须唯一,可选,默认为文章链接
|
||||
guid: '', // 文章唯一标示, 必须唯一, 可选, 默认为文章链接
|
||||
link: '', // 指向文章的链接
|
||||
itunes_item_image: '', // 图像
|
||||
enclosure_url: '', // 音频链接
|
||||
enclosure_length: '', // 时间戳(播放长度),一般是秒数
|
||||
enclosure_length: '', // 时间戳 (播放长度) , 一般是秒数
|
||||
enclosure_type: '', // [.mp3就填'audio/mpeg'] [.m4a就填'audio/m4a'], 或其他类型.
|
||||
itunes_duration: '', // 由enclosure_length转换为 时:分:秒
|
||||
},
|
||||
|
||||
@@ -4,13 +4,13 @@ sidebar: auto
|
||||
|
||||
# 支持 RSSHub
|
||||
|
||||
RSSHub 是采用 MIT 许可的开源项目,使用完全免费。 但是随着项目规模的增长,也需要有相应的资金支持才能持续项目的维护与开发。
|
||||
RSSHub 是采用 MIT 许可的开源项目, 使用完全免费. 但是随着项目规模的增长, 也需要有相应的资金支持才能持续项目的维护与开发.
|
||||
|
||||
你可以通过下列的方法来赞助 RSSHub 的开发。
|
||||
你可以通过下列的方法来赞助 RSSHub 的开发.
|
||||
|
||||
## 一次性赞助
|
||||
|
||||
我们通过以下方式接受赞助:
|
||||
我们通过以下方式接受赞助 :
|
||||
|
||||
- [微信支付](https://i.imgur.com/aq6PtWa.png)
|
||||
- [支付宝](https://i.imgur.com/wv1Pj2k.png)
|
||||
@@ -19,7 +19,7 @@ RSSHub 是采用 MIT 许可的开源项目,使用完全免费。 但是随着
|
||||
|
||||
## 周期性赞助
|
||||
|
||||
周期性赞助可以获得额外的回报,比如更快的 GitHub 响应或者你的名字会出现在 RSSHub 的 GitHub 仓库和现在我们的官网中。
|
||||
周期性赞助可以获得额外的回报, 比如更快的 GitHub 响应或者你的名字会出现在 RSSHub 的 GitHub 仓库和现在我们的官网中.
|
||||
|
||||
- 通过 [Patreon](https://www.patreon.com/DIYgod) 赞助成为 backer 或 sponsor
|
||||
- 给我们发邮件联系赞助事宜: i#html.love
|
||||
|
||||
Reference in New Issue
Block a user