instapaper-sender: Basic HTTP gateway to save articles to Instapaper

[ agpl, program, web ] [ Propose Tags ]

Please see

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS],,
Dependencies aeson (>= && <1.2), base (>=4.7 && <5), bytestring (>= && <0.11), data-default-class (>= && <0.2), HaskellNet (>=0.5.1 && <0.6), HaskellNet-SSL (>= && <0.4), http-types (>=0.9.1 && <0.10), network (>= && <2.7), scotty (>=0.11.0 && <0.12), text (>= && <1.3), wai (>= && <3.3), wai-extra (>= && <3.1) [details]
License AGPL-3.0-only
Copyright 2017 Michael Smith
Author Michael Smith
Category Web
Home page
Uploaded by MichaelSmith at 2017-02-03T23:14:05Z
Reverse Dependencies 1 direct, 0 indirect [details]
Executables instapaper-sender
Downloads 1976 total (8 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
Last success reported on 2017-02-04 [all 3 reports]

Readme for instapaper-sender-

[back to package description]


Basic HTTP gateway to save articles to Instapaper

Hackage Hackage-Deps


instapaper-sender provides an web server that will take URLs and send them to Instapaper via email. This makes it easier to add articles to your reading list from devices that lack an Instapaper app, for example, the Kindle.

Note that the web service runs unauthenticated: if someone finds your server address, they can add whatever they want to your reading list!


Install Stack and run stack build.


Obtain an email account on a service that supports SMTP with SSL (for example, Yandex Mail).

Copy the included config.example.json and fill out the settings:

  "http": {
    "port": <port for the HTTP server to listen on>
  "smtp": {
    "host": "<SMTP host to connect to>",
    "port": <SMTP port to connect on>,
    "username": "<SMTP username to authenticate with>",
    "password": "<SMTP password to authenticate with>",
    "from": "<email address for the From field>"
  "instapaper": {
    "email": "<your unique Instapaper email address>"

All fields are mandatory. The Instapaper email address for your account can be found on this page.

Start the server, via stack exec -- instapaper-sender or by setting up the compiled executable as a daemon (see the sample systemd unit file).

instapaper-sender expects to be forwarded requests from a reverse proxy setup like Nginx (see the sample Nginx configuration). It will look for the forwarded IP address in the HTTP headers when producing log output.

Once you're all set up, navigate to http://<your instapaper-sender address>/<url> to send <url> to your reading list.


Copyright (C) 2017 Michael Smith <>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see