RSS Can / RSS 罐头
Supported Systems and Architectures
- Linux: AMD64(x86_64)
- macOS: AMD64(x86_64) / ARMv64
Usage
Download the binary from the github release page, with the following command:
./rssc
Docker
Pull the docker image and mount the Feed rules
file in the project to the docker container:
docker pull soulteary/rss-can:0.3.6
docker run --rm -it -p 8080:8080 -v `pwd`/rules:/rules soulteary/rss-can:0.3.6
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
:
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
- Aggregate Results, JS SDK, Dockerize
- Redis, in-memory cache, Dynamic loading rules
- Charset auto detection, Mix parser support, Improve CSR, Muti-page data extract
- Websites parsing via SSR render, Blog
- Dynamic rule capability, Blog
- Convert website page as RSS feeds, Blog
- Websites parsing via CSR render, Blog
PLAN
- Docs: Provide a simple tutorial on how to use Docker images with common technology stacks #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 / RSSHub
- Tools: Quick RSS rules generator, like: damoeb/rss-proxy
License & Credits
This project is licensed under the MIT 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
chore(deps): bump golang.org/x/text from 0.8.0 to 0.9.0
Bumps golang.org/x/text from 0.8.0 to 0.9.0.
Commits
48e4a4a
all: fix some commentsDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)chore(deps): bump golang.org/x/net from 0.8.0 to 0.9.0
Bumps golang.org/x/net from 0.8.0 to 0.9.0.
Commits
694cff8
go.mod: update golang.org/x dependencies6960703
http2: log the correct error when retrying in (*Transport).RoundTripOpt9f24bb4
http2: properly discard data received after request/response body is closed08dda57
html: fix package doc typoDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)chore(deps): bump golang.org/x/net from 0.4.0 to 0.8.0
⚠️ Dependabot is rebasing this PR ⚠️
Rebasing might not happen immediately, so don't worry if this takes some time.
Note: if you make any changes to this PR yourself, they will take precedence over the rebase.
Bumps golang.org/x/net from 0.4.0 to 0.8.0.
Commits
dfa2b5d
go.mod: update golang.org/x dependencies8c4ef2f
hmtl: add security section to package comment1d46ed8
html: have Render escape comments less often569fe81
html: add "Microsoft Outlook comment" tests8e2b117
http2/hpack: avoid quadratic complexity in hpack decoding547e7ed
http2: avoid referencing ResponseWrite.Write parameter after returning39940ad
html: parse comments per HTML spec87ce33e
go.mod: update golang.org/x dependencies415cb6d
all: fix some comments7e3c19c
all: correct typos in commentsDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)chore(deps): bump github.com/gin-gonic/gin from 1.8.2 to 1.9.0
Bumps github.com/gin-gonic/gin from 1.8.2 to 1.9.0.
Release notes
Sourced from github.com/gin-gonic/gin's releases.
Changelog
Sourced from github.com/gin-gonic/gin's changelog.
Commits
ea03e10
docs(readme): release v1.9.0 version (#3474)4cee78f
Fix #3500 Add escape logic for header (#3503)fc1c432
fix(security): vulnerability GO-2023-1571 (#3505)81ac7d5
Add escape logic for header (#3500)d07db17
chore(deps): bump golang.org/x/net from 0.5.0 to 0.6.0 (#3498)c1d06e3
add supprt for go1.20 http.rwUnwrapper to gin.responseWriter (#3489)bd82c9e
chore(go): Add support go 1.20 (#3484)0c96a20
Stop useless panicking in context and render (#2150)153b229
chore(deps): bump github.com/ugorji/go/codec from 1.2.8 to 1.2.9 (#3491)e02ae6a
chore(router): match method added to routergroup for multiple HTTP methods su...Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)chore(deps): bump golang.org/x/text from 0.5.0 to 0.8.0
Bumps golang.org/x/text from 0.5.0 to 0.8.0.
Commits
9db913a
go.mod: update to newer x/tools30dadde
all: correct comment typos71a9c9a
all: fix some commentsec5565b
README.md: update documentation of module versioningDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)chore(deps): bump rogchap.com/v8go from 0.7.0 to 0.9.0
Bumps rogchap.com/v8go from 0.7.0 to 0.9.0.
Release notes
Sourced from rogchap.com/v8go's releases.
Changelog
Sourced from rogchap.com/v8go's changelog.
Commits
0e40e6e
v0.9.0 (#376)be4ff5e
Upgrade V8 binaries for 11.1.277.13 version (#373)02e1763
Upgrade V8 binaries for 10.9.194.9 version working (#363)7d843f1
v8.Value becomes manually releaseable (#361)1f00b50
adding additional profile values (#341)fc8b9f1
updating context documentation (#335)da7f43c
Fix typo in promise.go (#310)db78170
Upgrade V8 binaries for 9.7.106.19 version (#278)5e91d3d
Fix Object.Set with an empty key string (#276)1d433f7
Use length to ensure null chars do not cause early termination of C string co...Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)chore(deps): bump github.com/go-rod/rod from 0.112.2 to 0.112.8
Bumps github.com/go-rod/rod from 0.112.2 to 0.112.8.
Release notes
Sourced from github.com/go-rod/rod's releases.
Commits
4bbe74c
all the actions of an element should use its own contextc448d2f
all the actions of an element should use its own context3a88bf4
update chromium revisionf525037
Delete disable-dev-shm usage flag (#815)b851044
chore: optimize code and docaba9252
add termux support (#808)946d337
update lint72382c6
protective code for init connection0d0e59e
Add Element.Disabled() and Element.MustDisabled() (#799)70a7a73
update chromium revisionDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)Charset auto detection, Mix parser support, Improve CSR, Muti-page data extract
chore(deps): bump github.com/go-rod/rod from 0.112.8 to 0.112.9
Bumps github.com/go-rod/rod from 0.112.8 to 0.112.9.
Release notes
Sourced from github.com/go-rod/rod's releases.
Commits
763929b
update chromium revision2c73eec
lint28263ae
Update element.go Blur method description (#867)4541f19
fix check-issue typo9ec3595
update deps49cd11c
use the github token of the action itself42c6c4d
use fetchup to download429d874
update ci tools8b8d40b
update got3557c23
fix lint issuesDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)