Post

Installing Tor Browser on Kali Linux ARM64 (M3 MacBook)

Installing Tor Browser on Kali Linux ARM64 (M3 MacBook)

The Problem: Architecture Mismatch on Apple Silicon

Running Kali Linux on an M3 MacBook Pro presents a unique challenge that many users don’t realize until they hit their first compatibility issue: your system is ARM64, not x86-64. This became painfully clear when trying to install Tor Browser.

My Journey: The Wrong Download

Like many security professionals setting up a fresh Kali VM, I went to the Tor Project website to download Tor Browser. I downloaded what looked like the standard “Linux” version, extracted it to /home/kali/Downloads/tor-browser, and found myself stuck.

When I checked what I’d actually downloaded:

1
2
$ file Browser/firefox.real
Browser/firefox.real: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV)...

Meanwhile, my system architecture was:

1
2
3
4
5
$ uname -m
aarch64

$ dpkg --print-architecture
arm64

The binary was x86-64. My system is ARM64. They’re incompatible.


Understanding CPU Architectures: ARM64 vs x86-64

Before diving into the solution, let’s understand why this matters and what these terms mean.

x86-64 (AMD64)

  • Also called: x86-64, x64, AMD64, Intel 64
  • Used by: Traditional Intel and AMD processors
  • Architecture: CISC (Complex Instruction Set Computer)
  • Characteristics:
    • Desktop and server standard for decades
    • High performance, power-hungry
    • Most software is compiled for this architecture
    • Backwards compatible with 32-bit x86

ARM64 (aarch64)

  • Also called: ARM64, aarch64, ARMv8
  • Used by: Apple Silicon (M1/M2/M3), Raspberry Pi 4+, mobile devices
  • Architecture: RISC (Reduced Instruction Set Computer)
  • Characteristics:
    • Power-efficient, excellent performance-per-watt
    • Originally for mobile, now dominating laptop/desktop (Apple)
    • Requires software specifically compiled for ARM
    • No native backwards compatibility with x86

Why This Matters for M3 MacBook Users

When you run Kali Linux on an M3 MacBook:

  1. Your host CPU is ARM64 (Apple M3 chip)
  2. Your VM must also be ARM64 (Kali Linux ARM64 edition)
  3. All software you install must be ARM64-compatible

You cannot run x86-64 binaries natively on ARM64. While emulation exists (like Rosetta 2 on macOS), it’s not available inside your Linux VM for x86 binaries.

The Binary Format Problem

1
2
3
4
5
# x86-64 binary (won't work on ARM64)
ELF 64-bit LSB pie executable, x86-64

# ARM64 binary (correct for M3)
ELF 64-bit LSB pie executable, ARM aarch64

These are fundamentally different machine code instructions. An x86-64 program literally speaks a different “language” than your ARM64 processor understands.


Standard Tor Browser Installation (Mac, Windows, Linux x86-64)

Before we dive into the ARM64 complications, let’s cover how most people install Tor Browser on standard systems. If you’re running:

  • Windows (any version)
  • macOS on Intel Macs (pre-2020)
  • macOS on Apple Silicon (M1/M2/M3/M4)
  • Linux on x86-64 (standard desktop/laptop)

The installation is straightforward.

Windows Installation

Step 1: Download

  1. Visit: https://www.torproject.org/download/
  2. Click Download for Windows
  3. Save the .exe installer (e.g., torbrowser-install-win64-13.5.7.exe)

Step 2: Install

  1. Run the downloaded .exe file
  2. Choose installation language
  3. Select installation location (default: C:\Users\<YourName>\Desktop\Tor Browser)
  4. Click Install

Step 3: Launch

  1. Double-click Start Tor Browser icon on your desktop
  2. Click Connect (or configure if behind a firewall)
  3. Browse anonymously!

Installation time: 2-3 minutes


macOS Installation

For Intel Macs (Pre-2020)

Step 1: Download

  1. Visit: https://www.torproject.org/download/
  2. Click Download for macOS
  3. Look for Intel or x86-64 version
  4. Save the .dmg file (e.g., TorBrowser-13.5.7-macos-x86_64.dmg)

Step 2: Install

  1. Open the downloaded .dmg file
  2. Drag Tor Browser to your Applications folder
  3. Eject the disk image

Step 3: Launch

  1. Open ApplicationsTor Browser
  2. Right-click and select Open (first time only, to bypass Gatekeeper)
  3. Click Connect

For Apple Silicon Macs (M1/M2/M3/M4)

Step 1: Download

  1. Visit: https://www.torproject.org/download/
  2. Click Download for macOS
  3. Select Apple Silicon version
  4. Save the .dmg file (e.g., TorBrowser-13.5.7-macos-arm64.dmg)

Step 2-3: Same as Intel Macs above

Important: macOS users have two separate downloads - Intel and Apple Silicon. Make sure you download the correct version for your Mac’s CPU!


Linux x86-64 Installation (Standard)

For Ubuntu, Debian, Fedora, Arch and other x86-64 Linux distributions:

