Skip to content

Commit 0cac541

Browse files
authored
Update Readme with new changes (#344)
1 parent 85c8c91 commit 0cac541

File tree

1 file changed

+41
-21
lines changed

1 file changed

+41
-21
lines changed

readme.md

Lines changed: 41 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# 📚 Calibre-Web-Automated-Book-Downloader
22

3-
![Calibre-Web Automated Book Downloader](src/frontend/public/logo.png 'Calibre-Web Automated Book Downloader')
3+
<img src="src/frontend/public/logo.png" alt="Calibre-Web Automated Book Downloader" width="200">
44

55
An intuitive web interface for searching and requesting book downloads, designed to work seamlessly with [Calibre-Web-Automated](https://github.com/crocodilestick/Calibre-Web-Automated). This project streamlines the process of downloading books and preparing them for integration into your Calibre library.
66

@@ -65,6 +65,7 @@ An intuitive web interface for searching and requesting book downloads, designed
6565
| `LOG_LEVEL` | Log level to use | `info` |
6666
| `SESSION_COOKIE_SECURE` | Secure cookie enforcement - Use for HTTPS connections only | `false` |
6767
| `CALIBRE_WEB_URL` | Custom WebUI library link | None |
68+
| `BYPASS_WARMUP_ON_CONNECT` | Warm up Cloudflare bypasser when first client connects | `true` |
6869

6970
If you wish to enable authentication, you must set `CWA_DB_PATH` to point to Calibre-Web's `app.db`, in order to match the username and password.
7071

@@ -132,9 +133,11 @@ If disabling the cloudflare bypass, you will be using alternative download hosts
132133
| `AA_ADDITIONAL_URLS` | Proxy URLs for AA (, separated) | `` |
133134
| `HTTP_PROXY` | HTTP proxy URL | `` |
134135
| `HTTPS_PROXY` | HTTPS proxy URL | `` |
135-
| `CUSTOM_DNS` | Custom DNS IP | `` |
136+
| `CUSTOM_DNS` | DNS configuration | `auto` |
136137
| `USE_DOH` | Use DNS over HTTPS | `false` |
137138

139+
**Proxy Configuration**
140+
138141
For proxy configuration, you can specify URLs in the following format:
139142
```bash
140143
# Basic proxy
@@ -146,31 +149,44 @@ HTTP_PROXY=http://username:[email protected]:8080
146149
HTTPS_PROXY=http://username:[email protected]:8080
147150
```
148151

152+
**DNS Configuration**
149153

150-
The `CUSTOM_DNS` setting supports two formats:
154+
The `CUSTOM_DNS` setting controls how DNS resolution works. By default, it is set to `auto` which provides automatic failover for reliable connectivity.
151155

152-
1. **Custom DNS Servers**: A comma-separated list of DNS server IP addresses
153-
- Example: `127.0.0.53,127.0.1.53` (useful for PiHole)
154-
- Supports both IPv4 and IPv6 addresses in the same string
156+
**Auto Mode (Default)**
157+
158+
When `CUSTOM_DNS=auto`, the application starts with your system's default DNS. If DNS resolution fails, it automatically rotates through alternative providers using DNS over HTTPS (DoH):
159+
160+
1. System DNS (initial)
161+
2. Cloudflare (1.1.1.1)
162+
3. Google (8.8.8.8)
163+
4. Quad9 (9.9.9.9)
164+
5. OpenDNS (208.67.222.222)
165+
166+
This automatic rotation helps bypass ISP-level blocks and DNS issues without any manual configuration.
155167

156-
2. **Preset DNS Providers**: Use one of these predefined options:
157-
- `google` - Google DNS
158-
- `quad9` - Quad9 DNS
159-
- `cloudflare` - Cloudflare DNS
160-
- `opendns` - OpenDNS
168+
**Manual DNS Configuration**
161169

162-
For users experiencing ISP-level website blocks (such as Virgin Media in the UK), using alternative DNS providers like Cloudflare may help bypass these restrictions
170+
If you prefer to use a specific DNS configuration, you can override the auto behavior:
163171

164-
If a `CUSTOM_DNS` is specified from the preset providers, you can also set a `USE_DOH=true` to force using DNS over HTTPS,
165-
which might also help in certain network situations. Note that only `google`, `quad9`, `cloudflare` and `opendns` are
166-
supported for now, and any other value in `CUSTOM_DNS` will make the `USE_DOH` flag ignored.
172+
1. **Preset DNS Providers**: Use one of these predefined options:
173+
- `google` - Google DNS (8.8.8.8, 8.8.4.4)
174+
- `quad9` - Quad9 DNS (9.9.9.9, 149.112.112.112)
175+
- `cloudflare` - Cloudflare DNS (1.1.1.1, 1.0.0.1)
176+
- `opendns` - OpenDNS (208.67.222.222, 208.67.220.220)
167177

168-
Try something like this :
178+
2. **Custom DNS Servers**: A comma-separated list of DNS server IP addresses
179+
- Example: `127.0.0.53,127.0.1.53` (useful for PiHole)
180+
- Supports both IPv4 and IPv6 addresses
181+
182+
When using preset providers, you can optionally enable DNS over HTTPS with `USE_DOH=true`:
169183
```bash
170184
CUSTOM_DNS=cloudflare
171185
USE_DOH=true
172186
```
173187

188+
Note: When using custom IP addresses, the `USE_DOH` flag is ignored since DoH requires a known provider endpoint.
189+
174190
#### Custom configuration
175191

176192
| Variable | Description | Default Value |
@@ -235,7 +251,6 @@ This variant allows the application to use an external service to bypass Cloudfl
235251

236252
- When enabled, all requests that require Cloudflare bypass are sent to your external resolver service.
237253
- The application communicates with the resolver using its API.
238-
- This approach can improve reliability and performance, especially if your external resolver is optimized or shared across multiple applications.
239254

240255
#### Configuration
241256

@@ -263,11 +278,16 @@ This feature follows the same configuration of the built-in Cloudflare bypasser,
263278
#### Compatibility:
264279
This feature is designed to work with any resolver that implements the `FlareSolverr` API schema, including `ByParr` and similar projects.
265280

266-
#### Benefits:
281+
#### Internal vs External Bypasser
282+
283+
The **internal bypasser** (default) is custom-designed for this application's specific needs. It handles session management, cookie persistence, and retry logic optimized for book downloading workflows. For most users, this provides the most reliable experience out of the box.
284+
285+
The **external bypasser** is better suited if you:
286+
- Already run FlareSolverr/ByParr for other services and want to consolidate
287+
- Need to share bypass infrastructure across multiple applications
288+
- Want to offload browser automation to a dedicated, more powerful container
267289

268-
- Centralizes Cloudflare bypass logic for easier maintenance.
269-
- Can leverage more powerful or distributed resolver infrastructure.
270-
- Reduces load on the main application container.
290+
If you're unsure which to use, start with the default internal bypasser.
271291

272292
## 🏗️ Architecture
273293

0 commit comments

Comments
 (0)