back
153 comments
The problem with online checks (gatekeeper) are when you have flaky internet connection.

It can handle no connection quite well, but unstable internet is really a PITA - commands and applications lag randomly when launching etc... It took me some time to troubleshoot why suddenly ma MacOS was almost unusable and this was the culprit.

Also a PITA (even though it’s super easy for devs to replicate): being connected to your local network, but your internet is down.
Is there a way to make it "think" it is connected to internet?

Like plugging a device that will be seen as network card and responding to certain api requests to trick whatever service calls them?

That's a technique used/required by some software cracking methods - override your general network DNS lookup process (I believe anything you put in the "hosts" file in Linux/Mac, and the similar file in Windows - though obviously don't quote me on this - will be used rather than DNS-queried). So you configure say "google.com" to go directly to 127.0.0.1 (the localhost address, pointing right back at your own computer) and run a server on the port that the program is expecting to authenticate to.

The problem is responding to those API requests in a way that the program will accept - if it's just a simple PING, no issue, but if there's any sort of more advanced encryption, handshaking or license checking/exchange going on, you'll need to reverse engineer the algorithm. Some simple versions of that you can just record once and "replay", but most will at least have a timestamp hashed in.

(super rough, lay-man's understanding of the issue - sorry for any inaccuracies)

> Is there a way to make it "think" it is connected to internet?

You actually want the opposite, to make it think it's not connected to the internet. In other words, a network connection blockers such as Little Snitch.

Yes there is but you probably don't like the answer: install Linux on the thing and be done with it. It does not seem to work as well on the ARM-versions but on Intel it flies. You can try to keep on fighting the beast but in the end the beast will win unless you show it the door - its only vulnerability. You get the glitzy hardware without the annoyances of MacOS - Linux may have its own annoyances sometimes but these tend to be less nefarious and more easily solved than the hurdles put up by Apple. Apple is not alone in this or I would have said to install 'Linux or Windows', Microsoft is just as bad when it comes to these shenanigans. An additional benefit is that you'll be able to keep the thing running an up-to-date OS for far longer since (most...?) Linux distributions are not enmeshed in planned obsolescence schemes.

Source: typing this from an older ("late 2009") iMac running Linux

Not really but you can simulate this by either using iPhone as an AP and forcing 3G if possible or you can hide behind linux proxy and set up packet dropping (can be done with nftables) random packets.

That will result in almost unusable system.

Since macOS is AFAIK a laptop-focused operating system, and laptops are often used on the go, without any network connectivity, I'd expect it to work perfectly in that kind of situation. So these results are not that surprising.
Given the title I was expecting some kind of surprise, but everything works exactly as you would expect.
I like my Macs precisely because they are boring and almost never surprise me.

TBH, the only reason my Linux boxes surprise me is because I try stupid things such as mounting /var/log as a tmpfs to reduce write loads (mostly on RPis SD cards and eMMC devices).

I never say things like that but isn’t this like saying the floor is made out of floor?

I had to do a quick reality check after reading that article.

it read like someone appalled at the state of things setting up the ground work before getting to the problem, but then after that first stage, it just sort of ends. what a pointless read.
Definitely a solution in search of a problem.
Pretty sure it's just an advertisement.
This has already been refuted elsewhere in the comments. Your near certainty is completely unfounded.

Howard Oakley and his work are well known in our community. If you don't know him, then please don't cast aspersions.

some day I may be able to downvote posts.
It’s no longer possible at all on Windows 11, so it’s good to know.
Pardon if this is a stupid question, but I think I must be missing something. How is all of this different from turning WiFi off?
The difference is that it includes the initial installation process too. So the idea is that since online services are deeply embedded into the OS, what happens if you don't have an internet connection?

A few years back there was this issue of MacOS apps launching with a delay because the OS was checking with Appe if you are allowed to use the app. IIRC, this was just a bug.

Also, you won't be able to use iOS without an initial internet connection.

This creates a curiosity on how usable a Mac is without internet. As it turns out, it's pretty usable.

The difference is that this article is an advertisement for the app they're selling.
"I turned my WiFi off and nothing surprising happened" wouldn't make it to the front page of HN.
It isn’t. The how is provided for the sake of reader curiosity; it is ancillary to the analysis performed in this article.
The experience is much worse on a mac when you have a _poor_ internet connection.

- Apple just doesn't care about the size of their updates. Minor OS & XCode updates are in the gigabytes.

- Updates that you don't need right now cannot be cancelled, paused or rate-limited and will just eat your entire data cap with no warning.

- Applications literally take longer to open because of gatekeeper checks

Worth noting that macOS has a “low data mode” which solves several of these issues. Apps can hook into it also.

https://apple.stackexchange.com/questions/449668/what-is-low...

> - Updates that you don't need right now cannot be cancelled, paused or rate-limited and will just eat your entire data cap with no warning.

You should be able to turn off "check for updates" and "download new update when available", and only manually check for updates at a time and network location of your choice.

Search for "to set update options" on this page: https://support.apple.com/guide/mac-help/keep-your-mac-up-to...

But you may mean something different than I was thinking; maybe you don't find this functionality suitable, or find it doesn't work properly?

Would be interesting to every once in a while test "Using Linux without a network connection" (as in: install everything from usb/media and check all your workflows)
Slackware works great. OpenBSD, too.

I yard out the drive, attach it to another machine and toss a copy of, e.g., slackware64-current (+ sources) and a bootloader on the drive, put the drive back in its original machine and boot/install without a network.

After that, it may or may not ever see a network depending on what it is slated to do.

https://www.slackware.com/

I don't know about now, but when Ubuntu came on CD images intended for burning to actual CDs and offline installation, those images included most of the packages you'd ever need. Or at least that was my impression.
I'd expect any serious dist to already be doing this as part of their release process.
I expect it to work fairly well, apart from "netinst" install medias, of course.
I do the same thing basically on bare metal: with Little Snitch I have blocked almost all system processes from accessing the network at all.

macOS still works fine. (You have to widen the permissions a bit for OCSP and the TSS api when doing OS updates, however.)

I’m currently on the fence about buying Little Snitch. I tried the trial for a week and interestingly there were no outboard connections I did not expect so ended up allowing basically everything. I run a limited set of applications and that hasn’t changed in a number of years.

Obviously I feel quite happy that I’ve not found I’ve been allowing connections I didn’t want to but it also makes me feel perhaps I am being a little over the top by adding Little Snitch into the mix.

I went in thinking it would catch dozens of secret connections but nothing. So part of me feels it is over kill and a time waster for myself. Anyone care to explain how wrong I am? I would be grateful to be corrected and happy to buy if I can be convinced it is indeed worth while :)

