It can be run standalone but I've set it up to run under docker compose for stability. I've been running it for a few months and it's working well for me. The authentication token does expire occasionally and when that happens the script will abort. You need to grab another one and restart the script.
It has a dryrun flag which runs everything but won't actually top up. Leave that set to true until you're happy with what the log is showing. Even once you set dryrun to false, it will give you 10 seconds warning before topping up so you have a chance to kill it if it's doing something unexpected.
It's only set up to do one pool, mostly because I only have one pool, but if anyone has more and is willing to test I'd be willing to add support for multiple pools.
Comments, bug reports, suggestions, etc are welcome.
Yup. Me too. They say it's coming soon but I wouldn't hold my breath.
One feature they did add that gives me hope. Top up data now rolls into the next month. I discovered this by accident after this script bought data the day before my plan renewed.
Edit: Which reminds me. I should check that this script still works on the new shared plan.
USMobile recently added a way to add additional users with limited privileges. Turns out that even "Viewers" can top up a pool (they don't even have to have a line of their own!).
I'd recommend adding a user with view-only privileges and using that limited user to get tokens for scripting. Should be somewhat safer than using a token for the account admin.
Major update to the lifeguard today. Authentication is by username/password now. Setup is easier, no more foraging around for tokens. No more worry about tokens expiring - it knows how to log back in when required.