5 ms·
Here's the source to one that doesn't require flashlight shenanegans: http://wiki.github.com/tcurdt/iProxy/ http://wiki.github.com/tcurdt/iProxy/
by gmurphy 16y ago
Here's the source to one that doesn't require flashlight shenanegans:
http://wiki.github.com/tcurdt/iProxy/ http://wiki.github.com/tcurdt/iProxy/
- DenisM 16y agothanks, gmurphy!
- wallflower 16y agoAnd, no, it's not possible to modify it to run in the background like Pandora because background networking/radio kills battery life.
- gojomo 16y agoNot directly, but -- if Pandora can make a fresh HTTP request out for each song-reload, could a not-quite-SOCKS proxy app make two outbound requests and relay traffic between them? Then, with some additional support on your laptop -- maybe just netcat in a loop -- things might work well enough for browsing. Or could some novel proxy otherwise keep alive a tunnel to another machine in the background? The latest iSSH app says it can keep a session alive for 10 minutes in the background -- though it's not clear if it can relay significant data while backgrounded.
- wallflower 16y agoLooks like iSSH is using beginBackgroundTaskWithExpirationHandler. So, yes, it's possible it would run for up to 10 min. in the background but my guess is the watchdog would kill the SOCKS app for taking up too much CPU time for a bg process and/or network access would be killed intermittently. http://developer.apple.com/iphone/library/documentation/uikit/reference/UIApplication_Class/Reference/Reference.html http://developer.apple.com/iphone/library/documentation/uiki... "This method lets your application continue to run for a period of time after it transitions to the background."
- gojomo 16y agoWhat method(s) do you think Pandora is using to stay alive more than 10 minutes, intermittently fetching additional megabytes of music?
- sirn 16y agoPandora is using Background Audio API, isn't it? If so, the app is able to stay alive as long as it still play music. Background Task API, on the other hand, has 10 minutes time limit.
- gojomo 16y agoThat appears to fit the bill. From reading here... http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html#//apple_ref/doc/uid/TP40007072-CH5-SW14 http://developer.apple.com/iphone/library/documentation/iPho... ...it sounds like a background audio app could do arbitrary other things while remaining unsuspended, and receiving audio callbacks, as long as it also keeps playing audio. (I'm sure Apple would frown on such behavior, and ultimately thwart it, but it seems like the framework gives enough discretion to the app to do other things.)
- wallflower 16y agohttp://cocoawithlove.com/2010/03/streaming-mp3aac-audio-again.html http://cocoawithlove.com/2010/03/streaming-mp3aac-audio-agai... My guess is Pandora has some fairly sophisticated server-side streaming that responds to ACK/FIN-type feedback from the iPhone client.
- gojomo 16y agoIndeed -- any iOS developer ($100/year) can install this on their own phone, and give it to friends (by using one of the limited number of test-device registrations), without jailbreaking.
- pmjordan 16y agoIt's rather annoying to give to your friends though, as you have to re-sign the code once a month and dish out binaries to everyone again. Plus, you'll run out of device codes quickly if you use your dev account to build apps for clients (whose devices you need to register too).
- ROFISH 16y agoYou just need to give a new mobileprovision file every three months, no need to update the app unless necessary. I've always found it to be quite weird that the App Store is so closed, but a person with a developer certificate and MobileProvision can install whatever he wants and can do whatever he wants so long as the apps are codesigned. $99/yr is less than a couple coffees a month (or a good sushi plate) and way less than your phone bill, and is quite worth it for the bored hacker who wants to keep the warranty.
- w1ntermute 16y agoWait a second, isn't the AT&T tethering plan $20/month? That makes becoming a developer a much cheaper way of getting tethering.