Commit Graph
88 Commits
Author SHA1 Message Date
CaliBrain a3292d3f1c Fix AA detail page after they changed layout (#223)
Fix #222 and #221
v0.1.1
2025-08-18 13:34:05 -04:00
naandCaliBrain bdc36af9a9 Add semantic versioning for the docker images (#215)
For every push of a tag, create an image with the same tag.
This was also mentioned in [Semantic versioning for the docker container
#68

](https://github.com/calibrain/calibre-web-automated-book-downloader/issues/68)

---------

Co-authored-by: CaliBrain <calibrain@l4n.xyz>
v0.1.0
2025-08-18 11:49:10 -04:00
CaliBrain 5cf070a22d Fix book parsing from AA (#220) 2025-08-15 18:55:52 -04:00
CaliBrain 86c642d874 Restart Button when on DEBUG mode (#211)
Feature for #210
2025-08-06 17:17:32 -04:00
CaliBrain 340aa3aeee Fix slow download ordering logic (#208) 2025-07-30 10:58:53 -04:00
CaliBrain 20e14a970f Force libgen bz proxy (#207) 2025-07-30 10:34:02 -04:00
CaliBrain 6e50fb9249 Remove '--disable-web-security' which trips CF checks (#206) 2025-07-30 09:44:06 -04:00
CCarpo f9ddc2ffc2 use the FLASK_HOST variable as declared in the documentation (#205)
I noticed that the FLASK_HOST was not used as stated in the
documentation. I need it so that FLASK is listening on my IPv6 address.
2025-07-30 08:29:25 -04:00
CaliBrain e1d94f9cb5 Update download handling and URL selection logic (#203)
Changed intermediate download file naming in backend.py to use
.crdownload extension. Refactored URL selection logic in book_manager.py
to adjust order and inclusion based on Cloudflare bypass and donator
key. Added extra Chromium arguments in cloudflare_bypasser.py to ignore
certificate and SSL errors for improved bypass reliability.
2025-07-14 16:05:09 -04:00
smoke007 8c8cf4a4af Updated readme.md - Added details to fix "database locked" error for anyone using a cifs share for their library (#197)
Added details to fix "database locked" error for anyone using a cifs
share for their library under volumes. nobrl option needs to be added to
the mount line in your fstab file. e.g. //192.168.1.1/Books /media/books
cifs credentials=.smbcredentials,uid=1000,gid=1000,iocharset=utf8,nobrl
2025-07-14 15:31:47 -04:00
Martijn Ruijzendaal f9fb6c13b5 Add option to select formats (#193)
In response to #184, and for my own desperate need for PDFs, I
implemented this change.

The UI needs some tweaking, the functionality looks complete.

Before this pull request is merged, I'm modifying my docker compose as
follows to use the version that includes format options:

```diff
services:
  calibre-web-automated-book-downloader:
-    image: ghcr.io/calibrain/calibre-web-automated-book-downloader:latest
+    build:
+      context: https://github.com/mruijzendaal/calibre-web-automated-book-downloader.git
```

@calibrain Could you adjust the UI such that this fits better with the
rest of the application? I'm not well-versed with UIKit. Thanks in
advance for considering this pull request!
2025-07-14 15:31:18 -04:00
jojo141185 d90db433c4 Fix: Correct healthcheck behavior (#189)
### Problem
The current `HEALTHCHECK` uses a custom script that fails on any non-2xx
HTTP response. When the API returns a `401 Unauthorized` status (a
common and valid case), the container is incorrectly marked as
`unhealthy`, even though the web server is running perfectly.

### Solution
This PR replaces the custom `pyrequests` script with a standard `curl`
command. The new `HEALTHCHECK` now only verifies that the server is
reachable and responding to connections, regardless of the HTTP status
code.

`curl` is used instead of patching the existing script because it is the
standard, most robust, and simplest solution for this type of check in a
Docker environment. It removes a custom dependency and follows a
well-understood pattern.

This change ensures the container's health status accurately reflects
the state of the server process, improving reliability for orchestration
platforms.
2025-07-14 15:29:29 -04:00
Timothy Allen 086401083e Add simple authentication (#181)
This commit adds user authentication, using Calibre-Web's app.db as its
authentication source, as requested in #56. It uses @prinzpi's
[comment](https://github.com/calibrain/calibre-web-automated-book-downloader/issues/56#issuecomment-2919335169)
as a starting point, but integrates the logic directly into the app.

This requires the user to specify the environment variable CONFIG_ROOT,
set to Calibre-Web's config directory (the directory that contains the
app.db database that holds the user's authentication information).

If the user does not wish to add authentication, they can simply leave
CONFIG_ROOT unset, or not pointing at Calibre-Web's app.db directory.
2025-06-15 00:55:25 -04:00
CaliBrain 64733da704 Disable accordion insanely slow animation (#186)
Fix #185
2025-06-09 02:20:56 -04:00
CaliBrain 690c2b699c Fix download for other files than epub (#174)
Fix #173
2025-05-06 08:44:43 -04:00
CaliBrain 3d2d285da4 Fix typo in book-downloader logs (#172) 2025-05-01 02:12:25 -04:00
CaliBrain 600605f9c4 Fix is_writable check (#170) 2025-04-28 15:34:15 -04:00
CaliBrain 5c9962f17b Do not fail on folder permission error (#169) 2025-04-28 14:28:50 -04:00
CaliBrain c6ccff8c1c Add Permissions debug (#168) 2025-04-28 14:22:47 -04:00
CaliBrain 457351fa0b Better File check (#165)
- Better file permission initialization
- Fix chown bug
2025-04-27 13:49:07 -04:00
CaliBrain 49287ac86e Revert "Better file permission initialization" (#164)
Reverts calibrain/calibre-web-automated-book-downloader#162
2025-04-27 12:43:07 -04:00
CaliBrain 4ca8298b7e Better file permission initialization (#162) 2025-04-27 01:27:48 -04:00
CaliBrain 1d2d06a6d3 Add ISSUE template (#159) 2025-04-22 14:46:20 -07:00
CaliBrain b6931bb774 Add more debug tools (#158) 2025-04-22 14:39:43 -07:00
CaliBrain 93e15cbdd0 Fix tor log file getting removed (#157) 2025-04-22 11:15:15 -07:00
CaliBrain 88a95fe15e Try to fix TOR for older devices (#154) 2025-04-21 12:12:50 -04:00
CaliBrain 2b32c1cb95 Use legacy iptables for older systems (#153) 2025-04-20 21:20:41 -04:00
CaliBrain 072bd955e9 Fix git build version (#150) 2025-04-20 06:46:10 -04:00
CaliBrain 0f872f9795 Fix recording_dir typo (#149)
Fix for #148
2025-04-20 06:40:37 -04:00
CaliBrain 712f71a466 Add DEBUG button (#147) 2025-04-20 05:32:11 -04:00
Jacob Wolfe 05744eb256 Stop Gunicorn from Giving Up on Slow Tor Requests (#146)
I tried running the docker-compose.yml referenced in this comment
https://github.com/calibrain/calibre-web-automated-book-downloader/issues/120#issuecomment-2816539268
from issue #120 and was able to reproduce the same 'Server is not
responding' error. I found the issue would happen whenever the captcha
bypass took more than 30 seconds due to tor's slower connection. Adding
-t 300 would let gunicorn wait up to 5 minutes now.
2025-04-19 12:14:22 -04:00
CaliBrain 270fe7ae6b Fix tor (#145)
Add proper version in the container, and fix tor logging and
inconsistent flag
2025-04-19 01:33:58 -04:00
Jacob Wolfe 0be0c8f665 Fix cwa-book-downloader Permission Issues (#143)
Fix permission issues that occur if user forgets to create the
`cwa-book-downloader` folder before creating the docker container since
docker makes the directory with root ownership.
2025-04-19 00:57:34 -04:00
CaliBrain 0ba7031a83 Fix download + add test + fix book move (#140) 2025-04-16 11:18:03 -04:00
Jacob Wolfe 68f5464a88 Fix: Stop sudo -E from overwriting HOME environment variable (#138)
`sudo -E` was replacing `appuser`'s `$HOME` environment variable of
`/app` with `/root` causing permission issues when selenium tried to
write to `~/.cache/selenium`. This fixes [issue
#130](https://github.com/calibrain/calibre-web-automated-book-downloader/issues/130)
by allowing Driver from seleniumbase to successfully return instead of
timing out on line 172 in `cloudflare_bypasser.py`.
2025-04-16 10:56:19 -04:00
CaliBrain 747972180d Deep debug (#136) 2025-04-15 21:49:20 -04:00
CaliBrain 00d0a2e7c3 more debug logging (#135) 2025-04-15 10:52:25 -04:00
CaliBrain 954262fb2f Adding chrome logging (#134) 2025-04-15 08:43:45 -04:00
CaliBrain c2decb8c4f Add timezone fallback for tor container (#133) 2025-04-15 08:14:08 -04:00
CaliBrain 0a553e6794 Swap tor dev and prod cap_add (#132) 2025-04-15 07:42:42 -04:00
CaliBrain 13ad1d5f99 Fix dual routes bug in prod (#129) 2025-04-14 12:25:31 -04:00
CaliBrain 7dbc937507 Adding timeout to pyrequests (#127)
Fix #124
2025-04-13 13:04:54 -04:00
CaliBrain 666d7ba849 Refactor Cloudflare Bypass & Fix Bugs (#126) 2025-04-13 13:01:15 -04:00
CaliBrain 57f15b4d95 Tor support, use SeleniumBase instead of DrissionPage (#123)
Refactor: Improve Docker build, add Tor support, use SeleniumBase

- Overhauled Dockerfile:
    - Switched to python:3.10-slim base.
    - Implemented multi-stage builds (base, standard, tor).
    - Consolidated RUN layers for efficiency.
    - Added locale/timezone setup.
- Added Tor setup and iptables configuration in dedicated stage/script.
- Replaced DrissionPage with SeleniumBase for Cloudflare bypassing.
- Added Tor support via `docker-compose.tor.yml` and `tor.sh` script.
- Updated `docker-compose.yml` to build locally and changed default port
to 8083.
- Added `docker-compose.dev.yml` and `docker-compose.tor.dev.yml`.
- Updated `entrypoint.sh` for timezone and sudo usage.
- Added/Updated environment variables (`TZ`, `USING_TOR`, etc.).
- Improved `.dockerignore`.
- Updated `readme.md` to reflect port changes, build process, document
`TZ`, and add details about the new Tor variant.
2025-04-13 02:34:39 -04:00
CaliBrain e0e7470ac6 Add Backup method to move book after download (#119)
Fix #118
2025-04-04 18:10:08 -04:00
CaliBrain e29ccb7606 Try to match any z-lib domain for now (#117)
Should fix #116
2025-04-04 13:33:51 -04:00
CaliBrain d4ba269c3f DOH for Chromium (#113) 2025-03-29 17:43:46 -04:00
CaliBrain 38237c95ba DOH IP FIX (#112)
- Add Private IP ranges for local IP check
- Skip IP in Resolution
2025-03-29 12:07:43 -04:00
CaliBrain 785a1cd7c4 Fix order of imports (#111) 2025-03-29 11:52:45 -04:00
CaliBrain 05f2084a7b Fix typo in docker-compose.dev (#109) 2025-03-29 03:40:06 -04:00