The host is the half that runs on the machine you leave behind. Install it on
your Mac, set an access password, and the iPhone or Android app connects to
it directly — peer to peer, end-to-end encrypted, with no server in the data
path.
Download
Hardlink-1.0.0-development.dmg · 56 MB · macOS 13 or newer · Intel and
Apple silicon
Download the .dmg →
This is a preview build, and macOS will refuse to open it.
It is signed with an Apple Development certificate rather than a
Developer ID one, and it has not been notarized — so once your browser
has downloaded it, Gatekeeper rejects the app outright and may report it
as damaged. Nothing is wrong with the download; a development
certificate is simply not a distribution certificate. Step 2 below is
what gets past it, and a properly signed and notarized build that needs
none of this is the next piece of work.
Installing
- Open the
.dmg and drag Hardlink onto
Applications.
- Open Terminal and run this once, which removes the
download flag macOS attached to the file:
xattr -dr com.apple.quarantine /Applications/Hardlink.app
Then open Hardlink normally.
Right-clicking and choosing Open does not work
for this build, and neither does Open Anyway in System
Settings. Those bypass the warning shown for an app with no signature;
this app has a signature, from a certificate that is not valid for
distribution, which macOS refuses differently.
First run
- Sign in with the same account you use on the phone.
- Grant Screen Recording so the phone can see the Mac.
macOS quits the app when you grant it — that is expected, it is picking
up the new setting. Reopen it.
- Grant Accessibility so the phone can move the pointer
and type. macOS only allows this to be switched on by hand.
- Press Go online. The Mac shows an access password like
K7QM-2X9Z-P4RT. Type that on the phone once.
What it needs
- Both devices signed in to the same account.
- On the same Wi-Fi network for the first pairing. Once a phone has
paired on the network, it can reach the Mac from outside it.
- Without Screen Recording the host still serves terminal sessions; it
just reports that screen sharing is off.