add rsshub

This commit is contained in:
litneet64 2024-04-19 02:47:24 -04:00
parent 6b67c03c7d
commit 00ce87269d
5 changed files with 449 additions and 0 deletions

26
apps/rsshub/config.json Normal file
View File

@ -0,0 +1,26 @@
{
"name": "RSSHub",
"available": true,
"port": 8220,
"exposable": true,
"id": "rsshub",
"description": "RSSHub is an open source, easy to use, and extensible RSS feed generator. It's capable of generating RSS feeds from pretty much everything.",
"tipi_version": 1,
"version": "2024-04-17",
"categories": ["utilities", "media", "automation"],
"short_desc": "Everything is RSSible with RSSHub",
"author": "https://github.com/DIYgod",
"source": "https://github.com/DIYgod/RSSHub",
"website": "https://docs.rsshub.app/",
"url_suffix": "",
"form_fields": [
{
"type": "password",
"label": "Access Key",
"max": 256,
"min": 4,
"required": false,
"env_variable": "ACCESS_KEY"
}
]
}

331
apps/rsshub/data/app.env Normal file
View File

@ -0,0 +1,331 @@
# Based on...:
# https://docs.rsshub.app/deploy/config
#
# and source-code values, as official docs are incomplete:
# https://github.com/DIYgod/RSSHub/blob/master/lib/config.ts
#
#################################
# Network Configuration
#################################
#
#PORT=1200
#LISTEN_INADDR_ANY=true
#REQUEST_RETRY=2
#REQUEST_TIMEOUT=30000
UA="Mozilla/5.0 (Macintosh; Intel Mac OS X 14_4_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"
#NO_RANDOM_UA=null
#################################
# CORS Requests
#################################
#
#ALLOW_ORIGIN="*"
#################################
# Cache Configurations
#################################
#
CACHE_TYPE="redis"
#CACHE_REQUEST_TIMEOUT=60
#CACHE_EXPIRE=300
#CACHE_CONTENT_EXPIRE=3600
REDIS_URL="redis://redis:6379/"
#MEMORY_MAX=256
#################################
# Proxy Configurations
#################################
#
#PROXY_PROTOCOL=""
#PROXY_HOST=""
#PROXY_PORT=""
#PROXY_URI="{protocol}://{host}:{port}"
#PROXY_AUTH="BASE64_BASIC_AUTH_STRING" (Proxy-Authorization: Basic ${PROXY_AUTH})
#PROXY_URL_REGEX=".*"
#PROXY_STRATEGY=all/on_retry
#PAC_URI=""
#PAC_SCRIPT=""
#################################
# Access Control Configurations
#################################
#
#ACCESS_KEY="yourpassword"
#################################
# Logging Configurations
#################################
#
#DEBUG_INFO=true
#LOGGER_LEVEL="info"
#NO_LOGFILES=false
#SHOW_LOGGER_TIMESTAMP=false
#SENTRY=""
#SENTRY_ROUTE_TIMEOUT=30000
#################################
# Image Processing
#################################
#
#HOTLINK_TEMPLATE="${protocol}//${host}${pathname}"
#HOTLINK_INCLUDE_PATHS=""
#HOTLINK_EXCLUDE_PATHS=""
#################################
# Experimental Features
#################################
#
#ALLOW_USER_HOTLINK_TEMPLATE=false
#FILTER_REGEX_ENGINE="re2"
#ALLOW_USER_SUPPLY_UNSAFE_DOMAIN=false
#################################
# Other Application Configurations
#################################
#
#DISALLOW_ROBOT=true
#ENABLE_CLUSTER=false
NODE_ENV="production"
#NODE_NAME=""
PUPPETEER_WS_ENDPOINT="ws://browserless:3000"
#CHROMIUM_EXECUTABLE_PATH=""
#TITLE_LENGTH_LIMIT=150
#OPENAI_API_KEY=""
#OPENAI_MODEL="gpt-3.5-turbo-16k"
#OPENAI_TEMPERATURE=0.2
#OPENAI_MAX_TOKENS=0
#OPENAI_API_ENDPOINT="https://api.openai.com/v1"
#OPENAI_PROMPT="Please summarize the following article and reply with markdown format."
#REMOTE_CONFIG=""
#REMOTE_CONFIG_AUTH="" (Authorization: Basic ${REMOTE_CONFIG_AUTH})
#################################
# Route-specific Configurations
#################################
#
## BiliBili ##
#BILIBILI_COOKIE_{uid}=""
#BILIBILI_DM_IMG_LIST="[{"x":2721,"y":615,"z":0,"timestamp":29,"type":0}]"
#
## BitBucket ##
#BITBUCKET_USERNAME=""
#BITBUCKET_PASSWORD=""
#
## BTBYR ##
#BTBYR_HOST=""
#BTBYR_COOKIE=""
#
## BUPT ##
#BUPT_PORTAL_COOKIE=""
#
## Civitai ##
#CIVITAI_COOKIE=""
#
## Dida365 ##
#DIDA365_USERNAME=""
#DIDA365_PASSWORD=""
#
## Discord ##
#DISCORD_AUTHORIZATION=""
#
## Discourse ##
#DISCOURSE_CONFIG_{id}="{"link":link,"key":key}"
#
## Discuz ##
#DISCUZ_COOKIE_{cid}=0
#
## Disqus ##
#DISQUS_API_KEY=""
#
## Douban
#DOUBAN_COOKIE=""
#
## E-Hentai ##
#EH_IPB_MEMBER_ID=""
#EH_IPB_PASS_HASH=""
#EH_SK=""
#EH_IGNEOUS=""
#EH_STAR=""
#EH_IMG_PROXY=""
#
## Email ##
#EMAIL_CONFIG_{email}="password=password&host=server&port=port"
#
## Fanfou ##
#FANFOU_CONSUMER_KEY=""
#FANFOU_CONSUMER_SECRET=""
#FANFOU_USERNAME=""
#FANFOU_PASSWORD=""
#
## Fantia ##
#FANTIA_COOKIE
#
## Game4399 ##
#GAME_4399=""
#
## GitHub ##
#GITHUB_ACCESS_TOKEN=""
#
## Gitee ##
#GITEE_ACCESS_TOKEN=""
#
## Google ##
#GOOGLE_FONTS_API_KEY=""
#
## Hefeng ##
#HFENG_KEY=""
#
## Infzm ##
#INFZM_COOKIE=""
#
## Initium ##
#INITIUM_USERNAME=""
#INITIUM_PASSWORD=""
#INITIUM_BEARER_TOKEN=""
#INITIUM_IAP_RECEIPT=""
#
## Instagram ##
#IG_USERNAME=""
#IG_PASSWORD=""
#IG_PROXY=""
#IG_COOKIE=""
#
## Iwara ##
#IWARA_USERNAME=""
#IWARA_PASSWORD=""
#
## JavDB ##
#JAVDB_SESSION=""
#
## Last.FM ##
#LASTFM_API_KEY=""
#
## LightNovel.us ##
#SECURITY_KEY="{security_key: 3cXXXX}"
#
## Manhuagui ##
#MHGUI_COOKIE=""
#
## Mastodon ##
#MASTODON_API_HOST=""
#MASTODON_API_ACCESS_TOKEN=""
#MASTODON_API_ACCT_DOMAIN=""
#
## Medium ##
#MEDIUM_COOKIE_{username}=""
#MEDIUM_ARTICLE_COOKIE=""
#
## MiHoyo ##
#MIHOYO_COOKIE=""
#
## MiniFlux ##
#MINIFLUX_INSTANCE=""
#MINIFLUX_TOKEN=""
#
## Mox ##
#MOX_COOKIE=""
#
## Netease Cloud Music ##
#NCM_COOKIES=""
#
## NewRank ##
#NEWRANK_COOKIE=""
#
## NGA ##
#NGA_PASSPORT_UID=""
#NGA_PASSPORT_CID=""
#
## NHentai ##
#NHENTAI_USERNAME=""
#NHENTAI_PASSWORD=""
#
## Notion ##
#NOTION_TOKEN=""
#
## Pianyuan ##
#PIANYUAN_COOKIE=""
#
## Pixabay ##
#PIXABAY_KEY=""
#
## Pixiv ##
#PIXIV_REFRESHTOKEN=""
#PIXIV_BYPASS_CDN=false
#PIXIV_BYPASS_HOSTNAME="public-api.secure.pixiv.net"
#PIXIV_BYPASS_DOH="https://1.1.1.1/dns-query"
#PIXIV_IMG_PROXY="https://i.pixiv.re"
#
## Pixiv Fanbox ##
#FANBOX_SESSION_ID=""
#
## PKubbs ##
#PKUBBS_COOKIE=""
#
## Qingting ##
#QINGTING_ID=""
#
## Saraba1st ##
#SARABA1ST_COOKIE=""
#
## Sehuatang ##
#SEHUATANG_COOKIE=""
#
## SCBoy ##
#SCBOY_BBS_TOKEN=""
#
## Sci-Hub ##
#SCIHUB_HOST="https://sci-hub.se/"
#
## Spotify ##
#SPOTIFY_CLIENT_ID=""
#SPOTIFY_CLIENT_SECRET=""
#SPOTIFY_REFRESHTOKEN=""
#
## Telegram ##
#TELEGRAM_TOKEN=""
#TELEGRAM_SESSION=""
#TELEGRAM_API_ID=""
#TELEGRAM_API_HASH=""
#TELEGRAM_MAX_CONCURRENT_DOWNLOADS=""
#
## TopHub ##
#TOPHUB_COOKIE=""
#
## Twitter / X ##
#TWITTER_OAUTH_TOKEN=""
#TWITTER_OAUTH_TOKEN_SECRET=""
#TWITTER_USERNAME=""
#TWITTER_PASSWORD=""
#TWITTER_COOKIE=""
#
## Weibo ##
#WEIBO_APP_KEY=""
#WEIBO_APP_SECRET=""
#WEIBO_COOKIES=""
#WEIBO_REDIRECT_URL=""
#
## Wenku8 ##
#WENKU8_COOKIE=""
#
## xiaoyuzhou ##
#XIAOYUZHOU_ID=""
#XIAOYUZHOU_TOKEN=""
#
## Ximalaya ##
#XIMALAYA_TOKEN=""
#
## Xueqiu ##
#XUEQIU_COOKIES=""
#
## YouTube ##
#YOUTUBE_KEY=""
#YOUTUBE_CLIENT_ID=""
#YOUTUBE_CLIENT_SECRET=""
#YOUTUBE_REFRESH_TOKEN=""
#
## Zhihu ##
#ZHIHU_COOKIES=""
#
## Zodgame ##
#ZODGAME_COOKIE=""