Debian/Ubuntu/Kali (x86-64):

1
2
3
4
5
6
7
8
# Update package list
sudo apt update

# Install torbrowser-launcher
sudo apt install torbrowser-launcher -y

# Launch (will download and verify Tor Browser)
torbrowser-launcher

The launcher will:

  • Download the latest stable Tor Browser
  • Verify GPG signatures automatically
  • Install to ~/.local/share/torbrowser/
  • Create menu shortcuts

Fedora:

1
2
sudo dnf install torbrowser-launcher -y
torbrowser-launcher

Arch Linux:

1
2
yay -S torbrowser-launcher
torbrowser-launcher

Method 2: Manual Download (Universal)

Step 1: Download

1
2
3
4
5
6
7
cd ~/Downloads

# Download the tarball (check website for latest version)
wget https://www.torproject.org/dist/torbrowser/13.5.7/tor-browser-linux-x86_64-13.5.7.tar.xz

# Download signature for verification (optional but recommended)
wget https://www.torproject.org/dist/torbrowser/13.5.7/tor-browser-linux-x86_64-13.5.7.tar.xz.asc

Step 2: Extract

1
tar -xf tor-browser-linux-x86_64-13.5.7.tar.xz

Step 3: Launch

1
2
cd tor-browser
./start-tor-browser.desktop

Step 4: Register (Optional)

1
2
# Create desktop entry and menu shortcut
./start-tor-browser.desktop --register-app

Quick Comparison: Standard Installations

PlatformDownload SizeInstall MethodTime Required
Windows~100 MBGUI Installer2-3 minutes
macOS Intel~110 MBDMG Drag & Drop1-2 minutes
macOS M-Series~110 MBDMG Drag & Drop1-2 minutes
Linux x86-64~100 MBPackage Manager or Tarball3-5 minutes

Key Point: All these installations are official stable releases that auto-update and have full Tor Project support.


The Traditional Install Method (Doesn’t Work on ARM64)

Attempt 1: Standard Package Manager

The first instinct is to use apt:

1
$ sudo apt install torbrowser-launcher

Result: Dependency hell and architecture conflicts:

1
2
3
4
5
Error: Unable to satisfy dependencies. Reached two conflicting decisions:
   1. python3:arm64 is selected for removal because:
      torbrowser-launcher:amd64 Depends python3-gpg:amd64
      python3:amd64 is available
      python3:arm64 Conflicts python3:amd64

Why this fails: The torbrowser-launcher package in Kali repositories is AMD64-only:

1
2
3
4
5
6
$ apt-cache policy torbrowser-launcher
torbrowser-launcher:amd64:
  Candidate: 0.3.7-3
  Version table:
     0.3.7-3 500
        500 http://http.kali.org/kali kali-rolling/contrib amd64 Packages

Notice amd64 everywhere? That’s x86-64. No ARM64 version exists in the repos.

Attempt 2: Manual Download from Tor Website

The official Tor Project website primarily offers:

  • Windows
  • macOS (Intel and Apple Silicon separate downloads)
  • Linux (x86-64 only)

If you download the “Linux” version without checking architecture, you’ll get x86-64 binaries that won’t execute on your ARM64 system.


The Solution: Official ARM64 Nightly Builds

Good News: Official ARM64 Support Exists!

As of 2025, Tor Browser provides official nightly builds for ARM64 Linux. These are alpha versions but generally stable and updated daily.

Why “Nightly” is Okay

  • Nightly = Bleeding Edge: Latest features, daily updates
  • Not Experimental: These builds are tested and functional
  • Necessary for ARM64: Stable releases don’t support ARM yet
  • Community Tested: Widely used by Raspberry Pi and ARM Linux users

Installation Methods

Easiest method with proper system integration.

Step 1: Download the Package

1
2
3
4
cd /home/kali/Downloads

# Download today's ARM64 .deb package
wget https://nightlies.tbb.torproject.org/nightly-builds/tor-browser-builds/tbb-nightly.2025.11.17/nightly-linux-aarch64/tor-browser_14.5a8_arm64.deb

Note: Replace the date (2025.11.17) with the current date to get the latest build. Check available dates at: https://nightlies.tbb.torproject.org/nightly-builds/tor-browser-builds/

Step 2: Install the Package

1
sudo dpkg -i tor-browser_14.5a8_arm64.deb

Step 3: Fix Dependencies (if needed)

1
sudo apt --fix-broken install -y

Step 4: Launch Tor Browser

1
tor-browser

Or find it in your applications menu: Applications → Internet → Tor Browser


Option 2: Portable tar.xz Archive

Best for: Users who want a portable installation or don’t want system-wide install.

Step 1: Download and Extract

1
2
3
4
5
6
7
cd /home/kali/Downloads

# Download the tar.xz archive
wget https://nightlies.tbb.torproject.org/nightly-builds/tor-browser-builds/tbb-nightly.2025.11.17/nightly-linux-aarch64/tor-browser-linux-aarch64-tbb-nightly.2025.11.17.tar.xz

