Skip to content

feat: implement HTTPS proxy tunneling, SSL verification, and srcset s…#301

Open
poria-lang wants to merge 1 commit intoxroche:masterfrom
poria-lang:master
Open

feat: implement HTTPS proxy tunneling, SSL verification, and srcset s…#301
poria-lang wants to merge 1 commit intoxroche:masterfrom
poria-lang:master

Conversation

@poria-lang
Copy link

This commit addresses several long-standing functional and security issues:

  1. HTTPS Proxy Support: Implemented the HTTP CONNECT method in src/htslib.c. HTTrack now correctly tunnels HTTPS traffic through proxies instead of bypassing them. Added a 30s handshake timeout using select() for stability.

  2. SSL Security: Enabled peer certificate verification in src/htslib.c using SSL_VERIFY_PEER. Added system default CA path loading to prevent MITM attacks on HTTPS mirrors.

  3. Modern Web Support: Added srcset attribute parsing in src/htsparse.c to support modern responsive image downloading.

  4. Stability: Moved proxy tunnel metadata to a fixed 256-byte buffer in htsopt.h to prevent memory fragmentation during long-running crawls.

Fixed: #179, #300 (Proxy Bypass), #235 (srcset support)

…upport

This commit addresses several long-standing functional and security issues:

1. HTTPS Proxy Support: Implemented the HTTP CONNECT method in src/htslib.c.
   HTTrack now correctly tunnels HTTPS traffic through proxies instead of
   bypassing them. Added a 30s handshake timeout using select() for stability.

2. SSL Security: Enabled peer certificate verification in src/htslib.c using
   SSL_VERIFY_PEER. Added system default CA path loading to prevent MITM
   attacks on HTTPS mirrors.

3. Modern Web Support: Added srcset attribute parsing in src/htsparse.c to
   support modern responsive image downloading.

4. Stability: Moved proxy tunnel metadata to a fixed 256-byte buffer in
   htsopt.h to prevent memory fragmentation during long-running crawls.

Fixed: xroche#179, xroche#300 (Proxy Bypass), xroche#235 (srcset support)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fiddler5 Proxy not working

2 participants