Hop logotype

Hop User Guide: Mac

Welcome to Hop

A new way to access the Internet when you’re not at home

Hop is the most user-friendly way to share your home Internet connection with yourself or your friends. It automates the technical steps needed to run an Internet-routing VPN server on ordinary Mac hardware.


Getting Started

Things you’ll need

  1. A Mac, running macOS 10.12 or later, which stays at home while you travel.
  2. Another device which travels with you.
  3. The Hop app, installed on both the server and client devices.

Installing & Running Hop

1
2

Install Hop by dragging it into your Applications Folder.

help-ss-0
3

Launch Hop.app by double-clicking it from within your Applications Folder.

4

Hop will present you with a Create Account screen. Fill out the fields to create a new account.

5

Click the bunny in your menubar to bring up Hop. Turn the switch On to start your server.

help-ss-1
6

Your Hop server is up and running. You can leave it running on your Mac, and access it from other Mac or iOS devices with the Hop app installed.


Using Hop

Hop's interface consists of two main tabs: THIS COMPUTER and HOP DEVICES.

help-ss-6
THIS COMPUTER: Hop server mode
help-ss-3
HOP DEVICES: Hop client mode

Running Hop as a server

To run your home-based Mac as a Hop server, click the THIS COMPUTER tab, and click the on/off switch to enable your server. The server setup process will start. When your server is successfully running, the switch will glow blue. You can verify your server via the Hop Doctor (see the Hop Doctor section).

You can close the Hop window and the server will stay running. You can even quit the Hop app, and you'll be presented with an option to keep the server running in the background. The Hop server is designed to be resilient against things like power failures and temporary network outages.

Running Hop as a client

When you're travelling, you can access your running Hop servers via the HOP DEVICES tab. Click on the server's round icon to start connecting to it. A blue light will begin racing around the circle as the connection process takes place. When the circle goes solid blue, you've got an active VPN connection, and your Internet traffic is flowing through the Hop device you selected.

help-ss-7
Verifying your IP address

To ensure that your VPN connection is active, you can click VERIFY IP at the bottom of the Hop window. The IP address that appears is the IP you show to the sites you visit. It should match the IP address of the Hop device you connected to.

When you're ready to disconnect, click on the circle icon again. The VPN connection will go down, and the blue connection glow will disappear. You can click VERIFY IP again, and you should see the IP address of whatever LAN/WiFi you're currently using.


Sharing your Hop server

If you'll only be using Hop on your own devices, you don't need to share. If you want other people to be able to access your Hop server for Internet access, the share button allows you to do that.

help-ss-9
Click the Share button to share your Hop server with friends.
help-ss-8
Send the link to friends and they'll be able to connect to your Hop server.

With the Hop server running, click the Share button to share your server with friends. A custom URL will be generated for you, and it will be valid for a time period that you select. Please ensure that only trusted recipients get this URL, as it is like a password. Anyone who has this URL can establish a VPN connection to your Hop server, and use your home Internet connection.


Accessing a shared Hop server

When someone shares a Hop server with you, the share link becomes your key to accessing that server.

help-ss-10

When a user opens a Hop share link, they come to a webpage with a number of connection options.

  1. Open link in Hop.app

    This is the preferred way for Mac or iOS users to connect. It opens an app-specific hop:// link, and requires that the Hop application is installed on the device. The user can start and stop a VPN connection to your Hop server via the Hop app.
  2. Open link in OpenVPN (UDP)

    For users on non-Apple platforms, Hop servers can be accessed using the OpenVPN app. This link will download an OpenVPN configuration profile. The user must have an OpenVPN client app installed on their device to complete the connection.
  3. Open link in OpenVPN (TCP)

    For users who aren't able to establish a UDP connection to the VPN server. This happens sometimes on restricted networks. Use this option only if UDP fails, as TCP is a higher-latency protocol than UDP, and VPN performance may be slower.

This page also has links to download the appropriate client apps for your chosen connection type.


The Hop Doctor

Before you leave home, make sure your Hop server is running without any issues so that you'll be able to access it remotely.

Hop provides the Hop Doctor, a self-testing and remote-testing diagnostic tool. Access the Hop Doctor via the Gear button at the top-right of Hop’s window.

help-ss-2

Running the Hop Doctor

