Skip to content

muzzug/screech

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📵 56k Screech

Retro dial-up internet manager for the macOS menu bar — because connecting to the internet should be a deliberate act, not an automatic reflex.

Python License


What it does

56k Screech lives in the menu bar and actually controls your Mac's Wi-Fi. When the internet isn't turned on via DialUp, it simply doesn't work. No silent syncs, no background notifications, no cloud quietly refreshing without your knowledge.

And of course — connecting is accompanied by an authentic dial-up sound ritual. 📟

56k Screech is menu-bar-only: it never shows a Dock icon or a Cmd+Tab entry.

Features

📡 Real Wi-Fi on/off (networksetup), reconciled every second against the actual radio state (catches manual toggles from the system menu too)
🔊 Dial-up handshake sound — bundled recording, with a ~12s procedurally generated fallback if it (or afplay) is unavailable
Live connection timer
Real-time download / upload speed
📦 Data transferred in the current session
💰 Cost per session — currency and price/hour are live-editable in Settings
📊 Stats: today / 7 days / 30 days / all time, plus the last 5 sessions
🔔 Notification Center alert (with a chime) after you've been online past a configurable time limit — includes a one-tap "Disconnect" button
😴 Billing and the alert timer pause across system sleep — waking up doesn't inflate your session cost or fire an overdue alert the instant you're back
⚙️ In-menu Settings: currency, price/hour, modem sound on/off, alerts on/off + limit, Wi-Fi interface picker
🚀 LaunchAgent for automatic startup

The menu bar icon itself reflects connection state: 📵 offline, 📡 connecting, 📶 connected (idle), 🌐 connected (actively transferring data).


Installation

pip

pip install 56k-screech

From source

git clone https://github.com/muzzug/screech.git
cd screech
pip install -e .

Running

screech
# or, without the installed entry point:
python -m screech.app

The 📵 icon appears in the menu bar. Click → "Connect to internet".

The modem sound plays in full before Wi-Fi actually turns on — that's the ritual, not a hang. Expect a several-second delay between clicking Connect and the radio (and the status row) actually going live.


Automatic startup (LaunchAgent)

screech install-launchagent

Uninstall:

screech uninstall-launchagent

Configuration

Most settings are edited live from the app itself — click the Settings section in the menu to expand it:

  • Currency and Price/hour — used to compute the cost shown live and recorded per session
  • Modem sound — turn the dial-up handshake on/off
  • Alerts — toggle on/off, plus a Limit (min) for how often you get a Notification Center reminder while connected
  • Wi-Fi Interface — pick the right Wi-Fi device from a submenu populated from networksetup -listallhardwareports, instead of editing code; this is the fix if 56k Screech "does nothing" (or reports it couldn't turn Wi-Fi on) when you click Connect

Alerts use macOS Notification Center, so the first time you connect you'll be asked to grant 56k Screech permission under System Settings → Notifications. Each alert plays the standard notification chime — if you'd rather it stayed silent, turn off the sound for 56k Screech there.

Settings are persisted to:

~/Library/Application Support/56k Screech/config.json

Session history (used for the Stats section) is stored in:

~/Library/Application Support/56k Screech/sessions.db

A Reset Stats… item at the bottom of the Stats section permanently erases all recorded session history.


License

MIT © Ondřej "Muzzug" Kadlec

About

Retro dial-up internet manager for the macOS menu bar - because connecting to the internet should be a deliberate act, not an automatic reflex.

Resources

License

Stars

Watchers

Forks

Contributors

Languages