Anything in the console? I actually didn't realize iTunes still worked on Mavericks at all. I uninstalled it as I don't like iTunes.
weirdly enough, it just randomly started working againAnything in the console? I actually didn't realize iTunes still worked on Mavericks at all. I uninstalled it as I don't like iTunes.
Anything in the console? I actually didn't realize iTunes still worked on Mavericks at all. I uninstalled it as I don't like iTunes.
Anything in the console? I actually didn't realize iTunes still worked on Mavericks at all. I uninstalled it as I don't like iTunes.
just do a software update for the system, it includes itunesIf it's of any interest this is what happens every time I launch iTunes. On my copy of Mavericks, I stuck to version 11.4.
View attachment 2479173
None of the examples seemed to work, but after a morning of trial and error managed to get a combination of LLMs to write something that does work, complete with intermediate certificate fetching. (Yes, this is AI Slop, I'm being up front about it! But it's the kind of boilerplate LLMs tend to be decent at, and I'm too unfamiliar with golang to code this by hand in a reasonable amount of time.)Squid seems like overkill for this, in terms of binary size and resource footprint. Seems like the only part you need is an https proxy (to be precise a proxy that supports http connect) that can intercept/mitm traffic (thus splitting the single tls negotiation into two, one between the client and proxy, and another between proxy and remote server).
Any of
![]()
mitm/mitm.go at master · kr/mitm
Contribute to kr/mitm development by creating an account on GitHub.github.com
![]()
GitHub - AdguardTeam/gomitmproxy: Simple golang mitm proxy implementation
Simple golang mitm proxy implementation. Contribute to AdguardTeam/gomitmproxy development by creating an account on GitHub.github.com
![]()
Golang Http(s) mitm Proxy
Golang Http(s) mitm Proxy. GitHub Gist: instantly share code, notes, and snippets.gist.github.com
should work, all very simple and readable < 500 loc implementation of this, thanks to Golang's robust networking libraries.
And as a bonus this should work on any machine (< 10.5 or > 10.11) if you pair it the legacy support dylib.
pip
works without doing anything special.The problem is that it is broke, you just haven't run into a situation yet where it broke something, or you didn't realize it was the proxy's fault.Cool. Your call on this. I’m still using your original release of squid on 10.6. No issues over the last few years, so i’m going to stick with it. If it ain’t broke, don’t fix it.
// Copy data from src to dst
func proxy(dst io.Writer, src io.Reader, direction string, done chan<- struct{}) {
defer func() { done <- struct{}{} }()
buf := make([]byte, 64*1024)
I can try it again next weekend, I probably gave up on it too quickly. The fact that the code is spread across multiple files was throwing me off, I couldn't figure out where some of the functions were coming from but now I see they're just in other files in that repo. I would have to figure out how to add the AIA chasing, and make sure it reads certs from the system store (aka Keychain Access).Also what was the issue you saw with https://github.com/kr/mitm/blob/master/mitm.go ? At first glance that seems to be a lot more elegant in that it re-uses golang's existing ReverseProxy library
When I tried it this morning, Go 1.18 seemed to have some type of issue building with the Mavericks version of clang, which I probably could have worked around by disabling CGO, but I wasn't sure if there would be a fallout from that. I know I could have used the MacPorts toolchain but I wanted to avoid that for ease of development.Also you could even build it with as high as go 1.18 I think.
I am currently trying to make curl work. I have installed squid with this, got the xi1 (ix1?) certificate and enforced it systemwide, compiled newest 32-bit versions of curl and openssl, and... well, it does not work. OpenSSL correctly connects to example.org but curl refuses with error 60, claiming that there is a self signed certificate in there. I am not good at networking, but I did not see any self signed certificates whilst reading openssl logs. So, I am not sure.
I am trying this on Mac OS X 10.6.8 and I am not sure what to do next. I have tried various compilations of curl but nothing is working to fix this. I updated the cacert.pem and that changed nothing, too. I tried macports to compile curl and, surprise, nothing compiles: it tries to compile openssl3 and fails to do so, and since this is a dependency of curl... yeah, it doesnt work.
Im turning to some (possible) help here because I dont know what the issue might be. I thought it might be squid doing something, just not sure what it would be..
-k
to disable cert checking, but you probably shouldn't. (This basically erases the security advantages of using https over http.)I wouldnt really call buillds from 2019 and 2021, respectively, "modern", but i see some point here. I will try to check this though and see if that will work.Did you set all of the below environment variables?
HTTPS_PROXY="http://localhost:3128"
SSL_CERT_FILE="/Library/Squid/Certificates/squid.pem"
REQUESTS_CA_BUNDLE="/Library/Squid/Certificates/squid.pem"
The latter two are because curl (like many other UNIX command line tools, although not all of them) does not read certificates from Keychain Access by default, it will read from one of these environment variables. Off the top of my head, I don't remember which of them curl specifically uses.
You could also probably use-k
to disable cert checking, but you probably shouldn't. (This basically erases the security advantages of using https over http.)
Mind, if you're using a modern copy of curl compiled with modern OpenSSL, you probably don't need to use a proxy at all.
Well, it didnt. Now SSL doesnt even work correctly.I will try to check this though and see if that will work.
Yep it does, i have the proxy enabled and curl doesnt use it (while websites do, because it wouldnt work otherwise). I have a lot of variables in my bash profile but I dont want to touch it, because its working so I aint fixing. Seems like all this allowed me to finally use the pc normally. Gonna attach that image with my variables for future reference. (its a photo, because I didnt wanna bother with doing this in the browser)What about the opposite, then? If you explicitly set HTTPS_PROXY="" so curl doesn't use the proxy (because it's relatively modern and can connect on its own), does that work?