Skip to content
TETHERÆ
Menu

Setup

How to install

Install the agent on the computer you want to reach, give it the access it needs, check that it took, then pair your phone. Every command is here, so nothing has to be guessed at.

Be your own developer

Every command on this page copies with one tap. None of them are risky and none of them are magic: each one either reports what your machine currently thinks, or sets one specific thing the agent needs. We say what each does before you run it, and every one was run against the exact files this site publishes, not written from memory.

You do not need to call anybody, and you do not need to let anybody into your computer to set this up. That is rather the point of the product.

What you need before you start

  • The computer you want to reach, switched on, with you standing at it. Pairing is physical, so this part cannot be done remotely.
  • The TETHERÆ app on your phone or tablet.
  • An account. One account covers every machine you pair.

The agent is what runs on the computer. The app on your phone connects to it. You install the agent once per machine.

Windows

1. Download and check the file

Take the 64-bit installer unless you know the machine runs a 32-bit edition of Windows. To check: Settings, System, About, and read System type.

Before running it, confirm the file you received is the file we published. Open Command Prompt in your Downloads folder and run this. The output must match the value below it, ignoring the spaces Windows prints.

Print the SHA-256 of the downloaded installer

Command Prompt
certutil -hashfile Tether-Setup-x64.msi SHA256

Expected

eb2f613da594c00059cddc2de20da9dad71b630667ae0d1a33ffa0d238e8ffdb

2. Run it, past the blue box

Windows will show a blue “Windows protected your PC” panel, and the elevation prompt will say the publisher is unknown. That is SmartScreen reacting to an installer it has not seen signed before. It is not a scan result and it is not a virus report. This installer is not code signed yet, so every user sees it.

  • Click More info.
  • Click Run anyway.
  • Approve the elevation prompt. It appears because the agent installs as a Windows service.

3. What it installed

  • A Windows service called TetherAgent, which is what makes the machine reachable again after a restart, without anyone logging in.
  • The Tether app, for pairing and for granting control.
  • Two inbound firewall rules, both named Tether: TCP 47810 and UDP 47811, for direct connections on your own network. Connections from outside your network go out through the relay and need no rule.
  • A registry policy that lets the service send Ctrl+Alt+Del, so you can sign in to a locked machine rather than only look at it.

4. Giving it full access, and checking it took

The installer does all of this for you. These commands are here so you can verify it, and repair it if a security product or a group policy has undone something. Open Command Prompt as Administrator: press Start, type cmd, then right click Command Prompt and choose Run as administrator.

Is the service installed and running? Look for STATE : 4 RUNNING

Command Prompt (Administrator)
sc query TetherAgent

Start it, if it is stopped

Command Prompt (Administrator)
sc start TetherAgent

Make it start on its own at every boot

Command Prompt (Administrator)
sc config TetherAgent start= auto

Are the firewall rules there?

Command Prompt (Administrator)
netsh advfirewall firewall show rule name="Tether"

Put them back if they are missing

Command Prompt (Administrator)
netsh advfirewall firewall add rule name="Tether" dir=in action=allow protocol=TCP localport=47810
netsh advfirewall firewall add rule name="Tether" dir=in action=allow protocol=UDP localport=47811

Is Ctrl+Alt+Del allowed? A value of 0x1 means yes

Command Prompt (Administrator)
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v SoftwareSASGeneration

Turn it on, if it is missing or zero

Command Prompt (Administrator)
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v SoftwareSASGeneration /t REG_DWORD /d 1 /f

5. If it installs but will not run

Two causes account for nearly all of it, and neither is fixed by reinstalling.

An N or KN edition of Windows. These ship without Media Foundation, which the agent needs to encode video, so the service fails at start rather than at install. Check which edition you have, and if the answer ends in N, install the Media Feature Pack from Windows Update, under Optional features.

Which edition and build is this? The agent needs Windows 10 version 1809 or later

Command Prompt (Administrator)
systeminfo | findstr /B /C:"OS Name" /C:"OS Version"

Windows older than 10 version 1809. The installer is more permissive than the program, so an older machine can install it and then fail to run it. There is no fix other than a newer Windows.

If neither applies, read the service’s own log of why it stopped.

The last 5 service errors, with their reasons

Command Prompt (Administrator)
wevtutil qe System /q:"*[System[Provider[@Name='Service Control Manager']]]" /c:5 /rd:true /f:text

6. Removing it

Settings, Apps, Installed apps, then Tether, then Uninstall. Or from an Administrator Command Prompt, pointing at the same installer you ran:

Uninstall

Command Prompt (Administrator)
msiexec /x Tether-Setup-x64.msi
Uninstalling removes the program and the service. It does not undo the Ctrl+Alt+Del policy, and it does not delete the machine’s pairings. If you are handing the computer on, unpair it from your phone first, then set SoftwareSASGeneration back to 0 with the command above if you would rather it were off.

macOS

1. Download and check the file

The Mac download is a disk image containing two applications: Tether Agent, which is what makes this Mac reachable, and Tether, which lets this Mac control another one. You need the agent. Install both if you want the Mac to work in either direction.

Print the SHA-256 of the downloaded disk image

Terminal
shasum -a 256 ~/Downloads/tetherae-macos.dmg

Expected

b0f431e55689c7b477997426e5aec08bc5c9d03a4dd994216d814b93540205e2

2. Install it

