apps/feeds/README.md 1.4 K raw
1
# feeds
2
3
Minimal RSS reader built on the Go standard library plus a SQLite driver and
4
a feed parser.
5
6
## Install
7
8
**Homebrew:**
9
10
```bash
11
brew install stevedylandev/tap/feeds
12
```
13
14
**Curl install (Linux/macOS):**
15
16
```bash
17
curl -fsSL https://raw.githubusercontent.com/stevedylandev/andromeda/main/install.sh | sh -s -- feeds
18
```
19
20
**PowerShell (Windows):**
21
22
```powershell
23
& ([scriptblock]::Create((irm https://raw.githubusercontent.com/stevedylandev/andromeda/main/install.ps1))) feeds
24
```
25
26
**Prebuilt binary:** Grab the right archive from the [releases page](https://github.com/stevedylandev/andromeda/releases?q=feeds%2F) and drop the binary somewhere on your `$PATH`.
27
28
**From source:**
29
30
```bash
31
git clone https://github.com/stevedylandev/andromeda
32
cd andromeda/apps/feeds
33
go build .
34
```
35
36
## Stack
37
38
- `net/http`
39
- `html/template`
40
- `database/sql`
41
- `embed`
42
- `modernc.org/sqlite`
43
- `github.com/mmcdole/gofeed`
44
45
## Run
46
47
```bash
48
cd apps/feeds
49
go run .
50
```
51
52
Copy `.env.example` to `.env` if you want local config.
53
54
## What it includes
55
56
- public feed list
57
- preview mode via `?url=` / `?urls=` (single `?url=*.opml` fetches and
58
  previews the OPML feed list, up to 5 items per feed)
59
- admin login with cookie sessions
60
- add/remove subscriptions and categories
61
- OPML import (admin form + `POST /api/import/opml`) and export
62
  (`/feeds?format=opml`)
63
- JSON API
64
- background polling with ETag / Last-Modified
65
- embedded templates and static assets