Charan Mulagala

autoportal

Stay signed in to campus Wi-Fi without ever seeing the login page again. It sits in the menu bar and signs you back in within a second or two of waking.

Year
2026
Built with
Go, OS keychains, GitHub Actions
Runs on
Windows, macOS, Linux
Get it
Download
Code
github.com/M-SaiCharan/autoportal
A wooden Siemens and Halske telephone switchboard with two bells, a handset and cord jacks, on a museum shelf

The problem

9 MB

One file, about 15 MB of memory, nothing else to install.

Many colleges put the network behind a captive portal. You are logged out every time the laptop sleeps, restarts or changes network, and you type the password again. autoportal does it for you, for Sophos Firewall and Cyberoam portals.

Waking up

What happens when you open the lid on a campus network, from asleep to signed in.

Signed in
  • Log in now
  • Log out
  • Pause auto-login
  • Change credentials…
  • Start at login
  • Open log file
  • Quit
  1. 08:59:01 Woke up: the clock jumped 7 hours 12 minutes.
  2. 08:59:01 Internet blocked, campus portal reachable.
  3. 08:59:01 One login request, sent only to the pinned portal.
  4. 08:59:02 Signed in. Next check in a minute.

A re-enactment from autoportal’s documented behaviour, not a recording.

Four switchboard operators wearing headsets at a long cord switchboard, smiling at the camera
Signing people on used to be someone’s job: switchboard operators at the NIH Clinical Center.
A network rack of Ethernet switches and patch panels, dense with grey cables
The other end of a campus network: switches and patch panels.

How it works

  1. WatchEvery three seconds it checks, locally and without network traffic, whether the computer just woke (the clock jumped) or the network changed.
  2. CheckIf so, for the next minute it tests whether the internet works, with the same check URLs Android, Windows and macOS use, and whether the portal is reachable.
  3. Sign inPortal reachable and internet blocked: it sends one login request, exactly as the portal’s own page does. It also signs in once after every wake.
  4. RestOtherwise it checks again once a minute.

Safe by design

  • The password lives only in the OS keychain: macOS Keychain, Windows Credential Manager, GNOME Keyring or KWallet.
  • At setup it records the portal’s certificate and never sends the password anywhere else, so a fake hotspot gets nothing.
  • If the password is rejected it stops after one try, so it can never lock the account.
  • No analytics, no telemetry, no admin rights. It talks only to your portal and the standard connectivity checks.

From the terminal

autoportal status      # am I signed in?
autoportal login       # sign in once, now
autoportal logout      # sign out once, now
autoportal setup       # set up in the terminal
autoportal install     # start at login
autoportal run         # no tray icon; logs to the terminal

Portal brands are drivers that implement one small Go interface. FortiGate and pfSense are next. MIT licence.

MedLensNext case study