macOS underlying system is really opaque, is Little Snitch really do block all that there is ?
> Indeed, if anything, the first run of apps like Xcode was started with less delay than when an internet connection is available.

Does anyone know whether this Apple server contact delay applies to every executable? Whenever I compile my code on a Mac the first run is delayed by 2-5 seconds and it's getting really annoying.

Guys! Guys! I turned Internet off, and guess what?!? No internet based features worked!! Can you believe that I couldn't authenticate to my apple account?!
My takeaway was more that the author expected a ton of things to not work, while in reality only a few didn't.
Please point out where the author claimed to be surprised by this. We'll wait.
This just reminds me of Windows 11. The Home edition which most people would buy cannot bypass the setup screen without connecting to the internet and creating a Microsoft account. Can't believe Apple is the more free option here.
Even in the latest release of Windows 11 Home, the seemingly-required Microsoft account login can be bypassed via OOBE\BYPASSNRO: https://www.ghacks.net/2023/01/26/how-to-bypass-the-microsof...
The funny thing is that I've always done it this way, for many many years, when installing major Mac OS updates: choose the option "My Mac doesn't connect to the internet", and set up the internet connection later, after I configure everything how I want.

Then of course the first thing I do after installing macOS is install Little Snitch (already having a hard copy on an external disk).

A…hard copy? Like, a print-out of the source code or… ? If so, it would seem to be resting on top of an external disk. o-:

Sorry, just never seen someone refer to a digital copy as a hard copy before. You surprised me. (-:

tl;dr It works fine, except for features that naturally require an internet connection.

Compare to Windows 11, which cannot be installed without an internet connection, without resorting to hacks.

Actually you can install windows 11 if the network is not plugged in. I just did it yesterday.
The hack (sorry for the length) 1. unplug internet before installing, 2. install w11 3. Connect to Internet after installing. connect afterwards.
Hrm, a random download from wordpress.com. No thanks. Is there a github or alike?