- Python 100%
| .github | ||
| .vscode | ||
| db | ||
| sql | ||
| .air.toml | ||
| .env.example | ||
| .gitignore | ||
| add_feed.go | ||
| add_item.go | ||
| docker-compose.yml | ||
| feeds.go | ||
| feedvault.db | ||
| go.mod | ||
| go.sum | ||
| handlers.go | ||
| handlers_test.go | ||
| html.go | ||
| html_test.go | ||
| LICENSE | ||
| main.go | ||
| opml.go | ||
| opml_test.go | ||
| quotes.go | ||
| README.md | ||
| sqlc.yaml | ||
| stats.go | ||
| validate.go | ||
| validate_test.go | ||
FeedVault
A seed vault for your feeds.
FeedVault is an open-source web application written in Golang that allows users to archive and search their favorite RSS, Atom, and JSON feeds. With FeedVault, users can effortlessly add their favorite feeds, ensuring they have a centralized location for accessing and preserving valuable content.
Features
Note: Some features are currently in development.
- Unified Feed Archiving: Archive RSS (0.90 to 2.0), Atom (0.3, 1.0), JSON (1.0, 1.1), Dublin Core, and ITunes feeds seamlessly in one centralized location.
- Content Search: Easily search your archive for specific content.
- Export Options: Export your archive to various formats, including JSON, CSV, HTML, ODS, RST, TSV, XLS, XLSX, or YAML.
- API: Access your archive programmatically through a API.
- Self-Hosting: Host FeedVault on your own server for complete control over your data.
- Privacy-Focused: FeedVault respects user privacy by not tracking or collecting any personal data. It is an ad-free platform that prioritizes user security.
Usage
- Visit the FeedVault website.
- Sign up for an account or log in if you already have one.
- Add your favorite feeds to start archiving content.
- Explore, manage, and enjoy your centralized feed archive.
Contributing
All contributions are welcome regardless of skill level or experience.
Please create a new issue before submitting a big pull request. I am probably okay with anything, but I don't want you to waste your time on something that I won't accept.
Try to minimize the number of dependencies you add to the project. If you need to add a new dependency, please create an issue first.
Contact
For any inquiries or support, please create an issue on GitHub.
Development
- I use goose and sqlc for database migrations and queries.
- To create a new migration, run
goose create <migration_name> sql. Then, edit the file insql/schema/<date>_<migration_name>.sqland rungoose upto apply the migration.- You will have to install
goosefirst. See the Goose documentation. - You will also have to install
sqlc. See the sqlc documentation. - You have to set some environment variables for this. See .vscode/settings.json for local development.
- You will have to install
- To generate new queries, run
sqlc generate.
- To create a new migration, run
Thank you for using FeedVault! Happy archiving!