Open the disk image and drag both applications into Applications. Then open Tether Agent.

The Mac build is signed and notarized by Apple, so it opens without a warning. If you want to see that for yourself rather than take our word for it:

Confirm Apple has notarized this exact copy

Terminal
spctl -a -vvv "/Applications/Tether Agent.app"

It should answer accepted, source=Notarized Developer ID, and name ABIOMYE INDUSTRIES PRIVATE LIMITED. If macOS ever refuses to open it because the file was copied through something that stamped it as quarantined, clear that stamp:

Clear the quarantine flag, only if macOS refuses to open it

Terminal
xattr -d com.apple.quarantine "/Applications/Tether Agent.app"

3. Giving it full access

macOS will not let any program see your screen or move your pointer until you say so, and it asks separately for each. The agent needs both, and it is useless without them: without Screen Recording you get a black picture, without Accessibility you get a picture you cannot touch.

The agent asks for these itself the first time it runs. These commands open the exact panes, for when you dismissed the prompt or want to check the state.

Open Screen Recording, then tick Tether Agent

Terminal
open "x-apple.systempreferences:com.apple.preference.security?Privacy_ScreenCapture"

Open Accessibility, then tick Tether Agent

Terminal
open "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility"

Quit and reopen Tether Agent after granting Screen Recording. macOS only hands the permission to a program when it next launches, which is why a freshly ticked box often appears to do nothing.

If a switch is stuck, or the agent still says a permission is missing after you granted it, reset the decision and let it ask again. This is a known macOS behaviour after an application is replaced by a new version.

Forget both decisions so the agent can ask again. It will prompt on next launch

Terminal
sudo tccutil reset ScreenCapture com.revlabs.tether.agent
sudo tccutil reset Accessibility com.revlabs.tether.agent

4. Make it start when the Mac starts

This is the one real difference between the platforms, and it is worth knowing. On Windows the agent is a service, so the machine is reachable after a restart with nobody logged in. On macOS it is an ordinary application: it does not add itself to your login items, so after a restart it is not running and the Mac is not reachable until you open it.

Add it yourself if you want the Mac to come back on its own after a restart. It still only starts once somebody logs in, because that is how macOS works.

Start Tether Agent at every login

Terminal
osascript -e 'tell application "System Events" to make login item at end with properties {path:"/Applications/Tether Agent.app", hidden:false}'

Undo that

Terminal
osascript -e 'tell application "System Events" to delete login item "Tether Agent"'

5. Checking it is running

Is the agent running right now?

Terminal
pgrep -lf "Tether Agent"

6. Removing it

Drag both applications from Applications to the Bin. Then clear the permissions you granted, so nothing is left holding a decision about a program that is gone:

Clear the permissions after removing the app

Terminal
sudo tccutil reset ScreenCapture com.revlabs.tether.agent
sudo tccutil reset Accessibility com.revlabs.tether.agent
osascript -e 'tell application "System Events" to delete login item "Tether Agent"'

Linux

Install the package for your architecture. Use amd64 on an ordinary PC and arm64 on a Raspberry Pi or an ARM server.

Install, and let apt pull in anything missing

Terminal
sudo apt install ./tetherae-agent_0.1.0_amd64.deb

The agent runs as a user service, not a system one, because it needs your graphical session in order to see your screen. That means it starts when you log in.

Start it now and at every login

Terminal
systemctl --user enable --now tetherae-agent

Is it running, and what did it say?

Terminal
systemctl --user status tetherae-agent
journalctl --user -u tetherae-agent -n 50 --no-pager

Keep it running when you are not logged in

Terminal
sudo loginctl enable-linger $USER

Pairing your phone

With the agent running, open Tether on the computer. It shows a QR code. Open the app on your phone, tap Pair a machine, and point the camera at that code. That is the whole setup.

Pairing is done by somebody standing at the machine, on purpose. There is no ID number to read out over the phone and no session request to accept. If somebody claiming to be from your bank, Apple or Microsoft asks you to install remote access software so they can help, hang up. That attack does not work here, because adding a machine requires being at it.

If the camera cannot get a clean read, tap Enter code manually and type the code shown under the QR.

If a connection will not establish

  • Both on the same Wi-Fi and it still will not connect. Something is blocking TCP 47810 or UDP 47811 on the computer. Check the firewall commands above. The connection falls back to the relay, so it should still work, just with more latency.
  • Works at home, not elsewhere. That is the relay path, and it needs nothing opened on your router. If it fails, the agent is probably not running: check the service on Windows, or that the app is open on macOS.
  • The picture is black. On macOS, Screen Recording was granted but the agent was not restarted. Quit it and open it again.
  • The picture is fine but nothing responds to touch. On macOS, Accessibility has not been granted.
  • Everything worked, then went black after using Rest. Update the agent. That was a real fault in earlier builds and it is fixed in the current one.
Windows service
TetherAgent, starts at boot, no login needed
Windows ports
TCP 47810 and UDP 47811, inbound, local network only
Windows minimum
Windows 10 version 1809. Not N or KN editions
macOS permissions
Screen Recording and Accessibility, both required
macOS at startup
Not automatic. Add a login item if you want it
macOS signing
Notarized, ABIOMYE INDUSTRIES PRIVATE LIMITED
Linux service
systemd user unit, starts at login
Pairing
In person, by scanning a code the machine displays