With the Hop Server switch turned on, click the "RUN" button the Hop Doctor. The Hop Doctor will run through its set of tests.

  1. Connection to Internet

    This test determines whether or not you have an active connection to the Internet. It does this by trying to connect to a few large websites, including Google, Yahoo and Apple.
  2. Connection to Hop Server

    This test checks your ability to contact Hop's registration server. A failure could mean that the server is blocked on your network, or that there's a Hop service outage.
  3. Hop helper tool (hopcontrol)

    Hop relies on a helper tool called hopcontrol. This test verifies that hopcontrol is available, and that Hop is able to communicate with it.
  4. Auto restart after power loss

    To run as a server, your Mac should be configured to automatically restart if there is a power failure. This feature isn't available on most laptop Macs. This feature can be set in System Preferences > Energy Saver > Start up automatically…
  5. Hop server daemon (hopd)

    Hop relies on a background server process called hopd. This test verifies that the hopd server is installed and functioning properly.
  6. tun/tap kernel extension

    OpenVPN on the Mac requires a kernel extension called tun/tap. This test determines if tun/tap is installed and usable by Hop.
  7. Port forwarding

    Hop tries to automatically configure your router using either the UPnP or NAT-PMP protocol. Most routers support one of these protocols, but you may need to enable it on your router. If you can't enable UPnP or NAT-PMP on your router, you can also set up manual port forwarding on the router.
  8. Sleep prevention

    When the Hop server is running, the computer should not be allowed to go to sleep. This test ensures that Hop is able to prevent sleep while it's running.
  9. OpenVPN server

    Hop runs OpenVPN internally to serve incoming VPN connections. This test verifies the presence and functionality of Hop's OpenVPN server.
  10. RVPN server

    RVPN is a modern, secure VPN engine developed for Hop. It's used when clients connect from iOS devices.
  11. VPN scrambler

    The VPN Scrambler offers a scrambled version of your Hop server, over a different TCP port. Hop clients will try the scrambled connection if a regular connection fails. This can be useful in areas where Deep Packet Inspection is in use.
  12. Routing config (pf)

    In order to serve incoming VPN connections, your computer needs to route external VPN traffic to the Internet. It does this by configuring macOS's built-in pf firewall.
  13. Inbound VPN connection

    This is the most important test in the Hop Doctor. In this final test, one of Hop's test servers attempts to make an actual connection to your computer. If this test succeeds, your Hop server appears to be reachable from the outside world.

Advanced

Hop provides advanced settings for those who need to customize their setup.

help-ss-4
Click the Gear button at the top-right of Hop's window to access the Settings view.
help-ss-5
Click the Advanced tab to customize advanced settings.

Hop's aim is to just work, so hopefully you won't need to access the Advanced settings. But because of all the variables at play on networks (router types, port blocking, port forwarding, etc), Hop provides some advanced settings for those who need them.

  1. Hop server ports

    Here you can customize the ports and protocols that Hop's embedded OpenVPN server uses. The defaults are 1194 UDP+TCP, and 443 TCP. Note: this setting affects only Hop's OpenVPN server, which is used to host Mac and non-Apple clients. iOS clients connect through Hop's RVPN server. Currently, RVPN always runs on 993 TCP. This port is not yet user-customizable.
  2. Keep running after quit

    Hop's underlying server process is called hopd. The execution of hopd is managed by macOS' launchd facility. When enabled, this option keeps hopd running in the background when you quit the Hop app, either explicitly or by logging out.
  3. Watchdog enabled

    Hop implements a watchdog, which is designed to periodically test the operation of your Hop server, and restart it if a problem is detected. This is useful for keeping your server running when unexpected events happen such as DHCP lease expirations and temporary network outages.
  4. Manage firewall settings with pf

    This option is generally required, in order to run a Hop server. Only disable it if you are an expert user with custom firewall setup, and you wish to handle address forwarding on your own.
  5. Prevent the computer from going to sleep

    This option should be enabled. If your computer is allowed to sleep when running a Hop server, the Hop server will become inaccessible. Note: The computer's display is still allowed to turn off when this option is enabled.
  6. Port forwarding auto-config

    When enabled, Hop will use the UPnP or NAT-PMP protocol to automatically configure your router to forward the appropriate ports to your Mac. Turn this option off if you want to manually configure port forwarding on your router, or your router doesn't support UPnP/NAT-PMP.
  7. Host scrambled VPN

    This option is useful if you'll be accessing your Hop server from networks that use Deep Packet Inspection to block OpenVPN services. With this option enabled, Hop runs a separate TLS-wrapping stunnel server which obscures the OpenVPN handshake specifics. This stunnel server is used as a fallback when straight OpenVPN connections fail.

Stay in touch