• 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.
    • UPDATE: pod2g released evasi0n.com stats including Monday February 4th - 5 millions unique visitor and 40 millions 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, according to saurik..
    • 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):

    That spike is 41,956 hits per second. (Note, a hit is any request for something via HTTP - so when you load a page, you're requesting various images, each a hit, javascript files, CSS files, etc - a server has to individually handle each of these). And note the far left, which is NORMAL traffic pre-release (already large - remember that 22m in 2 months number?).

    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:

    1. Opened Cydia, hitting saurik's server to load the home page.
    2. 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.
    3. Browsed to the page of the package you're installing, actually a webpage on a repo's server.
    4. Seen the "Officially Purchased" area or "Purchase" button, after Cydia has checked to see if your device is authorized.
    5. Pressed Install, making Cydia request the file from the repo server.
    6. Caused the repo server to talk to Cydia's server, requesting again if the device is authorized.
    7. Downloaded a file, after the repo server sees the device is authorized.
    8. 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.
    Many days before a jailbreak is released all parties are working hard bolstering, testing, and configuring backup solutions in preparation for the release. And of course, we spend all year monitoring our respective sites and improving our setups as necessary.

    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.
    This article was originally published in forum thread: How a Jailbreak Release Affects the Cydia Ecosystem started by Kyle Matthews View original post
    Comments 45 Comments
    1. emerica6708's Avatar
      emerica6708 -
      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!
    1. Eonhpi's Avatar
      Eonhpi -
      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 .
    1. Colwood's Avatar
      Colwood -
      Quote Originally Posted by Eonhpi View Post
      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 .
      cydia is so much better today
    1. SAVAGE5's Avatar
      SAVAGE5 -
      My weather app doesn't work. Blahhhhhhhhhh

      No but really much respect and apprecation to all who was involved.
    1. steve-z17's Avatar
      steve-z17 -
      Good stuff! Thanks for the post!
    1. Miguelangelv's Avatar
      Miguelangelv -
      Quote Originally Posted by PokemonDesigner View Post
      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!
    1. jzhu625's Avatar
      jzhu625 -
      I donated and hope everyone did the same
    1. boxxa's Avatar
      boxxa -
      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.
    1. interstink's Avatar
      interstink -
      Great work mario!
    1. GibMcfragger's Avatar
      GibMcfragger -
      Insane. I am also curious to see how many of us actually jailbroke.
    1. punjabi212's Avatar
      punjabi212 -
      100,000 downloads in 10 minutes... Ridiculous!
    1. 2k1's Avatar
      2k1 -
      Quote Originally Posted by punjabi212 View Post
      100,000 downloads in 10 minutes... Ridiculous!
      An then ya don't know who used same computer and jailbroke people's phone on them. Done did 10 phones already at work. Crazy numbers for sure
    1. sheon's Avatar
      sheon -
      this just goes to show how many people really dont like the default apple software...... jailbreak ftw
    1. punjabi212's Avatar
      punjabi212 -
      Quote Originally Posted by 2k1 View Post
      An then ya don't know who used same computer and jailbroke people's phone on them. Done did 10 phones already at work. Crazy numbers for sure
      Very true. I did 3 off 1 download.
    1. raduga's Avatar
      raduga -
      If anyone wants Weather.app you can have mine.
      I don't use it anyway. :p
    1. frail1's Avatar
      frail1 -
      Anyone else having issues with texts or iMessage? Mine are sending from my apple ID email...
    1. 2k1's Avatar
      2k1 -
      All mine is good no issues here
    1. EZO's Avatar
      EZO -
      A many Thanks for everyone involved in the many hours of work for our community to enjoy a Jailbreak! Once again Thank You!
    1. frankenkyle's Avatar
      frankenkyle -
      Quote Originally Posted by jzhu625 View Post
      I donated and hope everyone did the same
      I think it's the right thing to do. If you feel like they've done you a service, and in this case, it's a huge worldwide service, donate what you think it's worth to you. Plain and simple. I've donated to each and every jailbreak since I started and I think it's amazing what this group has done for everyone in the jailbreak community. Without them, we'd be stuck with our vanilla phones. Thanks so much guys! Keep up the amazing work!
    1. rayndog3's Avatar
      rayndog3 -
      still can't get my PAID version of dashboard X to download, just keep getting the "403 forbidden" response. most everything else seems to be going smooth now.
  • Connect With Us

  • Twitter Box

  • Facebook