# Extract (creates tor-browser directory)
tar -xf tor-browser-linux-aarch64-tbb-nightly.2025.11.17.tar.xz

Step 2: Launch Tor Browser

1
2
cd tor-browser
./start-tor-browser.desktop

Optional: Create Desktop Shortcut

1
2
# Register the launcher
./start-tor-browser.desktop --register-app

Verification: Ensure You Got the Right Version

After installation, verify you have an ARM64 binary:

1
2
3
4
5
# For .deb install
file /opt/tor-browser/Browser/firefox.real

# For portable install
file ~/Downloads/tor-browser/Browser/firefox.real

Expected output:

1
Browser/firefox.real: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV)...

If you see ARM aarch64, you’re golden!


Troubleshooting

“Cannot execute binary file: Exec format error”

Cause: You downloaded the x86-64 version instead of ARM64.

Solution: Remove the old version and download the ARM64 nightly build.

1
2
rm -rf /home/kali/Downloads/tor-browser
# Then follow Option 1 or 2 above

Dependency Errors with torbrowser-launcher

Cause: Package only exists for AMD64 architecture.

Solution: Don’t use torbrowser-launcher on ARM64. Use the manual download methods instead.

How to Find Latest Nightly Builds

The nightly build URL changes daily. To find the latest:

  1. Visit: https://nightlies.tbb.torproject.org/nightly-builds/tor-browser-builds/
  2. Find the most recent tbb-nightly.YYYY.MM.DD/ directory
  3. Navigate to nightly-linux-aarch64/
  4. Download either:
    • tor-browser_*_arm64.deb (for .deb install)
    • tor-browser-linux-aarch64-tbb-nightly.*.tar.xz (for portable)

Performance on M3 MacBook

Expected Performance: Excellent! The M3’s ARM64 architecture means:

  • Native execution (no emulation overhead)
  • Better battery life
  • Smooth browsing experience
  • Fast Tor circuit establishment

Quick Reference: Architecture Detection

Save these commands for future compatibility checks:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Check your CPU architecture
uname -m
# Output: aarch64 (ARM64) or x86_64 (x86-64)

# Check system package architecture
dpkg --print-architecture
# Output: arm64 or amd64

# Check a binary's architecture
file /path/to/binary
# Look for "ARM aarch64" or "x86-64"

# Check available package architectures
apt-cache policy package-name

Understanding Your M3 Kali VM Setup

The Full Stack

1
2
3
4
5
6
7
8
9
10
11
12
13
┌─────────────────────────────────────┐
│   Kali Linux ARM64 VM               │
│   (Your working environment)        │
├─────────────────────────────────────┤
│   Virtualization Layer              │
│   (VMware/Parallels/UTM)            │
├─────────────────────────────────────┤
│   macOS (ARM64)                     │
│   (Apple's operating system)        │
├─────────────────────────────────────┤
│   Apple M3 Chip (ARM64)             │
│   (Physical hardware)               │
└─────────────────────────────────────┘

Key Point: Everything in this stack is ARM64. Installing x86-64 software breaks the chain.

Common ARM64 Limitations on Kali

Not all security tools are ARM64-compatible yet. You might encounter issues with:

  • Closed-source tools (Burp Suite Pro, some exploits)
  • Legacy tools (older exploits, some Windows PE tools)
  • Docker images built for x86-64

Solutions:

  • Check for ARM64 alternatives
  • Use cloud-based x86-64 VMs for specific tools
  • Compile from source when possible
  • Use Docker with --platform linux/arm64

Conclusion

Running Kali on Apple Silicon (M1/M2/M3) requires awareness of architecture compatibility. While most modern tools support ARM64, you’ll occasionally hit roadblocks like this Tor Browser installation.

Key Takeaways:

  1. Always check architecture before downloading binaries
  2. ARM64 ≠ x86-64 - they’re incompatible without emulation
  3. Nightly builds are perfectly fine for ARM64 users
  4. Official ARM64 support is growing rapidly
  5. M3 native performance is excellent when you use the right binaries

The extra effort is worth it—native ARM64 performance on M3 is exceptional, and as more tools adopt ARM64 support, the ecosystem will only improve.


Additional Resources

  • Tor Browser Nightly Builds: https://nightlies.tbb.torproject.org/nightly-builds/tor-browser-builds/
  • Tor Project ARM Discussion: https://forum.torproject.org/t/tor-browser-for-arm-linux/5240
  • Kali ARM Documentation: https://www.kali.org/docs/arm/
  • Apple Silicon Support Tracker: https://isapplesiliconready.com/

Note: This guide was written on 2025-11-17. Nightly build URLs and version numbers will change. Adjust dates in download URLs accordingly.


Support This Content

If this guide helped you get Tor Browser running on your ARM64 system, consider supporting more tutorials like this!

Buy me a coffee

Every coffee helps fuel more deep-dive guides on Kali, security tools, and Apple Silicon compatibility. Cheers!

This post is licensed under CC BY 4.0 by the author.