Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/soulteary/rss-can
π Harness the power of AI, Got RSS CAN be better and simple.
https://github.com/soulteary/rss-can
go news rss rss-aggregator rss-generator
Last synced: 4 days ago
JSON representation
π Harness the power of AI, Got RSS CAN be better and simple.
- Host: GitHub
- URL: https://github.com/soulteary/rss-can
- Owner: soulteary
- License: mit
- Created: 2023-03-23T01:53:18.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-07T08:32:23.000Z (3 months ago)
- Last Synced: 2024-12-06T16:49:51.383Z (17 days ago)
- Topics: go, news, rss, rss-aggregator, rss-generator
- Language: Go
- Homepage: https://soulteary.com/tags/rss-can.html
- Size: 2.02 MB
- Stars: 59
- Watchers: 3
- Forks: 4
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# RSS Can / RSS η½ε€΄
[![CodeQL](https://github.com/soulteary/RSS-Can/actions/workflows/codeql.yml/badge.svg)](https://github.com/soulteary/RSS-Can/actions/workflows/codeql.yml) [![Build Artifacts](https://github.com/soulteary/rss-can/actions/workflows/build.yml/badge.svg)](https://github.com/soulteary/rss-can/actions/workflows/build.yml) ![Go Report Card](https://goreportcard.com/badge/github.com/soulteary/RSS-Can) [![codecov](https://codecov.io/gh/soulteary/RSS-Can/branch/main/graph/badge.svg?token=RLAU712P39)](https://codecov.io/gh/soulteary/RSS-Can) [![Docker Image](https://img.shields.io/docker/pulls/soulteary/rss-can.svg)](https://hub.docker.com/r/soulteary/rss-can)
π° π₯« **Got RSS CAN be better and simple.**
## Supported Systems and Architectures
- Linux: AMD64(x86_64)
- macOS: AMD64(x86_64) / ARMv64## Usage
Download the binary from the github [release page](https://github.com/soulteary/RSS-Can/releases), with the following command:
```bash
./rssc
```### Docker
Pull the docker image and mount the `Feed rules` file in the project to the docker container:
```
docker pull soulteary/rss-can:v0.3.8
docker run --rm -it -p 8080:8080 -v `pwd`/rules:/rules soulteary/rss-can:v0.3.8
```### Cli Parameters & Environment
**All parameters are optional, please adjust according to your needs**
The parameters supported by the program can be obtained through `-h` or `--help`:
```bash
Usage of rssc:
-debug RSS_DEBUG
whether to output debugging logging, env: RSS_DEBUG
-debug-level RSS_DEBUG_LEVEL
set debug log printing level, env: RSS_DEBUG_LEVEL (default "info")
-feed-path RSS_HTTP_FEED_PATH
http feed path, env: RSS_HTTP_FEED_PATH (default "/feed")
-headless-addr RSS_HEADLESS_SERVER
set Headless server address, env: RSS_HEADLESS_SERVER (default "127.0.0.1:9222")
-headless-slow-motion RSS_HEADLESS_SLOW_MOTION
set Headless slow motion, env: RSS_HEADLESS_SLOW_MOTION (default 2)
-host RSS_HOST
web service listening address, env: RSS_HOST (default "0.0.0.0")
-memory RSS_MEMORY
using Memory(build-in) as a cache service, env: RSS_MEMORY (default true)
-memory-expiration RSS_MEMORY_EXPIRATION
set Memory cache expiration, env: RSS_MEMORY_EXPIRATION (default 600)
-port RSS_PORT
web service listening port, env: RSS_PORT (default 8080)
-proxy RSS_PROXY
Proxy, env: RSS_PROXY
-redis RSS_REDIS
using Redis as a cache service, env: RSS_REDIS (default true)
-redis-addr RSS_SERVER
set Redis server address, env: RSS_SERVER (default "127.0.0.1:6379")
-redis-db RSS_REDIS_DB
set Redis db, env: RSS_REDIS_DB
-redis-pass RSS_REDIS_PASSWD
set Redis password, env: RSS_REDIS_PASSWD
-rod string
Set the default value of options used by rod.
-rule RSS_RULE
set Rule directory, env: RSS_RULE (default "./rules")
-timeout-headless RSS_HEADLESS_EXEC_TIMEOUT
set headless execution timeout, env: RSS_HEADLESS_EXEC_TIMEOUT (default 5)
-timeout-js RSS_JS_EXEC_TIMEOUT
set js sandbox code execution timeout, env: RSS_JS_EXEC_TIMEOUT (default 200)
-timeout-request RSS_REQUEST_TIMEOUT
set request timeout, env: RSS_REQUEST_TIMEOUT (default 5)
-timeout-server RSS_SERVER_TIMEOUT
set web server response timeout, env: RSS_SERVER_TIMEOUT (default 8)
```## Milestone
- [Base CLI & WebUI Support](https://github.com/soulteary/rss-can/issues/8)
- [Aggregate Results, JS SDK, Dockerize](https://github.com/soulteary/rss-can/issues/9)
- [Redis, in-memory cache, Dynamic loading rules](https://github.com/soulteary/rss-can/issues/10)
- [Charset auto detection, Mix parser support, Improve CSR, Muti-page data extract](https://github.com/soulteary/rss-can/issues/11)
- [Websites parsing via SSR render](https://github.com/soulteary/rss-can/issues/12), [Blog](https://soulteary.com/2022/12/12/rsscan-better-rsshub-service-build-with-golang-part-1.html)
- [Dynamic rule capability](https://github.com/soulteary/rss-can/issues/13), [Blog](https://soulteary.com/2022/12/13/rsscan-make-golang-applications-with-v8-part-2.html)
- [Convert website page as RSS feeds](https://github.com/soulteary/rss-can/issues/14), [Blog](https://soulteary.com/2022/12/14/rsscan-convert-website-information-stream-to-rss-feed-part-3.html)
- [Websites parsing via CSR render](https://github.com/soulteary/rss-can/issues/15), [Blog](https://soulteary.com/2022/12/15/rsscan-use-golang-rod-to-parse-the-content-dynamically-rendered-in-the-browser-part-4.html)## PLAN
- [ ] Docs: Provide a simple tutorial on how to use Docker images with common technology stacks [#16](https://github.com/soulteary/rss-can/issues/16)
- [ ] Pipeline: Support RSS pipeline flow, customize information processing tasks and integrate other open-source software
- [ ] AI: NLP tasks
- [ ] Rules: Support merge open-source software rules: [rss-bridge](https://github.com/RSS-Bridge/rss-bridge/tree/master/bridges) / [RSSHub](https://github.com/DIYgod/RSSHub/tree/master/lib)
- [ ] Tools: Quick RSS rules generator, like: [damoeb/rss-proxy](https://github.com/damoeb/rss-proxy)## License & Credits
This project is licensed under the [MIT License](https://github.com/soulteary/RSS-Can/blob/main/LICENSE)
The rapid evolution of the project is inseparable from the following excellent open source software, you can click this link to know who they are : [Credits](./CREDITS.md)