<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jul 15, 2022, 17:24  <<a href="mailto:wowfunhappy@gmail.com">wowfunhappy@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div></div><blockquote type="cite"><div>is it possible to provide</div><div>some of the system packages with fresh frameworks, most important, SSL?</div><div>I'd need that for Mail (even TenFourBird doesn't work) and a working</div><div>browser...</div></blockquote><br><div>So for SSL, what you want to do is set up a proxy server that can act as a "man in the middle" for your Mac's SSL traffic. This proxy will intercept the legacy SSL traffic coming from your Mac and translate it into modern HTTPS traffic before sending it to the server. Similarly, it will intercept the server's modern SSL traffic and translate it into legacy SSL traffic before sending it to your Mac. This will allow plain ol' Apple Mail to connect to modern providers (and fix an assortment of other random stuff).</div><div><br></div><div>There are a number of programs that can act as a MiTM proxy, but I personally use Squid. For legacy Intel Macs running e.g. Snow Leopard, I actually have an installer on <a href="https://jonathanalland.com/old-osx-projects.html" target="_blank" rel="noreferrer">https://jonathanalland.com/old-osx-projects.html</a> that sets up everything automatically.</div><div><br></div><div>The only problem is that you're on PowerPC. I have never been able to get Squid working reliably on Mac PPC with the necessary features enabled. So, what you need to do instead is set up Squid on a secondary machine on your network, and use the IP address of that machine as your proxy server in System Preferences. This secondary machine could be an old PC or a Raspberry Pi.</div><div><br></div><div>There are a few too many variables for me to provide precise setup instructions, but you will want Squid's configuration file to look something like the below:</div><div><br></div><div><div style="margin:0px"><font face="Courier New">http_port 3128 ssl-bump generate-host-certificates=on cert=/path/to/squid.pem key=path/to/squid-key.pem</font></div><div style="margin:0px;min-height:14px"><font face="Courier New"><br></font></div><div style="margin:0px"><font face="Courier New">tls_outgoing_options cafile=/path/to/cacert.pem</font></div><div style="margin:0px"><font face="Courier New">sslcrtd_program /path/to/security_file_certgen</font></div><div style="margin:0px;min-height:14px"><font face="Courier New"><br></font></div><div style="margin:0px"><font face="Courier New">acl local_addresses ssl::server_name_regex ^192\.[0-9]+\.[0-9]+\.[0-9]+$ ^10\.[0-9]+\.[0-9]+\.[0-9]+$ ^172\.(1[6-9]|2[0-9]|3[01])\.[0-9]+\.[0-9]+$</font></div><div style="margin:0px"><font face="Courier New">acl loopback_addresses ssl::server_name_regex ^127\.[0-9]+\.[0-9]+\.[0-9]+$ ^::1$</font></div><div style="margin:0px"><font face="Courier New">acl apple_domains ssl::server_name_regex ess\.apple\.com$  ^sw.*\.apple\.com$ ^iphone-services\.apple\.com$</font></div><div style="margin:0px"><font face="Courier New">acl excluded any-of local_addresses loopback_addresses apple_domains</font></div><div style="margin:0px"><font face="Courier New">ssl_bump splice excluded</font></div><div style="margin:0px"><font face="Courier New">ssl_bump bump all</font></div><div style="margin:0px;min-height:14px"><font face="Courier New"><br></font></div><div style="margin:0px"><font face="Courier New">acl fetched_certificate transaction_initiator certificate-fetching</font></div><div style="margin:0px"><font face="Courier New">cache allow fetched_certificate </font></div><div style="margin:0px"><font face="Courier New">http_access allow fetched_certificate</font></div><div style="margin:0px"><font face="Courier New">sslproxy_cert_error deny all</font></div><div style="margin:0px;min-height:14px"><font face="Courier New"><br></font></div><div style="margin:0px"><font face="Courier New">http_access allow localhost</font></div><div style="margin:0px"><font face="Courier New">http_access deny to_localhost</font></div><div style="margin:0px"><font face="Courier New">http_access allow local_addresses</font></div><div style="margin:0px"><font face="Courier New">http_access deny all</font></div></div><font face="Courier New"><span></span></font><div><br></div><div>You can obtain Mozilla's cacert.pem from <a href="https://curl.se/docs/caextract.html" target="_blank" rel="noreferrer">https://curl.se/docs/caextract.html</a>.</div><div><br></div><div>You can generate the squid.pem and squid-key.pem certificates with something like:</div><div><br></div><div><div style="margin:0px"><font face="Courier New">openssl req -x509 -newkey rsa:4096 -subj '/CN=Squid' -nodes -days 999999 -keyout squid-key.pem -out squid.pem</font></div></div><div style="margin:0px"><br></div><div style="margin:0px">Afterwards, you will also need to add Squid.pem to Keychain Access on your Mac, and set its trust settings to "Always Trust" for "Secure Socket Layer (SSL)" traffic. This is what allows the proxy server to decrypt, translate, and re-encrypt your HTTPS traffic.</div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Of course you can run this on another machine? I'm thinking of making my server/router have something like this for my old machines.</div><div dir="auto"></div></div>