没有不值得去解决的问题,也没有不值得去学习的技术!

Troubleshooting a 2015 MacBook Pro With TAG: macOS Mojave and FlClash Crashes Led to a Replacement

[Figure 7: System information for the 2015 MacBook Pro: macOS Mojave 10.14.6, Intel Core i7]

作者:

在

A while ago, a reader contacted me through my blog, hoping to use TAG Internet on their MacBook Pro.

This troubleshooting ultimately did not successfully configure the proxy environment on the old Mac.

The reason was not the TAG account or the nodes themselves, but rather that the computer’s system environment had become quite outdated:

MacBook Pro (Retina, 15-inch, Mid 2015)
Intel Core i7
macOS Mojave 10.14.6

During the actual attempts, we encountered a series of issues involving CPU architecture, client versions, macOS security restrictions, and FlClash crashes.

As troubleshooting progressed, I offered two practical options:

  • Upgrade macOS;
  • If already planning to replace the computer, just buy a new one.

Ultimately, they chose the latter.

This article documents the entire troubleshooting process on this old Mac, which **ultimately remained unresolved**.

After they switched to a new Windows computer, we configured it again, and that time it succeeded. I will write about that separately.


1. First, confirm the actual Mac environment

When a proxy client won’t install or open, I increasingly prefer to ask two questions first:

What version of macOS is it?
Is this Mac Intel or Apple Silicon?

Because many Mac software programs now claim to “support macOS,” but they actually differentiate between:

  • Intel / x86_64
  • Apple Silicon / arm64

At the same time, different client versions also have minimum macOS version requirements.

The user’s computer environment this time was:

  • MacBook Pro (Retina, 15-inch, Mid 2015)
  • 2.5 GHz Intel Core i7
  • 16 GB memory
  • macOS Mojave 10.14.6
[Figure 7: System information for the 2015 MacBook Pro: macOS Mojave 10.14.6, Intel Core i7]
[Figure 7: System information for the 2015 MacBook Pro: macOS Mojave 10.14.6, Intel Core i7]

Looking at the hardware alone, this computer is not entirely unusable.

The real problem is:

macOS Mojave 10.14.6 is already quite old, and many proxy clients have gradually stopped supporting older macOS versions.

This was the starting point for the subsequent series of issues.


2. Initially tried FlClash

At the time, TAG’s Mac help page offered several client options, including FlClash.

[Figure 9: FlClash Mac tutorial and legacy version download instructions in the TAG Help Center]
[Figure 9: FlClash Mac tutorial and legacy version download instructions in the TAG Help Center]

For average users trying proxy software for the first time, GUI-based clients like FlClash are generally easier to get started with.

However, the first download hit a typical Mac pitfall:

The downloaded file was:

Plaintext
FlClash-0.8.90-macos-arm64.dmg

But this 2015 MacBook Pro has an Intel processor.

arm64 corresponds to Apple Silicon, which is the later M-series chips.

Intel Macs usually require:

Plaintext
x86_64 / amd64 / Intel

versions.

[Figure 4: FlClash arm64 version triggering the "unidentified developer" prompt on an Intel Mac]
[Figure 4: FlClash arm64 version triggering the “unidentified developer” prompt on an Intel Mac]

So, if you download and install software on a Mac in the future, I recommend confirming the architecture first.

Intel Mac

Generally look for:

Plaintext
Intel
x86_64
amd64

Apple Silicon

Generally look for:

Plaintext
Apple Silicon
arm64
aarch64

Being “Mac versions” does not mean they are universally compatible.


3. macOS also blocks “unidentified developer” apps

After downloading, macOS showed a security prompt:

“FlClash” is from an unidentified developer.

[Figure 4: FlClash arm64 version triggering the "unidentified developer" prompt on an Intel Mac]
[Figure 4: FlClash arm64 version triggering the “unidentified developer” prompt on an Intel Mac]

This situation is not uncommon for software released on GitHub, open-source tools, and apps not notarized by Apple.

It does not inherently mean:

“This software definitely has a virus.”

But for average users, it is no longer a simple matter of:

Download → Install → Open

Instead, it requires further checking the system security settings.

