├── .gitignore ├── COPYING ├── Cydia.frappliance ├── English.lproj │ └── InfoPlist.strings └── Info.plist ├── Cydia ├── LoadingView.h ├── LoadingView.mm ├── LoadingViewController.h ├── LoadingViewController.mm ├── MIMEAddress.h ├── MIMEAddress.mm └── ProgressEvent.h ├── CyteKit ├── Application.h ├── Application.mm ├── CyteKit.h ├── CyteObject.h ├── CyteObject.mm ├── IndirectDelegate.h ├── InterfaceOrientation.h ├── ListController.h ├── ListController.mm ├── Localize.h ├── MFMailComposeViewController-MailToURL.h ├── MFMailComposeViewController-MailToURL.mm ├── NavigationController.h ├── NavigationController.mm ├── RegEx.hpp ├── TabBarController.h ├── TabBarController.mm ├── TableViewCell.h ├── TableViewCell.mm ├── UCInternal.h ├── UCPlatform.h ├── URLCache.h ├── URLCache.mm ├── URLProtocol.h ├── URLProtocol.mm ├── ViewController.h ├── ViewController.mm ├── WebThreadLocked.hpp ├── WebView.h ├── WebView.mm ├── WebViewController.h ├── WebViewController.mm ├── WebViewTableViewCell.h ├── WebViewTableViewCell.mm ├── Window.h ├── Window.mm ├── countByEnumeratingWithState.h ├── countByEnumeratingWithState.mm ├── dispatchEvent.h ├── dispatchEvent.mm ├── extern.h ├── extern.mm ├── stringWithUTF8Bytes.h ├── stringWithUTF8Bytes.mm ├── webScriptObjectInContext.h └── webScriptObjectInContext.mm ├── Cytore.hpp ├── DiskUsage.cpp ├── LaunchDaemons └── com.saurik.Cydia.Startup.plist ├── Library ├── asuser ├── finish.sh ├── firmware.sh ├── free.sh ├── move.sh └── startup ├── Menes ├── Function.h ├── Menes.h ├── ObjectHandle.h ├── Pooling.hpp ├── invocationWithSelector.h ├── invocationWithSelector.mm ├── radixSortWithSelector.h ├── radixSortWithSelector.mm ├── yieldToSelector.h └── yieldToSelector.mm ├── MobileCydia.app ├── Default-568h@2x.png ├── Default-Landscape.png ├── Default-Landscape@2x.png ├── Default-Portrait.png ├── Default-Portrait@2x.png ├── Default.png ├── Default@2x.png ├── Icon-60.png ├── Icon-60@2x.png ├── Icon-60@3x.png ├── Icon-76@2x~ipad.png ├── Icon-76~ipad.png ├── Icon-Small-40.png ├── Icon-Small-40@2x.png ├── Icon-Small-50.png ├── Icon-Small-50@2x.png ├── Icon-Small.png ├── Icon-Small@2x.png ├── Icon7-Small.png ├── Icon7-Small@2x.png ├── Icon7-Small@3x.png ├── Info.plist ├── Purposes │ ├── commercial.png │ ├── console.png │ ├── daemon.png │ ├── extension.png │ ├── library.png │ ├── uikit.png │ └── x.png ├── Sections.plist ├── Sections │ ├── Addons.png │ ├── Administration.png │ ├── Archiving.png │ ├── Books.png │ ├── Carrier_Bundles.png │ ├── Data_Storage.png │ ├── Development.png │ ├── Dictionaries.png │ ├── Education.png │ ├── Entertainment.png │ ├── Fonts.png │ ├── Games.png │ ├── Health_and_Fitness.png │ ├── Java.png │ ├── Keyboards.png │ ├── Localization.png │ ├── Messaging.png │ ├── Multimedia.png │ ├── Navigation.png │ ├── Networking.png │ ├── Packaging.png │ ├── Productivity.png │ ├── Repositories.png │ ├── Ringtones.png │ ├── Scripting.png │ ├── Security.png │ ├── Site-Specific_Apps.png │ ├── Social.png │ ├── Soundboards.png │ ├── System.png │ ├── Terminal_Support.png │ ├── Text_Editors.png │ ├── Themes.png │ ├── Toys.png │ ├── Tweaks.png │ ├── Utilities.png │ ├── Wallpaper.png │ ├── Widgets.png │ └── X_Window.png ├── ar.lproj │ ├── Localizable.strings │ └── Sections.strings ├── changes.png ├── changes7.png ├── changes7@2x.png ├── changes7@3x.png ├── changes7s.png ├── changes7s@2x.png ├── changes7s@3x.png ├── changes@2x.png ├── chevron@2x.png ├── compose.png ├── configure.png ├── de.lproj │ ├── Localizable.strings │ └── Sections.strings ├── el.lproj │ ├── Localizable.strings │ └── Sections.strings ├── en.lproj │ ├── Localizable.strings │ └── Sections_.strings ├── error.html ├── es.lproj │ ├── Localizable.strings │ └── Sections.strings ├── folder.png ├── folder@2x.png ├── fr.lproj │ ├── Localizable.strings │ └── Sections.strings ├── he.lproj │ ├── Localizable.strings │ └── Sections.strings ├── home-Selected.png ├── home-Selected@2x.png ├── home.png ├── home7.png ├── home7@2x.png ├── home7@3x.png ├── home7s.png ├── home7s@2x.png ├── home7s@3x.png ├── home@2x.png ├── iOS7-Default-568h@2x.png ├── iOS7-Default-667h@2x.png ├── iOS7-Default-736h-Landscape@3x.png ├── iOS7-Default-736h-Portrait@3x.png ├── iOS7-Default-Landscape.png ├── iOS7-Default-Landscape@2x.png ├── iOS7-Default-Portrait.png ├── iOS7-Default-Portrait@2x.png ├── iOS7-Default@2x.png ├── icon-72.png ├── icon-72@2x.png ├── icon.png ├── icon@2x.png ├── iconClassic.png ├── install.png ├── install7.png ├── install7@2x.png ├── install7@3x.png ├── install7s.png ├── install7s@2x.png ├── install7s@3x.png ├── install@2x.png ├── installed.png ├── installed@2x.png ├── installing.png ├── installing@2x.png ├── it.lproj │ ├── Localizable.strings │ └── Sections.strings ├── ja.lproj │ ├── Localizable.strings │ └── Sections.strings ├── ko.lproj │ ├── Localizable.strings │ └── Sections.strings ├── localize.js ├── manage.png ├── manage7.png ├── manage7@2x.png ├── manage7@3x.png ├── manage7s.png ├── manage7s@2x.png ├── manage7s@3x.png ├── manage@2x.png ├── menes │ └── menes.js ├── nl.lproj │ ├── Localizable.strings │ └── Sections.strings ├── pl.lproj │ ├── Localizable.strings │ └── Sections.strings ├── pt-PT.lproj │ ├── Localizable.strings │ └── Sections.strings ├── pt.lproj │ ├── Localizable.strings │ └── Sections.strings ├── reload.png ├── removing.png ├── removing@2x.png ├── ru.lproj │ ├── Localizable.strings │ └── Sections.strings ├── search.png ├── search7.png ├── search7@2x.png ├── search7@3x.png ├── search7s.png ├── search7s@2x.png ├── search7s@3x.png ├── search@2x.png ├── sv.lproj │ ├── Localizable.strings │ └── Sections.strings ├── th.lproj │ ├── Localizable.strings │ └── Sections.strings ├── tr.lproj │ ├── Localizable.strings │ └── Sections.strings ├── unknown.png ├── vi.lproj │ ├── Localizable.strings │ └── Sections.strings ├── zh-Hans.lproj │ ├── Localizable.strings │ └── Sections.strings └── zh-Hant.lproj │ ├── Localizable.strings │ └── Sections.strings ├── MobileCydia.mm ├── Sources.h ├── Sources.list ├── cydia.list └── saurik.list ├── Sources.mm ├── Substrate.hpp ├── Trusted.gpg ├── bigboss.gpg ├── modmyi.gpg ├── saurik.gpg └── zodttd.gpg ├── Version.mm ├── apt-contrib └── apt-pkg ├── apt-deb └── apt-pkg ├── apt-extra ├── apti18n.h ├── config.h └── endian.h ├── apt-tag └── apt-pkg │ ├── tagfile-keys.cc │ └── tagfile-keys.h ├── apt.h ├── cfversion.mm ├── compiling.txt ├── control.sh ├── cydia-lproj.control ├── cydia.control ├── cydo.cpp ├── entitlements.xml ├── fdstream.hpp ├── iPhonePrivate.h ├── lookup3.c ├── make.sh ├── makefile ├── pngcrush.sh ├── postinst.mm ├── preinst ├── setnsfpn.cpp ├── sysroot.sh ├── uikit.sh └── version.sh /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /Cydia.frappliance/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | CFBundleName = "Cydia"; 2 | -------------------------------------------------------------------------------- /Cydia.frappliance/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CFBundleExecutable 7 | CydiaAppliance 8 | 9 | CFBundleIdentifier 10 | com.saurik.Cydia 11 | 12 | CFBundleInfoDictionaryVersion 13 | 6.0 14 | 15 | CFBundlePackageType 16 | BNDL 17 | 18 | CFBundleSignature 19 | fnrw 20 | 21 | CFBundleSupportedPlatforms 22 | 23 | iPhoneOS 24 | 25 | 26 | CFBundleVersion 27 | 0.9 28 | 29 | DTSDKName 30 | iphoneos2.0.saurik 31 | 32 | FRApplianceDataSourceType 33 | All 34 | 35 | FRAppliancePreferedOrderValue 36 | 1 37 | 38 | FRHideIfNoCategories 39 | 40 | 41 | FRRemoteAppliance 42 | 43 | 44 | LSRequiresIPhoneOS 45 | 1 46 | 47 | MinimumOSVersion 48 | 3.0 49 | 50 | NSPrincipalClass 51 | CydiaAppliance 52 | 53 | UIDeviceFamily 54 | 55 | 3 56 | 2 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Cydia/LoadingView.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef Cydia_LoadingView_H 23 | #define Cydia_LoadingView_H 24 | 25 | #include "Menes/ObjectHandle.h" 26 | 27 | #include 28 | 29 | @interface CydiaLoadingView : UIView { 30 | _H spinner_; 31 | _H label_; 32 | _H container_; 33 | } 34 | 35 | @end 36 | 37 | #endif//Cydia_LoadingView_H 38 | -------------------------------------------------------------------------------- /Cydia/LoadingView.mm: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #include "CyteKit/UCPlatform.h" 23 | #include "CyteKit/Localize.h" 24 | 25 | #include "Cydia/LoadingView.h" 26 | 27 | @implementation CydiaLoadingView 28 | 29 | - (id) initWithFrame:(CGRect)frame { 30 | if ((self = [super initWithFrame:frame]) != nil) { 31 | container_ = [[[UIView alloc] init] autorelease]; 32 | [container_ setAutoresizingMask:UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin]; 33 | 34 | spinner_ = [[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray] autorelease]; 35 | [spinner_ startAnimating]; 36 | [container_ addSubview:spinner_]; 37 | 38 | label_ = [[[UILabel alloc] init] autorelease]; 39 | [label_ setFont:[UIFont boldSystemFontOfSize:15.0f]]; 40 | [label_ setBackgroundColor:[UIColor clearColor]]; 41 | [label_ setTextColor:[UIColor viewFlipsideBackgroundColor]]; 42 | [label_ setShadowColor:[UIColor whiteColor]]; 43 | [label_ setShadowOffset:CGSizeMake(0, 1)]; 44 | [label_ setText:[NSString stringWithFormat:Elision_, UCLocalize("LOADING"), nil]]; 45 | [container_ addSubview:label_]; 46 | 47 | CGSize viewsize = frame.size; 48 | CGSize spinnersize = [spinner_ bounds].size; 49 | CGSize textsize = [[label_ text] sizeWithFont:[label_ font]]; 50 | float bothwidth = spinnersize.width + textsize.width + 5.0f; 51 | 52 | CGRect containrect = { 53 | CGPointMake(floorf((viewsize.width / 2) - (bothwidth / 2)), floorf((viewsize.height / 2) - (spinnersize.height / 2))), 54 | CGSizeMake(bothwidth, spinnersize.height) 55 | }; 56 | CGRect textrect = { 57 | CGPointMake(spinnersize.width + 5.0f, floorf((spinnersize.height / 2) - (textsize.height / 2))), 58 | textsize 59 | }; 60 | CGRect spinrect = { 61 | CGPointZero, 62 | spinnersize 63 | }; 64 | 65 | [container_ setFrame:containrect]; 66 | [spinner_ setFrame:spinrect]; 67 | [label_ setFrame:textrect]; 68 | [self addSubview:container_]; 69 | } return self; 70 | } 71 | 72 | @end 73 | -------------------------------------------------------------------------------- /Cydia/LoadingViewController.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef Cydia_LoadingViewController_H 23 | #define Cydia_LoadingViewController_H 24 | 25 | #include "CyteKit/ViewController.h" 26 | 27 | @interface CydiaLoadingViewController : CyteViewController { 28 | } 29 | 30 | @end 31 | 32 | #endif//Cydia_LoadingViewController_H 33 | -------------------------------------------------------------------------------- /Cydia/LoadingViewController.mm: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #include "CyteKit/UCPlatform.h" 23 | 24 | #include "Cydia/LoadingView.h" 25 | #include "Cydia/LoadingViewController.h" 26 | 27 | @implementation CydiaLoadingViewController 28 | 29 | - (void) loadView { 30 | [super loadView]; 31 | 32 | UITableView *table([[[UITableView alloc] initWithFrame:[[self view] bounds] style:UITableViewStyleGrouped] autorelease]); 33 | [table setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)]; 34 | [[self view] addSubview:table]; 35 | 36 | CydiaLoadingView *indicator([[[CydiaLoadingView alloc] initWithFrame:[[self view] bounds]] autorelease]); 37 | [indicator setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)]; 38 | [[self view] addSubview:indicator]; 39 | } 40 | 41 | @end 42 | -------------------------------------------------------------------------------- /Cydia/MIMEAddress.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef Cydia_MIMEAddress_H 23 | #define Cydia_MIMEAddress_H 24 | 25 | #include "Menes/ObjectHandle.h" 26 | 27 | @interface MIMEAddress : NSObject { 28 | _H name_; 29 | _H address_; 30 | } 31 | 32 | - (NSString *) name; 33 | - (NSString *) address; 34 | 35 | - (void) setAddress:(NSString *)address; 36 | 37 | + (MIMEAddress *) addressWithString:(NSString *)string; 38 | - (id) initWithString:(NSString *)string; 39 | 40 | @end 41 | 42 | #endif//Cydia_MIMEAddress_H 43 | -------------------------------------------------------------------------------- /Cydia/MIMEAddress.mm: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #include "CyteKit/UCPlatform.h" 23 | 24 | #include "Cydia/MIMEAddress.h" 25 | #include "CyteKit/RegEx.hpp" 26 | 27 | #include "iPhonePrivate.h" 28 | 29 | @implementation MIMEAddress 30 | 31 | - (NSString *) name { 32 | return name_; 33 | } 34 | 35 | - (NSString *) address { 36 | return address_; 37 | } 38 | 39 | - (void) setAddress:(NSString *)address { 40 | address_ = address; 41 | } 42 | 43 | + (MIMEAddress *) addressWithString:(NSString *)string { 44 | return [[[MIMEAddress alloc] initWithString:string] autorelease]; 45 | } 46 | 47 | + (NSArray *) _attributeKeys { 48 | return [NSArray arrayWithObjects: 49 | @"address", 50 | @"name", 51 | nil]; 52 | } 53 | 54 | - (NSArray *) attributeKeys { 55 | return [[self class] _attributeKeys]; 56 | } 57 | 58 | + (BOOL) isKeyExcludedFromWebScript:(const char *)name { 59 | return ![[self _attributeKeys] containsObject:[NSString stringWithUTF8String:name]] && [super isKeyExcludedFromWebScript:name]; 60 | } 61 | 62 | - (id) initWithString:(NSString *)string { 63 | if ((self = [super init]) != nil) { 64 | const char *data = [string UTF8String]; 65 | size_t size = [string lengthOfBytesUsingEncoding:NSUTF8StringEncoding]; 66 | 67 | static RegEx address_r("\"?(.*)\"? <([^>]*)>"); 68 | 69 | if (address_r(data, size)) { 70 | name_ = address_r[1]; 71 | address_ = address_r[2]; 72 | } else { 73 | name_ = string; 74 | address_ = nil; 75 | } 76 | } return self; 77 | } 78 | 79 | @end 80 | -------------------------------------------------------------------------------- /Cydia/ProgressEvent.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef Cydia_ProgressEvent_H 23 | #define Cydia_ProgressEvent_H 24 | 25 | #include 26 | 27 | #include 28 | 29 | @interface CydiaProgressEvent : NSObject { 30 | _H message_; 31 | _H type_; 32 | 33 | _H item_; 34 | _H package_; 35 | _H url_; 36 | _H version_; 37 | } 38 | 39 | + (CydiaProgressEvent *) eventWithMessage:(NSString *)message ofType:(NSString *)type; 40 | + (CydiaProgressEvent *) eventWithMessage:(NSString *)message ofType:(NSString *)type forPackage:(NSString *)package; 41 | + (CydiaProgressEvent *) eventWithMessage:(NSString *)message ofType:(NSString *)type forItemDesc:(pkgAcquire::ItemDesc &)desc; 42 | 43 | - (id) initWithMessage:(NSString *)message ofType:(NSString *)type; 44 | 45 | - (NSString *) message; 46 | - (NSString *) type; 47 | 48 | - (NSArray *) item; 49 | - (NSString *) package; 50 | - (NSString *) url; 51 | - (NSString *) version; 52 | 53 | - (void) setItem:(NSArray *)item; 54 | - (void) setPackage:(NSString *)package; 55 | - (void) setURL:(NSString *)url; 56 | - (void) setVersion:(NSString *)version; 57 | 58 | - (NSString *) compound:(NSString *)value; 59 | - (NSString *) compoundMessage; 60 | - (NSString *) compoundTitle; 61 | 62 | @end 63 | 64 | @protocol ProgressDelegate 65 | - (void) addProgressEvent:(CydiaProgressEvent *)event; 66 | - (void) setProgressPercent:(NSNumber *)percent; 67 | - (void) setProgressStatus:(NSDictionary *)status; 68 | - (void) setProgressCancellable:(NSNumber *)cancellable; 69 | - (bool) isProgressCancelled; 70 | - (void) setTitle:(NSString *)title; 71 | @end 72 | 73 | #endif//Cydia_ProgressEvent_H 74 | -------------------------------------------------------------------------------- /CyteKit/Application.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef CyteKit_Application_H 23 | #define CyteKit_Application_H 24 | 25 | #include 26 | 27 | @interface CyteApplication : UIApplication 28 | 29 | - (void) applicationDidFinishLaunching:(id)unused; 30 | 31 | - (void) retainNetworkActivityIndicator; 32 | - (void) releaseNetworkActivityIndicator; 33 | 34 | @end 35 | 36 | #endif//CyteKit_Application_H 37 | -------------------------------------------------------------------------------- /CyteKit/Application.mm: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #include "CyteKit/UCPlatform.h" 23 | 24 | #include 25 | #include 26 | 27 | #include "CyteKit/Application.h" 28 | #include "CyteKit/URLCache.h" 29 | 30 | #include "iPhonePrivate.h" 31 | #include 32 | 33 | @implementation CyteApplication { 34 | unsigned activity_; 35 | } 36 | 37 | - (void) _sendMemoryWarningNotification { 38 | if (kCFCoreFoundationVersionNumber < kCFCoreFoundationVersionNumber_iPhoneOS_3_0) // XXX: maybe 4_0? 39 | [[NSNotificationCenter defaultCenter] postNotificationName:@"UIApplicationMemoryWarningNotification" object:[UIApplication sharedApplication]]; 40 | else 41 | [[NSNotificationCenter defaultCenter] postNotificationName:@"UIApplicationDidReceiveMemoryWarningNotification" object:[UIApplication sharedApplication]]; 42 | } 43 | 44 | - (void) _sendMemoryWarningNotifications { 45 | while (true) { 46 | [self performSelectorOnMainThread:@selector(_sendMemoryWarningNotification) withObject:nil waitUntilDone:NO]; 47 | sleep(2); 48 | //usleep(2000000); 49 | } 50 | } 51 | 52 | - (void) applicationDidReceiveMemoryWarning:(UIApplication *)application { 53 | NSLog(@"--"); 54 | [[NSURLCache sharedURLCache] removeAllCachedResponses]; 55 | } 56 | 57 | - (void) applicationDidFinishLaunching:(id)unused { 58 | //[NSThread detachNewThreadSelector:@selector(_sendMemoryWarningNotifications) toTarget:self withObject:nil]; 59 | 60 | if ([self respondsToSelector:@selector(setApplicationSupportsShakeToEdit:)]) 61 | [self setApplicationSupportsShakeToEdit:NO]; 62 | 63 | [NSURLCache setSharedURLCache:[[[CyteURLCache alloc] 64 | initWithMemoryCapacity:524288 65 | diskCapacity:10485760 66 | diskPath:[NSString stringWithFormat:@"%@/%@/%@", NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject, NSBundle.mainBundle.bundleIdentifier, @"SDURLCache"] 67 | ] autorelease]]; 68 | } 69 | 70 | - (void) retainNetworkActivityIndicator { 71 | if (activity_++ == 0) 72 | [self setNetworkActivityIndicatorVisible:YES]; 73 | 74 | #if TraceLogging 75 | NSLog(@"retainNetworkActivityIndicator->%d", activity_); 76 | #endif 77 | } 78 | 79 | - (void) releaseNetworkActivityIndicator { 80 | if (--activity_ == 0) 81 | [self setNetworkActivityIndicatorVisible:NO]; 82 | 83 | #if TraceLogging 84 | NSLog(@"releaseNetworkActivityIndicator->%d", activity_); 85 | #endif 86 | } 87 | 88 | @end 89 | -------------------------------------------------------------------------------- /CyteKit/CyteKit.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef CyteKit_CyteKit_H 23 | #define CyteKit_CyteKit_H 24 | 25 | #include "CyteKit/Application.h" 26 | #include "CyteKit/CyteObject.h" 27 | #include "CyteKit/ListController.h" 28 | #include "CyteKit/NavigationController.h" 29 | #include "CyteKit/TableViewCell.h" 30 | #include "CyteKit/TabBarController.h" 31 | #include "CyteKit/URLCache.h" 32 | #include "CyteKit/URLProtocol.h" 33 | #include "CyteKit/WebViewController.h" 34 | #include "CyteKit/WebViewTableViewCell.h" 35 | #include "CyteKit/Window.h" 36 | 37 | #include "CyteKit/countByEnumeratingWithState.h" 38 | #include "CyteKit/extern.h" 39 | #include "CyteKit/stringWithUTF8Bytes.h" 40 | #include "CyteKit/webScriptObjectInContext.h" 41 | 42 | #endif//CyteKit_CyteKit_H 43 | -------------------------------------------------------------------------------- /CyteKit/CyteObject.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #include 23 | 24 | @class CyteWebViewController; 25 | 26 | @interface CyteObject : NSObject 27 | 28 | - (id) initWithDelegate:(CyteWebViewController *)indirect; 29 | 30 | - (NSArray *) attributeKeys; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /CyteKit/IndirectDelegate.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef CyteKit_IndirectDelegate_H 23 | #define CyteKit_IndirectDelegate_H 24 | 25 | #include 26 | 27 | @interface IndirectDelegate : NSObject { 28 | _transient volatile id delegate_; 29 | } 30 | 31 | - (id) delegate; 32 | - (void) setDelegate:(id)delegate; 33 | 34 | - (id) initWithDelegate:(id)delegate; 35 | 36 | @end 37 | 38 | #endif//CyteKit_IndirectDelegate_H 39 | -------------------------------------------------------------------------------- /CyteKit/InterfaceOrientation.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | - (NSUInteger) supportedInterfaceOrientations { 23 | extern bool IsWildcat_; 24 | extern CGFloat ScreenScale_; 25 | return IsWildcat_ || ScreenScale_ == 3 ? UIInterfaceOrientationMaskAll : UIInterfaceOrientationMaskPortrait; 26 | } 27 | 28 | - (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orientation { 29 | return ([self supportedInterfaceOrientations] & 1 << orientation) != 0; 30 | } 31 | 32 | - (BOOL) shouldAutorotate { 33 | return YES; 34 | } 35 | -------------------------------------------------------------------------------- /CyteKit/ListController.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef CyteKit_ListController_H 23 | #define CyteKit_ListController_H 24 | 25 | #include 26 | 27 | #include 28 | 29 | @interface CyteListController : CyteViewController 30 | 31 | - (id) initWithTitle:(NSString *)title; 32 | 33 | - (bool) shouldYield; 34 | - (void) loadView; 35 | - (void) _reloadData; 36 | - (void) resetCursor; 37 | - (void) clearData; 38 | - (CGFloat) rowHeight; 39 | 40 | @end 41 | 42 | #endif//CyteKit_ListController_H 43 | -------------------------------------------------------------------------------- /CyteKit/Localize.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef CyteKit_Localize_H 23 | #define CyteKit_Localize_H 24 | 25 | #include 26 | 27 | static inline NSString *UCLocalizeEx(NSString *key, NSString *value = nil) { 28 | return [[NSBundle mainBundle] localizedStringForKey:key value:value table:nil]; 29 | } 30 | 31 | #define UCLocalize(key) UCLocalizeEx(@ key) 32 | 33 | extern NSString *Elision_; 34 | 35 | #endif//CyteKit_Localize_H 36 | -------------------------------------------------------------------------------- /CyteKit/MFMailComposeViewController-MailToURL.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef CyteKit_MFMailComposeViewController_MailToURL_H 23 | #define CyteKit_MFMailComposeViewController_MailToURL_H 24 | 25 | #include 26 | #include 27 | 28 | @interface MFMailComposeViewController (CyteMailToURL) 29 | - (void) setMailToURL:(NSURL *)url; 30 | @end 31 | 32 | #endif//CyteKit_MFMailComposeViewController_MailToURL_H 33 | -------------------------------------------------------------------------------- /CyteKit/MFMailComposeViewController-MailToURL.mm: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #include "CyteKit/MFMailComposeViewController-MailToURL.h" 23 | 24 | #include 25 | #include 26 | 27 | static void $MFMailComposeViewController$setMailToURL$(MFMailComposeViewController *self, SEL _cmd, NSURL *url) { 28 | NSString *scheme([url scheme]); 29 | 30 | if (scheme == nil || ![[scheme lowercaseString] isEqualToString:@"mailto"]) 31 | [NSException raise:NSInvalidArgumentException format:@"-[MFMailComposeViewController setMailToURL:] - non-mailto: URL"]; 32 | 33 | NSString *href([url absoluteString]); 34 | NSRange question([href rangeOfString:@"?"]); 35 | 36 | NSMutableArray *to([NSMutableArray arrayWithCapacity:1]); 37 | 38 | NSString *target, *query; 39 | if (question.location == NSNotFound) { 40 | target = [href substringFromIndex:7]; 41 | query = nil; 42 | } else { 43 | target = [href substringWithRange:NSMakeRange(7, question.location - 7)]; 44 | query = [href substringFromIndex:(question.location + 1)]; 45 | } 46 | 47 | if ([target length] != 0) 48 | [to addObject:target]; 49 | 50 | if (query != nil && [query length] != 0) { 51 | NSMutableArray *cc([NSMutableArray arrayWithCapacity:1]); 52 | NSMutableArray *bcc([NSMutableArray arrayWithCapacity:1]); 53 | 54 | for (NSString *assign in [query componentsSeparatedByString:@"&"]) { 55 | NSRange equal([assign rangeOfString:@"="]); 56 | if (equal.location == NSNotFound) 57 | continue; 58 | 59 | NSString *name([assign substringToIndex:equal.location]); 60 | NSString *value([assign substringFromIndex:(equal.location + 1)]); 61 | value = [value stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 62 | 63 | if (false); 64 | else if ([name isEqualToString:@"attachment"]) { 65 | if (NSData *data = [NSData dataWithContentsOfFile:value]) 66 | [self addAttachmentData:data mimeType:@"application/octet-stream" fileName:[value lastPathComponent]]; 67 | } else if ([name isEqualToString:@"bcc"]) 68 | [bcc addObject:value]; 69 | else if ([name isEqualToString:@"body"]) 70 | [self setMessageBody:value isHTML:NO]; 71 | else if ([name isEqualToString:@"cc"]) 72 | [cc addObject:value]; 73 | else if ([name isEqualToString:@"subject"]) 74 | [self setSubject:value]; 75 | else if ([name isEqualToString:@"to"]) 76 | [to addObject:value]; 77 | } 78 | 79 | [self setCcRecipients:cc]; 80 | [self setBccRecipients:bcc]; 81 | } 82 | 83 | [self setToRecipients:to]; 84 | } 85 | 86 | __attribute__((__constructor__)) static void MFMailComposeViewController_CyteMailToURL() { 87 | dlopen("/System/Library/Frameworks/MessageUI.framework/MessageUI", RTLD_GLOBAL | RTLD_LAZY); 88 | if (Class MFMailComposeViewController = objc_getClass("MFMailComposeViewController")) 89 | class_addMethod(MFMailComposeViewController, @selector(setMailToURL:), (IMP) $MFMailComposeViewController$setMailToURL$, "v12@0:4@8"); 90 | } 91 | -------------------------------------------------------------------------------- /CyteKit/NavigationController.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef CyteKit_NavigationController_H 23 | #define CyteKit_NavigationController_H 24 | 25 | #include 26 | 27 | @interface UINavigationController (Cydia) 28 | 29 | - (NSArray *) navigationURLCollection; 30 | - (void) unloadData; 31 | 32 | @end 33 | 34 | #endif//CyteKit_NavigationController_H 35 | -------------------------------------------------------------------------------- /CyteKit/NavigationController.mm: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #include "CyteKit/UCPlatform.h" 23 | 24 | #include 25 | #include 26 | 27 | #include "CyteKit/NavigationController.h" 28 | #include "CyteKit/ViewController.h" 29 | 30 | #include "iPhonePrivate.h" 31 | #include 32 | 33 | @implementation UINavigationController (Cydia) 34 | 35 | - (NSArray *) navigationURLCollection { 36 | NSMutableArray *stack([NSMutableArray array]); 37 | 38 | for (CyteViewController *controller in [self viewControllers]) { 39 | NSString *url = [[controller navigationURL] absoluteString]; 40 | if (url != nil) 41 | [stack addObject:url]; 42 | } 43 | 44 | return stack; 45 | } 46 | 47 | - (void) reloadData { 48 | [super reloadData]; 49 | 50 | UIViewController *visible([self visibleViewController]); 51 | if (visible != nil) 52 | [visible reloadData]; 53 | 54 | // on the iPad, this view controller is ALSO visible. :( 55 | extern bool IsWildcat_; 56 | if (IsWildcat_) 57 | if (UIViewController *modal = [self modalViewController]) 58 | if ([modal modalPresentationStyle] == UIModalPresentationFormSheet) 59 | if (UIViewController *top = [self topViewController]) 60 | if (top != visible) 61 | [top reloadData]; 62 | } 63 | 64 | - (void) unloadData { 65 | for (CyteViewController *page in [self viewControllers]) 66 | [page unloadData]; 67 | 68 | [super unloadData]; 69 | } 70 | 71 | @end 72 | -------------------------------------------------------------------------------- /CyteKit/TabBarController.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef CyteKit_TabBarController_H 23 | #define CyteKit_TabBarController_H 24 | 25 | #include 26 | 27 | #include 28 | 29 | @interface CyteTabBarController : UITabBarController 30 | 31 | - (NSArray *) navigationURLCollection; 32 | - (void) addViewControllers:(id)no, ...; 33 | - (UIViewController *) unselectedViewController; 34 | - (void) setUnselectedViewController:(UIViewController *)transient; 35 | 36 | @end 37 | 38 | #endif//CyteKit_TabBarController_H 39 | -------------------------------------------------------------------------------- /CyteKit/TableViewCell.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef CyteKit_TableViewCell_H 23 | #define CyteKit_TableViewCell_H 24 | 25 | #include 26 | 27 | @protocol CyteTableViewCellDelegate 28 | - (void) drawContentRect:(CGRect)rect; 29 | @end 30 | 31 | @interface CyteTableViewCellContentView : UIView 32 | 33 | - (id) delegate; 34 | - (void) setDelegate:(id)delegate; 35 | 36 | @end 37 | 38 | @interface CyteTableViewCell : UITableViewCell 39 | 40 | - (void) setContent:(CyteTableViewCellContentView *)content; 41 | - (CyteTableViewCellContentView *) content; 42 | 43 | - (bool) highlighted; 44 | 45 | @end 46 | 47 | #endif//CyteKit_TableViewCell_H 48 | -------------------------------------------------------------------------------- /CyteKit/TableViewCell.mm: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #include "CyteKit/UCPlatform.h" 23 | 24 | #include "CyteKit/TableViewCell.h" 25 | 26 | #include "iPhonePrivate.h" 27 | #include 28 | 29 | @implementation CyteTableViewCellContentView { 30 | _transient id delegate_; 31 | } 32 | 33 | - (id) initWithFrame:(CGRect)frame { 34 | if ((self = [super initWithFrame:frame]) != nil) { 35 | [self setNeedsDisplayOnBoundsChange:YES]; 36 | } return self; 37 | } 38 | 39 | - (id) delegate { 40 | return delegate_; 41 | } 42 | 43 | - (void) setDelegate:(id)delegate { 44 | delegate_ = delegate; 45 | } 46 | 47 | - (void) drawRect:(CGRect)rect { 48 | [super drawRect:rect]; 49 | [delegate_ drawContentRect:rect]; 50 | } 51 | 52 | @end 53 | 54 | @implementation CyteTableViewCell { 55 | _H content_; 56 | bool highlighted_; 57 | } 58 | 59 | - (instancetype) initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuseIdentifier { 60 | if ((self = [super initWithFrame:frame reuseIdentifier:reuseIdentifier]) != nil) { 61 | UIView *content([self contentView]); 62 | CGRect bounds([content bounds]); 63 | 64 | self.content = [[[CyteTableViewCellContentView alloc] initWithFrame:bounds] autorelease]; 65 | [self.content setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)]; 66 | [content addSubview:self.content]; 67 | 68 | [self.content setDelegate:(id)self]; 69 | } return self; 70 | } 71 | 72 | - (void) _updateHighlightColorsForView:(UIView *)view highlighted:(BOOL)highlighted { 73 | if (view == (UIView *) content_) 74 | highlighted_ = highlighted; 75 | 76 | [super _updateHighlightColorsForView:view highlighted:highlighted]; 77 | } 78 | 79 | - (void) setSelected:(BOOL)selected animated:(BOOL)animated { 80 | highlighted_ = selected; 81 | 82 | [super setSelected:selected animated:animated]; 83 | [content_ setNeedsDisplay]; 84 | } 85 | 86 | - (void) setContent:(CyteTableViewCellContentView *)content { 87 | content_ = content; 88 | } 89 | 90 | - (CyteTableViewCellContentView *) content { 91 | return content_; 92 | } 93 | 94 | - (bool) highlighted { 95 | return highlighted_; 96 | } 97 | 98 | @end 99 | -------------------------------------------------------------------------------- /CyteKit/UCInternal.h: -------------------------------------------------------------------------------- 1 | - (NSMethodSignature *) methodSignatureForSelector:(SEL)selector { 2 | fprintf(stderr, "[%s]S-%s\n", class_getName(object_getClass(self)), sel_getName(selector)); 3 | return [super methodSignatureForSelector:selector]; 4 | } 5 | 6 | - (BOOL) respondsToSelector:(SEL)selector { 7 | BOOL responds = [super respondsToSelector:selector]; 8 | fprintf(stderr, "[%s]R%c%s\n", class_getName(object_getClass(self)), (responds ? '+' : '-'), sel_getName(selector)); 9 | return responds; 10 | } 11 | -------------------------------------------------------------------------------- /CyteKit/UCPlatform.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef CyteKit_UCPlatform_H 23 | #define CyteKit_UCPlatform_H 24 | 25 | #define __STDC_LIMIT_MACROS 26 | #include 27 | 28 | #include 29 | 30 | #include 31 | #include 32 | 33 | #define _forever \ 34 | for (;;) 35 | 36 | extern struct timeval _ltv; 37 | extern bool _itv; 38 | 39 | #define _trace() do { \ 40 | struct timeval _ctv; \ 41 | gettimeofday(&_ctv, NULL); \ 42 | if (!_itv) { \ 43 | _itv = true; \ 44 | _ltv = _ctv; \ 45 | } \ 46 | fprintf(stderr, "%lu.%.6u[%f]:_trace()@%s:%u[%s]\n", \ 47 | _ctv.tv_sec, _ctv.tv_usec, \ 48 | (_ctv.tv_sec - _ltv.tv_sec) + (_ctv.tv_usec - _ltv.tv_usec) / 1000000.0, \ 49 | __FILE__, __LINE__, __FUNCTION__\ 50 | ); \ 51 | _ltv = _ctv; \ 52 | } while (false) 53 | 54 | #define _assert(test) do \ 55 | if (!(test)) { \ 56 | fprintf(stderr, "_assert(%d:%s)@%s:%u[%s]\n", errno, #test, __FILE__, __LINE__, __FUNCTION__); \ 57 | exit(-1); \ 58 | } \ 59 | while (false) 60 | 61 | #define _not(type) ((type) ~ (type) 0) 62 | 63 | #define _transient 64 | 65 | #define _label__(x) _label ## x 66 | #define _label_(y) _label__(y) 67 | #define _label _label_(__LINE__) 68 | 69 | #define _packed \ 70 | __attribute__((__packed__)) 71 | #define _finline \ 72 | inline __attribute__((__always_inline__)) 73 | 74 | #define _assume(e) \ 75 | _assert(e) 76 | 77 | #define _nodefault \ 78 | default: \ 79 | _assume(false); \ 80 | throw; 81 | 82 | #define _likely(expr) \ 83 | __builtin_expect(expr, 1) 84 | 85 | #define _unlikely(expr) \ 86 | __builtin_expect(expr, 0) 87 | 88 | #endif//CyteKit_UCPlatform_H 89 | -------------------------------------------------------------------------------- /CyteKit/URLCache.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef CyteKit_URLCache_H 23 | #define CyteKit_URLCache_H 24 | 25 | #include "SDURLCache/SDURLCache.h" 26 | 27 | @interface CyteURLCache : SDURLCache 28 | 29 | @end 30 | 31 | #endif//CyteKit_URLCache_H 32 | -------------------------------------------------------------------------------- /CyteKit/URLCache.mm: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #include "CyteKit/UCPlatform.h" 23 | 24 | #include "CyteKit/URLCache.h" 25 | #include "Substrate.hpp" 26 | 27 | #include 28 | 29 | static _H CachedURLs_([NSMutableSet setWithCapacity:32]); 30 | 31 | @implementation CyteURLCache { 32 | } 33 | 34 | - (void) logEvent:(NSString *)event forRequest:(NSURLRequest *)request { 35 | #if !ForRelease 36 | if (false); 37 | else if ([event isEqualToString:@"no-cache"]) 38 | event = @"!!!"; 39 | else if ([event isEqualToString:@"store"]) 40 | event = @">>>"; 41 | else if ([event isEqualToString:@"invalid"]) 42 | event = @"???"; 43 | else if ([event isEqualToString:@"memory"]) 44 | event = @"mem"; 45 | else if ([event isEqualToString:@"disk"]) 46 | event = @"ssd"; 47 | else if ([event isEqualToString:@"miss"]) 48 | event = @"---"; 49 | 50 | NSLog(@"%@: %@", event, [[request URL] absoluteString]); 51 | #endif 52 | } 53 | 54 | - (void) storeCachedResponse:(NSCachedURLResponse *)cached forRequest:(NSURLRequest *)request { 55 | if (NSURLResponse *response = [cached response]) 56 | if (NSString *mime = [response MIMEType]) 57 | if ([mime isEqualToString:@"text/cache-manifest"]) { 58 | NSURL *url([response URL]); 59 | 60 | #if !ForRelease 61 | NSLog(@"###: %@", [url absoluteString]); 62 | #endif 63 | 64 | @synchronized (CachedURLs_) { 65 | [CachedURLs_ addObject:url]; 66 | } 67 | } 68 | 69 | [super storeCachedResponse:cached forRequest:request]; 70 | } 71 | 72 | - (void) createDiskCachePath { 73 | [super createDiskCachePath]; 74 | } 75 | 76 | @end 77 | 78 | MSClassHook(NSURLConnection) 79 | 80 | MSHook(id, NSURLConnection$init$, NSURLConnection *self, SEL _cmd, NSURLRequest *request, id delegate, BOOL usesCache, int64_t maxContentLength, BOOL startImmediately, NSDictionary *connectionProperties) { 81 | NSMutableURLRequest *copy([[request mutableCopy] autorelease]); 82 | 83 | NSURL *url([copy URL]); 84 | 85 | @synchronized (CachedURLs_) { 86 | if (NSString *control = [copy valueForHTTPHeaderField:@"Cache-Control"]) 87 | if ([control isEqualToString:@"max-age=0"]) 88 | if ([CachedURLs_ containsObject:url]) { 89 | #if !ForRelease 90 | NSLog(@"~~~: %@", url); 91 | #endif 92 | 93 | [copy setCachePolicy:NSURLRequestReturnCacheDataDontLoad]; 94 | 95 | [copy setValue:nil forHTTPHeaderField:@"Cache-Control"]; 96 | [copy setValue:nil forHTTPHeaderField:@"If-Modified-Since"]; 97 | [copy setValue:nil forHTTPHeaderField:@"If-None-Match"]; 98 | } 99 | } 100 | 101 | if ((self = _NSURLConnection$init$(self, _cmd, copy, delegate, usesCache, maxContentLength, startImmediately, connectionProperties)) != nil) { 102 | } return self; 103 | } 104 | 105 | CYHook(NSURLConnection, init$, _initWithRequest:delegate:usesCache:maxContentLength:startImmediately:connectionProperties:) 106 | -------------------------------------------------------------------------------- /CyteKit/URLProtocol.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef CyteKit_URLProtocol_H 23 | #define CyteKit_URLProtocol_H 24 | 25 | #include 26 | 27 | @interface CyteURLProtocol : NSURLProtocol 28 | 29 | + (NSString *) scheme; 30 | 31 | - (void) _returnPNGWithImage:(UIImage *)icon forRequest:(NSURLRequest *)request; 32 | - (bool) loadForPath:(NSString *)path ofRequest:(NSURLRequest *)request; 33 | 34 | @end 35 | 36 | #endif//CyteKit_URLProtocol_H 37 | -------------------------------------------------------------------------------- /CyteKit/URLProtocol.mm: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #include "CyteKit/UCPlatform.h" 23 | 24 | #include "CyteKit/URLProtocol.h" 25 | 26 | #include "iPhonePrivate.h" 27 | #include 28 | 29 | @implementation CyteURLProtocol { 30 | } 31 | 32 | + (NSString *) scheme { 33 | return NULL; 34 | } 35 | 36 | + (BOOL) canInitWithRequest:(NSURLRequest *)request { 37 | NSURL *url([request URL]); 38 | if (url == nil) 39 | return NO; 40 | 41 | auto local([self scheme]); 42 | _assert(local != NULL); 43 | 44 | NSString *scheme([[url scheme] lowercaseString]); 45 | if (scheme != nil && [scheme isEqualToString:local]) 46 | return YES; 47 | if ([[url absoluteString] hasPrefix:[NSString stringWithFormat:@"about:%@-", local]]) 48 | return YES; 49 | 50 | return NO; 51 | } 52 | 53 | + (NSURLRequest *) canonicalRequestForRequest:(NSURLRequest *)request { 54 | return request; 55 | } 56 | 57 | - (void) _returnPNGWithImage:(UIImage *)icon forRequest:(NSURLRequest *)request { 58 | id client([self client]); 59 | if (icon == nil) 60 | [client URLProtocol:self didFailWithError:[NSError errorWithDomain:NSURLErrorDomain code:NSURLErrorFileDoesNotExist userInfo:nil]]; 61 | else { 62 | NSData *data(UIImagePNGRepresentation(icon)); 63 | 64 | NSURLResponse *response([[[NSURLResponse alloc] initWithURL:[request URL] MIMEType:@"image/png" expectedContentLength:-1 textEncodingName:nil] autorelease]); 65 | [client URLProtocol:self didReceiveResponse:response cacheStoragePolicy:NSURLCacheStorageNotAllowed]; 66 | [client URLProtocol:self didLoadData:data]; 67 | [client URLProtocolDidFinishLoading:self]; 68 | } 69 | } 70 | 71 | - (bool) loadForPath:(NSString *)path ofRequest:(NSURLRequest *)request { 72 | return false; 73 | } 74 | 75 | - (void) startLoading { 76 | id client([self client]); 77 | NSURLRequest *request([self request]); 78 | 79 | NSURL *url([request URL]); 80 | NSString *href([url absoluteString]); 81 | NSString *scheme([[url scheme] lowercaseString]); 82 | 83 | NSString *path; 84 | 85 | if ([scheme isEqualToString:@"cydia"]) 86 | path = [href substringFromIndex:8]; 87 | else if ([scheme isEqualToString:@"about"]) 88 | path = [href substringFromIndex:12]; 89 | else _assert(false); 90 | 91 | if (![self loadForPath:path ofRequest:request]) 92 | [client URLProtocol:self didFailWithError:[NSError errorWithDomain:NSURLErrorDomain code:NSURLErrorResourceUnavailable userInfo:nil]]; 93 | } 94 | 95 | - (void) stopLoading { 96 | } 97 | 98 | @end 99 | -------------------------------------------------------------------------------- /CyteKit/ViewController.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef CyteKit_ViewController_H 23 | #define CyteKit_ViewController_H 24 | 25 | #include 26 | 27 | @interface UIViewController (Cydia) 28 | 29 | // Override this in subclasses if you manage the "has seen first load" state yourself. 30 | - (BOOL) hasLoaded; 31 | 32 | // The default implementation of this method is essentially a no-op, 33 | // but calling the superclass implementation is *required*. 34 | - (void) reloadData; 35 | 36 | - (void) unloadData; 37 | 38 | - (UIViewController *) parentOrPresentingViewController; 39 | - (UIViewController *) rootViewController; 40 | 41 | // This URL is used to save the state of the view controller. Return 42 | // nil if you cannot or should not save the URL for this page. 43 | - (NSURL *) navigationURL; 44 | 45 | @end 46 | 47 | @interface CyteViewController : UIViewController 48 | 49 | // By default, this delegate is unused. However, it's provided here in case 50 | // you need some kind of delegate in a subclass. 51 | - (void) setDelegate:(id)delegate; 52 | - (id) delegate; 53 | 54 | // This is called when the view managed by the view controller is released. 55 | // That is not always when the controller itself is released: it also can 56 | // happen when more memory is needed by the system or whenever the controller 57 | // just happens not to be visible. 58 | - (void) releaseSubviews; 59 | 60 | - (void) setPageColor:(UIColor *)color; 61 | - (UIColor *) pageColor; 62 | 63 | @end 64 | 65 | #endif//CyteKit_ViewController_H 66 | -------------------------------------------------------------------------------- /CyteKit/ViewController.mm: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #include "CyteKit/UCPlatform.h" 23 | 24 | #include 25 | #include 26 | 27 | #include "CyteKit/ViewController.h" 28 | 29 | #include "iPhonePrivate.h" 30 | #include 31 | 32 | @implementation UIViewController (Cydia) 33 | 34 | - (BOOL) hasLoaded { 35 | return YES; 36 | } 37 | 38 | - (void) reloadData { 39 | [self view]; 40 | } 41 | 42 | - (void) unloadData { 43 | if (UIViewController *modal = [self modalViewController]) 44 | [modal unloadData]; 45 | } 46 | 47 | - (UIViewController *) parentOrPresentingViewController { 48 | if (UIViewController *parent = [self parentViewController]) 49 | return parent; 50 | if ([self respondsToSelector:@selector(presentingViewController)]) 51 | return [self presentingViewController]; 52 | return nil; 53 | } 54 | 55 | - (UIViewController *) rootViewController { 56 | UIViewController *base(self); 57 | while ([base parentOrPresentingViewController] != nil) 58 | base = [base parentOrPresentingViewController]; 59 | return base; 60 | } 61 | 62 | - (NSURL *) navigationURL { 63 | return nil; 64 | } 65 | 66 | @end 67 | 68 | @implementation CyteViewController { 69 | _transient id delegate_; 70 | BOOL loaded_; 71 | _H color_; 72 | } 73 | 74 | - (void) setDelegate:(id)delegate { 75 | delegate_ = delegate; 76 | } 77 | 78 | - (id) delegate { 79 | return delegate_; 80 | } 81 | 82 | - (void) viewWillAppear:(BOOL)animated { 83 | [super viewWillAppear:animated]; 84 | 85 | // Load on first appearance. We don't need to set the loaded flag here 86 | // because it is set for us the first time -reloadData is called. 87 | if (![self hasLoaded]) 88 | [self reloadData]; 89 | } 90 | 91 | - (BOOL) hasLoaded { 92 | return loaded_; 93 | } 94 | 95 | - (void) releaseSubviews { 96 | loaded_ = NO; 97 | } 98 | 99 | - (void) setView:(UIView *)view { 100 | // Nasty hack for 2.x-compatibility. In 3.0+, we can and 101 | // should just override -viewDidUnload instead. 102 | if (view == nil) 103 | [self releaseSubviews]; 104 | 105 | [super setView:view]; 106 | } 107 | 108 | - (void) reloadData { 109 | [super reloadData]; 110 | 111 | // This is called automatically on the first appearance of a controller, 112 | // or any other time it needs to reload the information shown. However (!), 113 | // this is not called by any tab bar or navigation controller's -reloadData 114 | // method unless this controller returns YES from -hadLoaded. 115 | loaded_ = YES; 116 | } 117 | 118 | - (void) unloadData { 119 | loaded_ = NO; 120 | [super unloadData]; 121 | } 122 | 123 | - (void) setPageColor:(UIColor *)color { 124 | if (color == nil) 125 | color = [UIColor groupTableViewBackgroundColor]; 126 | color_ = color; 127 | } 128 | 129 | - (UIColor *) pageColor { 130 | return color_; 131 | } 132 | 133 | #include "InterfaceOrientation.h" 134 | 135 | @end 136 | -------------------------------------------------------------------------------- /CyteKit/WebThreadLocked.hpp: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef CyteKit_WebThreadLocked_HPP 23 | #define CyteKit_WebThreadLocked_HPP 24 | 25 | #include "CyteKit/UCPlatform.h" 26 | #include "WebCore/WebCoreThread.h" 27 | 28 | struct WebThreadLocked { 29 | _finline WebThreadLocked() { 30 | WebThreadLock(); 31 | } 32 | 33 | _finline ~WebThreadLocked() { 34 | WebThreadUnlock(); 35 | } 36 | }; 37 | 38 | #endif//CyteKit_WebThreadLocked_HPP 39 | -------------------------------------------------------------------------------- /CyteKit/WebView.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef CyteKit_CydiaBrowser_H 23 | #define CyteKit_CydiaBrowser_H 24 | 25 | #include 26 | 27 | @protocol WebPolicyDecisionListener; 28 | 29 | @class WebDataSource; 30 | @class WebFrame; 31 | @class WebScriptObject; 32 | @class WebView; 33 | 34 | enum CYWebPolicyDecision { 35 | CYWebPolicyDecisionUnknown, 36 | CYWebPolicyDecisionDownload, 37 | CYWebPolicyDecisionIgnore, 38 | CYWebPolicyDecisionUse, 39 | }; 40 | 41 | @protocol CyteWebViewDelegate 42 | @optional 43 | - (void) webView:(WebView *)view addMessageToConsole:(NSDictionary *)message; 44 | - (void) webView:(WebView *)view decidePolicyForNavigationAction:(NSDictionary *)action request:(NSURLRequest *)request frame:(WebFrame *)frame decisionListener:(id)listener; 45 | - (void) webView:(WebView *)view decidePolicyForNewWindowAction:(NSDictionary *)action request:(NSURLRequest *)request newFrameName:(NSString *)name decisionListener:(id)listener; 46 | - (void) webView:(WebView *)view didClearWindowObject:(WebScriptObject *)window forFrame:(WebFrame *)frame; 47 | - (void) webView:(WebView *)view didCommitLoadForFrame:(WebFrame *)frame; 48 | - (void) webView:(WebView *)view didDecidePolicy:(CYWebPolicyDecision)decision forNavigationAction:(NSDictionary *)action request:(NSURLRequest *)request frame:(WebFrame *)frame; 49 | - (void) webView:(WebView *)view didFailLoadWithError:(NSError *)error forFrame:(WebFrame *)frame; 50 | - (void) webView:(WebView *)view didFailProvisionalLoadWithError:(NSError *)error forFrame:(WebFrame *)frame; 51 | - (void) webView:(WebView *)view didFinishLoadForFrame:(WebFrame *)frame; 52 | - (void) webView:(WebView *)view didReceiveTitle:(NSString *)title forFrame:(WebFrame *)frame; 53 | - (void) webView:(WebView *)view didStartProvisionalLoadForFrame:(WebFrame *)frame; 54 | - (void) webView:(WebView *)view resource:(id)identifier didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge fromDataSource:(WebDataSource *)source; 55 | - (void) webView:(WebView *)view resource:(id)identifier didCancelAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge fromDataSource:(WebDataSource *)source; 56 | - (NSURLRequest *) webView:(WebView *)view resource:(id)resource willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)response fromDataSource:(WebDataSource *)source; 57 | - (NSURLRequest *) webThreadWebView:(WebView *)view resource:(id)resource willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)response fromDataSource:(WebDataSource *)source; 58 | - (void) webViewClose:(WebView *)view; 59 | - (bool) webView:(WebView *)view shouldRunJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame; 60 | - (bool) webView:(WebView *)view shouldRunJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame; 61 | - (bool) webView:(WebView *)view shouldRunJavaScriptTextInputPanelWithPrompt:(NSString *)prompt defaultText:(NSString *)text initiatedByFrame:(WebFrame *)frame; 62 | - (void) webViewUpdateViewSettings:(UIWebView *)view; 63 | @end 64 | 65 | @interface CyteWebView : UIWebView 66 | 67 | - (id) delegate; 68 | - (void) setDelegate:(id)delegate; 69 | 70 | - (void) dispatchEvent:(NSString *)event; 71 | - (void) reloadFromOrigin; 72 | - (UIScrollView *) scrollView; 73 | - (NSURLRequest *) request; 74 | 75 | @end 76 | 77 | #endif//CyteKit_CydiaBrowser_H 78 | -------------------------------------------------------------------------------- /CyteKit/WebViewTableViewCell.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef CyteKit_WebViewTableViewCell_H 23 | #define CyteKit_WebViewTableViewCell_H 24 | 25 | #include 26 | 27 | #include "CyteKit/WebView.h" 28 | 29 | @interface CyteWebViewTableViewCell : UITableViewCell < 30 | CyteWebViewDelegate 31 | > 32 | 33 | + (CyteWebViewTableViewCell *) cellWithRequest:(NSURLRequest *)request; 34 | - (id) initWithRequest:(NSURLRequest *)request; 35 | 36 | - (id) delegate; 37 | - (void) setDelegate:(id)delegate; 38 | 39 | @end 40 | 41 | #endif//CyteKit_WebViewTableViewCell_H 42 | -------------------------------------------------------------------------------- /CyteKit/WebViewTableViewCell.mm: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #include "CyteKit/UCPlatform.h" 23 | 24 | #include "CyteKit/WebViewTableViewCell.h" 25 | 26 | #include "iPhonePrivate.h" 27 | #include 28 | 29 | @implementation CyteWebViewTableViewCell { 30 | // XXX: I'm not really the delegate here: fix this! 31 | _H webview_; 32 | } 33 | 34 | + (CyteWebViewTableViewCell *) cellWithRequest:(NSURLRequest *)request { 35 | CyteWebViewTableViewCell *cell([[[self alloc] initWithRequest:request] autorelease]); 36 | return cell; 37 | } 38 | 39 | - (id) initWithRequest:request { 40 | if ((self = [super init]) != nil) { 41 | UIView *view(self); 42 | 43 | webview_ = [[[CyteWebView alloc] initWithFrame:[view bounds]] autorelease]; 44 | [webview_ setDelegate:self]; 45 | [view addSubview:webview_]; 46 | 47 | [webview_ setScalesPageToFit:YES]; 48 | 49 | UIWebDocumentView *document([webview_ _documentView]); 50 | WebView *webview([document webView]); 51 | [webview setShouldUpdateWhileOffscreen:NO]; 52 | 53 | if ([document respondsToSelector:@selector(setAllowsMessaging:)]) 54 | [document setAllowsMessaging:YES]; 55 | if ([webview respondsToSelector:@selector(_setAllowsMessaging:)]) 56 | [webview _setAllowsMessaging:YES]; 57 | 58 | UIScrollView *scroller([webview_ scrollView]); 59 | [scroller setScrollingEnabled:NO]; 60 | [scroller setFixedBackgroundPattern:YES]; 61 | [scroller setBackgroundColor:[UIColor clearColor]]; 62 | 63 | WebPreferences *preferences([webview preferences]); 64 | [preferences setCacheModel:WebCacheModelDocumentBrowser]; 65 | [preferences setJavaScriptCanOpenWindowsAutomatically:YES]; 66 | [preferences setOfflineWebApplicationCacheEnabled:YES]; 67 | 68 | [webview_ loadRequest:request]; 69 | 70 | [webview_ setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)]; 71 | } return self; 72 | } 73 | 74 | - (id) delegate { 75 | return [webview_ delegate]; 76 | } 77 | 78 | - (void) setDelegate:(id)delegate { 79 | [webview_ setDelegate:delegate]; 80 | } 81 | 82 | @end 83 | -------------------------------------------------------------------------------- /CyteKit/Window.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef CyteKit_Window_H 23 | #define CyteKit_Window_H 24 | 25 | #include 26 | 27 | @interface CyteWindow : UIWindow 28 | 29 | - (void) unloadData; 30 | 31 | @end 32 | 33 | #endif//CyteKit_Window_H 34 | -------------------------------------------------------------------------------- /CyteKit/Window.mm: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #include "CyteKit/UCPlatform.h" 23 | 24 | #include "CyteKit/ViewController.h" 25 | #include "CyteKit/Window.h" 26 | 27 | #include "iPhonePrivate.h" 28 | #include 29 | 30 | @implementation CyteWindow { 31 | _transient UIViewController *root_; 32 | } 33 | 34 | - (void) setRootViewController:(UIViewController *)controller { 35 | if ([super respondsToSelector:@selector(setRootViewController:)]) 36 | [super setRootViewController:controller]; 37 | else { 38 | [self addSubview:[controller view]]; 39 | [[root_ view] removeFromSuperview]; 40 | } 41 | 42 | root_ = controller; 43 | } 44 | 45 | - (void) unloadData { 46 | [root_ unloadData]; 47 | } 48 | 49 | @end 50 | -------------------------------------------------------------------------------- /CyteKit/countByEnumeratingWithState.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef CyteKit_countByEnumeratingWithState_H 23 | #define CyteKit_countByEnumeratingWithState_H 24 | 25 | #include "iPhonePrivate.h" 26 | 27 | @interface DOMNodeList (Cyte) 28 | // XXX? - (NSUInteger) count; 29 | - (NSUInteger) countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)objects count:(NSUInteger)count; 30 | // XXX? - (id) objectAtIndex:(unsigned)index; 31 | @end 32 | 33 | @interface WebScriptObject (Cyte) 34 | - (NSUInteger) count; 35 | - (NSUInteger) countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)objects count:(NSUInteger)count; 36 | - (id) objectAtIndex:(unsigned)index; 37 | @end 38 | 39 | #endif//CyteKit_countByEnumeratingWithState_H 40 | -------------------------------------------------------------------------------- /CyteKit/countByEnumeratingWithState.mm: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #include "CyteKit/UCPlatform.h" 23 | 24 | #include "CyteKit/countByEnumeratingWithState.h" 25 | 26 | #include 27 | 28 | #include "iPhonePrivate.h" 29 | 30 | static NSUInteger DOMNodeList$countByEnumeratingWithState$objects$count$(DOMNodeList *self, SEL sel, NSFastEnumerationState *state, id *objects, NSUInteger count) { 31 | size_t length([self length] - state->state); 32 | if (length <= 0) 33 | return 0; 34 | else if (length > count) 35 | length = count; 36 | for (size_t i(0); i != length; ++i) 37 | objects[i] = [self item:state->state++]; 38 | state->itemsPtr = objects; 39 | state->mutationsPtr = (unsigned long *) self; 40 | return length; 41 | } 42 | 43 | static struct DOMNodeList$countByEnumeratingWithState { DOMNodeList$countByEnumeratingWithState() { 44 | class_addMethod(objc_getClass("DOMNodeList"), @selector(countByEnumeratingWithState:objects:count:), (IMP) &DOMNodeList$countByEnumeratingWithState$objects$count$, "I20@0:4^{NSFastEnumerationState}8^@12I16"); 45 | } } DOMNodeList$countByEnumeratingWithState; 46 | 47 | @implementation WebScriptObject (Cyte) 48 | 49 | - (NSUInteger) count { 50 | id length([self valueForKey:@"length"]); 51 | if ([length respondsToSelector:@selector(intValue)]) 52 | return [length intValue]; 53 | else 54 | return 0; 55 | } 56 | 57 | - (id) objectAtIndex:(unsigned)index { 58 | return [self webScriptValueAtIndex:index]; 59 | } 60 | 61 | - (NSUInteger) countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)objects count:(NSUInteger)count { 62 | size_t length([self count] - state->state); 63 | if (length <= 0) 64 | return 0; 65 | else if (length > count) 66 | length = count; 67 | for (size_t i(0); i != length; ++i) 68 | objects[i] = [self objectAtIndex:state->state++]; 69 | state->itemsPtr = objects; 70 | state->mutationsPtr = (unsigned long *) self; 71 | return length; 72 | } 73 | 74 | @end 75 | -------------------------------------------------------------------------------- /CyteKit/dispatchEvent.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef CyteKit_dispatchEvent_H 23 | #define CyteKit_dispatchEvent_H 24 | 25 | #include 26 | 27 | #include "iPhonePrivate.h" 28 | 29 | @interface UIWebDocumentView (CyteDispatchEvent) 30 | 31 | - (void) dispatchEvent:(NSString *)event; 32 | 33 | @end 34 | 35 | #endif//CyteKit_dispatchEvent_H 36 | -------------------------------------------------------------------------------- /CyteKit/dispatchEvent.mm: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #include "CyteKit/UCPlatform.h" 23 | 24 | #include "CyteKit/dispatchEvent.h" 25 | #include "CyteKit/WebThreadLocked.hpp" 26 | 27 | #include "Substrate.hpp" 28 | 29 | @implementation UIWebDocumentView (CyteDispatchEvent) 30 | 31 | - (void) dispatchEvent:(NSString *)event { 32 | WebThreadLocked lock; 33 | 34 | NSString *script([NSString stringWithFormat:@ 35 | "(function() {" 36 | "var event = this.document.createEvent('Events');" 37 | "event.initEvent('%@', false, false);" 38 | "this.document.dispatchEvent(event);" 39 | "})();" 40 | , event]); 41 | 42 | NSMutableArray *frames([NSMutableArray arrayWithObjects: 43 | [[self webView] mainFrame] 44 | , nil]); 45 | 46 | while (WebFrame *frame = [frames lastObject]) { 47 | WebScriptObject *object([frame windowObject]); 48 | [object evaluateWebScript:script]; 49 | [frames removeLastObject]; 50 | [frames addObjectsFromArray:[frame childFrames]]; 51 | } 52 | } 53 | 54 | @end 55 | 56 | MSHook(void, UIWebBrowserView$_webTouchEventsRecognized$, UIWebBrowserView *self, SEL _cmd, UIWebTouchEventsGestureRecognizer *recognizer) { 57 | _UIWebBrowserView$_webTouchEventsRecognized$(self, _cmd, recognizer); 58 | 59 | switch ([recognizer type]) { 60 | case WebEventTouchEnd: 61 | [self dispatchEvent:@"CydiaTouchEnd"]; 62 | break; 63 | 64 | case WebEventTouchCancel: 65 | [self dispatchEvent:@"CydiaTouchCancel"]; 66 | break; 67 | } 68 | } 69 | 70 | __attribute__((__constructor__)) static void $() { 71 | if (Class $UIWebBrowserView = objc_getClass("UIWebBrowserView")) { 72 | if (Method method = class_getInstanceMethod($UIWebBrowserView, @selector(_webTouchEventsRecognized:))) { 73 | _UIWebBrowserView$_webTouchEventsRecognized$ = reinterpret_cast(method_getImplementation(method)); 74 | method_setImplementation(method, reinterpret_cast(&$UIWebBrowserView$_webTouchEventsRecognized$)); 75 | } 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /CyteKit/extern.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef CyteKit_extern_H 23 | #define CyteKit_extern_H 24 | 25 | #include 26 | #include 27 | 28 | extern bool IsWildcat_; 29 | extern CGFloat ScreenScale_; 30 | 31 | extern char *Machine_; 32 | extern const char *System_; 33 | 34 | bool CyteIsReachable(const char *name); 35 | 36 | void CyteInitialize(NSString *agent); 37 | 38 | static inline double Retina(double value) { 39 | value *= ScreenScale_; 40 | value = round(value); 41 | value /= ScreenScale_; 42 | return value; 43 | } 44 | 45 | static inline CGRect Retina(CGRect value) { 46 | value.origin.x *= ScreenScale_; 47 | value.origin.y *= ScreenScale_; 48 | value.size.width *= ScreenScale_; 49 | value.size.height *= ScreenScale_; 50 | value = CGRectIntegral(value); 51 | value.origin.x /= ScreenScale_; 52 | value.origin.y /= ScreenScale_; 53 | value.size.width /= ScreenScale_; 54 | value.size.height /= ScreenScale_; 55 | return value; 56 | } 57 | 58 | #endif//CyteKit_extern_H 59 | -------------------------------------------------------------------------------- /CyteKit/stringWithUTF8Bytes.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef CyteKit_stringWithUTF8Bytes_H 23 | #define CyteKit_stringWithUTF8Bytes_H 24 | 25 | #include 26 | 27 | @interface NSString (Cyte) 28 | + (NSString *) stringWithUTF8BytesNoCopy:(const char *)bytes length:(int)length; 29 | + (NSString *) stringWithUTF8Bytes:(const char *)bytes length:(int)length; 30 | @end 31 | 32 | #endif//CyteKit_stringWithUTF8Bytes_H 33 | -------------------------------------------------------------------------------- /CyteKit/stringWithUTF8Bytes.mm: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #include "CyteKit/UCPlatform.h" 23 | 24 | #include "CyteKit/stringWithUTF8Bytes.h" 25 | 26 | @implementation NSString (Cyte) 27 | 28 | + (NSString *) stringWithUTF8BytesNoCopy:(const char *)bytes length:(int)length { 29 | return [[[NSString alloc] initWithBytesNoCopy:const_cast(bytes) length:length encoding:NSUTF8StringEncoding freeWhenDone:NO] autorelease]; 30 | } 31 | 32 | + (NSString *) stringWithUTF8Bytes:(const char *)bytes length:(int)length { 33 | return [[[NSString alloc] initWithBytes:bytes length:length encoding:NSUTF8StringEncoding] autorelease]; 34 | } 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /CyteKit/webScriptObjectInContext.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef CyteKit_webScriptObjectInContext_H 23 | #define CyteKit_webScriptObjectInContext_H 24 | 25 | #include "iPhonePrivate.h" 26 | 27 | @interface NSObject (CydiaScript) 28 | - (id) Cydia$webScriptObjectInContext:(WebScriptObject *)context; 29 | @end 30 | 31 | #endif//CyteKit_webScriptObjectInContext_H 32 | -------------------------------------------------------------------------------- /CyteKit/webScriptObjectInContext.mm: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #include "CyteKit/UCPlatform.h" 23 | 24 | #include "CyteKit/webScriptObjectInContext.h" 25 | 26 | #include "iPhonePrivate.h" 27 | 28 | @implementation NSObject (CydiaScript) 29 | 30 | - (id) Cydia$webScriptObjectInContext:(WebScriptObject *)context { 31 | return self; 32 | } 33 | 34 | @end 35 | 36 | @implementation NSArray (CydiaScript) 37 | 38 | - (id) Cydia$webScriptObjectInContext:(WebScriptObject *)context { 39 | WebScriptObject *object([context evaluateWebScript:@"[]"]); 40 | for (size_t i(0), e([self count]); i != e; ++i) 41 | [object setWebScriptValueAtIndex:i value:[[self objectAtIndex:i] Cydia$webScriptObjectInContext:context]]; 42 | return object; 43 | } 44 | 45 | @end 46 | 47 | @implementation NSDictionary (CydiaScript) 48 | 49 | - (id) Cydia$webScriptObjectInContext:(WebScriptObject *)context { 50 | WebScriptObject *object([context evaluateWebScript:@"({})"]); 51 | for (id i in self) 52 | [object setValue:[[self objectForKey:i] Cydia$webScriptObjectInContext:context] forKey:i]; 53 | return object; 54 | } 55 | 56 | @end 57 | -------------------------------------------------------------------------------- /LaunchDaemons/com.saurik.Cydia.Startup.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.saurik.Cydia.Startup 7 | ProgramArguments 8 | 9 | /bin/bash 10 | /usr/libexec/cydia/startup 11 | 12 | RunAtLoad 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Library/asuser: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | version=$(sw_vers -productVersion) 4 | 5 | if [[ ${version} = 1.0* || ${version} = 1.1.[012] ]]; then 6 | user=root 7 | else 8 | user=mobile 9 | fi 10 | 11 | su -c "${user}" "$@" 12 | -------------------------------------------------------------------------------- /Library/finish.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | declare -a cydia 4 | cydia=($CYDIA) 5 | 6 | if [[ ${CYDIA+@} ]]; then 7 | eval "echo 'finish:$1' >&${cydia[0]}" 8 | fi 9 | -------------------------------------------------------------------------------- /Library/free.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # /usr/bin \ 4 | 5 | for dir in \ 6 | /Applications \ 7 | /Library/Wallpaper \ 8 | /Library/Ringtones \ 9 | /usr/include \ 10 | /usr/share \ 11 | ; do 12 | . /usr/libexec/cydia/move.sh "$@" "${dir}" 13 | done 14 | 15 | sync 16 | -------------------------------------------------------------------------------- /Library/move.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | shopt -s extglob nullglob 4 | 5 | if [[ ${1:0:1} == - ]]; then 6 | v=$1 7 | shift 1 8 | else 9 | v= 10 | fi 11 | 12 | function df_() { 13 | free=$(df -B1 "$1") 14 | free=${free% *%*} 15 | free=${free%%*( )} 16 | free=${free##* } 17 | echo "${free}" 18 | } 19 | 20 | function mv_() { 21 | src=$1 22 | 23 | if [[ ! -e /var/stash ]]; then 24 | mkdir -p /var/db/stash 25 | /usr/libexec/cydia/setnsfpn /var/db/stash 26 | ln -s -t /var /var/db/stash 27 | elif [[ -d /var/stash ]]; then 28 | /usr/libexec/cydia/setnsfpn /var/stash 29 | fi 30 | 31 | tmp=$(mktemp -d /var/stash/_.XXXXXX) 32 | dst=${tmp}/${src##*/} 33 | 34 | chmod 755 "${tmp}" 35 | chown root.admin "${tmp}" 36 | 37 | mkdir -- "${dst}" || { 38 | rmdir -- "${tmp}" 39 | exit 1 40 | } 41 | 42 | echo -n "${src}" >"${tmp}.lnk" 43 | 44 | if [[ -e ${src} ]]; then 45 | chmod --reference="${src}" "${dst}" 46 | chown --reference="${src}" "${dst}" 47 | 48 | cp -aT $v "${src}" "${dst}" || { 49 | rm -rf "${tmp}" 50 | exit 1 51 | } 52 | 53 | mv $v "${src}" "${src}.moved" 54 | ln -s "${dst}" "${src}" 55 | rm -rf $v "${src}.moved" 56 | else 57 | chmod 775 "${dst}" 58 | chown root.admin "${dst}" 59 | ln -s "${dst}" "${src}" 60 | fi 61 | } 62 | 63 | function shift_() { 64 | dir=${1%/} 65 | 66 | if [[ -d ${dir} && ! -h ${dir} ]]; then 67 | used=$(/usr/libexec/cydia/du -bs "${dir}") 68 | used=${used%%$'\t'*} 69 | free=$(df_ /var) 70 | 71 | if [[ $((used + 524288)) -lt ${free} ]]; then 72 | mv_ "${dir}" 73 | fi 74 | elif [[ ! -e ${dir} ]]; then 75 | rm -f "${dir}" 76 | mv_ "${dir}" 77 | fi 78 | } 79 | 80 | shift_ "$@" 81 | -------------------------------------------------------------------------------- /Library/startup: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export PATH=$PATH:/usr/sbin:/usr/bin:/sbin:/bin 4 | 5 | if [[ ! -e /var/lib/cydia/firmware.ver ]]; then 6 | cache= 7 | fi 8 | 9 | /usr/libexec/cydia/firmware.sh 10 | 11 | debs=(/var/root/Media/Cydia/AutoInstall/*.deb) 12 | if [[ ${#debs[@]} -ne 0 && -f ${debs[0]} ]]; then 13 | dpkg -i "${debs[@]}" 2>/tmp/dpkg.log 1>&2 14 | rm -f "${debs[@]}" 15 | cache= 16 | 17 | killall -9 Lowtide AppleTV 18 | fi 19 | 20 | if [[ ${cache+@} ]]; then 21 | sbdidlaunch 22 | su -c uicache mobile 23 | fi 24 | -------------------------------------------------------------------------------- /Menes/Function.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef Menes_Function_H 23 | #define Menes_Function_H 24 | 25 | template 26 | class Function { 27 | private: 28 | class Abstract { 29 | private: 30 | unsigned references_; 31 | 32 | public: 33 | Abstract() : 34 | references_(0) 35 | { 36 | } 37 | 38 | Abstract(const Abstract &) = delete; 39 | Abstract &operator =(const Abstract &) = delete; 40 | 41 | virtual ~Abstract() { 42 | } 43 | 44 | void Retain() { 45 | ++references_; 46 | } 47 | 48 | void Release() { 49 | if (--references_ == 0) 50 | delete this; 51 | } 52 | 53 | virtual Result_ operator()(Args_... args) const = 0; 54 | }; 55 | 56 | template 57 | class Concrete : 58 | public Abstract 59 | { 60 | private: 61 | Callable_ callable_; 62 | 63 | public: 64 | Concrete(const Callable_ &callable) : 65 | callable_(callable) 66 | { 67 | } 68 | 69 | virtual Result_ operator()(Args_... args) const { 70 | return callable_(args...); 71 | } 72 | }; 73 | 74 | private: 75 | Abstract *abstract_; 76 | 77 | void Release() { 78 | if (abstract_ != NULL) 79 | abstract_->Release(); 80 | } 81 | 82 | void Copy(Abstract *abstract) { 83 | if (abstract != NULL) 84 | abstract->Retain(); 85 | Release(); 86 | abstract_ = abstract; 87 | } 88 | 89 | template 90 | void Assign(const Callable_ &callable) { 91 | Copy(new Concrete(callable)); 92 | } 93 | 94 | public: 95 | Function() : 96 | abstract_(NULL) 97 | { 98 | } 99 | 100 | Function(decltype(nullptr)) : 101 | Function() 102 | { 103 | } 104 | 105 | Function(const Function &function) : 106 | abstract_(function.abstract_) 107 | { 108 | abstract_->Retain(); 109 | } 110 | 111 | template 112 | Function(const Callable_ &callable) : 113 | Function() 114 | { 115 | Assign(callable); 116 | } 117 | 118 | ~Function() { 119 | Release(); 120 | } 121 | 122 | Function &operator =(decltype(nullptr)) { 123 | Clear(); 124 | return *this; 125 | } 126 | 127 | Function &operator =(const Function &function) { 128 | Copy(function.abstract_); 129 | return *this; 130 | } 131 | 132 | Result_ operator()(Args_... args) const { 133 | return (*abstract_)(args...); 134 | } 135 | 136 | void Clear() { 137 | Release(); 138 | abstract_ = NULL; 139 | } 140 | 141 | template 142 | Function &operator =(const Callable_ &callable) { 143 | Assign(callable); 144 | return *this; 145 | } 146 | 147 | operator bool() const { 148 | return abstract_ != NULL; 149 | } 150 | }; 151 | 152 | #endif//Menes_Function_H 153 | -------------------------------------------------------------------------------- /Menes/Menes.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef Menes_Menes_H 23 | #define Menes_Menes_H 24 | 25 | #include "Menes/Function.h" 26 | #include "Menes/ObjectHandle.h" 27 | #include "Menes/Pooling.hpp" 28 | 29 | #include "Menes/invocationWithSelector.h" 30 | #include "Menes/radixSortWithSelector.h" 31 | #include "Menes/yieldToSelector.h" 32 | 33 | #endif//Menes_Menes_H 34 | -------------------------------------------------------------------------------- /Menes/ObjectHandle.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef Menes_ObjectHandle_H 23 | #define Menes_ObjectHandle_H 24 | 25 | #include 26 | #include 27 | 28 | template 29 | struct MenesObjectHandle_; 30 | 31 | template 32 | struct MenesObjectHandle_ { 33 | static _finline void Execute(Type_ *value) { 34 | } 35 | }; 36 | 37 | template 38 | struct MenesObjectHandle_ { 39 | static _finline void Execute(Type_ *value) { 40 | [value setDelegate:nil]; 41 | } 42 | }; 43 | 44 | template 45 | struct MenesObjectHandle_ { 46 | static _finline void Execute(Type_ *value) { 47 | [value setDelegate:nil]; 48 | [value setDataSource:nil]; 49 | } 50 | }; 51 | 52 | template 53 | class MenesObjectHandle { 54 | private: 55 | Type_ *value_; 56 | 57 | _finline void Retain_() { 58 | if (value_ != nil) 59 | CFRetain((CFTypeRef) value_); 60 | } 61 | 62 | _finline void Release_(Type_ *value) { 63 | if (value != nil) { 64 | MenesObjectHandle_::Execute(value); 65 | CFRelease((CFTypeRef) value); 66 | } 67 | } 68 | 69 | public: 70 | _finline MenesObjectHandle(const MenesObjectHandle &rhs) : 71 | value_(rhs.value_ == nil ? nil : (Type_ *) CFRetain((CFTypeRef) rhs.value_)) 72 | { 73 | } 74 | 75 | _finline MenesObjectHandle(Type_ *value = NULL, bool mended = false) : 76 | value_(value) 77 | { 78 | if (!mended) 79 | Retain_(); 80 | } 81 | 82 | _finline ~MenesObjectHandle() { 83 | Release_(value_); 84 | } 85 | 86 | _finline operator Type_ *() const { 87 | return value_; 88 | } 89 | 90 | _finline Type_ *operator ->() const { 91 | return value_; 92 | } 93 | 94 | _finline MenesObjectHandle &operator =(Type_ *value) { 95 | if (value_ != value) { 96 | Type_ *old(value_); 97 | value_ = value; 98 | Retain_(); 99 | Release_(old); 100 | } return *this; 101 | } 102 | 103 | _finline MenesObjectHandle &operator =(const MenesObjectHandle &value) { 104 | return this->operator =(value.operator Type_ *()); 105 | } 106 | }; 107 | 108 | #define _H MenesObjectHandle 109 | 110 | #define rproperty_(Class, field) \ 111 | - (typeof(((Class*)nil)->_##field.operator->())) field { \ 112 | return _##field; \ 113 | } 114 | 115 | #define wproperty_(Class, field, Field) \ 116 | - (void) set##Field:(typeof(((Class*)nil)->_##field.operator->()))field { \ 117 | _##field = field; \ 118 | } 119 | 120 | #define roproperty(Class, field) \ 121 | @implementation Class (Menes_##field) \ 122 | rproperty_(Class, field) \ 123 | @end 124 | 125 | #define rwproperty(Class, field, Field) \ 126 | @implementation Class (Menes_##field) \ 127 | rproperty_(Class, field) \ 128 | wproperty_(Class, field, Field) \ 129 | @end 130 | 131 | // XXX: I hate clang. Apple: please get over your petty hatred of GPL and fix your gcc fork 132 | #define synchronized(lock) \ 133 | synchronized(static_cast(lock)) 134 | 135 | #endif//Menes_ObjectHandle_H 136 | -------------------------------------------------------------------------------- /Menes/Pooling.hpp: -------------------------------------------------------------------------------- 1 | /* Cycript - Optimizing JavaScript Compiler/Runtime 2 | * Copyright (C) 2009-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU Affero General Public License, Version 3 {{{ */ 6 | /* 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef Menes_Pooling_HPP 23 | #define Menes_Pooling_HPP 24 | 25 | #include 26 | #include 27 | #include 28 | #include 29 | 30 | #include 31 | 32 | #include 33 | 34 | class CYPool; 35 | _finline void *operator new(size_t size, CYPool &pool); 36 | _finline void *operator new [](size_t size, CYPool &pool); 37 | 38 | class CYPool { 39 | private: 40 | uint8_t *data_; 41 | size_t size_; 42 | 43 | struct Cleaner { 44 | Cleaner *next_; 45 | void (*code_)(void *); 46 | void *data_; 47 | 48 | Cleaner(Cleaner *next, void (*code)(void *), void *data) : 49 | next_(next), 50 | code_(code), 51 | data_(data) 52 | { 53 | } 54 | } *cleaner_; 55 | 56 | static _finline size_t align(size_t size) { 57 | // XXX: alignment is more complex than this 58 | return (size + 7) & ~0x3; 59 | } 60 | 61 | template 62 | static void delete_(void *data) { 63 | reinterpret_cast(data)->~Type_(); 64 | } 65 | 66 | CYPool(const CYPool &); 67 | 68 | public: 69 | CYPool() : 70 | data_(NULL), 71 | size_(0), 72 | cleaner_(NULL) 73 | { 74 | } 75 | 76 | ~CYPool() { 77 | for (Cleaner *cleaner(cleaner_); cleaner != NULL; ) { 78 | Cleaner *next(cleaner->next_); 79 | (*cleaner->code_)(cleaner->data_); 80 | cleaner = next; 81 | } 82 | } 83 | 84 | template 85 | Type_ *malloc(size_t size) { 86 | size = align(size); 87 | 88 | if (size > size_) { 89 | // XXX: is this an optimal malloc size? 90 | size_ = std::max(size, size + align(sizeof(Cleaner))); 91 | data_ = reinterpret_cast(::malloc(size_)); 92 | atexit(free, data_); 93 | _assert(size <= size_); 94 | } 95 | 96 | void *data(data_); 97 | data_ += size; 98 | size_ -= size; 99 | return reinterpret_cast(data); 100 | } 101 | 102 | void atexit(void (*code)(void *), void *data = NULL); 103 | }; 104 | 105 | _finline void *operator new(size_t size, CYPool &pool) { 106 | return pool.malloc(size); 107 | } 108 | 109 | _finline void *operator new [](size_t size, CYPool &pool) { 110 | return pool.malloc(size); 111 | } 112 | 113 | _finline void CYPool::atexit(void (*code)(void *), void *data) { 114 | cleaner_ = new(*this) Cleaner(cleaner_, code, data); 115 | } 116 | 117 | #endif/*Menes_Pooling_HPP*/ 118 | -------------------------------------------------------------------------------- /Menes/invocationWithSelector.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef Menes_invocationWithSelector_H 23 | #define Menes_invocationWithSelector_H 24 | 25 | #include 26 | 27 | @interface NSInvocation (MenesInvocationWithSelector) 28 | + (NSInvocation *) invocationWithSelector:(SEL)selector forTarget:(id)target; 29 | @end 30 | 31 | #endif//Menes_invocationWithSelector_H 32 | -------------------------------------------------------------------------------- /Menes/invocationWithSelector.mm: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #include "CyteKit/UCPlatform.h" 23 | 24 | #include "Menes/invocationWithSelector.h" 25 | 26 | @implementation NSInvocation (MenesInvocationWithSelector) 27 | 28 | + (NSInvocation *) invocationWithSelector:(SEL)selector forTarget:(id)target { 29 | NSInvocation *invocation([NSInvocation invocationWithMethodSignature:[target methodSignatureForSelector:selector]]); 30 | [invocation setTarget:target]; 31 | [invocation setSelector:selector]; 32 | return invocation; 33 | } 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /Menes/radixSortWithSelector.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef Menes_radixSort_H 23 | #define Menes_radixSort_H 24 | 25 | #include 26 | 27 | typedef uint32_t (*MenesRadixSortFunction)(id, void *); 28 | void CYRadixSortUsingFunction(id *self, size_t count, MenesRadixSortFunction function, void *argument); 29 | 30 | @interface NSMutableArray (MenesRadixSortWithSelector) 31 | - (void) radixSortUsingFunction:(MenesRadixSortFunction)function withContext:(void *)argument; 32 | - (void) radixSortUsingSelector:(SEL)selector; 33 | @end 34 | 35 | #endif//Menes_radixSort_H 36 | -------------------------------------------------------------------------------- /Menes/radixSortWithSelector.mm: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #include "CyteKit/UCPlatform.h" 23 | 24 | #include "Menes/radixSortWithSelector.h" 25 | 26 | #include 27 | 28 | struct RadixItem_ { 29 | size_t index; 30 | uint32_t key; 31 | }; 32 | 33 | static RadixItem_ *CYRadixSort(struct RadixItem_ *swap, size_t count) { 34 | struct RadixItem_ *lhs(swap), *rhs(swap + count); 35 | 36 | static const size_t width = 32; 37 | static const size_t bits = 11; 38 | static const size_t slots = 1 << bits; 39 | static const size_t passes = (width + (bits - 1)) / bits; 40 | 41 | size_t *hist(new size_t[slots]); 42 | 43 | for (size_t pass(0); pass != passes; ++pass) { 44 | memset(hist, 0, sizeof(size_t) * slots); 45 | 46 | for (size_t i(0); i != count; ++i) { 47 | uint32_t key(lhs[i].key); 48 | key >>= pass * bits; 49 | key &= _not(uint32_t) >> width - bits; 50 | ++hist[key]; 51 | } 52 | 53 | size_t offset(0); 54 | for (size_t i(0); i != slots; ++i) { 55 | size_t local(offset); 56 | offset += hist[i]; 57 | hist[i] = local; 58 | } 59 | 60 | for (size_t i(0); i != count; ++i) { 61 | uint32_t key(lhs[i].key); 62 | key >>= pass * bits; 63 | key &= _not(uint32_t) >> width - bits; 64 | rhs[hist[key]++] = lhs[i]; 65 | } 66 | 67 | RadixItem_ *tmp(lhs); 68 | lhs = rhs; 69 | rhs = tmp; 70 | } 71 | 72 | delete [] hist; 73 | return lhs; 74 | } 75 | 76 | void CYRadixSortUsingFunction(id *self, size_t count, MenesRadixSortFunction function, void *argument) { 77 | struct RadixItem_ *swap(new RadixItem_[count * 2]); 78 | 79 | for (size_t i(0); i != count; ++i) { 80 | RadixItem_ &item(swap[i]); 81 | item.index = i; 82 | item.key = function(self[i], argument); 83 | } 84 | 85 | auto lhs(CYRadixSort(swap, count)); 86 | 87 | const void **values(new const void *[count]); 88 | for (size_t i(0); i != count; ++i) 89 | values[i] = self[lhs[i].index]; 90 | memcpy(self, values, count * sizeof(id)); 91 | delete [] values; 92 | 93 | delete [] swap; 94 | } 95 | 96 | @implementation NSMutableArray (MenesRadixSortWithSelector) 97 | 98 | - (void) radixSortUsingFunction:(MenesRadixSortFunction)function withContext:(void *)argument { 99 | size_t count([self count]); 100 | struct RadixItem_ *swap(new RadixItem_[count * 2]); 101 | 102 | for (size_t i(0); i != count; ++i) { 103 | RadixItem_ &item(swap[i]); 104 | item.index = i; 105 | item.key = function([self objectAtIndex:i], argument); 106 | } 107 | 108 | auto lhs(CYRadixSort(swap, count)); 109 | 110 | const void **values(new const void *[count]); 111 | for (size_t i(0); i != count; ++i) 112 | values[i] = [self objectAtIndex:lhs[i].index]; 113 | CFArrayReplaceValues((CFMutableArrayRef) self, CFRangeMake(0, count), values, count); 114 | delete [] values; 115 | 116 | delete [] swap; 117 | } 118 | 119 | - (void) radixSortUsingSelector:(SEL)selector { 120 | if ([self count] == 0) 121 | return; 122 | 123 | IMP imp(class_getMethodImplementation([[self lastObject] class], selector)); 124 | [self radixSortUsingFunction:reinterpret_cast(imp) withContext:selector]; 125 | } 126 | 127 | @end 128 | -------------------------------------------------------------------------------- /Menes/yieldToSelector.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef Menes_yieldToSelector_H 23 | #define Menes_yieldToSelector_H 24 | 25 | #include 26 | 27 | @interface NSObject (MenesYieldToSelector) 28 | - (id) yieldToSelector:(SEL)selector withObject:(id)object; 29 | - (id) yieldToSelector:(SEL)selector; 30 | @end 31 | 32 | #endif//Menes_yieldToSelector_H 33 | -------------------------------------------------------------------------------- /Menes/yieldToSelector.mm: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #include "CyteKit/UCPlatform.h" 23 | 24 | #include "Menes/yieldToSelector.h" 25 | 26 | @implementation NSObject (MenesYieldToSelector) 27 | 28 | - (void) doNothing { 29 | } 30 | 31 | - (void) _yieldToContext:(NSMutableArray *)context { 32 | NSAutoreleasePool *pool([[NSAutoreleasePool alloc] init]); 33 | 34 | SEL selector(reinterpret_cast([[context objectAtIndex:0] pointerValue])); 35 | id object([[context objectAtIndex:1] nonretainedObjectValue]); 36 | volatile bool &stopped(*reinterpret_cast([[context objectAtIndex:2] pointerValue])); 37 | 38 | /* XXX: deal with exceptions */ 39 | id value([self performSelector:selector withObject:object]); 40 | 41 | NSMethodSignature *signature([self methodSignatureForSelector:selector]); 42 | [context removeAllObjects]; 43 | if ([signature methodReturnLength] != 0 && value != nil) 44 | [context addObject:value]; 45 | 46 | stopped = true; 47 | 48 | [self 49 | performSelectorOnMainThread:@selector(doNothing) 50 | withObject:nil 51 | waitUntilDone:NO 52 | ]; 53 | 54 | [pool release]; 55 | } 56 | 57 | - (id) yieldToSelector:(SEL)selector withObject:(id)object { 58 | volatile bool stopped(false); 59 | 60 | NSMutableArray *context([NSMutableArray arrayWithObjects: 61 | [NSValue valueWithPointer:selector], 62 | [NSValue valueWithNonretainedObject:object], 63 | [NSValue valueWithPointer:const_cast(&stopped)], 64 | nil]); 65 | 66 | NSThread *thread([[[NSThread alloc] 67 | initWithTarget:self 68 | selector:@selector(_yieldToContext:) 69 | object:context 70 | ] autorelease]); 71 | 72 | [thread start]; 73 | 74 | NSRunLoop *loop([NSRunLoop currentRunLoop]); 75 | NSDate *future([NSDate distantFuture]); 76 | NSString *mode([loop currentMode] ?: NSDefaultRunLoopMode); 77 | 78 | while (!stopped && [loop runMode:mode beforeDate:future]); 79 | 80 | return [context count] == 0 ? nil : [context objectAtIndex:0]; 81 | } 82 | 83 | - (id) yieldToSelector:(SEL)selector { 84 | return [self yieldToSelector:selector withObject:nil]; 85 | } 86 | 87 | @end 88 | -------------------------------------------------------------------------------- /MobileCydia.app/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Default-568h@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/Default-Landscape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Default-Landscape.png -------------------------------------------------------------------------------- /MobileCydia.app/Default-Landscape@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Default-Landscape@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/Default-Portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Default-Portrait.png -------------------------------------------------------------------------------- /MobileCydia.app/Default-Portrait@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Default-Portrait@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Default.png -------------------------------------------------------------------------------- /MobileCydia.app/Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Default@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/Icon-60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Icon-60.png -------------------------------------------------------------------------------- /MobileCydia.app/Icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Icon-60@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/Icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Icon-60@3x.png -------------------------------------------------------------------------------- /MobileCydia.app/Icon-76@2x~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Icon-76@2x~ipad.png -------------------------------------------------------------------------------- /MobileCydia.app/Icon-76~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Icon-76~ipad.png -------------------------------------------------------------------------------- /MobileCydia.app/Icon-Small-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Icon-Small-40.png -------------------------------------------------------------------------------- /MobileCydia.app/Icon-Small-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Icon-Small-40@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/Icon-Small-50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Icon-Small-50.png -------------------------------------------------------------------------------- /MobileCydia.app/Icon-Small-50@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Icon-Small-50@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/Icon-Small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Icon-Small.png -------------------------------------------------------------------------------- /MobileCydia.app/Icon-Small@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Icon-Small@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/Icon7-Small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Icon7-Small.png -------------------------------------------------------------------------------- /MobileCydia.app/Icon7-Small@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Icon7-Small@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/Icon7-Small@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Icon7-Small@3x.png -------------------------------------------------------------------------------- /MobileCydia.app/Purposes/commercial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Purposes/commercial.png -------------------------------------------------------------------------------- /MobileCydia.app/Purposes/console.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Purposes/console.png -------------------------------------------------------------------------------- /MobileCydia.app/Purposes/daemon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Purposes/daemon.png -------------------------------------------------------------------------------- /MobileCydia.app/Purposes/extension.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Purposes/extension.png -------------------------------------------------------------------------------- /MobileCydia.app/Purposes/library.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Purposes/library.png -------------------------------------------------------------------------------- /MobileCydia.app/Purposes/uikit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Purposes/uikit.png -------------------------------------------------------------------------------- /MobileCydia.app/Purposes/x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Purposes/x.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Hunspell Dictionaries 7 | Dictionaries 8 | 9 | Utility 10 | Utilities 11 | 12 | Utilites 13 | Utilities 14 | 15 | Developer 16 | Development 17 | 18 | Site-Specific 19 | Site-Specific Apps 20 | 21 | Themes (Springboard) 22 | Themes (SpringBoard) 23 | 24 | Themes (SummerBoard) 25 | Themes (SpringBoard) 26 | 27 | Themes (Systen) 28 | Themes (System) 29 | 30 | Themes (Lockcreen) 31 | Themes (LockScreen) 32 | 33 | Themes (Lockscreens) 34 | Themes (LockScreen) 35 | 36 | Themes (Locksceen) 37 | Themes (LockScreen) 38 | 39 | Themes (Lockscree) 40 | Themes (LockScreen) 41 | 42 | Themes (Losckscreen) 43 | Themes (LockScreen) 44 | 45 | Themes (Video) 46 | Themes (Apps) 47 | 48 | Themes (Lockscreen) 49 | Themes (LockScreen) 50 | 51 | Themes (Widgets) 52 | Themes (Addons) 53 | 54 | Wallpapers 55 | Wallpaper 56 | 57 | Ringtone 58 | Ringtones 59 | 60 | Tweak 61 | Tweaks 62 | 63 | SBSettings Addons 64 | Addons (SBSettings) 65 | 66 | LockInfo Addons 67 | Addons (LockInfo) 68 | 69 | App Addons 70 | Addons 71 | 72 | App Addons (Iconoclasm) 73 | Addons (Iconoclasm) 74 | 75 | App Addons (OpenNotifier) 76 | Addons (OpenNotifier) 77 | 78 | BossPaper Addons 79 | Addons (BossPaper) 80 | 81 | Lockinfo Addons 82 | Addons (LockInfo) 83 | 84 | Dictionaries (Hunspell) 85 | Dictionaries 86 | 87 | Addons (Bootlogo) 88 | Addons (BootLogo) 89 | 90 | Addons (BootLogos) 91 | Addons (BootLogo) 92 | 93 | eBooks 94 | Books 95 | 96 | Themes (Localization) 97 | Localization 98 | 99 | Themes (APPS) 100 | Themes (Apps) 101 | 102 | Themes (Weather) 103 | Themes (Apps) 104 | 105 | Themes (Videos) 106 | Themes (Apps) 107 | 108 | Themes (SMS) 109 | Themes (Apps) 110 | 111 | Themes (iPad) 112 | Themes 113 | 114 | Themes (Dock) 115 | Themes (SpringBoard) 116 | 117 | Themes (Dialer) 118 | Themes (Apps) 119 | 120 | Themes (Battery) 121 | Themes (LockScreen) 122 | 123 | FontSwap 124 | Addons (FontSwap) 125 | 126 | Cydgets (Lock) 127 | Addons (Cydget) 128 | 129 | Themes (App Addons) 130 | Themes (Addons) 131 | 132 | 133 | 134 | -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Addons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Addons.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Administration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Administration.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Archiving.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Archiving.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Books.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Books.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Carrier_Bundles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Carrier_Bundles.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Data_Storage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Data_Storage.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Development.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Development.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Dictionaries.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Dictionaries.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Education.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Education.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Entertainment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Entertainment.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Fonts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Fonts.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Games.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Games.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Health_and_Fitness.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Health_and_Fitness.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Java.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Java.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Keyboards.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Keyboards.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Localization.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Localization.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Messaging.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Messaging.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Multimedia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Multimedia.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Navigation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Navigation.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Networking.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Networking.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Packaging.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Packaging.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Productivity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Productivity.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Repositories.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Repositories.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Ringtones.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Ringtones.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Scripting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Scripting.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Security.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Security.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Site-Specific_Apps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Site-Specific_Apps.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Social.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Social.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Soundboards.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Soundboards.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/System.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/System.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Terminal_Support.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Terminal_Support.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Text_Editors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Text_Editors.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Themes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Themes.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Toys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Toys.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Tweaks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Tweaks.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Utilities.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Utilities.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Wallpaper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Wallpaper.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/Widgets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/Widgets.png -------------------------------------------------------------------------------- /MobileCydia.app/Sections/X_Window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/Sections/X_Window.png -------------------------------------------------------------------------------- /MobileCydia.app/ar.lproj/Sections.strings: -------------------------------------------------------------------------------- 1 | "Addons" = "وظائف إضافية"; 2 | "Administration" = "الإدارة"; 3 | "Archiving" = "الأرشفة"; 4 | "Carrier Bundles" = "مجموعات شركة الجوّال"; 5 | "Data Storage" = "تخزين البيانات"; 6 | "Development" = "تطوير"; 7 | "Dictionaries" = "قواميس"; 8 | "Education" = "تعليم"; 9 | "Entertainment" = "ترفيه"; 10 | "Fonts" = "خطوط"; 11 | "Games" = "العاب"; 12 | "Java" = "Java"; 13 | "Keyboards" = "لوحات المفاتيح"; 14 | "Localization" = "تعريب"; 15 | "Messaging" = "إرسال الرسائل"; 16 | "Multimedia" = "وسائط متعددة"; 17 | "Navigation" = "ملاحة"; 18 | "Networking" = "شبكات"; 19 | "Packaging" = "إعداد الحِزم"; 20 | "Productivity" = "الإنتاجية"; 21 | "Repositories" = "مستودعات"; 22 | "Ringtones" = "نغمات رنين"; 23 | "Scripting" = "برمجة نصية"; 24 | "Security" = "الأمان"; 25 | "Site-Specific Apps" = "التطبيقات الخاصة بالموقع"; 26 | "Social" = "إجتماعي"; 27 | "Soundboards" = "لوحات الصوت"; 28 | "System" = "النظام"; 29 | "Terminal Support" = "دعم الوحدة الطرفية"; 30 | "Text Editors" = "أداوت تحرير النص"; 31 | "Themes" = "سمات"; 32 | "Toys" = "الألعاب"; 33 | "Tweaks" = "التعديلات النهائية"; 34 | "Utilities" = "الأدوات المساعدة"; 35 | "Wallpaper" = "ورق حائط"; 36 | "Widgets" = "عناصر واجهة المستخدم"; 37 | -------------------------------------------------------------------------------- /MobileCydia.app/changes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/changes.png -------------------------------------------------------------------------------- /MobileCydia.app/changes7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/changes7.png -------------------------------------------------------------------------------- /MobileCydia.app/changes7@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/changes7@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/changes7@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/changes7@3x.png -------------------------------------------------------------------------------- /MobileCydia.app/changes7s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/changes7s.png -------------------------------------------------------------------------------- /MobileCydia.app/changes7s@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/changes7s@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/changes7s@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/changes7s@3x.png -------------------------------------------------------------------------------- /MobileCydia.app/changes@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/changes@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/chevron@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/chevron@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/compose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/compose.png -------------------------------------------------------------------------------- /MobileCydia.app/configure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/configure.png -------------------------------------------------------------------------------- /MobileCydia.app/de.lproj/Sections.strings: -------------------------------------------------------------------------------- 1 | "Addons" = "Erweiterungen"; 2 | "Administration" = "Administration"; 3 | "App Addons" = "Programm-Erweiterugen"; 4 | "Archiving" = "Archivierung"; 5 | "Battery" = "Batterie"; 6 | "Carrier Bundles" = "Netzbetreiber-Pakete"; 7 | "Carriers" = "Telefongesellschaften"; 8 | "Complete" = "Vollständig"; 9 | "Data Storage" = "Datenspeicherung"; 10 | "Development" = "Entwicklung"; 11 | "Dialer" = "Wählhilfen"; 12 | "Dictionaries" = "Wörterbücher"; 13 | "Dock" = "Dock"; 14 | "Education" = "Bildung"; 15 | "Emulation" = "Emulation"; 16 | "Entertainment" = "Unterhaltung"; 17 | "Fonts" = "Fonts"; 18 | "Games" = "Spiele"; 19 | "Icy" = "Icy"; 20 | "Java" = "Java"; 21 | "Keyboards" = "Tastatur"; 22 | "Localization" = "Lokalisierung"; 23 | "LockScreen" = "Sperrbildschirm"; 24 | "Messaging" = "Nachrichtendienste"; 25 | "Multimedia" = "Multimedia"; 26 | "Navigation" = "Navigation"; 27 | "Networking" = "Netzwerk"; 28 | "Notifications" = "Mitteilugen"; 29 | "Packaging" = "Paketerstellung"; 30 | "Productivity" = "Produktivität"; 31 | "Repositories" = "Quellen"; 32 | "Ringtones" = "Klingeltöne"; 33 | "SMS" = "SMS"; 34 | "Scripting" = "Scripting"; 35 | "Security" = "Sicherheit"; 36 | "Site-Specific Apps" = "Seitenspezifische Apps"; 37 | "Sliders" = "Slider"; 38 | "Social" = "Social"; 39 | "Soundboards" = "Soundboards"; 40 | "System" = "System"; 41 | "Terminal Support" = "Terminal-Unterstützung"; 42 | "Text Editors" = "Texteditoren"; 43 | "Themes" = "Designs"; 44 | "Toys" = "Spielzeuge"; 45 | "Tweaks" = "Tweaks"; 46 | "Utilities" = "Dienstprogramme"; 47 | "Wallpaper" = "Hintergrundbilder"; 48 | "Weather" = "Wetter"; 49 | "WebClips" = "WebClips"; 50 | "Widgets" = "Widgets"; 51 | "eBooks" = "eBooks"; 52 | -------------------------------------------------------------------------------- /MobileCydia.app/el.lproj/Sections.strings: -------------------------------------------------------------------------------- 1 | "Addons" = "Πρόσθετα"; 2 | "Administration" = "Διαχείριση"; 3 | "App Addons" = "Προσθήκες εφαρμογών"; 4 | "Archiving" = "Αρχειοθέτηση"; 5 | "Battery" = "Μπαταρία"; 6 | "Carrier Bundles" = "Carrier Bundles"; 7 | "Carriers" = "Πάροχοι"; 8 | "Complete" = "Ολοκληρωμένα"; 9 | "Data Storage" = "Αποθήκευση δεδομένων"; 10 | "Development" = "Ανάπτυξη"; 11 | "Dialer" = "Dialer"; 12 | "Dictionaries" = "Λεξικά"; 13 | "Dock" = "Dock"; 14 | "Education" = "Εκπαίδευση"; 15 | "Emulation" = "Εξομοίωση"; 16 | "Entertainment" = "Διασκέδαση"; 17 | "Fonts" = "Γραμματοσειρές"; 18 | "Games" = "Παιχνίδια"; 19 | "Icy" = "Icy"; 20 | "Java" = "Java"; 21 | "Keyboards" = "Πληκτρολόγια"; 22 | "Localization" = "Τοπική προσαρμογή"; 23 | "LockScreen" = "Οθόνη Κλειδώματος"; 24 | "Messaging" = "Αποστολή μηνυμάτων"; 25 | "Multimedia" = "Πολυμέσα"; 26 | "Navigation" = "Πλοήγηση"; 27 | "Networking" = "Δικτύωση"; 28 | "Notifications" = "Ειδοποιήσεις"; 29 | "Packaging" = "Συσκευασία"; 30 | "Productivity" = "Παραγωγικότητα"; 31 | "Repositories" = "Αποθετήρια"; 32 | "Ringtones" = "Ήχοι κουδουνίσματος"; 33 | "SMS" = "SMS"; 34 | "Scripting" = "Δέσμες ενεργειών"; 35 | "Security" = "Ασφάλεια"; 36 | "Site-Specific Apps" = "Εφαρμογές για συγκεκριμένες ιστοσελίδες"; 37 | "Sliders" = "Sliders"; 38 | "Social" = "Κοινωνικά δίκτυα"; 39 | "Soundboards" = "Soundboards"; 40 | "System" = "Σύστημα"; 41 | "Terminal Support" = "Υποστήριξη τερματικού"; 42 | "Text Editors" = "Προγράμματα επεξεργασίας κειμένου"; 43 | "Themes" = "Θέματα"; 44 | "Toys" = "Παιχνίδια"; 45 | "Tweaks" = "Tweaks"; 46 | "Utilities" = "Εργαλεία"; 47 | "Wallpaper" = "Ταπετσαρία"; 48 | "Weather" = "Καιρός"; 49 | "WebClips" = "WebClips"; 50 | "Widgets" = "Widgets"; 51 | "eBooks" = "eBooks"; 52 | -------------------------------------------------------------------------------- /MobileCydia.app/en.lproj/Sections_.strings: -------------------------------------------------------------------------------- 1 | "Addons" = "Addons"; 2 | "Administration" = "Administration"; 3 | "App Addons" = "App Addons"; 4 | "Archiving" = "Archiving"; 5 | "Battery" = "Battery"; 6 | "Carrier Bundles" = "Carrier Bundles"; 7 | "Carriers" = "Carriers"; 8 | "Complete" = "Complete"; 9 | "Data Storage" = "Data Storage"; 10 | "Development" = "Development"; 11 | "Dialer" = "Dialer"; 12 | "Dictionaries" = "Dictionaries"; 13 | "Dock" = "Dock"; 14 | "Education" = "Education"; 15 | "Emulation" = "Emulation"; 16 | "Entertainment" = "Entertainment"; 17 | "Fonts" = "Fonts"; 18 | "Games" = "Games"; 19 | "Icy" = "Icy"; 20 | "Java" = "Java"; 21 | "Keyboards" = "Keyboards"; 22 | "Localization" = "Localization"; 23 | "LockScreen" = "LockScreen"; 24 | "Messaging" = "Messaging"; 25 | "Multimedia" = "Multimedia"; 26 | "Navigation" = "Navigation"; 27 | "Networking" = "Networking"; 28 | "Notifications" = "Notifications"; 29 | "Packaging" = "Packaging"; 30 | "Productivity" = "Productivity"; 31 | "Repositories" = "Repositories"; 32 | "Ringtones" = "Ringtones"; 33 | "SMS" = "SMS"; 34 | "Scripting" = "Scripting"; 35 | "Security" = "Security"; 36 | "Site-Specific Apps" = "Site-Specific Apps"; 37 | "Sliders" = "Sliders"; 38 | "Social" = "Social"; 39 | "Soundboards" = "Soundboards"; 40 | "System" = "System"; 41 | "Terminal Support" = "Terminal Support"; 42 | "Text Editors" = "Text Editors"; 43 | "Themes" = "Themes"; 44 | "Toys" = "Toys"; 45 | "Tweaks" = "Tweaks"; 46 | "Utilities" = "Utilities"; 47 | "Wallpaper" = "Wallpaper"; 48 | "Weather" = "Weather"; 49 | "WebClips" = "WebClips"; 50 | "Widgets" = "Widgets"; 51 | "eBooks" = "eBooks"; 52 | -------------------------------------------------------------------------------- /MobileCydia.app/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 38 |
39 | 40 |
41 | 42 |
()
45 | 46 |
47 | -------------------------------------------------------------------------------- /MobileCydia.app/es.lproj/Sections.strings: -------------------------------------------------------------------------------- 1 | "Addons" = "Complementos"; 2 | "Administration" = "Administración"; 3 | "Archiving" = "Archivado"; 4 | "Carrier Bundles" = "Packs de operadora"; 5 | "Data Storage" = "Almacenamiento"; 6 | "Development" = "Desarrollo"; 7 | "Dictionaries" = "Diccionarios"; 8 | "Education" = "Educación"; 9 | "Entertainment" = "Entretenimiento"; 10 | "Fonts" = "Tipos de letra"; 11 | "Games" = "Juegos"; 12 | "Java" = "Java"; 13 | "Keyboards" = "Teclados"; 14 | "Localization" = "Localización"; 15 | "Messaging" = "Mensajería"; 16 | "Multimedia" = "Multimedia"; 17 | "Navigation" = "Navegación"; 18 | "Networking" = "Redes"; 19 | "Packaging" = "Empaquetado"; 20 | "Productivity" = "Productividad"; 21 | "Repositories" = "Repositorios"; 22 | "Ringtones" = "Tonos de llamada"; 23 | "Scripting" = "Scripts"; 24 | "Security" = "Seguridad"; 25 | "Site-Specific Apps" = "Sitios específicos"; 26 | "Social" = "Social"; 27 | "Soundboards" = "Packs de sonidos"; 28 | "System" = "Sistema"; 29 | "Terminal Support" = "Apps para terminal"; 30 | "Text Editors" = "Editores de texto"; 31 | "Themes" = "Temas"; 32 | "Toys" = "Juguetes"; 33 | "Tweaks" = "Modificaciones"; 34 | "Utilities" = "Utilidades"; 35 | "Wallpaper" = "Fondos de pantalla"; 36 | "Widgets" = "Widgets"; 37 | -------------------------------------------------------------------------------- /MobileCydia.app/folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/folder.png -------------------------------------------------------------------------------- /MobileCydia.app/folder@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/folder@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/fr.lproj/Sections.strings: -------------------------------------------------------------------------------- 1 | "Addons" = "Extensions"; 2 | "Administration" = "Administration"; 3 | "App Addons" = "Ajouts aux applications"; 4 | "Archiving" = "Archivage"; 5 | "Battery" = "Batterie"; 6 | "Carrier Bundles" = "Packs d'opérateurs"; 7 | "Carriers" = "Opérateurs"; 8 | "Complete" = "Terminé"; 9 | "Data Storage" = "Stockage des données"; 10 | "Development" = "Développement"; 11 | "Dialer" = "Numéroteur"; 12 | "Dictionaries" = "Dictionnaires"; 13 | "Dock" = "Dock"; 14 | "Education" = "Éducation"; 15 | "Emulation" = "Émulation"; 16 | "Entertainment" = "Divertissement"; 17 | "Fonts" = "Polices"; 18 | "Games" = "Jeux"; 19 | "Icy" = "Icy"; 20 | "Java" = "Java"; 21 | "Keyboards" = "Claviers"; 22 | "Localization" = "Localisation"; 23 | "LockScreen" = "Écran de verrouillage"; 24 | "Messaging" = "Messagerie"; 25 | "Multimedia" = "Multimédia"; 26 | "Navigation" = "Navigation"; 27 | "Networking" = "Réseaux"; 28 | "Notifications" = "Notifications"; 29 | "Packaging" = "Mise en paquets"; 30 | "Productivity" = "Productivité"; 31 | "Repositories" = "Sources"; 32 | "Ringtones" = "Sonneries"; 33 | "SMS" = "SMS"; 34 | "Scripting" = "Scripts"; 35 | "Security" = "Sécurité"; 36 | "Site-Specific Apps" = "Applis de site dédiées"; 37 | "Sliders" = "Sliders"; 38 | "Social" = "Réseaux sociaux"; 39 | "Soundboards" = "Consoles de mixage"; 40 | "System" = "Système"; 41 | "Terminal Support" = "Assistance Terminal"; 42 | "Text Editors" = "Éditeurs de texte"; 43 | "Themes" = "Thèmes"; 44 | "Toys" = "Jouets"; 45 | "Tweaks" = "Modifications"; 46 | "Utilities" = "Utilitaires"; 47 | "Wallpaper" = "Fond d'écran"; 48 | "Weather" = "Météo"; 49 | "WebClips" = "WebClips"; 50 | "Widgets" = "Widgets"; 51 | "eBooks" = "eLivres"; 52 | -------------------------------------------------------------------------------- /MobileCydia.app/he.lproj/Sections.strings: -------------------------------------------------------------------------------- 1 | "Addons" = "הרחבות"; 2 | "Administration" = "ניהול"; 3 | "Archiving" = "מאחסן בארכיון"; 4 | "Carrier Bundles" = "באנדלים של מובילים"; 5 | "Data Storage" = "אחסון נתונים"; 6 | "Development" = "פיתוח"; 7 | "Dictionaries" = "מילונים"; 8 | "Education" = "השכלה"; 9 | "Entertainment" = "בידור"; 10 | "Fonts" = "גפנים"; 11 | "Games" = "משחקים"; 12 | "Java" = "Java"; 13 | "Keyboards" = "מקלדות"; 14 | "Localization" = "לוקליזציה"; 15 | "Messaging" = "העברת הודעות"; 16 | "Multimedia" = "מולטימדיה"; 17 | "Navigation" = "ניווט"; 18 | "Networking" = "רשת"; 19 | "Packaging" = "אריזה"; 20 | "Productivity" = "יעילות"; 21 | "Repositories" = "מאגרים"; 22 | "Ringtones" = "צלצולים"; 23 | "Scripting" = "Scripting"; 24 | "Security" = "אבטחה"; 25 | "Site-Specific Apps" = "יישומים ספציפיים לאתר"; 26 | "Social" = "חברתי"; 27 | "Soundboards" = "לוחות צלילם"; 28 | "System" = "מערכת"; 29 | "Terminal Support" = "תמיכת מסוף"; 30 | "Text Editors" = "עורכי טקסט"; 31 | "Themes" = "ערכות נושא"; 32 | "Toys" = "צעצועים"; 33 | "Tweaks" = "כוונונים"; 34 | "Utilities" = "כלי עזר"; 35 | "Wallpaper" = "טפט"; 36 | "Widgets" = "ווידג'טים"; 37 | -------------------------------------------------------------------------------- /MobileCydia.app/home-Selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/home-Selected.png -------------------------------------------------------------------------------- /MobileCydia.app/home-Selected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/home-Selected@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/home.png -------------------------------------------------------------------------------- /MobileCydia.app/home7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/home7.png -------------------------------------------------------------------------------- /MobileCydia.app/home7@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/home7@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/home7@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/home7@3x.png -------------------------------------------------------------------------------- /MobileCydia.app/home7s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/home7s.png -------------------------------------------------------------------------------- /MobileCydia.app/home7s@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/home7s@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/home7s@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/home7s@3x.png -------------------------------------------------------------------------------- /MobileCydia.app/home@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/home@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/iOS7-Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/iOS7-Default-568h@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/iOS7-Default-667h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/iOS7-Default-667h@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/iOS7-Default-736h-Landscape@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/iOS7-Default-736h-Landscape@3x.png -------------------------------------------------------------------------------- /MobileCydia.app/iOS7-Default-736h-Portrait@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/iOS7-Default-736h-Portrait@3x.png -------------------------------------------------------------------------------- /MobileCydia.app/iOS7-Default-Landscape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/iOS7-Default-Landscape.png -------------------------------------------------------------------------------- /MobileCydia.app/iOS7-Default-Landscape@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/iOS7-Default-Landscape@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/iOS7-Default-Portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/iOS7-Default-Portrait.png -------------------------------------------------------------------------------- /MobileCydia.app/iOS7-Default-Portrait@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/iOS7-Default-Portrait@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/iOS7-Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/iOS7-Default@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/icon-72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/icon-72.png -------------------------------------------------------------------------------- /MobileCydia.app/icon-72@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/icon-72@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/icon.png -------------------------------------------------------------------------------- /MobileCydia.app/icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/icon@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/iconClassic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/iconClassic.png -------------------------------------------------------------------------------- /MobileCydia.app/install.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/install.png -------------------------------------------------------------------------------- /MobileCydia.app/install7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/install7.png -------------------------------------------------------------------------------- /MobileCydia.app/install7@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/install7@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/install7@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/install7@3x.png -------------------------------------------------------------------------------- /MobileCydia.app/install7s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/install7s.png -------------------------------------------------------------------------------- /MobileCydia.app/install7s@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/install7s@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/install7s@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/install7s@3x.png -------------------------------------------------------------------------------- /MobileCydia.app/install@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/install@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/installed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/installed.png -------------------------------------------------------------------------------- /MobileCydia.app/installed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/installed@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/installing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/installing.png -------------------------------------------------------------------------------- /MobileCydia.app/installing@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/installing@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/it.lproj/Sections.strings: -------------------------------------------------------------------------------- 1 | "Addons" = "Componenti aggiuntivi"; 2 | "Administration" = "Amministrazione"; 3 | "Archiving" = "Archiviazione"; 4 | "Carrier Bundles" = "Bundle per carrier"; 5 | "Data Storage" = "Archiviazione dati"; 6 | "Development" = "Sviluppo"; 7 | "Dictionaries" = "Dizionari"; 8 | "Education" = "Istruzione"; 9 | "Entertainment" = "Intrattenimento"; 10 | "Fonts" = "Caratteri"; 11 | "Games" = "Giochi"; 12 | "Java" = "Java"; 13 | "Keyboards" = "Tastiere"; 14 | "Localization" = "Localizzazione"; 15 | "Messaging" = "Messaggistica"; 16 | "Multimedia" = "Multimedialità"; 17 | "Navigation" = "Navigazione"; 18 | "Networking" = "Reti informatiche"; 19 | "Packaging" = "Creazione pacchetti"; 20 | "Productivity" = "Produttività"; 21 | "Repositories" = "Repository"; 22 | "Ringtones" = "Suonerie"; 23 | "Scripting" = "Scripting"; 24 | "Security" = "Sicurezza"; 25 | "Site-Specific Apps" = "App specifiche per sito"; 26 | "Social" = "Social media"; 27 | "Soundboards" = "Soundboard"; 28 | "System" = "Sistema"; 29 | "Terminal Support" = "Assistenza terminal"; 30 | "Text Editors" = "Editor di testo"; 31 | "Themes" = "Temi"; 32 | "Toys" = "Giocattoli"; 33 | "Tweaks" = "Tweak"; 34 | "Utilities" = "Utility"; 35 | "Wallpaper" = "Sfondo"; 36 | "Widgets" = "Widget"; 37 | -------------------------------------------------------------------------------- /MobileCydia.app/ja.lproj/Sections.strings: -------------------------------------------------------------------------------- 1 | "Addons" = "アドオン"; 2 | "Administration" = "システム管理"; 3 | "Archiving" = "アーカイブ"; 4 | "Carrier Bundles" = "キャリアバンドル"; 5 | "Data Storage" = "データストレージ"; 6 | "Development" = "開発"; 7 | "Dictionaries" = "辞書"; 8 | "Education" = "教育"; 9 | "Entertainment" = "エンターテインメント"; 10 | "Fonts" = "フォント"; 11 | "Games" = "ゲーム"; 12 | "Java" = "Java"; 13 | "Keyboards" = "キーボード"; 14 | "Localization" = "翻訳"; 15 | "Messaging" = "メッセンジャー"; 16 | "Multimedia" = "マルチメディア"; 17 | "Navigation" = "ナビゲーション"; 18 | "Networking" = "ネットワーク"; 19 | "Packaging" = "パッケージ"; 20 | "Productivity" = "生産性"; 21 | "Repositories" = "リポジトリ"; 22 | "Ringtones" = "着信音"; 23 | "Scripting" = "スクリプト"; 24 | "Security" = "セキュリティ"; 25 | "Site-Specific Apps" = "サイト特化型アプリ"; 26 | "Social" = "ソーシャル"; 27 | "Soundboards" = "サウンドボード"; 28 | "System" = "システム"; 29 | "Terminal Support" = "ターミナルサポート"; 30 | "Text Editors" = "テキストエディタ"; 31 | "Themes" = "テーマ"; 32 | "Toys" = "おもちゃ"; 33 | "Tweaks" = "調整"; 34 | "Utilities" = "ユーティリティ"; 35 | "Wallpaper" = "壁紙"; 36 | "Widgets" = "ウィジェット"; 37 | -------------------------------------------------------------------------------- /MobileCydia.app/ko.lproj/Sections.strings: -------------------------------------------------------------------------------- 1 | "Addons" = "애드온"; 2 | "Administration" = "시스템 관리"; 3 | "Archiving" = "압축"; 4 | "Carrier Bundles" = "통신사 번들"; 5 | "Data Storage" = "데이터 스토리지"; 6 | "Development" = "개발"; 7 | "Dictionaries" = "사전"; 8 | "Education" = "교육"; 9 | "Entertainment" = "엔터테인먼트"; 10 | "Fonts" = "글꼴"; 11 | "Games" = "게임"; 12 | "Java" = "Java"; 13 | "Keyboards" = "키보드"; 14 | "Localization" = "현지화"; 15 | "Messaging" = "메시징"; 16 | "Multimedia" = "멀티미디어"; 17 | "Navigation" = "내비게이션"; 18 | "Networking" = "네트워킹"; 19 | "Packaging" = "패키징"; 20 | "Productivity" = "생산성"; 21 | "Repositories" = "저장소"; 22 | "Ringtones" = "벨소리"; 23 | "Scripting" = "스크립팅"; 24 | "Security" = "보안"; 25 | "Site-Specific Apps" = "사이트 전용 앱"; 26 | "Social" = "소셜"; 27 | "Soundboards" = "사운드보드"; 28 | "System" = "시스템"; 29 | "Terminal Support" = "터미널 지원"; 30 | "Text Editors" = "텍스트 편집기"; 31 | "Themes" = "테마"; 32 | "Toys" = "장난감"; 33 | "Tweaks" = "트윅"; 34 | "Utilities" = "유틸리티"; 35 | "Wallpaper" = "배경화면"; 36 | "Widgets" = "위젯"; 37 | -------------------------------------------------------------------------------- /MobileCydia.app/localize.js: -------------------------------------------------------------------------------- 1 | document.addEventListener("DOMContentLoaded", function () { 2 | var results = document.evaluate("//*[@localize]", document, null, XPathResult.ANY_TYPE, null); 3 | var result, nodes = []; 4 | while (result = results.iterateNext()) 5 | nodes.push(result); 6 | for (var index in nodes) { 7 | var node = nodes[index]; 8 | var key = node.getAttribute('localize'); 9 | var value = cydia.localize(key, node.innerHTML); 10 | if (node.nodeName == 'TITLE') 11 | document.title = value; 12 | else 13 | node.innerHTML = value; 14 | } 15 | }); 16 | -------------------------------------------------------------------------------- /MobileCydia.app/manage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/manage.png -------------------------------------------------------------------------------- /MobileCydia.app/manage7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/manage7.png -------------------------------------------------------------------------------- /MobileCydia.app/manage7@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/manage7@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/manage7@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/manage7@3x.png -------------------------------------------------------------------------------- /MobileCydia.app/manage7s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/manage7s.png -------------------------------------------------------------------------------- /MobileCydia.app/manage7s@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/manage7s@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/manage7s@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/manage7s@3x.png -------------------------------------------------------------------------------- /MobileCydia.app/manage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/manage@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/nl.lproj/Sections.strings: -------------------------------------------------------------------------------- 1 | "Addons" = "Toevoegingen"; 2 | "Administration" = "Administratie"; 3 | "Archiving" = "Archiveren"; 4 | "Carrier Bundles" = "Netwerkbundels"; 5 | "Data Storage" = "Dataopslag"; 6 | "Development" = "Ontwikkeling"; 7 | "Dictionaries" = "Woordenboeken"; 8 | "Education" = "Onderwijs"; 9 | "Entertainment" = "Entertainment"; 10 | "Fonts" = "Lettertypen"; 11 | "Games" = "Games"; 12 | "Java" = "Java"; 13 | "Keyboards" = "Toetsenborden"; 14 | "Localization" = "Lokalisatie"; 15 | "Messaging" = "Berichten"; 16 | "Multimedia" = "Multimedia"; 17 | "Navigation" = "Navigatie"; 18 | "Networking" = "Netwerken"; 19 | "Packaging" = "Pakketten"; 20 | "Productivity" = "Productiviteit"; 21 | "Repositories" = "Repositories"; 22 | "Ringtones" = "Beltonen"; 23 | "Scripting" = "Scripts"; 24 | "Security" = "Beveiliging"; 25 | "Site-Specific Apps" = "Site-specifieke apps"; 26 | "Social" = "Sociaal"; 27 | "Soundboards" = "Geluidsborden"; 28 | "System" = "Systeem"; 29 | "Terminal Support" = "Terminal-ondersteuning"; 30 | "Text Editors" = "Teksteditors"; 31 | "Toys" = "Speelgoed"; 32 | "Tweaks" = "Tweaks"; 33 | "Utilities" = "Hulpprogramma's"; 34 | "Wallpaper" = "Achtergronden"; 35 | "Widgets" = "Widgets"; 36 | -------------------------------------------------------------------------------- /MobileCydia.app/pl.lproj/Sections.strings: -------------------------------------------------------------------------------- 1 | "Addons" = "Dodatki"; 2 | "Administration" = "Administracja"; 3 | "Archiving" = "Archiwizacja"; 4 | "Carrier Bundles" = "Pakiety operatorów"; 5 | "Data Storage" = "Przechowywanie danych"; 6 | "Development" = "Programowanie"; 7 | "Dictionaries" = "Słowniki"; 8 | "Education" = "Edukacja"; 9 | "Entertainment" = "Rozrywka"; 10 | "Fonts" = "Czcionka"; 11 | "Games" = "Gry"; 12 | "Java" = "Java"; 13 | "Keyboards" = "Klawiatury"; 14 | "Localization" = "Lokalizacja"; 15 | "Messaging" = "Wiadomości"; 16 | "Multimedia" = "Multimedia"; 17 | "Navigation" = "Nawigacja"; 18 | "Networking" = "Obsługa sieci"; 19 | "Packaging" = "Tworzenie pakietów"; 20 | "Productivity" = "Produktywność"; 21 | "Repositories" = "Repozytoria"; 22 | "Ringtones" = "Dzwonki"; 23 | "Scripting" = "Skrypty"; 24 | "Security" = "Bezpieczeństwo"; 25 | "Site-Specific Apps" = "Aplikacje dla konkretnych witryn"; 26 | "Social" = "Społecznościowe"; 27 | "Soundboards" = "Aplikacje dźwiękowe"; 28 | "System" = "System"; 29 | "Terminal Support" = "Obsługa Terminala"; 30 | "Text Editors" = "Edytory tekstu"; 31 | "Themes" = "Motywy"; 32 | "Toys" = "Zabawki"; 33 | "Tweaks" = "Ulepszenia"; 34 | "Utilities" = "Narzędzia"; 35 | "Wallpaper" = "Tapety"; 36 | "Widgets" = "Widgety"; 37 | -------------------------------------------------------------------------------- /MobileCydia.app/pt-PT.lproj/Sections.strings: -------------------------------------------------------------------------------- 1 | "Addons" = "Suplementos"; 2 | "Administration" = "Administração"; 3 | "Archiving" = "Compressão"; 4 | "Carrier Bundles" = "Pacotes de Operadoras"; 5 | "Data Storage" = "Armazenamento de Dados"; 6 | "Development" = "Programação"; 7 | "Dictionaries" = "Dicionários"; 8 | "Education" = "Educação"; 9 | "Entertainment" = "Entretenimento"; 10 | "Fonts" = "Tipos de Letra"; 11 | "Games" = "Jogos"; 12 | "Java" = "Java"; 13 | "Keyboards" = "Teclados"; 14 | "Localization" = "Localização"; 15 | "Messaging" = "Mensagens"; 16 | "Multimedia" = "Multimédia"; 17 | "Navigation" = "Navegação"; 18 | "Networking" = "Redes"; 19 | "Packaging" = "Pacotes"; 20 | "Productivity" = "Produtividade"; 21 | "Repositories" = "Repositórios"; 22 | "Ringtones" = "Toques"; 23 | "Scripting" = "Scripts"; 24 | "Security" = "Segurança"; 25 | "Site-Specific Apps" = "Aplicações Específicas de Sites"; 26 | "Social" = "Redes Sociais"; 27 | "Soundboards" = "Caixas de Ressonância"; 28 | "System" = "Sistema"; 29 | "Terminal Support" = "Suporte do Terminal"; 30 | "Text Editors" = "Editores de Texto"; 31 | "Themes" = "Temas"; 32 | "Toys" = "Brinquedos"; 33 | "Tweaks" = "Modificações"; 34 | "Utilities" = "Utilitários"; 35 | "Wallpaper" = "Fundos"; 36 | "Widgets" = "Widgets"; 37 | -------------------------------------------------------------------------------- /MobileCydia.app/pt.lproj/Sections.strings: -------------------------------------------------------------------------------- 1 | "Addons" = "Complementos"; 2 | "Administration" = "Administração"; 3 | "Archiving" = "Arquivamento"; 4 | "Carrier Bundles" = "Operadoras"; 5 | "Data Storage" = "Armazenamento de dados"; 6 | "Development" = "Desenvolvimento"; 7 | "Dictionaries" = "Dicionários"; 8 | "Education" = "Educação"; 9 | "Entertainment" = "Diversão"; 10 | "Fonts" = "Fontes"; 11 | "Games" = "Jogos"; 12 | "Java" = "Java"; 13 | "Keyboards" = "Teclados"; 14 | "Localization" = "Localização"; 15 | "Messaging" = "Mensagens"; 16 | "Multimedia" = "Multimídia"; 17 | "Navigation" = "Navegação"; 18 | "Networking" = "Redes"; 19 | "Packaging" = "Packaging"; 20 | "Productivity" = "Produtividade"; 21 | "Repositories" = "Fontes"; 22 | "Ringtones" = "Toques"; 23 | "Scripting" = "Scripts"; 24 | "Security" = "Segurança"; 25 | "Site-Specific Apps" = "Aplicativos específicos de sites"; 26 | "Social" = "Mídia social"; 27 | "Soundboards" = "Soundboards"; 28 | "System" = "Sistema"; 29 | "Terminal Support" = "Terminal de ajuda"; 30 | "Text Editors" = "Editores de texto"; 31 | "Themes" = "Temas"; 32 | "Toys" = "Brinquedos"; 33 | "Tweaks" = "Modificações"; 34 | "Utilities" = "Utilitários"; 35 | "Wallpaper" = "Papéis de parede"; 36 | "Widgets" = "Widgets"; 37 | -------------------------------------------------------------------------------- /MobileCydia.app/reload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/reload.png -------------------------------------------------------------------------------- /MobileCydia.app/removing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/removing.png -------------------------------------------------------------------------------- /MobileCydia.app/removing@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/removing@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/ru.lproj/Sections.strings: -------------------------------------------------------------------------------- 1 | "Addons" = "Надстройки"; 2 | "Administration" = "Администрирование"; 3 | "Archiving" = "Архивация"; 4 | "Carrier Bundles" = "Пакеты операторов связи"; 5 | "Data Storage" = "Хранение данных"; 6 | "Development" = "Разработка ПО"; 7 | "Dictionaries" = "Словари"; 8 | "Education" = "Образование"; 9 | "Entertainment" = "Развлечения"; 10 | "Fonts" = "Шрифты"; 11 | "Games" = "Игры"; 12 | "Java" = "Java"; 13 | "Keyboards" = "Клавиатуры"; 14 | "Localization" = "Локализация"; 15 | "Messaging" = "Обмен сообщениями"; 16 | "Multimedia" = "Мультимедиа"; 17 | "Navigation" = "Навигация"; 18 | "Networking" = "Компьютерные сети"; 19 | "Packaging" = "Программные пакеты"; 20 | "Productivity" = "Производительность"; 21 | "Repositories" = "Хранилища"; 22 | "Ringtones" = "Мелодии звонка"; 23 | "Scripting" = "Сценарии"; 24 | "Security" = "Безопасность"; 25 | "Site-Specific Apps" = "Приложения для сайтов"; 26 | "Social" = "Социальные сети"; 27 | "Soundboards" = "Звуковые панели"; 28 | "System" = "Система"; 29 | "Terminal Support" = "Поддержка терминала"; 30 | "Text Editors" = "Текстовые редакторы"; 31 | "Themes" = "Темы"; 32 | "Toys" = "Игрушки"; 33 | "Tweaks" = "Твики"; 34 | "Utilities" = "Утилиты"; 35 | "Wallpaper" = "Обои"; 36 | "Widgets" = "Виджеты"; 37 | -------------------------------------------------------------------------------- /MobileCydia.app/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/search.png -------------------------------------------------------------------------------- /MobileCydia.app/search7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/search7.png -------------------------------------------------------------------------------- /MobileCydia.app/search7@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/search7@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/search7@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/search7@3x.png -------------------------------------------------------------------------------- /MobileCydia.app/search7s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/search7s.png -------------------------------------------------------------------------------- /MobileCydia.app/search7s@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/search7s@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/search7s@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/search7s@3x.png -------------------------------------------------------------------------------- /MobileCydia.app/search@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/search@2x.png -------------------------------------------------------------------------------- /MobileCydia.app/sv.lproj/Sections.strings: -------------------------------------------------------------------------------- 1 | "Addons" = "Insticksprogram"; 2 | "Administration" = "Administration"; 3 | "Archiving" = "Arkivering"; 4 | "Carrier Bundles" = "Mobiloperatörssamlingar"; 5 | "Data Storage" = "Datalagring"; 6 | "Development" = "Utveckling"; 7 | "Dictionaries" = "Ordböcker"; 8 | "Education" = "Utbildning"; 9 | "Entertainment" = "Underhållning"; 10 | "Fonts" = "Teckensnitt"; 11 | "Games" = "Spel"; 12 | "Java" = "Java"; 13 | "Keyboards" = "Tangentbord"; 14 | "Localization" = "Lokalisering"; 15 | "Messaging" = "Meddelanden"; 16 | "Multimedia" = "Multimedia"; 17 | "Navigation" = "Navigering"; 18 | "Networking" = "Nätverk"; 19 | "Packaging" = "Paketering"; 20 | "Productivity" = "Produktivitet"; 21 | "Repositories" = "Källor"; 22 | "Ringtones" = "Ringtoner"; 23 | "Scripting" = "Skriptning"; 24 | "Security" = "Säkerhet"; 25 | "Site-Specific Apps" = "Platsspecifika appar"; 26 | "Social" = "Socialt"; 27 | "Soundboards" = "Soundboard"; 28 | "System" = "System"; 29 | "Terminal Support" = "Terminalstöd"; 30 | "Text Editors" = "Textredigerare"; 31 | "Themes" = "Teman"; 32 | "Toys" = "Leksaker"; 33 | "Tweaks" = "Anpassningar"; 34 | "Utilities" = "Tillbehör"; 35 | "Wallpaper" = "Bakgrundbilder"; 36 | "Widgets" = "Widgets"; 37 | -------------------------------------------------------------------------------- /MobileCydia.app/th.lproj/Sections.strings: -------------------------------------------------------------------------------- 1 | "Addons" = "Addons"; 2 | "Administration" = "การดูแลระบบ"; 3 | "Archiving" = "การเก็บถาวร"; 4 | "Carrier Bundles" = "ชุดผู้ให้บริการ"; 5 | "Data Storage" = "หน่วยจัดเก็บข้อมูล"; 6 | "Development" = "การพัฒนา"; 7 | "Dictionaries" = "พจนานุกรม"; 8 | "Education" = "การศึกษา"; 9 | "Entertainment" = "ความบันเทิง"; 10 | "Fonts" = "แบบอักษร"; 11 | "Games" = "เกมส์"; 12 | "Java" = "จาวา"; 13 | "Keyboards" = "แป้นพิมพ์"; 14 | "Localization" = "การแปลเป็นภาษาท้องถิ่น"; 15 | "Messaging" = "การส่งข้อความ"; 16 | "Multimedia" = "มัลติมีเดีย"; 17 | "Navigation" = "การนำทาง"; 18 | "Networking" = "การเข้าสังคม"; 19 | "Packaging" = "บรรจุภัณฑ์"; 20 | "Productivity" = "ผลผลิต"; 21 | "Repositories" = "ที่เก็บ"; 22 | "Ringtones" = "ริงโทน"; 23 | "Scripting" = "การเขียนสคริปต์"; 24 | "Security" = "ความปลอดภัย"; 25 | "Site-Specific Apps" = "แอพเฉพาะไซต์"; 26 | "Social" = "เครือข่ายสังคม"; 27 | "Soundboards" = "แผ่นเสียง"; 28 | "System" = "ระบบ"; 29 | "Terminal Support" = "การสนับสนุนเทอร์มินัล"; 30 | "Text Editors" = "ตัวแก้ไขข้อความ"; 31 | "Themes" = "ธีม"; 32 | "Toys" = "ของเล่น"; 33 | "Tweaks" = "เค้าโครง"; 34 | "Utilities" = "ยูทิลิตี้"; 35 | "Wallpaper" = "วอลล์เปเปอร์"; 36 | "Widgets" = "วิดเจ็ต"; 37 | -------------------------------------------------------------------------------- /MobileCydia.app/tr.lproj/Sections.strings: -------------------------------------------------------------------------------- 1 | "Addons" = "Eklentiler"; 2 | "Administration" = "Yönetim"; 3 | "Archiving" = "Arşivleme"; 4 | "Carrier Bundles" = "Operatör Paketleri"; 5 | "Data Storage" = "Veri Depolama"; 6 | "Development" = "Geliştirme"; 7 | "Dictionaries" = "Sözlükler"; 8 | "Education" = "Eğitim"; 9 | "Entertainment" = "Eğlence"; 10 | "Fonts" = "Yazı Tipleri"; 11 | "Games" = "Oyunlar"; 12 | "Java" = "Java"; 13 | "Keyboards" = "Klavyeler"; 14 | "Localization" = "Yerelleştirme"; 15 | "Messaging" = "Mesajlaşma"; 16 | "Multimedia" = "Multimedya"; 17 | "Navigation" = "Dolaşma"; 18 | "Networking" = "Ağlar"; 19 | "Packaging" = "Paketleme"; 20 | "Productivity" = "Üretkenlik"; 21 | "Repositories" = "Depolar"; 22 | "Ringtones" = "Zil Sesleri"; 23 | "Scripting" = "Betik Yazımı"; 24 | "Security" = "Güvenlik"; 25 | "Site-Specific Apps" = "Sitelere Özgü Uygulamalar"; 26 | "Social" = "Sosyal"; 27 | "Soundboards" = "Soundboardlar"; 28 | "System" = "Sistem"; 29 | "Terminal Support" = "Terminal Desteği"; 30 | "Text Editors" = "Metin Düzenleyiciler"; 31 | "Themes" = "Temalar"; 32 | "Toys" = "Oyuncaklar"; 33 | "Tweaks" = "İnce Ayarlar"; 34 | "Utilities" = "İzlenceler"; 35 | "Wallpaper" = "Duvar Kağıdı"; 36 | "Widgets" = "Araç Takımları"; 37 | -------------------------------------------------------------------------------- /MobileCydia.app/unknown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/MobileCydia.app/unknown.png -------------------------------------------------------------------------------- /MobileCydia.app/vi.lproj/Sections.strings: -------------------------------------------------------------------------------- 1 | "Addons" = "Tiện ích bổ sung"; 2 | "Administration" = "Quản trị"; 3 | "Archiving" = "Lưu trữ"; 4 | "Carrier Bundles" = "Các Gói của Nhà Mạng"; 5 | "Data Storage" = "Lưu Trữ Dữ Liệu"; 6 | "Development" = "Phát triển"; 7 | "Dictionaries" = "Từ điển"; 8 | "Education" = "Giáo dục"; 9 | "Entertainment" = "Giải trí"; 10 | "Fonts" = "Phông chữ"; 11 | "Games" = "Trò chơi"; 12 | "Java" = "Java"; 13 | "Keyboards" = "Bàn phím"; 14 | "Localization" = "Bản địa hóa"; 15 | "Messaging" = "Nhắn tin"; 16 | "Multimedia" = "Đa phương tiện"; 17 | "Navigation" = "Điều hướng"; 18 | "Networking" = "Nối mạng"; 19 | "Packaging" = "Đóng gói"; 20 | "Productivity" = "Năng suất"; 21 | "Repositories" = "Kho"; 22 | "Ringtones" = "Nhạc chuông"; 23 | "Scripting" = "Mã script"; 24 | "Security" = "Bảo mật"; 25 | "Site-Specific Apps" = "Các Ứng Dụng dành riêng cho Trang"; 26 | "Social" = "Xã hội"; 27 | "Soundboards" = "Bàn phím đàn"; 28 | "System" = "Hệ thống"; 29 | "Terminal Support" = "Hỗ Trợ Đầu Cuối"; 30 | "Text Editors" = "Các Trình Biên Tập Văn Bản"; 31 | "Themes" = "Chủ Đề"; 32 | "Toys" = "Đồ chơi"; 33 | "Tweaks" = "Tinh chỉnh"; 34 | "Utilities" = "Tiện ích"; 35 | "Wallpaper" = "Hình nền"; 36 | "Widgets" = "Các ứng dụng con"; 37 | -------------------------------------------------------------------------------- /MobileCydia.app/zh-Hans.lproj/Sections.strings: -------------------------------------------------------------------------------- 1 | "Addons" = "附加组件"; 2 | "Administration" = "管理"; 3 | "Archiving" = "存档"; 4 | "Carrier Bundles" = "运营商捆绑"; 5 | "Data Storage" = "数据存储"; 6 | "Development" = "开发"; 7 | "Dictionaries" = "字典"; 8 | "Education" = "教育"; 9 | "Entertainment" = "娱乐"; 10 | "Fonts" = "字体"; 11 | "Games" = "游戏"; 12 | "Java" = "Java"; 13 | "Keyboards" = "键盘"; 14 | "Localization" = "本地化"; 15 | "Messaging" = "消息"; 16 | "Multimedia" = "多媒体"; 17 | "Navigation" = "导航"; 18 | "Networking" = "网络"; 19 | "Packaging" = "软件包"; 20 | "Productivity" = "工作效率"; 21 | "Repositories" = "软件源"; 22 | "Ringtones" = "铃声"; 23 | "Scripting" = "脚本"; 24 | "Security" = "安全"; 25 | "Site-Specific Apps" = "站点特定应用"; 26 | "Social" = "社交"; 27 | "Soundboards" = "声卡"; 28 | "System" = "系统"; 29 | "Terminal Support" = "终端支持"; 30 | "Text Editors" = "文本编辑器"; 31 | "Themes" = "主题"; 32 | "Toys" = "玩具"; 33 | "Tweaks" = "插件"; 34 | "Utilities" = "实用工具"; 35 | "Wallpaper" = "壁纸"; 36 | "Widgets" = "小部件"; 37 | -------------------------------------------------------------------------------- /MobileCydia.app/zh-Hant.lproj/Sections.strings: -------------------------------------------------------------------------------- 1 | "Addons" = "附加元件"; 2 | "Administration" = "管理"; 3 | "Archiving" = "封存"; 4 | "Carrier Bundles" = "電信業者套件"; 5 | "Data Storage" = "資料儲存"; 6 | "Development" = "開發"; 7 | "Dictionaries" = "字典"; 8 | "Education" = "教育"; 9 | "Entertainment" = "娛樂"; 10 | "Fonts" = "字體"; 11 | "Games" = "遊戲"; 12 | "Java" = "Java"; 13 | "Keyboards" = "鍵盤"; 14 | "Localization" = "中文化"; 15 | "Messaging" = "傳訊"; 16 | "Multimedia" = "多媒體"; 17 | "Navigation" = "導覽"; 18 | "Networking" = "網路"; 19 | "Packaging" = "打包"; 20 | "Productivity" = "生產力"; 21 | "Repositories" = "資源庫"; 22 | "Ringtones" = "鈴聲"; 23 | "Scripting" = "工序指令"; 24 | "Security" = "安全性"; 25 | "Site-Specific Apps" = "特定網站的應用程式"; 26 | "Social" = "社交網站"; 27 | "Soundboards" = "播放程式"; 28 | "System" = "系統"; 29 | "Terminal Support" = "終端機支援"; 30 | "Text Editors" = "文字編輯程式"; 31 | "Themes" = "主題"; 32 | "Toys" = "玩具"; 33 | "Tweaks" = "調校"; 34 | "Utilities" = "工具程式"; 35 | "Wallpaper" = "桌面背景"; 36 | "Widgets" = "Widget"; 37 | -------------------------------------------------------------------------------- /Sources.h: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2013 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef Sources_H 23 | #define Sources_H 24 | 25 | #include 26 | 27 | void CydiaWriteSources(); 28 | void CydiaAddSource(NSDictionary *source); 29 | void CydiaAddSource(NSString *href, NSString *distribution, NSArray *sections = nil); 30 | 31 | #define SOURCES_LIST "/var/mobile/Library/Caches/com.saurik.Cydia/sources.list" 32 | 33 | #endif//Sources_H 34 | -------------------------------------------------------------------------------- /Sources.list/cydia.list: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/Sources.list/cydia.list -------------------------------------------------------------------------------- /Sources.list/saurik.list: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT | This is the story of a time long ago, A time of myth and legend, when the Earth was still young. 2 | # The ancient gods were petty and cruel, and they plagued mankind with suffering and beseiged them with terrors. 3 | -------------------------------------------------------------------------------- /Sources.mm: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2013 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #include "CyteKit/UCPlatform.h" 23 | 24 | #include 25 | #include 26 | 27 | #include 28 | 29 | #include "Sources.h" 30 | 31 | extern _H Sources_; 32 | 33 | void CydiaWriteSources() { 34 | unlink(SOURCES_LIST); 35 | FILE *file(fopen(SOURCES_LIST, "w")); 36 | _assert(file != NULL); 37 | 38 | fprintf(file, "deb http://apt.saurik.com/ ios/%.2f main\n", kCFCoreFoundationVersionNumber); 39 | 40 | for (NSString *key in [Sources_ allKeys]) { 41 | if ([key hasPrefix:@"deb:http:"] && [Sources_ objectForKey:[NSString stringWithFormat:@"deb:https:%s", [key UTF8String] + 9]]) 42 | continue; 43 | 44 | NSDictionary *source([Sources_ objectForKey:key]); 45 | 46 | NSArray *sections([source objectForKey:@"Sections"] ?: [NSArray array]); 47 | 48 | fprintf(file, "%s %s %s%s%s\n", 49 | [[source objectForKey:@"Type"] UTF8String], 50 | [[source objectForKey:@"URI"] UTF8String], 51 | [[source objectForKey:@"Distribution"] UTF8String], 52 | [sections count] == 0 ? "" : " ", 53 | [[sections componentsJoinedByString:@" "] UTF8String] 54 | ); 55 | } 56 | 57 | fclose(file); 58 | } 59 | 60 | void CydiaAddSource(NSDictionary *source) { 61 | [Sources_ setObject:source forKey:[NSString stringWithFormat:@"%@:%@:%@", [source objectForKey:@"Type"], [source objectForKey:@"URI"], [source objectForKey:@"Distribution"]]]; 62 | } 63 | 64 | void CydiaAddSource(NSString *href, NSString *distribution, NSArray *sections) { 65 | if (href == nil || distribution == nil) 66 | return; 67 | 68 | CydiaAddSource([NSMutableDictionary dictionaryWithObjectsAndKeys: 69 | @"deb", @"Type", 70 | href, @"URI", 71 | distribution, @"Distribution", 72 | sections ?: [NSMutableArray array], @"Sections", 73 | nil]); 74 | } 75 | -------------------------------------------------------------------------------- /Substrate.hpp: -------------------------------------------------------------------------------- 1 | /* Cydia - iPhone UIKit Front-End for Debian APT 2 | * Copyright (C) 2008-2013 Jay Freeman (saurik) 3 | */ 4 | 5 | /* GNU General Public License, Version 3 {{{ */ 6 | /* 7 | * Cydia is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation, either version 3 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Cydia is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Cydia. If not, see . 19 | **/ 20 | /* }}} */ 21 | 22 | #ifndef Substrate_HPP 23 | #define Substrate_HPP 24 | 25 | #include 26 | 27 | template 28 | static inline Type_ &MSHookIvar(id self, const char *name) { 29 | Ivar ivar(class_getInstanceVariable(object_getClass(self), name)); 30 | void *pointer(ivar == NULL ? NULL : reinterpret_cast(self) + ivar_getOffset(ivar)); 31 | return *reinterpret_cast(pointer); 32 | } 33 | 34 | #define MSClassHook(name) \ 35 | @class name; \ 36 | static Class $ ## name = objc_getClass(#name); 37 | 38 | #define MSHook(type, name, args...) \ 39 | static type (*_ ## name)(args); \ 40 | static type $ ## name(args) 41 | 42 | #define CYHook(Type, Code, Name) \ 43 | static struct Type ## $ ## Code { Type ## $ ## Code() { \ 44 | Method Type ## $ ## Code(class_getInstanceMethod($ ## Type, @selector(Name))); \ 45 | if (Type ## $ ## Code != NULL) { \ 46 | _ ## Type ## $ ## Code = reinterpret_cast(method_getImplementation(Type ## $ ## Code)); \ 47 | method_setImplementation(Type ## $ ## Code, reinterpret_cast(&$ ## Type ## $ ## Code)); \ 48 | } \ 49 | } } Type ## $ ## Code; 50 | 51 | #endif//Substrate_HPP 52 | -------------------------------------------------------------------------------- /Trusted.gpg/bigboss.gpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/Trusted.gpg/bigboss.gpg -------------------------------------------------------------------------------- /Trusted.gpg/modmyi.gpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/Trusted.gpg/modmyi.gpg -------------------------------------------------------------------------------- /Trusted.gpg/saurik.gpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/Trusted.gpg/saurik.gpg -------------------------------------------------------------------------------- /Trusted.gpg/zodttd.gpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidnightTeam/Cydia/71a828d008d6b1486f360a1f4f36efd881c9e046/Trusted.gpg/zodttd.gpg -------------------------------------------------------------------------------- /Version.mm: -------------------------------------------------------------------------------- 1 | #include 2 | #include "Version.h" 3 | NSString *Cydia_ = @ CYDIA_VERSION; 4 | -------------------------------------------------------------------------------- /apt-contrib/apt-pkg: -------------------------------------------------------------------------------- 1 | ../apt/apt-pkg/contrib -------------------------------------------------------------------------------- /apt-deb/apt-pkg: -------------------------------------------------------------------------------- 1 | ../apt/apt-pkg/deb -------------------------------------------------------------------------------- /apt-extra/apti18n.h: -------------------------------------------------------------------------------- 1 | #define setlocale(a, b) 2 | #define textdomain(a) 3 | #define bindtextdomain(a, b) 4 | #define _(x) x 5 | #define P_(msg,plural,n) (n == 1 ? msg : plural) 6 | #define N_(x) x 7 | #define dgettext(d, m) m 8 | -------------------------------------------------------------------------------- /apt-extra/config.h: -------------------------------------------------------------------------------- 1 | #undef WORDS_BIGENDIAN 2 | 3 | #define HAVE_TIMEGM 4 | 5 | //#cmakedefine HAVE_ZLIB 6 | //#cmakedefine HAVE_BZ2 7 | //#cmakedefine HAVE_LZMA 8 | //#cmakedefine HAVE_LZ4 9 | 10 | /* These two are used by the statvfs shim for glibc2.0 and bsd */ 11 | /* Define if we have sys/vfs.h */ 12 | //#cmakedefine HAVE_VFS_H 13 | //#cmakedefine HAVE_STRUCT_STATFS_F_TYPE 14 | 15 | #undef HAVE_MOUNT_H 16 | 17 | #undef HAVE_SYS_ENDIAN_H 18 | #define HAVE_MACHINE_ENDIAN_H 19 | 20 | #define HAVE_PTHREAD 21 | 22 | #undef HAVE_GETRESUID 23 | #undef HAVE_GETRESGID 24 | #undef HAVE_SETRESUID 25 | #undef HAVE_SETRESGID 26 | 27 | #undef HAVE_PTSNAME_R 28 | 29 | #define COMMON_ARCH "iphoneos-arm" 30 | #define PACKAGE "cydia" // XXX 31 | #define PACKAGE_VERSION "${PACKAGE_VERSION}" // XXX 32 | #define PACKAGE_MAIL "saurik@saurik.com" 33 | 34 | #define CMAKE_INSTALL_FULL_BINDIR "/usr/bin" 35 | #define STATE_DIR "/var/lib/apt" 36 | #define CACHE_DIR "/var/cache/apt" 37 | #define LOG_DIR "/var/log/apt" 38 | #define CONF_DIR "/etc/apt" 39 | #define LIBEXEC_DIR "/usr/lib/apt" 40 | #define BIN_DIR "/usr/bin" 41 | 42 | #define ROOT_GROUP "wheel" 43 | 44 | #define APT_8_CLEANER_HEADERS 45 | #define APT_9_CLEANER_HEADERS 46 | #define APT_10_CLEANER_HEADERS 47 | 48 | #define SHA2_UNROLL_TRANSFORM 49 | -------------------------------------------------------------------------------- /apt-extra/endian.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /apt-tag/apt-pkg/tagfile-keys.h: -------------------------------------------------------------------------------- 1 | #ifndef TRIE_HASH_pkgTagHash 2 | #define TRIE_HASH_pkgTagHash 3 | #include 4 | #include 5 | #include 6 | enum class pkgTagSection::Key { 7 | Architecture = 0, 8 | Binary = 1, 9 | Breaks = 2, 10 | Bugs = 3, 11 | Build_Conflicts = 4, 12 | Build_Conflicts_Arch = 5, 13 | Build_Conflicts_Indep = 6, 14 | Build_Depends = 7, 15 | Build_Depends_Arch = 8, 16 | Build_Depends_Indep = 9, 17 | Built_For_Profiles = 10, 18 | Built_Using = 11, 19 | Checksums_Md5 = 12, 20 | Checksums_Sha1 = 13, 21 | Checksums_Sha256 = 14, 22 | Checksums_Sha512 = 15, 23 | Class = 16, 24 | Conffiles = 17, 25 | Config_Version = 18, 26 | Conflicts = 19, 27 | Depends = 20, 28 | Description = 21, 29 | Description_md5 = 22, 30 | Directory = 23, 31 | Dm_Upload_Allowed = 24, 32 | Enhances = 25, 33 | Essential = 26, 34 | Files = 28, 35 | Filename = 27, 36 | Format = 29, 37 | Homepage = 30, 38 | Important = 31, 39 | Installed_Size = 32, 40 | Installer_Menu_Item = 33, 41 | Kernel_Version = 34, 42 | MD5sum = 36, 43 | MSDOS_Filename = 37, 44 | Maintainer = 35, 45 | Multi_Arch = 38, 46 | Optional = 39, 47 | Origin = 40, 48 | Original_Maintainer = 41, 49 | Package = 42, 50 | Package_List = 43, 51 | Package_Revision = 45, 52 | Package_Type = 46, 53 | Package__Revision = 44, 54 | Pre_Depends = 47, 55 | Priority = 48, 56 | Provides = 49, 57 | Recommended = 50, 58 | Recommends = 51, 59 | Replaces = 52, 60 | Revision = 53, 61 | SHA1 = 55, 62 | SHA256 = 56, 63 | SHA512 = 57, 64 | Section = 54, 65 | Size = 58, 66 | Source = 59, 67 | Standards_Version = 60, 68 | Status = 61, 69 | Subarchitecture = 62, 70 | Suggests = 63, 71 | Tag = 64, 72 | Task = 65, 73 | Testsuite = 66, 74 | Testsuite_Triggers = 67, 75 | Triggers_Awaited = 68, 76 | Triggers_Pending = 69, 77 | Uploaders = 70, 78 | Vcs_Bzr = 74, 79 | Vcs_Cvs = 75, 80 | Vcs_Git = 77, 81 | Vcs_Hg = 78, 82 | Vcs_Mtn = 79, 83 | Vcs_Svn = 80, 84 | Vcs_Arch = 71, 85 | Vcs_Browse = 72, 86 | Vcs_Browser = 73, 87 | Vcs_Darcs = 76, 88 | Version = 81, 89 | Unknown = -1, 90 | }; 91 | enum pkgTagSection::Key pkgTagHash(const char *string, size_t length); 92 | #endif /* TRIE_HASH_pkgTagHash */ 93 | -------------------------------------------------------------------------------- /apt.h: -------------------------------------------------------------------------------- 1 | #ifndef APT_H 2 | #define APT_H 3 | 4 | #include 5 | 6 | template 7 | Type_ *memrchr(Type_ *data, int value, int size) { 8 | for (int i = 0; i != size; ++i) 9 | if (data[size - i - 1] == value) 10 | return data + size - i - 1; 11 | return 0; 12 | } 13 | 14 | template 15 | static Type_ *strchrnul(Type_ *s, int c) { 16 | while (*s != c && *s != '\0') 17 | ++s; 18 | return s; 19 | } 20 | 21 | #define faccessat(arg0, arg1, arg2, arg3) \ 22 | access(arg1, arg2) 23 | 24 | #if 0 25 | #include 26 | static unsigned nonce(0); 27 | #define _trace() syslog(LOG_ERR, "_trace():%s[%u] #%u\n", __FILE__, __LINE__, ++nonce) 28 | #endif 29 | 30 | #endif//APT_H 31 | -------------------------------------------------------------------------------- /cfversion.mm: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | int main() { 5 | printf("%.2f\n", kCFCoreFoundationVersionNumber); 6 | return 0; 7 | } 8 | -------------------------------------------------------------------------------- /compiling.txt: -------------------------------------------------------------------------------- 1 | 0) use a Mac (I'm sorry, I really am) 2 | 1) install the official Apple iOS SDK 3 | 2) install Fink (the only sane choice) 4 | 3) activate Fink (. /sw/bin/init.sh) 5 | 4) sudo fink install bash ldid sed tar wget xz 6 | 5) run ./sysroot.sh and wait a bit 7 | 6) type "make" to compile the executable 8 | -------------------------------------------------------------------------------- /control.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | src=$1 3 | dir=$2 4 | dir=${dir:=_} 5 | sed -e "s@^\(Version:\).*@\1 $(./version.sh)@" "${src}" 6 | echo "Installed-Size: $(du -s "${dir}" | cut -f 1)" 7 | -------------------------------------------------------------------------------- /cydia-lproj.control: -------------------------------------------------------------------------------- 1 | Package: cydia-lproj 2 | Priority: required 3 | Section: Packaging 4 | Maintainer: Jay Freeman (saurik) 5 | Architecture: iphoneos-arm 6 | Version: 7 | Conflicts: org.thebigboss.russiancydia 8 | Provides: org.thebigboss.russiancydia 9 | Replaces: cydia, org.thebigboss.russiancydia 10 | Depends: cydia 11 | Description: languages and translations for Cydia 12 | Name: Cydia Translations 13 | Author: Jay Freeman (saurik) 14 | Depiction: http://cydia.saurik.com/info/cydia-lproj/ 15 | Tag: purpose::uikit, cydia::essential, role::enduser 16 | -------------------------------------------------------------------------------- /cydia.control: -------------------------------------------------------------------------------- 1 | Package: cydia 2 | Priority: required 3 | Section: Packaging 4 | Maintainer: Jay Freeman (saurik) 5 | Architecture: iphoneos-arm 6 | Version: 7 | Replaces: bigboss, bigbossbetarepo, com.sosiphone.addcydia, cydia-sources, ispazio.net, modmyifone, saurik, ste, yellowsn0w.com, zodttd 8 | Depends: apt7-lib, apt7-key, cydia-lproj (>= 1.1.10), darwintools, debianutils, dpkg (>= 1.18), org.thebigboss.repo.icons, sed, shell-cmds, system-cmds, uikittools (>= 1.1.4) 9 | Conflicts: bigboss, bigbossbetarepo, com.sosiphone.addcydia, cydia-sources, ispazio.net, modmyifone, ste, yellowsn0w.com, zodttd 10 | Pre-Depends: debianutils, dpkg (>= 1.14.25-8) 11 | Provides: bigbossbetarepo, cydia-sources 12 | Description: graphical iPhone front-end for APT 13 | Name: Cydia Installer 14 | Author: Jay Freeman (saurik) 15 | Depiction: http://cydia.saurik.com/info/cydia/ 16 | Icon: file:///Applications/Cydia.app/Icon-60.png 17 | Tag: purpose::uikit, cydia::essential, role::enduser 18 | -------------------------------------------------------------------------------- /entitlements.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | com.apple.coreaudio.allow-amr-decode 5 | 6 | 7 | com.apple.coremedia.allow-protected-content-playback 8 | 9 | 10 | com.apple.managedconfiguration.profiled-access 11 | 12 | 13 | com.apple.springboard.opensensitiveurl 14 | 15 | 16 | dynamic-codesigning 17 | 18 | 19 | com.apple.springboard.launchapplications 20 | 21 | 22 | keychain-access-groups 23 | 24 | com.apple.cfnetwork 25 | com.apple.identities 26 | com.apple.mobilesafari 27 | 28 | 29 | platform-application 30 | 31 | 32 | com.apple.CommCenter.fine-grained 33 | 34 | spi 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /make.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | DEVELOPER_DIR=/Applications/Xcode-5.1.1.app make "$@" 3 | -------------------------------------------------------------------------------- /pngcrush.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | png=$1 4 | out=$2 5 | 6 | steps=() 7 | 8 | src=${out}.src.png 9 | dst=${out}.dst.png 10 | 11 | copy=("${src}" "${dst}") 12 | 13 | function step() { 14 | "$@" 15 | mv -f "${dst}" "${src}" 16 | steps+=($(stat -f "%z" "${src}")) 17 | } 18 | 19 | pngcrush=$(xcode-select --print-path)/Platforms/iPhoneOS.platform/Developer/usr/bin/pngcrush 20 | 21 | if grep CgBI "${png}" &>/dev/null; then 22 | if [[ ${png} != ${out} ]]; then 23 | cp -a "${png}" "${out}" 24 | fi 25 | 26 | exit 0 27 | fi 28 | 29 | step cp -fa "${png}" "${dst}" 30 | 31 | #step "${pngcrush}" -q -rem alla -reduce -brute -iphone "${copy[@]}" 32 | 33 | #step "${pngcrush}" -q -rem alla -reduce -brute "${copy[@]}" 34 | #step pincrush "${copy[@]}" 35 | 36 | step "${pngcrush}" -q -rem alla -reduce -iphone "${copy[@]}" 37 | 38 | #"${pngcrush}" -q -rem alla -reduce -brute -iphone "${png}" 1.png 39 | #"${pngcrush}" -q -iphone _.png 2.png 40 | #ls -la 1.png 2.png 41 | 42 | mv -f "${src}" "${out}" 43 | 44 | echo -n "${png##*/} " 45 | for ((i = 0; i != ${#steps[@]}; ++i)); do 46 | if [[ $i != 0 ]]; then 47 | echo -n " " 48 | fi 49 | 50 | echo -n "${steps[i]}" 51 | done 52 | 53 | printf $' %.0f%%\n' "$((steps[${#steps[@]}-1] * 100 / steps[0]))" 54 | -------------------------------------------------------------------------------- /preinst: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | declare -a cydia 4 | cydia=($CYDIA) 5 | 6 | if [[ $1 == upgrade ]]; then 7 | if [[ ${CYDIA+@} ]]; then 8 | if [[ ${cydia[1]} -lt 1 ]]; then 9 | echo 'PLEASE RESTART CYDIA!' 10 | echo 'PLEASE RESTART CYDIA!' 11 | echo 'PLEASE RESTART CYDIA!' 12 | else 13 | eval "echo 'finish:reopen' >&${cydia[0]}" 14 | fi 15 | fi 16 | fi 17 | 18 | exit 0 19 | -------------------------------------------------------------------------------- /sysroot.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | if [[ ${BASH_VERSION} != 4* ]]; then 4 | echo "bash 4.0 required" 1>&2 5 | exit 1 6 | fi 7 | 8 | set -o pipefail 9 | set -e 10 | 11 | shopt -s extglob 12 | shopt -s nullglob 13 | 14 | for command in unlzma wget; do 15 | if ! which "${command}" &>/dev/null; then 16 | echo "Cannot run \`${command}\`. Please read compiling.txt." 1>&2 17 | exit 1 18 | fi 19 | done 20 | 21 | if tar --help | grep bsdtar &>/dev/null; then 22 | echo "Running \`tar\` is bsdtar :(. Please read compiling.txt." 1>&2 23 | exit 1 24 | fi 25 | 26 | xcode=$(xcodebuild -sdk macosx -version Path) 27 | 28 | rm -rf sysroot 29 | mkdir sysroot 30 | cd sysroot 31 | 32 | repository=http://apt.saurik.com/ 33 | distribution=tangelo 34 | component=main 35 | architecture=iphoneos-arm 36 | 37 | declare -A dpkgz 38 | dpkgz[gz]=gunzip 39 | dpkgz[lzma]=unlzma 40 | 41 | function extract() { 42 | package=$1 43 | url=$2 44 | 45 | wget -O "${package}.deb" "${url}" 46 | for z in lzma gz; do 47 | compressed=data.tar.${z} 48 | 49 | if ar -x "${package}.deb" "${compressed}" 2>/dev/null; then 50 | ${dpkgz[${z}]} "${compressed}" 51 | break 52 | fi 53 | done 54 | 55 | if ! [[ -e data.tar ]]; then 56 | echo "unable to extract package" 1>&2 57 | exit 1 58 | fi 59 | 60 | ls -la data.tar 61 | tar -xf ./data.tar 62 | rm -f data.tar 63 | } 64 | 65 | declare -A urls 66 | 67 | urls[apt7]=http://apt.saurik.com/debs/apt7_0.7.25.3-7_iphoneos-arm.deb 68 | urls[apt7-lib]=http://apt.saurik.com/debs/apt7-lib_0.7.25.3-12_iphoneos-arm.deb 69 | urls[coreutils]=http://apt.saurik.com/debs/coreutils_7.4-11_iphoneos-arm.deb 70 | 71 | if [[ 0 ]]; then 72 | wget -qO- "${repository}dists/${distribution}/${component}/binary-${architecture}/Packages.bz2" | bzcat | { 73 | regex='^([^ \t]*): *(.*)' 74 | declare -A fields 75 | 76 | while IFS= read -r line; do 77 | if [[ ${line} == '' ]]; then 78 | package=${fields[package]} 79 | if [[ -n ${urls[${package}]} ]]; then 80 | filename=${fields[filename]} 81 | urls[${package}]=${repository}${filename} 82 | fi 83 | 84 | unset fields 85 | declare -A fields 86 | elif [[ ${line} =~ ${regex} ]]; then 87 | name=${BASH_REMATCH[1],,} 88 | value=${BASH_REMATCH[2]} 89 | fields[${name}]=${value} 90 | fi 91 | done 92 | } 93 | fi 94 | 95 | for package in "${!urls[@]}"; do 96 | extract "${package}" "${urls[${package}]}" 97 | done 98 | 99 | rm -f *.deb 100 | 101 | mkdir -p usr/include 102 | cd usr/include 103 | 104 | mkdir CoreFoundation 105 | wget -O CoreFoundation/CFUniChar.h "http://www.opensource.apple.com/source/CF/CF-550/CFUniChar.h?txt" 106 | 107 | mkdir -p WebCore 108 | wget -O WebCore/WebCoreThread.h 'http://www.opensource.apple.com/source/WebCore/WebCore-658.28/wak/WebCoreThread.h?txt' 109 | 110 | ln -s /System/Library/Frameworks/IOKit.framework/Headers IOKit 111 | -------------------------------------------------------------------------------- /uikit.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | LANG=C exec /sw/bin/sed -i -e 's@\(\x0C\x00\x00\x00\x4C\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\)\x00...\(\x00\x00\x01\x00/System/Library/Frameworks/UIKit.framework/UIKit\x00\x00\x00\x00\)@\1\x00\x00\xF6\x0C\2@g' "$1" 3 | -------------------------------------------------------------------------------- /version.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [[ $# -eq 0 ]]; then 4 | flags=(--dirty="+") 5 | else 6 | flags=("$@") 7 | fi 8 | 9 | version=$(git describe --tags --match="v*" "${flags[@]}" | sed -e 's@-\([^-]*\)-\([^-]*\)$@+\1.\2@;s@^v@@;s@%@~@g') 10 | 11 | if grep '#define ForRelease 0' MobileCydia.mm &>/dev/null; then 12 | version=${version}~srk 13 | fi 14 | 15 | define="#define CYDIA_VERSION \"${version}\"" 16 | before=$(cat Version.h 2>/dev/null) 17 | 18 | if [[ ${before} != ${define} ]]; then 19 | echo "${define}" >Version.h 20 | fi 21 | 22 | echo "${version}" 23 | --------------------------------------------------------------------------------