View File

@ -0,0 +1,63 @@
version: '3.9'
services:
rsshub:
image: diygod/rsshub:2024-04-17
container_name: rsshub_main
restart: unless-stopped
ports:
- ${APP_PORT}:1200
environment:
TZ: ${TZ}
env_file:
- ${APP_DATA_DIR}/data/app.env
networks:
- tipi_main_network
depends_on:
- redis
- browserless
labels:
# Main
traefik.enable: true
traefik.http.middlewares.rss-web-redirect.redirectscheme.scheme: https
traefik.http.services.rsshub.loadbalancer.server.port: 1200
# Web
traefik.http.routers.rss-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.rss-insecure.entrypoints: web
traefik.http.routers.rss-insecure.service: rsshub
traefik.http.routers.rss-insecure.middlewares: rss-web-redirect
# Websecure
traefik.http.routers.rss.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.rss.entrypoints: websecure
traefik.http.routers.rss.service: rsshub
traefik.http.routers.rss.tls.certresolver: myresolver
# Local domain
traefik.http.routers.rss-local-insecure.rule: Host(`rsshub.${LOCAL_DOMAIN}`)
traefik.http.routers.rss-local-insecure.entrypoints: web
traefik.http.routers.rss-local-insecure.service: rsshub
traefik.http.routers.rss-local-insecure.middlewares: rss-web-redirect
# Local domain secure
traefik.http.routers.rss-local.rule: Host(`rsshub.${LOCAL_DOMAIN}`)
traefik.http.routers.rss-local.entrypoints: websecure
traefik.http.routers.rss-local.service: rsshub
traefik.http.routers.rss-local.tls: true
browserless:
image: browserless/chrome
container_name: rsshub_browserless
restart: unless-stopped
ulimits:
core:
hard: 0
soft: 0
networks:
- tipi_main_network
redis:
image: redis:alpine
container_name: rsshub_redis
restart: unless-stopped
volumes:
- ${APP_DATA_DIR}/data/redis:/data
networks:
- tipi_main_network