Go to:

Plaintext
System Preferences
→ Security & Privacy

Here, you can see macOS’s restrictions on app sources.

[Figure 3: App source settings in macOS "Security & Privacy"]
[Figure 3: App source settings in macOS “Security & Privacy”]

We also checked the relevant privacy and accessibility permissions.

[Figure 2: Accessibility permission settings in macOS "Security & Privacy"]
[Figure 2: Accessibility permission settings in macOS “Security & Privacy”]

This step itself did not ultimately solve the problem, but it showed:

This was no longer simply an issue of “not knowing how to install software,” but had entered the realm of compatibility troubleshooting between an old macOS and current clients.


4. The real blocker was FlClash crashing immediately

Even after allowing FlClash to run, the client still did not start properly.

The system popped up:

Plaintext
FlClash quit unexpectedly.
[Figure 5: FlClash showing the "quit unexpectedly" crash prompt immediately after launch]
[Figure 5: FlClash showing the “quit unexpectedly” crash prompt immediately after launch]

At this point, we could already rule out many things.

Because the client couldn’t even achieve stable operation, there was naturally no point discussing:

  • TAG nodes;
  • Subscriptions;
  • Rules;
  • DNS;
  • Route quality.

The problem lay first in:

The client’s runtime environment.

Possible causes included:

  • Downloading the wrong architecture;
  • The current version of FlClash no longer supporting Mojave;
  • The client depending on new components not present in Mojave;
  • Compatibility issues between the old system and the current kernel or GUI framework.

For those familiar with macOS and development environments, they could continue analyzing the crash report.

But for an average user, I felt it was already necessary to consider:

Is the cost of continuing to tinker worth it?


5. Also considered Clash Verge Rev

At the time, TAG’s help page also offered Clash Verge Rev.

[Figure 8: Clash Verge Rev Mac tutorial in the TAG Help Center]
[Figure 8: Clash Verge Rev Mac tutorial in the TAG Help Center]

Clash Verge Rev itself is also a common graphical client nowadays.

But the old Mac ran into the same problem again:

The clients are getting newer, while Mojave is getting older.

Many modern clients have already raised their minimum system requirements to:

  • macOS 11
  • macOS 12
  • Or even higher versions

This meant that even switching clients might not truly bypass the OS version issue.


6. TAG’s own Mac client also has system requirements

TAG later offered its own dedicated Mac client.

But the help page also clearly marked the system version requirements.

[Figure 10: macOS version requirements shown on the TAG dedicated Mac client page]
[Figure 10: macOS version requirements shown on the TAG dedicated Mac client page]

This actually made me more certain:

The long-term value of continuing to look for “modern clients that still run” around Mojave 10.14.6 was no longer high.

Even if a legacy version was found today that barely worked, we might continue to encounter:

  • New browser versions no longer being supported;
  • Apps like WhatsApp / Telegram raising their minimum versions;
  • Clients dropping compatibility;
  • TLS / WebView / system component versions being too old;
  • Security updates having ended.

So these issues cannot just consider:

“Can I connect to the proxy today.”

We also need to consider:

“Will it still work stably for the next six months or a year.”


7. Why we didn’t keep looking for legacy versions

Theoretically, we could have continued.

For example:

  • Finding legacy versions of FlClash;
  • Finding Intel-specific builds;
  • Reading the crash report;
  • Trying older versions of Clash Verge;
  • Using ClashX;
  • Configuring the proxy manually;
  • Trying other tools compatible with Mojave.

But there was a very practical issue:

This was not my test machine, but an average user’s daily computer.

If using overseas websites required long-term reliance on:

  • Unmaintained legacy versions;
  • Manual configuration;
  • Various compatibility workarounds;
  • Future upgrades potentially breaking it again;

Then I didn’t consider this a good long-term solution.


8. The final two options

After troubleshooting to this point, the solution I offered was very simple.

Option 1: Upgrade macOS

If they planned to continue using this 2015 MacBook Pro long-term, they could first research what version Apple officially allows it to upgrade to.

After upgrading, try the current clients again.

This option had the lowest cost.

