Skip to content

Repository files navigation

datasip πŸ₯€

See which app is eating your data β€” live, per-app, over any time window, right in your terminal.

(demo GIF here β€” live dashboard catching a spike + a datasip app chrome --since 30m query)

Built for anyone on a metered connection β€” 5G home routers, tethering, travel eSIMs, ISP data caps. datasip watches your traffic, remembers it, and tells you which app spiked and when β€” even while you were away.

Why not bandwhich / iftop / iStat Menus?

Those show you traffic right now. datasip also remembers, so you can ask questions about the past:

datasip bandwhich / iftop iStat Menus
Live per-app bandwidth βœ… βœ… βœ…
Per-app history βœ… ❌ ~
Ask any window (--since 30m/8h/30d) βœ… ❌ ❌
Spike detection + log βœ… ❌ ❌
Data-cap tracking βœ… ❌ ❌
Single binary, free, terminal-native βœ… βœ… ❌

Install

# Go (single binary, recommended)
go install github.com/zainulabidin302/datasip@latest

# Homebrew (coming soon)
brew install zainulabidin302/tap/datasip

# From source
git clone https://github.com/zainulabidin302/datasip && cd datasip && go build -o datasip .

Use

datasip                          # live dashboard: gauges, sparklines, top apps, spikes
datasip app chrome --since 30m   # how much did Chrome use in the last 30 minutes?
datasip app chrome --since 8h
datasip apps  --since 24h          # ranked leaderboard for a window
datasip spikes --since 24h         # when apps spiked, and how hard
datasip stats                      # daily totals + billing-cycle usage
datasip config --allowance 50 --cycle-day 1   # data-cap bar

--since accepts 5m, 30m, 8h, 7d, 30d, 2w.

Always-on background logging

Keep logging (and catching spikes) even when the dashboard is closed, via a launchd agent:

datasip log        # foreground; wrap in a launchd plist for background use

How it works

Pure macOS built-ins (netstat, nettop) sampled once a second, aggregated into tiny per-minute buckets in ~/.netwatch/. No kernel extensions, no root, no telemetry, no dependencies at runtime.

Demo

Regenerate the README GIF reproducibly with vhs:

brew install charmbracelet/tap/vhs
vhs demo.tape        # writes demo.gif

(Start a download or open a busy site in another window first, so the live dashboard shows real traffic β€” and maybe a spike β€” while recording.)

Contributing

Issues and PRs welcome β€” see CONTRIBUTING.md.

License

MIT Β© Zain ul Abidin

About

πŸ₯€ See which app is eating your data β€” live, per-app, over any time window, in your terminal. For capped/5G/tethered connections.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages