Your favorite Apple, iPhone, iPad, iOS, Jailbreak, and Cydia site.
02-05-2013, 12:32 PM #1
How a Jailbreak Release Affects the Cydia Ecosystem
Yesterday saw the release of the much-anticiapted iOS 6.x untethered jailbreak, evasi0n.
As with every jailbreak, this means a giant spike in traffic to all involved in the jailbreak community - specifically to saurik's servers (Cydia) and the default repositories' servers (ourselves, BigBoss, and zodttd). We thought we'd shed a little light on what's going on behind the scenes.
The iPhone 5 was released September 21st, and a jailbreak has been heartily anticipated. Additionally, over 200 million devices are currently running iOS 6.0 - and only a few of those had any jailbreak option until Monday's evasi0n release. At the end of January, saurik stated over 22 million individual devices had accessed Cydia within the past 60 days. That's with NO JAILBREAK being available for many of the latest devices at the time.
At noon EST on Monday the jailbreak was released on evasi0n.com by the evad3rs (a team formed by @pimskeks, @planetbeing, @pod2g, and @MuscleNerd). Full stats haven't been released on Monday's traffic yet, but here's some:
- pod2g stated at 11AM EST there were over 147,000 people on the site - an hour before release.
- In the four days BEFORE the release (Jan 30 - Feb 3), nearly 3 million people visited their site for a total of over 17 million page views.
- 9 minutes after evasi0n's release, @planetbeing posted they'd hit over 1 TB of bandwidth - that's over 100,000 downloads in 10 minutes. By 6 PM it'd been used over 800,000 times.
- By Tuesday, evasi0n had been run over 1.7 million times.
- ModMyi.com had over 685,000 visits Monday.
This was an interesting jailbreak release, in that it had a specific time, known a full day ahead of time. This creates a single giant crushing traffic flow initially, with sustained traffic and various spikes as the other side of the world wakes up, etc.
Let's go through a basic release from Cydia and the repositories' point of view.
When the jailbreak is released, hundreds of thousands of devices are opening Cydia at once - in this case over 100k within the first ten minutes. In the past, every one of these devices would first have to download each default repository's Packages file - the file which tells Cydia which packages a repo has in it. This text file is, in our instance, currently 13MB. That would have equaled 1.3 TB of bandwidth in 10 minutes before anyone even downloaded a single package, except as a genius move in this jailbreak, the evad3rs and saurik had arranged before hand to include a recent Packages file from each repo in the jailbreak - eliminating that need. Past jailbreaks, however, saw this as a huge initial spike.
But we're all still suddenly serving millions of pages and files - much of the content you see in Cydia is web pages, including Cydia's homepage, the Manage Account page, and every "depiction," or the page you see when you pull up a specific file.
Here's a graph saurik shared of his (non-repository - meaning none of the repo packages Telesphoreo Tangelo hosts) traffic since the jailbreak (measured in HTTP hits per 5 minutes):
Now, when a person accesses Cydia, and say, goes to install the E is for Ezra HD theme, a few things are happening.
The content you see in Cydia (at the top says ModMyi on black, has text describing the package underneath, links to screenshots, etc) is actually a webpage, located on our servers. This is called a depiction, which a repo's Packages file tells Cydia the location of. Generally, the repos host these web pages (some developers host their own depictions). Here's a graph of our hits over the past 24 hours, via CloudFlare:
The "Package Officially Purchased" and package price area in the depiction of a paid file, and the blue "Purchase" button are hosted by Cydia.
The package itself, a Debian archive (.deb file), is hosted by the repo, in ModMyi's case on a separate server for serving repository files and tracking their downloads. When you press "Install" in Cydia, Cydia then attempts to download the file from the repo, via the URL for the package given in the repo's Packages file. In each default repositories case, before this file is downloaded it is passed through another file which decides whether or not Cydia can access it. If a repo server is down, or the file hash doesn't match the one in the Packages file, you will see an error in the black Cydia install window such as 502 Bad Gateway, HTTP/1.1 503 Service Unavailable, Size mismatch, and/or others.
If this is a paid package (in the case we're looking at, it is), the repository's server first must contact Cydia's server to verify the device attempting to install this package has in fact paid for it. This is also in ModMyi's case when stats are recorded on the download (arguably something we should change - if the package fails, we've already counted the download).
If Cydia's server replies yes, the device is authorized to download, then the repo server sends the file, and you see the installation process begin in Cydia. If this device has not purchased the package, Cydia sends a no. If Cydia's servers are overwhelmed, after a timeout the repository server assumes this is a no. In either "no" case, Cydia will display a 403 forbidden error at this point.
If you've successfully downloaded the package, Cydia now unpacks it locally, and installs the package on your iDevice.
Note: many packages have Depends, or other packages which they require Cydia to download before or after installing themselves - so you may be requesting Cydia to do this with multiple packages on multiple repos.
In a perfect situation, by opening Cydia and installing this theme you've completed these steps:
- Opened Cydia, hitting saurik's server to load the home page.
- Refreshed your sources, downloading the current packages list (for the past couple years this has been ONLY the packages which are new since the last time you logged in) from all installed repositories.
- Browsed to the page of the package you're installing, actually a webpage on a repo's server.
- Seen the "Officially Purchased" area or "Purchase" button, after Cydia has checked to see if your device is authorized.
- Pressed Install, making Cydia request the file from the repo server.
- Caused the repo server to talk to Cydia's server, requesting again if the device is authorized.
- Downloaded a file, after the repo server sees the device is authorized.
- Cydia unpacks and installs the package, you're done.
Of course, this is all just on the Cydia side - yesterday also set traffic records for us on the modmyi.com website as well.
Most users ever online was 20,073, February 4th 2013 at 9:41 PM.
From early on release day repo maintainers, saurik, the jailbreak publishers (evad3rs this time around), and a host of support staff helping with servers, caching, etc are all working non-stop. We stare at errors all day, monitor stats, and fix everything possible as it's happening.
My thanks to all of them for their work, the community we are a part of, and the great customization of our devices made possible by it.
Last edited by Kyle Matthews; 02-05-2013 at 01:38 PM..
↑ ↑ ↓ ↓ ← → ← → B A [select] [start] Kyle Matthews
02-05-2013, 12:42 PM #2
Just incredible, I hope Saurik posts a number next week and how many users jailbroke there devices in 1 week, would be cool to see how many devices were jailbroken
02-05-2013, 12:45 PM #3
Wow. That is ridiculous. I knew it would be high, but d4mn!
Thanks to everyone who works so hard on the JailBreak Tools, exploits, and servers to keep everything under control and running!
02-05-2013, 12:49 PM #4
Just amazing how all this works and comes together. Thank you all again for the long hours and hard work y'all continue to do to make out iPhones even more better
The Following User Says Thank You to 2k1 For This Useful Post:
02-05-2013, 12:50 PM #5
That's crazy, never would have guessed there were that many people who jailbreak their iDevices. When a new jailbreak is released I usually don't even open Cydia until the next day cause I know it's going to be long load times and lots of errors, I got lucky last night though, installed all my must have tweaks almost problem free!
02-05-2013, 12:54 PM #6
Im just about to update my 4s to 6.1 lol had to wait i wanna get all my tweaks hopefully cydia is better today .
02-05-2013, 12:57 PM #7
02-05-2013, 01:02 PM #8
My weather app doesn't work. Blahhhhhhhhhh
No but really much respect and apprecation to all who was involved.i5-
Long time reader. I don't care if you have 1 million post.
02-05-2013, 01:07 PM #9
Good stuff! Thanks for the post!
02-05-2013, 01:13 PM #10
02-05-2013, 01:16 PM #11
I donated and hope everyone did the same
02-05-2013, 01:21 PM #12
Remember HITS are not equal to VISITS. One person going to a web page can have multiple hits as they make HTTP requests for images, files, and scripts. I think Saurik posted something about it and it is good for surging traffic but that 12,000K hits is not 12,000K unique visitors. Just an FYI.
The Following User Says Thank You to boxxa For This Useful Post:
Kyle Matthews (02-05-2013)
02-05-2013, 01:25 PM #13
Great work mario!
02-05-2013, 01:27 PM #14
Insane. I am also curious to see how many of us actually jailbroke.
02-05-2013, 01:32 PM #15
100,000 downloads in 10 minutes... Ridiculous!
02-05-2013, 01:33 PM #16
02-05-2013, 01:34 PM #17
this just goes to show how many people really dont like the default apple software...... jailbreak ftw
02-05-2013, 01:35 PM #18
02-05-2013, 01:39 PM #19
If anyone wants Weather.app you can have mine.
I don't use it anyway. :p
02-05-2013, 01:55 PM #20
Anyone else having issues with texts or iMessage? Mine are sending from my apple ID email...