{"id":27199275,"url":"https://github.com/mblaney/rsstream","last_synced_at":"2025-04-09T20:58:32.462Z","repository":{"id":262408322,"uuid":"817096134","full_name":"mblaney/rsstream","owner":"mblaney","description":"Really Simple Stream is a feed reader and local first web application","archived":false,"fork":false,"pushed_at":"2025-01-15T07:30:15.000Z","size":4496,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-09T20:58:28.096Z","etag":null,"topics":["dirstributed","local-first","web-app"],"latest_commit_sha":null,"homepage":"https://rsstream.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mblaney.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-19T02:38:14.000Z","updated_at":"2025-03-08T00:45:02.000Z","dependencies_parsed_at":"2025-01-15T09:03:28.265Z","dependency_job_id":"12044f6a-4ca1-426f-9208-3af6983d197c","html_url":"https://github.com/mblaney/rsstream","commit_stats":null,"previous_names":["mblaney/rsstream"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mblaney%2Frsstream","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mblaney%2Frsstream/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mblaney%2Frsstream/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mblaney%2Frsstream/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mblaney","download_url":"https://codeload.github.com/mblaney/rsstream/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248111944,"owners_count":21049577,"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":["dirstributed","local-first","web-app"],"created_at":"2025-04-09T20:58:31.846Z","updated_at":"2025-04-09T20:58:32.448Z","avatar_url":"https://github.com/mblaney.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"RSStream is a local first web application that use a distributed database in\nthe browser called [GunDB](https://gun.eco). The server runs a\n[Node.js](https://nodejs.org) app that listens for feed updates from\n[Dobrado](https://dobrado.net) and pushes updates to the browser.\n\n### Server\n\nCopy this repo to a new directory and run:\n\n - `cd server`\n - `npm install`\n - `node app.js`\n\nFor production you can start with pm2:\n\n - `npm install pm2 -g`\n - `export NODE_ENV=production`\n - `pm2 startup` (And follow startup instructions.)\n - `pm2 start app.js`\n - `pm2 save`\n\nThis will save your environment in `~/.pm2/dump.pm2` so that it can be used on\nrestarts, note that you need to run `pm2 unstartup` followed by the `pm2`\ncommands listed above if you modify any required environment variables.\n\nYou can export `GUN_USER_ALIAS` and `GUN_USER_PASS` to change the default\nlog in credentials for the GunDB host account on the server. All private data\ncreated in GunDB on the server relies on these credentials, so keep them safe.\n\nThe credentials are also used to access private endpoints, for example to\nallocate invite codes to an account you can run:\n\n`curl -i -H 'Content-Type: application/json' -u \u003cGUN_USER_ALIAS\u003e:\u003cGUN_USER_PASS\u003e -d '{\"code\": \"\u003ccode\u003e\"}' localhost:3000/private/create-invite-codes`\n\nThe value `\u003ccode\u003e` is the account code that you want to allocate the new invite\ncodes to. You can set the number of invite codes to create for an account by\nadding `\"count\": \u003cnumber\u003e` to the request, otherwise one code will be created.\n\nIf you have sendmail available on your server you can export `MAIL_FROM` and\n`MAIL_BCC` to send email to your users. If `MAIL_FROM` is not set then the\nsame information will be logged so that you have access to it.\n(See `~/.pm2/logs/app-out.log` if you're using pm2.) Export `APP_HOST` to\ncreate links that point to a server other than localhost.\n\nRSStream relies on Dobrado for its feed processing, which is accessed via it's\nAPI. You can set it up on a subdomain and then access it via the `ADD_FEED_URL`,\n`ADD_FEED_ID` and `ADD_FEED_API_KEY` environment variables. Dobrado then pushes\nupdates back to RSStream via the `/private/add-item` and `/private/removed-feed`\nendpoints, so it will also need to be configured with the RSStream url, username\nand password.\n\n### Browser\n\nThe front end is served from the `browser/build` directory, which was created\nwith `npx create-react-app browser --template cra-template-pwa`.\n\nIf you modify the front end you can rebuild it by running:\n\n - `cd browser`\n - `npm install`\n - `npm run build`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmblaney%2Frsstream","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmblaney%2Frsstream","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmblaney%2Frsstream/lists"}