2025-10-17 11:54:37 +03:00
2025-10-17 11:52:47 +03:00
2025-10-17 11:54:37 +03:00

KolibriOS Mini Proxy

Features

  • Allow accessing https sources
  • Proper processing on CP866 and raw bytes strings
  • Blocks localhost/private/reserved IPs unless ALLOW_PRIVATE=1
  • Manual redirects with per-hop SSRF checks (MAX_REDIRECTS)
  • Retries/backoff for 429/5xx & transient errors
  • Streams and caps body to MAX_BYTES
  • Safe header passthrough + nosniff
  • Allows only get requests on /?site= endpoint
  • Strips <style> and <script> blocks from source pages

How to Run

pip install requests urllib3 beautifulsoup4
python3 app.py --host 127.0.0.1 --port 8888 

Launch Params (All Optional)

  • --allow-private - blocks hosts that resolve to private/loopback/reserved/link-local/multicast IPs. Set it to allow them (disables that SSRF protection).
    • Default: disabled.
  • --timeout N - per-request timeout in seconds for the upstream fetch (connect + read).
    • Default: 15.
  • --max-bytes N - hard cap on how many bytes the proxy will download/return from the upstream response.
    • Default: 10485760 (10 MiB).
  • --retries N - max number of retries on 429/5xx and transient network errors (backoff applied). Up to this many retries after the first attempt.
    • Default: 5.
  • --max-redirects N - maximum redirect hops the proxy will follow, validating each hop before fetching. Exceeding this results in 502.
    • Default: 5.

Example Usage

GET /?site=https://example.com -> returns the fetched response
Description
Simple Flask proxy server for viewing https pages from KolibriOS WebView browser.
Readme 37 KiB
Languages
Python 97.7%
Nix 2.3%