Hacker News new | ask | show | jobs
Show HN: Potatso – Proxy tool on iOS (itunes.apple.com)
50 points by icodesign 3300 days ago
5 comments

I've used Potato on iOS for quite some time, and don't know how I lived without it (as SS is the only VPN protocol that works reliably where I live). At the time, I thought it was the only SS client using the Network Extension API, but I think there's another one.

The original Potatso included some GPL code, and the author proactively and kindly made the repo available on GitHub (instead of only responding to source code requests). This resulted in at least one 'developer' releasing their own version under a different name, at a lower price. So the original developer pulled the repo and created Potatso 2.

I bought Potatso 2, but have yet to use it. A few questions:

- is there any performance or stability reason to switch to Potatso 2?

- does Potatso 2 contain any GPL code? If so, is the source code available somewhere?

Thanks again for creating this.

Wow!!! Your words has lighten up my whole day!!! Thanks for your encouragement.

I would recommend using Potatso 2 instead of Potatso 1 cause it's much more stable and under heavy maintenance.

Potatso 2 doesn't contain any GPL code (that's why it's 2)

:)

Let me know if you ever visit Beijing and I'll buy you a beer or two!

I just bought Potatso 2! Nice UI.

It's funny because I was just using mitmproxy this morning to audit/inspect some iOS apps I use. Password managers etc. Looks like I can do this all on the iPhone now! I can see that Potatso itself is connecting to api.potatso.com and potatso.helpshift.com ...I created rules to REJECT them :P

api.potatso.com is for fetching and updating cloudsets and maybe more features in the future (I think you won't want to REJECT them).

potatso.helpshift.com is for feedback. If you don't use feedback feature, you can disable it.

For privacy concern, please go to https://manual.potatso.com/en/privacy for more details. :)

Very nice! A heads up. The manual (https://manual.potatso.com/) goes from English to Chinese — that is, clicking English, will take you to pages with headers in English, but real text in Chinese).
Nice catch. I thought Potatso Lite is quite easy to use and I didn't get time to translate them. I will do it soon (probably after WWDC)
I immediately bought this from thr app store - solves a very crucial use case for me.

Another app i am looking for and unsure if it exists: fiddler for ios. i want to see all external http requests that are going out from ny phone from all apps/browser/etc

About your last request: I've previously used https://www.charlesproxy.com/ for analyzing all traffic from my iPhone and it works quite well (you use your computer as a proxy for the phone). There's a guide how to in the FAQ https://www.charlesproxy.com/documentation/faqs/
I prefer Mitmproxy https://mitmproxy.org more than Charles, and it is opensource.
To each their own, but I can't imagine a CLI being more convenient than the charles / fiddler GUIs for the kind of things I did with them.
Give it a try. I was in the same boat but found it's cli interface very well done and easy to use, especially the curses based one.
mitmproxy recently introduced a web UI as well. It's still very early, but definitely something to try out!
I've used Charles for quite some years now but have never been satisfied with how heavy it is (it's much better now then it used to be, but still) and how hard it can be to configure some times, even after all these years of using it.

Are there alternatives (with a GUI) for this? Been thinking about building my own....but I'm already "working" on a hunderd other projects..

Proxie (formerly known as Cellist) is nice and lightweight, and Mac native (not Java based like Charles)

Not affiliated, just a happy user.

Potatso 2 (not lite version) has a simple network log feature but for now it only contains the hostname. Request and response details will be added in a few months.
Does this support keys and custom ports for SOCKS over SSH?
Do you mean SSL/TLS?
Not yet. Sorry for that.
If you jailbreak it that seems likely to exist
I didn't realize you could do this on iOS. How does this work?
Yeah, this is really tricky. Apple has released Network Extension API since iOS 9 which only exposes IP packets. What I did is to parse the IP packets and redirect them into different proxies. (Most tough part though only one sentence)
Interesting, do you think the APIs could be used for on device packet capture?

(I know how to set up a remote interface so I can grab the network traffic from a Mac already, interested in exploring alternatives)

You could ask a mod to add "Show HN" flair to the submission as you are the author of the program. It will be more sticky that way.
Thank for your suggestion. I'm new here. Who should I ask for?
dang and sctb, but your best bet for reaching out effectively is probably to email news@ycombinator.com.
Huh, interesting approach. Do you think Apple will allow this in the store? Did you have any trouble with the approval process?
It's already on the App Store so of course they must've allowed it.

There are several similar apps that do basically the same thing. The original one is called Surge, but it's super expensive. Potatso is one of the cheaper clones.

No problem. This is public API and Apple encourages developing custom proxy.
Is your app able to track data usage?
Noe yet. It should be able to. Thank you for your suggestion.
Would love to see that, like track by day/app/wifi/cellular, just more finer then the settings app is doing it :)
why no ota support?
OTA is explicitly marked as non-safe and is removed by Shadowsocks official. So Potatso will no longer support it and I would recommend you change your server.