Patreon being forced to pay creators through in-app purchase reminded me of a cool app I made two summers ago.

VPN clients on iOS lie on a spectrum between selling you out to data brokers or being expensive subscriptions.

Having prior experience with Digital Ocean my app made it easy to spin up droplets configured as VPNs ready to use from your iPhone.

It was so fast that droplets could be launched on-demand and shut down fast keeping costs extremely low.

The app used OAuth to act on behalf of users on their personal Digital Ocean accounts making the cumbersome task of setting up a truly personal VPN available to the less technical or less patient user.

App Review rejected the app because I didn’t collect payment to Digital Ocean through in-app purchase.

Tried to appeal and spoke to Apple on the phone arguing that the payment was outside my control and that my app was a privacy boon but they did not care.

@palmin Could it not be done as a PWA?
@dalias
A PWA can't configure iOS' VPN settings to talk to the newly spun up instance.
@palmin
@smolwaffle @palmin Yeah. Is it possible to c&p needed settings tho or does iOS make that difficult or impossible too?

@dalias
Maybe there's a file which could be generated? IDK, I'm not trying to write such a thing.

It would also require hosting a web app that deals with auth etc rather than having that all local, which adds further complexity.

I think the point is that Apple won't let you do lots of things which would be useful because they can't make money on it, not that it's impossible to do useful things despite the limitations they artificially impose.
@palmin

@smolwaffle @palmin Yeah. I'm just always looking at "can this be done with PWAs?" because ultimately that's the way out of the walled garden trap. But ways to do PWA that don't involve a website having authority to change the code out from under you or disappear are also needed...

@smolwaffle @dalias Perhaps it would be possible by someone else but not me.

I had some experience with Digital Ocean APIs, cloud config and networking on Apple platforms and felt I could improve the state of VPNs on iOS but it wasn’t meant to be.