ThePhaseless
3c45ef9691
chore: fix ruff lint findings and refactor read_item
...
- Fix I001: sort imports in src/consts.py
- Fix PLC0415: move `import base64` to top of tests/main_test.py
- Fix UP037: remove quotes from LinkResponse return annotation
- Fix D213: correct multi-line docstring summary placement
- Remove unused `# noqa: BLE001` in src/owui.py
- Refactor read_item into helpers: setup_routes, load_page_and_solve,
build_response_content, _fetch_pdf_content — resolves C901 and PLR0915
- Add CPY001, BLE001 to ruff ignore list
2026-08-11 00:15:39 +02:00
ThePhaseless
0b4d1a91ce
feat: accept FlareSolverr maxTimeout in milliseconds
...
Add a maxTimeout alias to LinkRequest.max_timeout for FlareSolverr
drop-in compatibility. Values of 1000 or more are treated as
milliseconds and normalized to seconds; smaller values keep the
native seconds semantics. Closes #382 .
2026-08-07 23:51:44 +02:00
ThePhaseless
8c3e7a9fe4
refactor: use pydantic-settings for environment configuration
...
- Add pydantic-settings as direct dependency
- Replace os.getenv calls with typed Settings class
- Add BLOCK_MEDIA and RETURN_ONLY_COOKIES env defaults
2026-07-04 17:42:53 +02:00
ThePhaseless
80a608a629
feat: add blockMedia, returnOnlyCookies, PDF handling and fix timeout/networkidle
...
- Catch both builtins.TimeoutError and playwright TimeoutError as 408
- Check challenge title before networkidle to avoid timeout on Cloudflare interstitial
- Add blockMedia and returnOnlyCookies request options
- Return raw PDF bytes as base64 with contentType application/pdf
- Skip tests on 408 timeouts; add PDF handling test
2026-07-04 17:34:54 +02:00
ThePhaseless
d78b1df041
change healthcheck msg
2025-09-11 16:55:05 +00:00
ThePhaseless
f98e823991
Migrate to camoufox ( #235 )
...
* use camoufox
* build custom branches
* organize compose
* ignore missing stubs
* add init method
* create ADDON PATH
* check if solving is required
* type checking and remove logger
* uv sync
* add timeout
* add descriptiuon
* cancel previous runs
* wildcard minor
* fix proxy
* syntax fix
* [skip ci] fix loop warning
* fix proxy format
* copy over docker ignore
* remove testing line
* comment out port expose
* remove idope
* use strict typechecking
* refactor
* adjust compose
* run init only before test
* try test without init
* add curl
* handle page response
* remove turnsile test
* fix dockerignore symlink
* use newer debian
* bump pytest
* add docker in docker in devcontaienr
* remove unused values
* handle timeouts
* fix edgecase
* use new envs for proxy
* remove init command
* remove testing line
* remove setuptools
* fix linters
* reimport
* readd setuptools
* better float handling
2025-09-05 23:08:35 +02:00
ThePhaseless
5031d1e554
set default values
2025-05-17 22:45:21 +00:00
ThePhaseless
fe797ba2ac
add userAgent and version to healthcheck
2025-04-17 11:27:17 +00:00
ThePhaseless
e1a2e77036
tweak camel aliases
2025-04-08 12:34:25 +00:00
ThePhaseless
db0924d9ce
use default instead of factory
2025-03-01 20:09:33 +01:00
ThePhaseless
b8d2b80746
Fix timestamps
2025-03-01 19:55:35 +01:00
ThePhaseless
ecbb2ab182
separate files, add gzip, save screenshots on exception, add PROXY support
2025-02-17 23:08:14 +00:00