{"id":15294855,"url":"https://github.com/soulteary/rss-can","last_synced_at":"2025-10-17T00:29:26.893Z","repository":{"id":148701911,"uuid":"617734095","full_name":"soulteary/rss-can","owner":"soulteary","description":"🚀 Harness the power of AI, Got RSS CAN be better and simple.","archived":false,"fork":false,"pushed_at":"2025-01-01T15:42:06.000Z","size":2123,"stargazers_count":64,"open_issues_count":5,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-13T11:09:15.912Z","etag":null,"topics":["go","news","rss","rss-aggregator","rss-generator"],"latest_commit_sha":null,"homepage":"https://soulteary.com/tags/rss-can.html","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/soulteary.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-23T01:53:18.000Z","updated_at":"2025-04-04T08:35:25.000Z","dependencies_parsed_at":"2023-12-26T16:38:26.501Z","dependency_job_id":"2542d25b-1764-462f-b668-614d616f4221","html_url":"https://github.com/soulteary/rss-can","commit_stats":{"total_commits":336,"total_committers":2,"mean_commits":168.0,"dds":0.005952380952380931,"last_synced_commit":"f8b5feb26c07810379b258f4eca240fe678fa289"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soulteary%2Frss-can","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soulteary%2Frss-can/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soulteary%2Frss-can/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soulteary%2Frss-can/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/soulteary","download_url":"https://codeload.github.com/soulteary/rss-can/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248703198,"owners_count":21148118,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go","news","rss","rss-aggregator","rss-generator"],"created_at":"2024-09-30T17:07:36.214Z","updated_at":"2025-10-17T00:29:21.857Z","avatar_url":"https://github.com/soulteary.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RSS Can / RSS 罐头\n\n[![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)\n\n\u003cp style=\"text-align: center;\"\u003e\n  \u003ca href=\"README.md\"\u003eENGLISH\u003c/a\u003e | \u003ca href=\"README_CN.md\"  target=\"_blank\"\u003e中文文档\u003c/a\u003e\n\u003c/p\u003e\n\n📰 🥫 **Got RSS CAN be better and simple.**\n\n\u003cp style=\"text-align: center;\"\u003e\n  \u003cimg src=\"./.github/images/hp.jpg\"\u003e\n\u003c/p\u003e\n\n\u003cp style=\"text-align: center;\"\u003e\n  \u003cimg src=\"./.github/images/feeds.jpg\"\u003e\n\u003c/p\u003e\n\n## Supported Systems and Architectures\n\n- Linux: AMD64(x86_64)\n- macOS: AMD64(x86_64) /  ARMv64\n\n## Usage\n\nDownload the binary from the github [release page](https://github.com/soulteary/RSS-Can/releases), with the following command:\n\n```bash\n./rssc\n```\n\n### Docker\n\nPull the docker image and mount the `Feed rules` file in the project to the docker container:\n\n```\ndocker pull soulteary/rss-can:v0.3.8\ndocker run --rm -it -p 8080:8080 -v `pwd`/rules:/rules soulteary/rss-can:v0.3.8\n```\n\n### Cli Parameters \u0026 Environment\n\n**All parameters are optional, please adjust according to your needs**\n\nThe parameters supported by the program can be obtained through `-h` or `--help`:\n\n```bash\nUsage of rssc:\n  -debug RSS_DEBUG\n    \twhether to output debugging logging, env: RSS_DEBUG\n  -debug-level RSS_DEBUG_LEVEL\n    \tset debug log printing level, env: RSS_DEBUG_LEVEL (default \"info\")\n  -feed-path RSS_HTTP_FEED_PATH\n    \thttp feed path, env: RSS_HTTP_FEED_PATH (default \"/feed\")\n  -headless-addr RSS_HEADLESS_SERVER\n    \tset Headless server address, env: RSS_HEADLESS_SERVER (default \"127.0.0.1:9222\")\n  -headless-slow-motion RSS_HEADLESS_SLOW_MOTION\n    \tset Headless slow motion, env: RSS_HEADLESS_SLOW_MOTION (default 2)\n  -host RSS_HOST\n    \tweb service listening address, env: RSS_HOST (default \"0.0.0.0\")\n  -memory RSS_MEMORY\n    \tusing Memory(build-in) as a cache service, env: RSS_MEMORY (default true)\n  -memory-expiration RSS_MEMORY_EXPIRATION\n    \tset Memory cache expiration, env: RSS_MEMORY_EXPIRATION (default 600)\n  -port RSS_PORT\n    \tweb service listening port, env: RSS_PORT (default 8080)\n  -proxy RSS_PROXY\n    \tProxy, env: RSS_PROXY\n  -redis RSS_REDIS\n    \tusing Redis as a cache service, env: RSS_REDIS (default true)\n  -redis-addr RSS_SERVER\n    \tset Redis server address, env: RSS_SERVER (default \"127.0.0.1:6379\")\n  -redis-db RSS_REDIS_DB\n    \tset Redis db, env: RSS_REDIS_DB\n  -redis-pass RSS_REDIS_PASSWD\n    \tset Redis password, env: RSS_REDIS_PASSWD\n  -rod string\n    \tSet the default value of options used by rod.\n  -rule RSS_RULE\n    \tset Rule directory, env: RSS_RULE (default \"./rules\")\n  -timeout-headless RSS_HEADLESS_EXEC_TIMEOUT\n    \tset headless execution timeout, env: RSS_HEADLESS_EXEC_TIMEOUT (default 5)\n  -timeout-js RSS_JS_EXEC_TIMEOUT\n    \tset js sandbox code execution timeout, env: RSS_JS_EXEC_TIMEOUT (default 200)\n  -timeout-request RSS_REQUEST_TIMEOUT\n    \tset request timeout, env: RSS_REQUEST_TIMEOUT (default 5)\n  -timeout-server RSS_SERVER_TIMEOUT\n    \tset web server response timeout, env: RSS_SERVER_TIMEOUT (default 8)\n```\n\n## Milestone\n\n- [Base CLI \u0026 WebUI Support](https://github.com/soulteary/rss-can/issues/8)\n- [Aggregate Results, JS SDK, Dockerize](https://github.com/soulteary/rss-can/issues/9)\n- [Redis, in-memory cache, Dynamic loading rules](https://github.com/soulteary/rss-can/issues/10)\n- [Charset auto detection, Mix parser support, Improve CSR, Muti-page data extract](https://github.com/soulteary/rss-can/issues/11)\n- [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)\n- [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)\n- [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)\n- [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)\n\n## PLAN\n\n- [ ] Docs: Provide a simple tutorial on how to use Docker images with common technology stacks [#16](https://github.com/soulteary/rss-can/issues/16)\n- [ ] Pipeline: Support RSS pipeline flow, customize information processing tasks and integrate other open-source software\n- [ ] AI: NLP tasks\n- [ ] 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)\n- [ ] Tools: Quick RSS rules generator, like: [damoeb/rss-proxy](https://github.com/damoeb/rss-proxy)\n\n## License \u0026 Credits\n\nThis project is licensed under the [MIT License](https://github.com/soulteary/RSS-Can/blob/main/LICENSE)\n\nThe 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)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoulteary%2Frss-can","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoulteary%2Frss-can","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoulteary%2Frss-can/lists"}