However, before upgrading, they needed to note:

  • Back up data first;
  • Check if old software is compatible;
  • Confirm disk space;
  • Confirm whether they rely on old apps under Mojave.

If this computer still had a very important software environment, I wouldn’t recommend upgrading blindly without checking anything.


Option 2: Just get a new computer

If they were already considering replacing the computer, then investing a lot of time into Mojave had limited significance.

A new computer would typically run current versions of:

  • TAG client;
  • FlClash;
  • Clash Verge Rev;
  • Browsers;
  • WhatsApp;
  • Telegram;
  • Other modern apps.

Ultimately, this reader chose:

Buying a new computer.

So it needs to be clear here:

This time, the old Mac issue was not “fixed”.

The final outcome was:

Between upgrading the system and replacing the computer, they ultimately chose to buy a new computer.

I think recording this result truthfully is more valuable for reference than forcing a claim that the issue was solved just to write a “success tutorial”.


9. She contacted me again later

After a while, this reader contacted me again.

This time, they had switched to a new Windows laptop, and also had a new Xiaomi Android phone ready to use as a work device.

So we started over from:

  • TAG registration;
  • Plan purchase;
  • Windows client;
  • Android client;
  • Windows TUN;
  • System proxy;
  • Android VPN;

and went through the whole process once.

This round ultimately succeeded.

Both Windows and Android could access YouTube normally.

However, the Windows side encountered another very typical issue:

TUN mode had compatibility issues with some apps, and Microsoft Store behaved differently under system proxy mode.

I will organize this part into a separate follow-up article.


If you are also planning to use TAG

If your Mac, Windows, or Android environment is relatively new, using TAG itself is not complicated.

If your device and system version meet the requirements, you can first create an account through the TAG Internet registration portal, and then choose a plan based on your actual usage.

For new users, I highly recommend:

Don’t buy a long subscription all at once. First, confirm that your devices, clients, and routes are working properly, and then decide whether to use it long-term.

Especially for old Mac users, I recommend confirming the following before purchasing:

  • macOS version;
  • Intel or Apple Silicon;
  • Whether the currently officially recommended TAG client supports your system.

This can prevent discovering that the client won’t install at all after buying.


When dealing with an old Mac, ask these two questions first

After this experience, if anyone asks me about proxy software issues with an old Mac, I will first ask:

Plaintext
1. What version of macOS is it?
2. Intel or Apple Silicon?

Only then will we discuss the client.

Because whether a proxy software works is actually determined by many layers:

Plaintext
Account / Node
↓
Client
↓
Client version
↓
CPU architecture
↓
Operating system version
↓
System permissions
↓
Actual app networking method

If any layer has an issue, what the user ultimately sees is often just the same sentence:

“It won’t open.”

And the real problem this time occurred precisely before the node.


Finally

This time, TAG was not successfully configured on the old Mac.

But I think this failure case is actually worth recording.

It at least proves one point:

Just because an old computer’s performance is still sufficient doesn’t mean its software ecosystem is still being properly updated.

Especially for network tools, browsers, and communication software, the requirements for the OS version will only get higher.

If you only occasionally use legacy software, Mojave can certainly still work.

But if you start frequently encountering:

  • Clients failing to run;
  • Apps crashing;
  • New software not being supported;
  • Security components being too old;

Then rather than repeatedly looking for legacy versions, it’s better to seriously evaluate:

Whether to keep maintaining the old environment, upgrade the system, or just replace the device.

This reader ultimately chose to replace the computer.

And the next article will cover the complete configuration process on the new computer.

系列导航

关于作者 · 持续学习与技术实践

我是一名拥有 15 年以上开发经验的技术从业者,自 2013 年起持续运营个人技术博客,记录工作与个人项目中遇到的真实问题,以及解决问题过程中的探索、实践和思考。

除了技术写作,我也在持续开发和维护自己的独立项目,探索新技术和新工具在实际场景中的应用。我始终相信,没有不值得去解决的问题,也没有不值得去学习的技术。

如果这篇文章对你有所帮助,欢迎浏览博客中的其他文章,也欢迎交流技术经验与想法。

关于我  ·  GitHub  ·  邮件联系