Skip to content

A web service written in Rust to send web content like articles and blogs to Kindle devices

Notifications You must be signed in to change notification settings

megaconfidence/send2kindle

Repository files navigation

send2kindle

This project is an OSS service written in Rust to send web content such new articles and blogs to your Kindle device devices.



Project home page https://send2kindle.confidence.sh/

To use this service, it's important you add the sender email to receive documents on your Kindle device. A guide on how to do this can be found here.

Dependencies

The Docker image contains all dependencies required to run this project.

Project dependencies:

Local Setup

Instructions below show how to build and run a container for this project. Please note that you have to create a .env file using the variables in this guide.

git clone https://github.com/megaconfidence/send2kindle.git
cd send2kindle
docker build . -t megaconfidence/send2kindle
docker compose up -d

Run with docker run

docker run --rm -it --name send2kindle -p 3310:3310 --env-file .env megaconfidence/send2kindle
docker stop send2kindle

Endpoints

/

This route serves the web client which can be viewed on a browser at:

http://localhost:3310/

/send

To send a webpage to any kindle email address by making a post request to the /send endpoint.

curl -X POST http://localhost:3310/send \
-H "Content-Type: application/json" \
-d '{"email": "username@kindle.com", "url": "http://example.com/"}'

Roadmap

This project is still in active development and would require a few new features to improve accessibility:

  • Webclient gui
  • Browser extension
  • Use of SMTP client
  • Add controls for optimized page rendering
  • Pdf compression for large webpages
  • Automated Docker builds
  • Non-blocking background job for rendering and emailing
  • Logging/tracing

About

A web service written in Rust to send web content like articles and blogs to Kindle devices

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published