mirror of
https://github.com/Sudo-Ivan/fusionx.git
synced 2025-11-23 07:29:08 +00:00
A lightweight, self-hosted friendly RSS reader
| .github | ||
| api | ||
| assets | ||
| auth | ||
| cmd/server | ||
| conf | ||
| frontend | ||
| migrations | ||
| model | ||
| pkg | ||
| repo | ||
| scripts | ||
| server | ||
| service | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| .goreleaser.yaml | ||
| .trivyignore | ||
| CONTRIBUTING.md | ||
| Dockerfile | ||
| feed.png | ||
| fly.toml | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| README.md | ||
| scripts.sh | ||
| trivy.yaml | ||
| zeabur.yml | ||
FusionX
FusionX is a fork of Fusion with faster and more experimental updates.
Features of FusionX
- Draggable feeds between groups
- Pull to refresh on unread
- Stats on settings page
- Display errors on status page for any issues fetching feeds.
- Optimized GH Actions build process
- Arm 32-bit support (v6 and v7)
- Demo Mode (demo deployment coming soon)
- 3-pane and drawer slide-out reading views (configure in settings)
- Share button for feed items (copies link to clipboard)
- Favicon Caching
To-Do
- Better search system
- Fever API Support
- Initial OPML or feed import via command or config
- Configurable Keyword and other filters for feeds
- Desktop app (Wails?)
Features of Fusion
- Group, bookmark, search, automatic feed sniffing, OPML file import/export
- Supports RSS, Atom, and JSON feed types
- Responsive, dark mode, PWA, keyboard shortcuts
- Lightweight and self-hosted friendly
- Built with Golang and SQLite; deploys with a single binary or a Docker container
- Uses about 80MB of memory
- Internationalization (i18n): English, Chinese, German, French, Spanish, Russian, Portuguese, and Swedish
Installation
Drop-in replacement for Fusion (Docker)
Replace ghcr.io/0x2e/fusion:latest with ghcr.io/sudo-ivan/fusionx:latest in your Docker setup.
Docker
Use
latesttag for the latest release version.Use
maintag for the latest development version.
- Docker CLI
docker run -it -d -p 8080:8080 \
-v $(pwd)/fusion:/data \
-e PASSWORD="fusion" \
ghcr.io/sudo-ivan/fusionx:latest
- Docker Compose
version: "3"
services:
fusion:
image: ghcr.io/sudo-ivan/fusionx:latest
ports:
- "127.0.0.1:8080:8080"
environment:
- PASSWORD=fusion
restart: "unless-stopped"
volumes:
# Change `./data` to where you want the files stored
- ./data:/data
Pre-built binary
Download from Releases.
Build from source
Check out the "Contributing" section.
Configuration
All configuration items can be found in .env.example.
Fusion can be configured in many ways:
- System environment variables, such as those set by
export PASSWORD=123abc. - Create a
.envfile in the same directory as the binary. Note that values in.envfile can be overwritten by system environment variables.
Contributing
Contributions are welcome! Before contributing, please read the Contributing Guidelines.
- Prepare environment: Go 1.24+, Node.js 24+ (and pnpm).
- Check out the commands in
scripts.sh.
For example:
./scripts.sh build