A lightweight, self-hosted friendly RSS reader
Find a file
2025-09-25 11:58:36 -05:00
.github Update Go version and dependencies 2025-09-25 04:02:45 -05:00
api Fix favicon fetching and caching improvements 2025-09-25 04:00:11 -05:00
assets doc: update screenshots 2025-03-29 19:52:18 +08:00
auth rename module and update references to 'fusionx' 2025-09-15 04:04:32 -05:00
cmd/server rename module and update references to 'fusionx' 2025-09-15 04:04:32 -05:00
conf rename module and update references to 'fusionx' 2025-09-15 04:04:32 -05:00
frontend Fix favicon fetching and caching improvements 2025-09-25 04:00:11 -05:00
migrations feat: implement favicon caching and retrieval functionality 2025-09-16 01:44:28 -05:00
model feat: implement favicon caching and retrieval functionality 2025-09-16 01:44:28 -05:00
pkg rename module and update references to 'fusionx' 2025-09-15 04:04:32 -05:00
repo feat: implement favicon caching and retrieval functionality 2025-09-16 01:44:28 -05:00
scripts Add Install Scripts 2025-09-15 02:10:05 -05:00
server fix: handle favicon updates safely and adjust directory permissions 2025-09-16 01:49:45 -05:00
service Fix favicon fetching and caching improvements 2025-09-25 04:00:11 -05:00
.dockerignore fix: add the missing .git/ for fe build 2024-03-17 21:00:09 +08:00
.env.example feat: introduce demo mode functionality 2025-09-15 01:09:54 -05:00
.gitignore feat: implement favicon caching and retrieval functionality 2025-09-16 01:44:28 -05:00
.goreleaser.yaml Fix 2025-09-16 04:08:52 -05:00
.trivyignore fix 2025-09-16 01:54:38 -05:00
CONTRIBUTING.md docs: add contributing guidelines (#117) 2025-04-06 15:27:41 +08:00
Dockerfile Update to use Alpine 2025-09-25 11:58:36 -05:00
feed.png Fix favicon fetching and caching improvements 2025-09-25 04:00:11 -05:00
fly.toml update 2025-09-15 04:01:00 -05:00
go.mod Update Go version and dependencies 2025-09-25 04:02:45 -05:00
go.sum Update Go version and dependencies 2025-09-25 04:02:45 -05:00
LICENSE Initial commit 2024-03-06 16:43:43 +08:00
README.md Update 2025-09-25 04:00:33 -05:00
scripts.sh feat: enhance CI workflows and optimize frontend build process 2025-09-10 18:44:12 -05:00
trivy.yaml fix 2025-09-16 01:54:38 -05:00
zeabur.yml rename module and update references to 'fusionx' 2025-09-15 04:04:32 -05:00

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 latest tag for the latest release version.

Use main tag 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.

One-Click Deployment

Deploy on Fly.io

Deploy on Zeabur

Maintained by community:

Deploy on Railway

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 .env file in the same directory as the binary. Note that values in .env file 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

Credits