Skip to content
/ inkfeed Public

Inkfeed is a lightweight, alternative Reddit client specifically designed for e-ink devices like Kindle.

License

Notifications You must be signed in to change notification settings

ristri/inkfeed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Inkfeed

Inkfeed is a lightweight, alternative Reddit client specifically designed for e-ink devices like Kindle. While optimized for e-readers, it works seamlessly across mobile devices and desktop browsers, providing a distraction-free browsing experience.

Key Features

  • No JavaScript for core functionality
  • E-ink friendly interface with high contrast and clear typography
  • Responsive design that adapts to different screen sizes
  • Self-hostable on various platforms
  • Uses Reddit's JSON API for content fetching

Screenshots

/r/cricket on a Kindle 10th generation

/r/cricket on a Kindle 10th generation

comments section on a Kindle 10th generation

Comments section on a Kindle 10th generation

/r/technology on an Android on EinkBro browser

/r/technology on an Android on EinkBro browser

Installation and Setup

Prerequisites

  • Go 1.21 or later
  • Git

Standard Installation

  1. Clone the repository:
git clone https://github.com/ristri/inkfeed.git
cd inkfeed
  1. Install dependencies:
go mod tidy
  1. Run the server:
go run main.go

The server will start on http://localhost:8080

Development with Air (Hot Reload)

For development, you can use Air for hot reloading. To install Air, visit: https://github.com/cosmtrek/air

Once Air is installed, simply run:

air

Docker Installation

  1. Build the Docker image:
docker build -t inkfeed .
  1. Run the container:
docker run -p 8080:8080 inkfeed

Access the application at http://localhost:8080

Self-Hosting Guide

Standard Server

  1. Build the binary:
go build -o inkfeed
  1. Run the server:
./inkfeed

Raspberry Pi

  1. Install Go on Raspberry Pi:
sudo apt update
sudo apt install golang
  1. Follow the standard installation steps above.

  2. To run as a service, create a systemd service file:

sudo nano /etc/systemd/system/inkfeed.service

Add the following content:

[Unit]
Description=Inkfeed Reddit Client
After=network.target

[Service]
ExecStart=/path/to/inkfeed
WorkingDirectory=/path/to/inkfeed/directory
User=pi
Restart=always

[Install]
WantedBy=multi-user.target

Enable and start the service:

sudo systemctl enable inkfeed
sudo systemctl start inkfeed

Android (Termux)

  1. Install Termux from F-Droid

  2. Install required packages:

pkg update
pkg install golang git
  1. Follow the standard installation steps

  2. To keep the server running in background:

tmux
./inkfeed
# Press Ctrl+b then d to detach

Important Notes

  • This project uses Reddit's JSON API which has rate limits. Due to these limitations, no public instance is hosted.
  • It's recommended to self-host for personal use only.
  • The application is designed to work without JavaScript, making it ideal for e-readers.
  • Some features may require JavaScript, but core browsing functionality works without it.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the terms of the GPLv3.

About

Inkfeed is a lightweight, alternative Reddit client specifically designed for e-ink devices like Kindle.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published