Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bogdal/freepacktbook
Claim Your Free PacktPub eBook automatically
https://github.com/bogdal/freepacktbook
backup docker ebooks library packtpub python tools
Last synced: 11 days ago
JSON representation
Claim Your Free PacktPub eBook automatically
- Host: GitHub
- URL: https://github.com/bogdal/freepacktbook
- Owner: bogdal
- License: mit
- Created: 2015-12-07T00:11:09.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2019-02-08T19:27:04.000Z (over 5 years ago)
- Last Synced: 2024-10-14T01:44:16.879Z (25 days ago)
- Topics: backup, docker, ebooks, library, packtpub, python, tools
- Language: Python
- Homepage:
- Size: 237 KB
- Stars: 73
- Watchers: 7
- Forks: 17
- Open Issues: 1
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
freepacktbook
=============.. image:: https://img.shields.io/circleci/project/bogdal/freepacktbook/master.svg
:target: https://circleci.com/gh/bogdal/freepacktbook/tree/master
.. image:: https://img.shields.io/pypi/v/freepacktbook.svg
:target: https://pypi.python.org/pypi/freepacktbook
Claim Your `Free PacktPub eBook `_ automatically.
**Quickstart:**
.. code-block:: bash
$ pip install freepacktbook
$ export [email protected]
$ export PACKTPUB_PASSWORD=my_password
$ export ANTICAPTCHA_KEY=api_key$ claim_free_ebook
``Freepacktbook`` uses paid captcha solving service `Anti-Captcha `_ (referral link), which costs $2 for 1k captchas.
Claim your daily free PacktPub ebook and download it:
.. code-block:: bash
$ export PACKTPUB_BOOKS_DIR=/path/to/my/books
$ claim_free_ebook --download
**Download all your ebooks:**
``freepacktbook`` allows you to backup all your ebooks and code files.
.. code-block:: bash
$ download_ebooks --formats mobi pdf --with-code-files
To see more information:
.. code-block:: bash
$ download_ebooks -h
**Cron configuration:**
Edit the current crontab:
.. code-block:: bash
$ crontab -e
Add the following lines:
.. code-block:: bash
#!/bin/bash
SHELL=/bin/bash
PACKTPUB_EMAIL='[email protected]'
PACKTPUB_PASSWORD='my_password'
ANTICAPTCHA_KEY='api_key'0 8 * * * /path/to/claim_free_ebook >> /tmp/claim_free_ebook.log 2>&1
This command shows the direct path to ``claim_free_ebook``:
.. code-block:: bash
which claim_free_ebook
Notifications (optional)
------------------------``Slack`` **integration**
Set additionally the following environment variables:
.. code-block:: bash
export SLACK_URL=https://hooks.slack.com/services/...
export SLACK_CHANNEL=random$ claim_free_ebook --slack
.. image:: https://github-bogdal.s3.amazonaws.com/freepacktbook/slack.png
``Pushover`` **integration**
Set additionally the following environment variables:
.. code-block:: bash
export PUSHOVER_USER=random
export PUSHOVER_TOKEN=random$ claim_free_ebook --pushover
..
..
Docker image
------------You can build your own docker image containing configured cron service. By default, the ``claim_free_ebook`` command is run daily at 8:00am CEST. See `Dockerfile `_.
Build an image:
.. code-block:: bash
$ docker build -t freepacktbook .
If you want to change the default time zone, use the ``TZ`` build argument:
.. code-block:: bash
$ docker build --build-arg TZ=UTC -t freepacktbook .
Run a new container:
.. code-block:: bash
$ docker run -d \
--name freepacktbook \
-e PACKTPUB_EMAIL= \
-e PACKTPUB_PASSWORD= \
-e ANTICAPTCHA_KEY= \
freepacktbookThe ``PACKTPUB_ARGS`` env variable passes the additional arguments to the ``claim_free_ebook`` command:
.. code-block:: bash
$ docker run -d \
--name freepacktbook \
--restart=always \
-e PACKTPUB_EMAIL= \
-e PACKTPUB_PASSWORD= \
-e ANTICAPTCHA_KEY= \
-e PACKTPUB_ARGS='--download' \
-v :/data \
freepacktbook
Also available on **Docker Hub**
`bogdal/freepacktbook:latest `_