https://github.com/roald87/rssrdr
The simplest RSS reader on the planet.
https://github.com/roald87/rssrdr
atom feeds-reader rss rss-reader
Last synced: about 2 months ago
JSON representation
The simplest RSS reader on the planet.
- Host: GitHub
- URL: https://github.com/roald87/rssrdr
- Owner: Roald87
- License: mit
- Created: 2025-02-08T13:25:45.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-03-12T16:38:55.000Z (3 months ago)
- Last Synced: 2025-04-16T20:57:55.318Z (about 2 months ago)
- Topics: atom, feeds-reader, rss, rss-reader
- Language: F#
- Homepage: https://rssrdr.com
- Size: 789 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# rssrdr
_The simplest RSS reader on the planet._

## Feed inspiration
For inspiration of RSS feeds, see the [most popular links posted on Hackernews](inspiration/hn-links.tsv) or the [most popular blogs posted on Hackernews](inspiration/hn-blogs.tsv), between 26 August 2023 - 26 August 2024.
## Developers
To install the project
- `dotnet restore`To run the unit test
- `cd SimpleRssServer.Tests`
- `dotnet test`Starting the server. You can watch it at 127.0.0.1:5000
- `cd SimpleRssServer`
- `dotnet watch`### Initial setup on Linux server
1. Copy the service configuration for the webserver from `./server-config/`, assuming you're in this top folder of this repo.
- `sudo cp -i ./server-conf/rssrdr-server.service /etc/systemd/system/rssrdr-server.service`1. Create the logging folders
- `sudo mkdir -p /var/log/rssrdr-server`
- `sudo chown rss:1000 /var/log/rssrdr-server`1. Create the folder for the binaries. This is where the executable for the server is going to be.
- `sudo mkdir /var/www/rssrdr`
- `sudo chown -R rss:1000 /var/www/rssrdr`1. After creating the service file, reload the systemctl manager configuration to recognize the new service:
- `sudo systemctl daemon-reload`1. Enable the service to start automatically at boot:
- `sudo systemctl enable rssrdr-server.service`1. Start the service immediately:
- `sudo systemctl start rssrdr-server.service`1. Check if the service is running:
- `sudo systemctl status rssrdr-server.service`1. Check the logs.
View the logs (stdout) using:
- `sudo tail -f /var/log/rssrdr-server/rssrdr.log`View the error logs (stderr) using:
- `sudo tail -f /var/log/rssrdr-server/rssrdr.err`### Deploying
To deploy, assuming the repo is cloned in `~/rssrdr/` and the setup above is done:
- `~/rssrdr/deploy.sh`### Enabling HTTPS
#### Certificates
Certificates are created using https://certbot.eff.org/. Follow the instructions there to generate a certificate.
- Certificat is created with: `certbot --nginx -d rssrdr.com`
- Certificate is saved at: `/etc/letsencrypt/live/rssrdr.com/fullchain.pem`
- Key is saved at: `/etc/letsencrypt/live/rssrdr.com/privkey.pem`#### nginx setup
> [!NOTE]
> .NET's `HttpClient` doesn't support HTTPS on Linux. Therefore we need nginx as a front end with SSL and the SimpleRssServer as non-SSL. See also this [GitHub discussion](https://github.com/dotnet/WatsonWebserver/discussions/90).Setup
```
--Client-- ---------Server--------------
| | | |
| Browser | --------> | nginx --> SimpleRssServer |
| | Request | :443 :8000 |
---------- -----------------------------
```1. Install nginx according to the [instructions](http://nginx.org/en/linux_packages.html)
2. Copy content of `./server-conf/nginx.conf` to `/etc/nginx/nginx.conf`.
3. Start nginx
- `nginx`### Server paths overview
ngnix
- config: `/etc/nginx/nginx.conf`
- logs: `/var/log/nginx`rssrdr-server
- service: `/etc/systemd/system/rssrdr-server.service`
- logs: `/var/log/rssrdr-server/`
- source code: `~/rssrdr`
- binaries: `/var/www/rssrdr`## Attribution
Inspired by [motherfuckingwebsite.com](http://motherfuckingwebsite.com/) and [bettermotherfuckingwebsite.com](http://bettermotherfuckingwebsite.com/).
This RSS reader was created by me, with a little help from [aider](https://github.com/paul-gauthier/aider/), ChatGPT and the people of the interwebs.