pickle
A terminal wrapper for MovieBoxPro: search, pick a
source, and get the stream link — or play it, copy it, or dump it as JSON,
without ever touching their website again.
Why
You have a MovieBoxPro account (not my business why) and a terminal. That's
the whole setup. The website is a maze of popups; this is a hallway.
Requirements
- Go 1.22+ to build
- A MovieBoxPro account linked to Google
- Recommended:
mpv to actually play things, chafa if you want posters
that don't look like a screensaver from 1998
Install
go install github.com/justchokingaround/pickle@latest
Setup
On the first command that needs an account, Pickle asks whether to continue
with Google in a browser, paste an existing ui cookie, or exit. Browser login
is the default; it receives the result on a temporary loopback listener.
You can also start it explicitly:
pickle login
If the browser cannot be opened automatically, Pickle prints the link. For a
headless machine, use pickle login -no-browser. Manual cookie entry remains
available as a fallback with pickle config set; input is hidden.
If login fails, retry with pickle login -debug. The diagnostic output shows
response field names and types, but redacts credential and account values.
Pickle also saves MovieBoxPro's refresh credentials. Like the desktop app, it
renews uid_v2 automatically during the final seven days before expiration.
To test or force rotation immediately, run pickle refresh -debug.
Use
pickle # the TUI: type, enter, done
pickle search dune
pickle play 1660 -mpv # resolve and fire up mpv
pickle play 1660 -json # or dump JSON into jq
In the TUI: enter searches, enter plays, j dumps JSON, c copies the
URL, n jumps to the next episode (you will need it), p shows a big poster,
esc goes back, q gives up. TV shows make you pick a season first, as
nature intended.
Fine print
- The
ui cookie is your account. Don't paste it into issues, don't commit
it, don't share it. The saved session key is equally sensitive.
- Stream URLs are tied to your account and IP and expire after a couple of
hours. Fetch fresh, like vegetables.
- This is unofficial. The site bans accounts for aggressive scraping; the
client is deliberately slow (about one request per second). Please don't
turn it into a scraper. Or do, and enjoy the ban.
- Linux needs
xclip or wl-clipboard for the copy key. macOS and Windows
have that built in, which is rare for them.
- Posters need
chafa for real terminal images (kitty/iTerm2/sixel). Without
it you get blocky ASCII art, which is apparently what you signed up for.
License
MIT. Do what you want, don't blame me.