View File

@ -0,0 +1,29 @@
![](https://camo.githubusercontent.com/ceaf8f7b5c2b0f5b71013f5553cd4e71dfbc47787928a2ec1cfe0e41a7a0b99c/68747470733a2f2f646f63732e7273736875622e6170702f696d672f6c6f676f2e706e67)
# RSSHub
## Introduction
Introduction
RSSHub is an open source, easy to use, and extensible RSS feed generator. It's capable of generating RSS feeds from pretty much everything.
RSSHub delivers millions of contents aggregated from all kinds of sources, our vibrant open source community is ensuring the deliver of RSSHub's new routes, new features and bug fixes.
RSSHub can be used with browser extension [RSSHub Radar](https://github.com/DIYgod/RSSHub-Radar) and mobile auxiliary app [RSSBud (iOS)](https://github.com/Cay-Zhang/RSSBud) and [RSSAid (Android)](https://github.com/LeetaoGoooo/RSSAid)
[English docs](https://docs.rsshub.app/) | [Telegram Group](https://t.me/rsshub) | [Telegram Channel](https://t.me/awesomeRSSHub) | [Twitter](https://twitter.com/intent/follow?screen_name=_RSSHub) | [中文文档](https://docs.rsshub.app/zh/)
## Configuration
Must be done via environment variables, either through a custom app.env file or directly modifying the docker-compose.yml file, as detailed in https://runtipi.io/docs/guides/customize-app-config.
More info related to available configuration envvars for RSSHub can be found on https://docs.rsshub.app/deploy/config.
## Related Projects
- [RSSHub Radar](https://github.com/DIYgod/RSSHub-Radar): A browser extension that can help you quickly discover and subscribe to the RSS and RSSHub of current websites.
- [RSSBud](https://github.com/Cay-Zhang/RSSBud): RSSHub Radar for iOS platform, designed specifically for mobile ecosystem optimization.
- [RSSAid](https://github.com/LeetaoGoooo/RSSAid): RSSHub Radar for Android platform built with Flutter.
- [DocSearch](https://github.com/Fatpandac/DocSearch): Link RSSHub DocSearch into Raycast

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB