RSS-Bridge - a good complement to Fresh RSS
-
@necrevistonnezr OK, that was easy - to a point - thanks for the links
Repeating here for those as time-poor:
- Create a LAMP App at
rss-bridge
.yourdomain.com` - https://github.com/RSS-Bridge/rss-bridge/wiki/Installation
- Click
last stable release
- Download from the link at the bottom of the page.
- Unzip
- Connect to SFTP & upload the contents to
/public
- I create a
/tmp
folder and put the original Cloudron created index.php and a copy of the downloaded .zip file in there too for reference.
- I create a
- Open the LAMP Terminal in Cloudron and enter
chown -R www-data /app/data/public/cache
- For htaccess password protection: (maybe there's a way to do this with LDAP?)
htpasswd -c /app/data/public/.htpasswd yourusernamehere
- Add this to
.htaccess
:
AuthUserFile /app/data/public/.htpasswd
AuthType Basic
AuthName "Please contact the site admin for details"
Require valid-user - Visit https://rss-bridge.yourdomain.com - tada!
- App level user, password config, cache config etc:
Now, this is where I got stuck. What I can't seem to figure out though is how to get Twitter search feeds working. They seem to work on other public servers, so guessing it's a config issue.
Anyone have any luck and suggestions with "Twitter Bridge"?
Let me know any recommended updates to the steps above and I'll Edit.
- Create a LAMP App at
-
It seems that either way, with
.htccess
&.htpassword
— or the app's config of a user/password throughconfig.ini.php
(instructions in https://github.com/RSS-Bridge/rss-bridge/wiki/Custom-Configuration) — that Cloudron thinks the app is "Not responding"@girish feature, bug or my imagination?
-
@marcusquinn I think because the app is password protected, the healthcheck route will now not return a 200 and will return 401/403. This is why Cloudron thinks it is not responding.
Can you try something like this - https://cloudron.io/documentation/apps/lamp/#health-check
-
@girish Thanks! Opted for the
.htaccess
solution from the link so it survives updates without accidental overwriting. Restarting the app now shows as "Running" in the Cloudron Dashboard.My Twitter Bridge issue remains though. Anyone else having any luck with this? I'm guessing it's using CURL on an open port so not a firewall issue but that's just a guess.
Would be super handy to get this running for social media monitoring key accounts and keywords since a lot of marketing nowadays is being a good quick responder to mentions and related chat.
-
@girish seems I might have found the problem and it seems like it might be a Cloudron config issue?
The full error I get:
Bridge returned error 0! (18480) 2020-08-06T02:25:12+00:00 Twitter @marcuswquinn was unable to receive or process the remote website's content! Error message: `The requested resource cannot be found! Please make sure your input parameters are correct! cUrl error: malformed (3) PHP error: Undefined offset: 0` Query string: `action=display&bridge=Twitter&context=By+username&u=marcuswquinn&_cache_timeout=300&format=Html` Version: `dev.2020-02-26`
-
@marcusquinn said in RSS-Bridge - a good complement to Fresh RSS:
PHP error: Undefined offset: 0`
This seems to imply that something in the config file wants an array (offset 0) but maybe you gave a string? Could it be?
-
@girish I can't see anything to do with offset in the config but here's the
config.default.ini.php
. I wonder if it needs something for the[proxy]
settings?; <?php exit; ?> DO NOT REMOVE THIS LINE ; This file contains the default settings for RSS-Bridge. Do not change this ; file, it will be replaced on the next update of RSS-Bridge! You can specify ; your own configuration in 'config.ini.php' (copy this file). [system] ; Defines the timezone used by RSS-Bridge ; Find a list of supported timezones at ; https://www.php.net/manual/en/timezones.php ; timezone = "UTC" (default) timezone = "UTC" [cache] ; Defines the cache type used by RSS-Bridge ; "file" = FileCache (default) type = "file" ; Allow users to specify custom timeout for specific requests. ; true = enabled ; false = disabled (default) custom_timeout = false [admin] ; Advertise an email address where people can reach the administrator. ; This address is displayed on the main page, visible to everyone! ; "" = Disabled (default) email = "" [proxy] ; Sets the proxy url (i.e. "tcp://192.168.0.0:32") ; "" = Proxy disabled (default) url = "" ; Sets the proxy name that is shown on the bridge instead of the proxy url. ; "" = Show proxy url name = "Hidden proxy name" ; Allow users to disable proxy usage for specific requests. ; true = enabled ; false = disabled (default) by_bridge = false [authentication] ; Enables authentication for all requests to this RSS-Bridge instance. ; ; Warning: You'll have to upgrade existing feeds after enabling this option! ; ; true = enabled ; false = disabled (default) enable = false ; The username for authentication. Insert this name when prompted for login. username = "" ; The password for authentication. Insert this password when prompted for login. ; Use a strong password to prevent others from guessing your login! password = "" [error] ; Defines how error messages are returned by RSS-Bridge ; ; "feed" = As part of the feed (default) ; "http" = As HTTP error message ; "none" = No errors are reported output = "feed" ; Defines how often an error must occur before it is reported to the user report_limit = 1 ; --- Cache specific configuration --------------------------------------------- [SQLiteCache] file = "cache.sqlite" [MemcachedCache] host = "localhost" port = 11211
-
Hallelujah! Fixed in the latest version:
- https://github.com/RSS-Bridge/rss-bridge
- https://github.com/RSS-Bridge/rss-bridge/archive/master.zip
Here's what the results in Thunderbird look like for this interesting dude:
The whole point of this is to reduce all social media following to being RSS feeds. Zero distraction, just what you need to follow and nothing else.
Workaround for the same issue with Instagram usernames too for interest:
Basically, rss-bridge works on Cloudron - although not every bridge always works completely as there's a cat & mouse game with some sites changing things.
Worth packaging as an App IMHO, and probably an easy enough one for anyone more experienced that I at that since there's no DB to think about. Definitely pull the code from the latest master stream on GitHub.
Lastly, if you have any issues, delete the contents of
/cache
because it's very cache-happy and that would need emptying to truly re-test any changes. Mostly should be set & forget though. -
I couldn't, day (and night) job keeps me too busy - but I do think it would be a very easy one for anyone that can since it's just file-based.
-
I started packaging this up the other day and so far it seems to be working great! See repo here.
The one thing I want to play around with a bit right now is access. Part of me wants to put this app behind
proxyAuth
, but that might mean that any RSS feeds would need to be authenticated. I was hoping RSS feeds could be put on a path, i.e./rss/?activity=...
which could be allow-listed for proxyAuth, but since it's on the root URL I don't know if that would work. Any thoughts welcome! -
@thetomester13 how about enabling https://github.com/RSS-Bridge/rss-bridge/wiki/Authentication#rss-bridge-authentication instead? I prefer using upstream auth when available and leave it to the user if they want auth or not. Generally speak, you don't want to throw around Cloudron username/password inside apps (for example, inside your rss reader/aggregator).
-
@girish that's a great idea! I like the
proxyAuth
because it limits the number of credentials one needs to access their apps, but you're right in the way that it ends being less secure since you might end up using it in other places that might not be as secure.I'll play around with the built-in auth!
-
@girish just added some authentication to the package in an easy-to-use config file that can be updated via the File Manager. Again the repo is here for anyone to play around with.
Is there any interest in creating tests for this and to eventually deploy to the Cloudron App Store?
-
@thetomester13 said in RSS-Bridge - a good complement to Fresh RSS:
@girish just added some authentication to the package in an easy-to-use config file that can be updated via the File Manager. Again the repo is here for anyone to play around with.
Is there any interest in creating tests for this and to eventually deploy to the Cloudron App Store?
For sure!
-
@thetomester13 awesome, if it's useful, I don't see why not have it published. Does it work well?
-
@girish I've been using a Twitter feed with it with no hiccups at all! Haven't worked with many of the other 'bridges' but I'm assuming they should work well. I'll get some tests going soon and update this thread when they're ready!
-
@girish just pushed up some tests to the repo here. It currently simply checks for a simple JSON URL of a Twitter feed - I feel like that's enough to prove that the app is up and running, but open to adding a few others if you think it'll be beneficial. Only thing to note is that the
update
test needs to be updated when a version does get onto the App Store.Let me know if you're able to push this through!
-
@thetomester13 thanks you so much! excellent work, the tests worked just like that as well. I moved the repo to https://git.cloudron.io/cloudron/rss-bridge-app, you should already have permissions.
It's also published as unstable now.