{"id":22268483,"url":"https://github.com/spinda/instapaper-sender","last_synced_at":"2025-07-28T12:31:15.219Z","repository":{"id":56848088,"uuid":"80876579","full_name":"spinda/instapaper-sender","owner":"spinda","description":"📰 Basic HTTP gateway to save articles to Instapaper","archived":false,"fork":false,"pushed_at":"2017-02-03T23:14:26.000Z","size":26,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-28T12:52:08.469Z","etag":null,"topics":["email","instapaper","web"],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spinda.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-02-03T22:57:00.000Z","updated_at":"2024-04-11T03:43:00.000Z","dependencies_parsed_at":"2022-09-07T01:01:31.672Z","dependency_job_id":null,"html_url":"https://github.com/spinda/instapaper-sender","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spinda%2Finstapaper-sender","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spinda%2Finstapaper-sender/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spinda%2Finstapaper-sender/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spinda%2Finstapaper-sender/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spinda","download_url":"https://codeload.github.com/spinda/instapaper-sender/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227905517,"owners_count":17837906,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["email","instapaper","web"],"created_at":"2024-12-03T11:13:00.886Z","updated_at":"2024-12-03T11:13:01.569Z","avatar_url":"https://github.com/spinda.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# instapaper-sender\n\n*Basic HTTP gateway to save articles to Instapaper*\n\n[![Hackage](https://img.shields.io/hackage/v/instapaper-sender.svg)](https://hackage.haskell.org/package/instapaper-sender)\n[![Hackage-Deps](https://img.shields.io/hackage-deps/v/instapaper-sender.svg)](http://packdeps.haskellers.com/feed?needle=instapaper-sender)\n\n## Intro\n\n`instapaper-sender` provides an web server that will take URLs and send them to\nInstapaper via email. This makes it easier to add articles to your reading list\nfrom devices that lack an Instapaper app, for example, the Kindle.\n\nNote that the web service runs ***unauthenticated***: if someone finds your\nserver address, they can add whatever they want to your reading list!\n\n## Build\n\nInstall [Stack](http://haskellstack.org/) and run `stack build`.\n\n## Usage\n\nObtain an email account on a service that supports SMTP with SSL (for example,\n[Yandex Mail](https://mail.yandex.com)).\n\nCopy the included `config.example.json` and fill out the settings:\n\n```\n{\n  \"http\": {\n    \"port\": \u003cport for the HTTP server to listen on\u003e\n  },\n  \"smtp\": {\n    \"host\": \"\u003cSMTP host to connect to\u003e\",\n    \"port\": \u003cSMTP port to connect on\u003e,\n    \"username\": \"\u003cSMTP username to authenticate with\u003e\",\n    \"password\": \"\u003cSMTP password to authenticate with\u003e\",\n    \"from\": \"\u003cemail address for the From field\u003e\"\n  },\n  \"instapaper\": {\n    \"email\": \"\u003cyour unique Instapaper email address\u003e\"\n  }\n}\n```\n\nAll fields are mandatory. The Instapaper email address for your account can be\nfound on [this page](https://www.instapaper.com/save/email).\n\nStart the server, via `stack exec -- instapaper-sender` or by setting up the\ncompiled executable as a daemon (see the sample\n[systemd unit file](/instapaper-sender.service)).\n\n`instapaper-sender` expects to\nbe forwarded requests from a reverse proxy setup like\n[Nginx](http://nginx.org/) (see the sample\n[Nginx configuration](/instapaper-sender.nginx)). It will look for the forwarded\nIP address in the HTTP headers when producing log output.\n\nOnce you're all set up, navigate to\n`http://\u003cyour instapaper-sender address\u003e/\u003curl\u003e` to send `\u003curl\u003e` to your reading\nlist.\n\n## License\n\nCopyright (C) 2017 Michael Smith \u0026lt;michael@spinda.net\u0026gt;\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as\npublished by the Free Software Foundation, either version 3 of the\nLicense, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License\nalong with this program. If not, see \u003chttp://www.gnu.org/licenses/\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspinda%2Finstapaper-sender","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspinda%2Finstapaper-sender","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspinda%2Finstapaper-sender/lists"}