Opened 3 years ago

Last modified 3 years ago

#63583 new defect

macos-fortress-easylistpac: Safari 15 iOS Bypasses proxy.pac PROXY setting for HTTPS 400 code

Reported by: essandess (Steve Smith) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: essandess (Steve Smith), cooljeanius (Eric Gallager)
Port: macos-fortress-easylistpac

Description

The PROXY blackhole approach used in port macos-fortress-easylistpac has stopped working for HTTPS requests on all iOS after updating to Safari on iOS/iPadOS 15.

Most requests now are HTTPS, so this breaks functionality.

Safari 15 appears to bypass the proxy.pac PROXY and sends requests to https://unwarranted.tracker.website/?whatever.

I hypothesize the reason is that the proxy returns 400 for such HTTPS CONNECT requests. Its behavior, expected for HTTPS CONNECT requests,looks like:

curl -I --proxy http://my.blackhole.server:8119 https://unwarranted.tracker.website/?whatever
HTTP/1.1 400 Bad Request
Server: nginx/1.21.3
Date: Sat, 25 Sep 2021 19:17:07 GMT
Content-Type: text/html
Content-Length: 157
Connection: close

curl: (56) Received HTTP code 400 from proxy after CONNECT

The fix appears to be to deprecate this repo and use Privoxy’s HTTPS inspection along with port adblock2privoxy.

Reference: https://github.com/essandess/easylist-pac-privoxy/issues/21

Change History (3)

comment:1 Changed 3 years ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added

comment:2 Changed 3 years ago by essandess (Steve Smith)

In 17dbffd4a4878130afd546886e3240bb3bd862be/macports-ports (master):

privoxy: Add HTTPS Inspection

  • Add HTTPS Inspection
  • Add surrogate CA creation within port
  • Add gpg verification
  • Add startupitem.pidfile
  • Compile manpage from configured Makefile
  • See: #63583#ticket

comment:3 Changed 3 years ago by essandess (Steve Smith)

In 5c01d2cc44e1c83877181b71ef315b6ee0717aef/macports-ports (master):

macos-fortress: Update to version 2021-10-23

  • Add HTTPS inspection capability
  • Addresses: #63583
Note: See TracTickets for help on using tickets.