• Your favorite

    Apple

    ,

    iPhone

    ,

    iPad

    ,

    iOS

    ,
    Jailbreak
    , and
    Cydia
    site.
  • 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. smittyjf's Avatar
      smittyjf -
      Thats why i support them with a donation and did it last week before it came out. The sheer cost of bandwidth is staggering. I know not everyone is capable of donating, but those who can should even if it's just a few dollars.

      Smitty
    1. Repins's Avatar
      Repins -
      Thanks for the article you guys! It was actually very helpful. I knew why things were acting up on Cydia, but your explanation made it much clearer. Thanks again!
    1. littlelisa63's Avatar
      littlelisa63 -
      zodttd & macciti repo is showing no themes apps etc in cydia
    1. raduga's Avatar
      raduga -
      Pirate pants?
    1. icedming's Avatar
      icedming -
      Has anyone been able to download aloud?
    1. 2k1's Avatar
      2k1 -
      Quote Originally Posted by raduga View Post
      Pirate pants?
      Tool care of. Instead of quoting just report it thanks
    1. trek-life's Avatar
      trek-life -
      Quote Originally Posted by frail1 View Post
      Anyone else having issues with texts or iMessage? Mine are sending from my apple ID email...
      Go to settings>iMessage>tap "send & receive" > tap apple ID> sign out, then sign back in

      That's what worked for me this morning
    1. slayorktc's Avatar
      slayorktc -
      My phone after last nights jailbreak has become very unstable.. Having to do force reboots constantly.. First it was intelliscreenX and lockinfo 5 not playing nice.. Next was browserChooser not working correctly, or sometimes open safari and then open chrome.. And now, messages is crashing when I try to delete all messages from a user... Quite odd..
    1. Ivango711's Avatar
      Ivango711 -
      I tried since yesterday but evasi0n tool
      Doesn't detect my iPhone 5 running on my iMac with mountain lion..
    1. Kupe's Avatar
      Kupe -
      Is there a thread tracking what jailbreak tweaks notably work- or don't work yet- in iOS 6? I'm going to upgrade from jailbroken 5.1.1 to 6.1 and jailbreak this week.

      In particular, wondering if these work:

      PdaNet (or MyWi- I own both but prefer PdaNet)
      Update Hider
      Remove Background

      Thanks!
    1. Aerocare's Avatar
      Aerocare -
      Quote Originally Posted by Kupe View Post
      Is there a thread tracking what jailbreak tweaks notably work- or don't work yet- in iOS 6? I'm going to upgrade from jailbroken 5.1.1 to 6.1 and jailbreak this week.

      In particular, wondering if these work:

      PdaNet (or MyWi- I own both but prefer PdaNet)
      Update Hider
      Remove Background

      Thanks!
      GREAT IDEA !!! I updated a spare 4S from 5.1.1 to 6.1 and my iPad Mini to 6.1 but my primary is still at 5.0.1. I noticed that "VS Notifications" is crashing and sending my iPad Mini into SAFE MODE when a text comes in. Aside from that all other apps I have are working fine up to now.
    1. Obarrantes's Avatar
      Obarrantes -
      Hello,
      Sorry to bother you, I'm having a problem with some of the of packages and apps that I have installed on my phone from Cydia. One of them is MyMobileTube Pro which I bought. Every time I try to install it, a error message appears saying that it is forbidden, I don't know what to do.
      If you can help me out I'll appreciated and by the way thanks for all the stuff you guys do for us, have a good day.

      Sincerely
      Olman Barrantes
    1. nmoreman's Avatar
      nmoreman -
      Thanks for a great explanation of how this all works. I think we take for granted "its just supposed to work"

      I cannot imagine the time and effort to write the jailbreak and then implement this for the masses, I don't even fully understand
      the amount of traffic after reading and reading. I knew I was having problems, took we 2 downloads to get full version, then wondered if it went through, but finally thought - it could just be sheer volume, and today, everything clicked along smoothly.

      No, some tweaks and things aren't working, and my weather app isn't right, but who cares - I don't use it anyway!! just took it off
      Notification Center and enjoyed all the other things I can now do - again!!

      Loving my Iphone 5 again and will easily wait for the developers to catch up.

      Thanks to all - going off to donate.
    1. yearoftherat's Avatar
      yearoftherat -
      Quote Originally Posted by icedming View Post
      Has anyone been able to download aloud?
      Can't download it from the repo either
    1. teej1410's Avatar
      teej1410 -
      I still need to update my iPod to iOS 6. I also need to backup my files to iTunes too which will be a while seeing as it has been months since the last backup. Never needed to backup thanks to the tweak PwnTunes.
    1. regkilla's Avatar
      regkilla -
      poor Cydia
    1. cmwade77's Avatar
      cmwade77 -
      I love having my phone Jailbroken again. I just wish TruPrint would have been updated for 6.0+, it really is a great piece of software. I loved being able to make PDFs from my phone.
    1. ttthomas's Avatar
      ttthomas -
      Really outstanding, what the statistics don't show is the behind the scene work (countless hours) involved of all those which took a part of this release.

      In a way, since the very early days of the iPhone this "outlaw" jailbreaking community has been the single most important driving factor to the iPhones success year after year. Many people didn't or don't jailbreak their phones... housewife Mary for example but the reason she bought an iPhone was because of the vibe created by those who did.

      This may only be my view but this recent release is an outstanding achievement in it's professionalism and technical growth of Cydia.
    1. ugshotgun's Avatar
      ugshotgun -
      I only use BITESMS, APPLOCKER and SBSETTINGS. All three are working flawlessly! Thanks DEV Team!! Donation coming!!!!

      Quote Originally Posted by ugshotgun View Post
      i only use bitesms, applocker and sbsettings. All three are working flawlessly! Thanks dev team!! Donation coming!!!!


      amen!
    1. javiert30's Avatar
      javiert30 -
      That's why these people behind the jailbreak scene deserves to be donated... DONE from my part. Thanks guys for your hard work, including for how to know when to close your eyes and ears when you need too, to ignore some people comments and keep working. I know just that, is not easy.