├── .gitignore
├── .gitmodules
├── Cydia.frappliance
├── English.lproj
│ └── InfoPlist.strings
└── Info.plist
├── Cydia
├── LoadingView.h
├── LoadingView.mm
├── LoadingViewController.h
├── LoadingViewController.mm
├── MIMEAddress.h
├── MIMEAddress.mm
└── ProgressEvent.h
├── CydiaAppliance.mm
├── CyteKit
├── IndirectDelegate.h
├── Localize.h
├── MFMailComposeViewController-MailToURL.h
├── MFMailComposeViewController-MailToURL.mm
├── PerlCompatibleRegEx.hpp
├── TableViewCell.h
├── TableViewCell.mm
├── UCInternal.h
├── UCPlatform.h
├── ViewController.h
├── ViewController.mm
├── WebScriptObject-Cyte.h
├── WebScriptObject-Cyte.mm
├── WebThreadLocked.hpp
├── WebView.h
├── WebView.mm
├── WebViewController.h
├── WebViewController.mm
├── WebViewTableViewCell.h
├── WebViewTableViewCell.mm
├── dispatchEvent.h
├── dispatchEvent.mm
├── stringWithUTF8Bytes.h
└── stringWithUTF8Bytes.mm
├── Cytore.hpp
├── LaunchDaemons
└── com.saurik.Cydia.Startup.plist
├── Library
├── asuser
├── finish.sh
├── firmware.sh
├── free.sh
├── move.sh
├── space.sh
└── startup
├── Menes
├── Menes.h
├── ObjectHandle.h
├── invocationWithSelector.h
├── invocationWithSelector.mm
├── radixSortWithSelector.h
├── radixSortWithSelector.mm
├── yieldToSelector.h
└── yieldToSelector.mm
├── MobileCydia.app
├── Cydia
├── Default-Landscape.png
├── Default-Portrait.png
├── Default.png
├── Default@2x.png
├── Dutch.lproj
│ └── Localizable.strings
├── English.lproj
│ ├── Localizable.strings
│ └── Sections_.strings
├── French.lproj
│ ├── Localizable.strings
│ └── Sections.strings
├── German.lproj
│ ├── Localizable.strings
│ └── Sections.strings
├── Icon-Small-50.png
├── Icon-Small.png
├── Icon-Small@2x.png
├── Info.plist
├── Italian.lproj
│ └── Localizable.strings
├── Purposes
│ ├── commercial.png
│ ├── console.png
│ ├── daemon.png
│ ├── extension.png
│ ├── library.png
│ ├── uikit.png
│ └── x.png
├── Sections.plist
├── Sections
│ ├── Addons.png
│ ├── Administration.png
│ ├── Archiving.png
│ ├── Blanks.png
│ ├── Books.png
│ ├── Carrier_Bundles.png
│ ├── Communication.png
│ ├── Data_Storage.png
│ ├── Development.png
│ ├── Dictionaries.png
│ ├── Education.png
│ ├── Entertainment.png
│ ├── Fonts.png
│ ├── Games.png
│ ├── Health_and_Fitness.png
│ ├── Imaging.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
│ ├── WebClips.png
│ ├── Widgets.png
│ └── X_Window.png
├── Spanish.lproj
│ └── Localizable.strings
├── Swedish.lproj
│ └── Localizable.strings
├── changes.png
├── changes@2x.png
├── chevron@2x.png
├── compose.png
├── configure.png
├── el.lproj
│ ├── Localizable.strings
│ └── Sections.strings
├── error.html
├── folder.png
├── folder@2x.png
├── home-Selected.png
├── home-Selected@2x.png
├── home.png
├── home@2x.png
├── icon-72.png
├── icon.png
├── icon@2x.png
├── iconClassic.png
├── install.png
├── install@2x.png
├── installed.png
├── installed@2x.png
├── installing.png
├── localize.js
├── manage.html
├── manage.png
├── manage@2x.png
├── menes
│ └── menes.js
├── packages.png
├── reload.png
├── removing.png
├── search.png
├── search@2x.png
├── source.png
├── source@2x.png
├── sources.png
├── storage.png
├── unknown.png
├── zh_CN.lproj
│ └── Localizable.strings
└── zh_TW.lproj
│ └── Localizable.strings
├── MobileCydia.mm
├── Sources.h
├── Sources.list
└── saurik.list
├── Sources.mm
├── Trusted.gpg
├── bigboss.gpg
├── modmyi.gpg
├── saurik.gpg
└── zodttd.gpg
├── Version.mm
├── cfversion.mm
├── compiling.txt
├── control.sh
├── cydia-lproj.control
├── cydia.control
├── entitlements.xml
├── iPhonePrivate.h
├── lookup3.c
├── makefile
├── pngcrush.sh
├── postinst.mm
├── preinst
├── rowhammer_test
├── sysroot.sh
└── version.sh
/.gitignore:
--------------------------------------------------------------------------------
1 | sysroot
2 | MobileCydia
3 | CydiaAppliance
4 | postinst
5 | _
6 | __
7 | Cydia.deb
8 | Cydia_.deb
9 | debs
10 | .DS_Store
11 | *.o
12 | Images/
13 | Version.h
14 | cfversion
15 | bins
16 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "SDURLCache"]
2 | path = SDURLCache
3 | url = https://github.com/SaurikIT/SDURLCache.git
4 |
--------------------------------------------------------------------------------
/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-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #ifndef Cydia_LoadingView_H
41 | #define Cydia_LoadingView_H
42 |
43 | #include "Menes/ObjectHandle.h"
44 |
45 | #include
46 |
47 | @interface CydiaLoadingView : UIView {
48 | _H spinner_;
49 | _H label_;
50 | _H container_;
51 | }
52 |
53 | @end
54 |
55 | #endif//Cydia_LoadingView_H
56 |
--------------------------------------------------------------------------------
/Cydia/LoadingView.mm:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #include "Cydia/LoadingView.h"
41 | #include "CyteKit/Localize.h"
42 |
43 | @implementation CydiaLoadingView
44 |
45 | - (id) initWithFrame:(CGRect)frame {
46 | if ((self = [super initWithFrame:frame]) != nil) {
47 | container_ = [[[UIView alloc] init] autorelease];
48 | [container_ setAutoresizingMask:UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin];
49 |
50 | spinner_ = [[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray] autorelease];
51 | [spinner_ startAnimating];
52 | [container_ addSubview:spinner_];
53 |
54 | label_ = [[[UILabel alloc] init] autorelease];
55 | [label_ setFont:[UIFont boldSystemFontOfSize:15.0f]];
56 | [label_ setBackgroundColor:[UIColor clearColor]];
57 | [label_ setTextColor:[UIColor viewFlipsideBackgroundColor]];
58 | [label_ setShadowColor:[UIColor whiteColor]];
59 | [label_ setShadowOffset:CGSizeMake(0, 1)];
60 | [label_ setText:[NSString stringWithFormat:Elision_, UCLocalize("LOADING"), nil]];
61 | [container_ addSubview:label_];
62 |
63 | CGSize viewsize = frame.size;
64 | CGSize spinnersize = [spinner_ bounds].size;
65 | CGSize textsize = [[label_ text] sizeWithFont:[label_ font]];
66 | float bothwidth = spinnersize.width + textsize.width + 5.0f;
67 |
68 | CGRect containrect = {
69 | CGPointMake(floorf((viewsize.width / 2) - (bothwidth / 2)), floorf((viewsize.height / 2) - (spinnersize.height / 2))),
70 | CGSizeMake(bothwidth, spinnersize.height)
71 | };
72 | CGRect textrect = {
73 | CGPointMake(spinnersize.width + 5.0f, floorf((spinnersize.height / 2) - (textsize.height / 2))),
74 | textsize
75 | };
76 | CGRect spinrect = {
77 | CGPointZero,
78 | spinnersize
79 | };
80 |
81 | [container_ setFrame:containrect];
82 | [spinner_ setFrame:spinrect];
83 | [label_ setFrame:textrect];
84 | [self addSubview:container_];
85 | } return self;
86 | }
87 |
88 | @end
89 |
--------------------------------------------------------------------------------
/Cydia/LoadingViewController.h:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #ifndef Cydia_LoadingViewController_H
41 | #define Cydia_LoadingViewController_H
42 |
43 | #include "Cydia/LoadingView.h"
44 | #include "CyteKit/ViewController.h"
45 |
46 | @interface CydiaLoadingViewController : CyteViewController {
47 | _H indicator_;
48 | _H tabbar_;
49 | _H navbar_;
50 | }
51 |
52 | @end
53 |
54 | #endif//Cydia_LoadingViewController_H
55 |
--------------------------------------------------------------------------------
/Cydia/LoadingViewController.mm:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #include "Cydia/LoadingViewController.h"
41 |
42 | @implementation CydiaLoadingViewController
43 |
44 | - (void) loadView {
45 | UIView *view([[[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]] autorelease]);
46 | [view setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)];
47 | [self setView:view];
48 |
49 | UITableView *table([[[UITableView alloc] initWithFrame:[[self view] bounds] style:UITableViewStyleGrouped] autorelease]);
50 | [table setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)];
51 | [[self view] addSubview:table];
52 |
53 | indicator_ = [[[CydiaLoadingView alloc] initWithFrame:[[self view] bounds]] autorelease];
54 | [indicator_ setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)];
55 | [[self view] addSubview:indicator_];
56 |
57 | tabbar_ = [[[UITabBar alloc] initWithFrame:CGRectMake(0, 0, 0, 49.0f)] autorelease];
58 | [tabbar_ setFrame:CGRectMake(0.0f, [[self view] bounds].size.height - [tabbar_ bounds].size.height, [[self view] bounds].size.width, [tabbar_ bounds].size.height)];
59 | [tabbar_ setAutoresizingMask:(UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleWidth)];
60 | [[self view] addSubview:tabbar_];
61 |
62 | navbar_ = [[[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 0, 44.0f)] autorelease];
63 | [navbar_ setFrame:CGRectMake(0.0f, 0.0f, [[self view] bounds].size.width, [navbar_ bounds].size.height)];
64 | [navbar_ setAutoresizingMask:(UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleWidth)];
65 | [[self view] addSubview:navbar_];
66 | }
67 |
68 | - (void) releaseSubviews {
69 | indicator_ = nil;
70 | tabbar_ = nil;
71 | navbar_ = nil;
72 | }
73 |
74 | @end
75 |
--------------------------------------------------------------------------------
/Cydia/MIMEAddress.h:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #ifndef Cydia_MIMEAddress_H
41 | #define Cydia_MIMEAddress_H
42 |
43 | #include "Menes/ObjectHandle.h"
44 |
45 | @interface MIMEAddress : NSObject {
46 | _H name_;
47 | _H address_;
48 | }
49 |
50 | - (NSString *) name;
51 | - (NSString *) address;
52 |
53 | - (void) setAddress:(NSString *)address;
54 |
55 | + (MIMEAddress *) addressWithString:(NSString *)string;
56 | - (id) initWithString:(NSString *)string;
57 |
58 | @end
59 |
60 | #endif//Cydia_MIMEAddress_H
61 |
--------------------------------------------------------------------------------
/Cydia/MIMEAddress.mm:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #include "Cydia/MIMEAddress.h"
41 |
42 | #include
43 |
44 | #include "CyteKit/PerlCompatibleRegEx.hpp"
45 |
46 | @implementation MIMEAddress
47 |
48 | - (NSString *) name {
49 | return name_;
50 | }
51 |
52 | - (NSString *) address {
53 | return address_;
54 | }
55 |
56 | - (void) setAddress:(NSString *)address {
57 | address_ = address;
58 | }
59 |
60 | + (MIMEAddress *) addressWithString:(NSString *)string {
61 | return [[[MIMEAddress alloc] initWithString:string] autorelease];
62 | }
63 |
64 | + (NSArray *) _attributeKeys {
65 | return [NSArray arrayWithObjects:
66 | @"address",
67 | @"name",
68 | nil];
69 | }
70 |
71 | - (NSArray *) attributeKeys {
72 | return [[self class] _attributeKeys];
73 | }
74 |
75 | + (BOOL) isKeyExcludedFromWebScript:(const char *)name {
76 | return ![[self _attributeKeys] containsObject:[NSString stringWithUTF8String:name]] && [super isKeyExcludedFromWebScript:name];
77 | }
78 |
79 | - (id) initWithString:(NSString *)string {
80 | if ((self = [super init]) != nil) {
81 | const char *data = [string UTF8String];
82 | size_t size = [string length];
83 |
84 | static Pcre address_r("^\"?(.*)\"? <([^>]*)>$");
85 |
86 | if (address_r(data, size)) {
87 | name_ = address_r[1];
88 | address_ = address_r[2];
89 | } else {
90 | name_ = string;
91 | address_ = nil;
92 | }
93 | } return self;
94 | }
95 |
96 | @end
97 |
--------------------------------------------------------------------------------
/Cydia/ProgressEvent.h:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #ifndef Cydia_ProgressEvent_H
41 | #define Cydia_ProgressEvent_H
42 |
43 | #include
44 |
45 | #include
46 |
47 | #include
48 |
49 | @interface CydiaProgressEvent : NSObject {
50 | _H message_;
51 | _H type_;
52 |
53 | _H item_;
54 | _H package_;
55 | _H url_;
56 | _H version_;
57 | }
58 |
59 | + (CydiaProgressEvent *) eventWithMessage:(NSString *)message ofType:(NSString *)type;
60 | + (CydiaProgressEvent *) eventWithMessage:(NSString *)message ofType:(NSString *)type forPackage:(NSString *)package;
61 | + (CydiaProgressEvent *) eventWithMessage:(NSString *)message ofType:(NSString *)type forItem:(pkgAcquire::ItemDesc &)item;
62 |
63 | - (id) initWithMessage:(NSString *)message ofType:(NSString *)type;
64 |
65 | - (NSString *) message;
66 | - (NSString *) type;
67 |
68 | - (NSArray *) item;
69 | - (NSString *) package;
70 | - (NSString *) url;
71 | - (NSString *) version;
72 |
73 | - (void) setItem:(NSArray *)item;
74 | - (void) setPackage:(NSString *)package;
75 | - (void) setURL:(NSString *)url;
76 | - (void) setVersion:(NSString *)version;
77 |
78 | - (NSString *) compound:(NSString *)value;
79 | - (NSString *) compoundMessage;
80 | - (NSString *) compoundTitle;
81 |
82 | @end
83 |
84 | @protocol ProgressDelegate
85 | - (void) addProgressEvent:(CydiaProgressEvent *)event;
86 | - (void) setProgressPercent:(NSNumber *)percent;
87 | - (void) setProgressStatus:(NSDictionary *)status;
88 | - (void) setProgressCancellable:(NSNumber *)cancellable;
89 | - (bool) isProgressCancelled;
90 | - (void) setTitle:(NSString *)title;
91 | @end
92 |
93 | #endif//Cydia_ProgressEvent_H
94 |
--------------------------------------------------------------------------------
/CydiaAppliance.mm:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 | #import
4 | #import
5 | #import
6 | #import
7 |
8 | #include
9 |
10 | @interface CydiaTopShelfController : NSObject {
11 | _H view_;
12 | }
13 |
14 | @end
15 |
16 | @implementation CydiaTopShelfController
17 |
18 | - (BRTopShelfView *) topShelfView {
19 | return view_;
20 | }
21 |
22 | - (void) selectCategoryWithIdentifier:(NSString *)identifier {
23 | }
24 |
25 | @end
26 |
27 |
28 | @interface CydiaManageViewController : BRViewController {
29 | }
30 | @end
31 |
32 | @implementation CydiaManageViewController
33 | @end
34 |
35 |
36 | @interface CydiaAppliance : BRBaseAppliance {
37 | }
38 | @end
39 |
40 | @implementation CydiaAppliance
41 |
42 | - (id) applianceCategories {
43 | return [NSArray arrayWithObjects:
44 | [BRApplianceCategory categoryWithName:@"Install" identifier:@"cydia-install" preferredOrder:0],
45 | [BRApplianceCategory categoryWithName:@"Manage" identifier:@"cydia-manage" preferredOrder:0],
46 | [BRApplianceCategory categoryWithName:@"Search" identifier:@"cydia-search" preferredOrder:0],
47 | nil];
48 | }
49 |
50 | - (id) controllerForIdentifier:(NSString *)identifier args:(NSDictionary *)args {
51 | return nil;
52 | }
53 |
54 | - (id) topShelfController {
55 | return [[[CydiaTopShelfController alloc] init] autorelease];
56 | }
57 |
58 | - (int) noContentBRError {
59 | // XXX: research
60 | return 0;
61 | }
62 |
63 | @end
64 |
--------------------------------------------------------------------------------
/CyteKit/IndirectDelegate.h:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #ifndef CyteKit_IndirectDelegate_H
41 | #define CyteKit_IndirectDelegate_H
42 |
43 | @interface IndirectDelegate : NSObject {
44 | _transient volatile id delegate_;
45 | }
46 |
47 | - (id) delegate;
48 | - (void) setDelegate:(id)delegate;
49 |
50 | - (id) initWithDelegate:(id)delegate;
51 |
52 | @end
53 |
54 | #endif//CyteKit_IndirectDelegate_H
55 |
--------------------------------------------------------------------------------
/CyteKit/Localize.h:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #ifndef CyteKit_Localize_H
41 | #define CyteKit_Localize_H
42 |
43 | #include
44 |
45 | static inline NSString *UCLocalizeEx(NSString *key, NSString *value = nil) {
46 | return [[NSBundle mainBundle] localizedStringForKey:key value:value table:nil];
47 | }
48 |
49 | #define UCLocalize(key) UCLocalizeEx(@ key)
50 |
51 | extern NSString *Elision_;
52 |
53 | #endif//CyteKit_Localize_H
54 |
--------------------------------------------------------------------------------
/CyteKit/MFMailComposeViewController-MailToURL.h:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #ifndef CyteKit_MFMailComposeViewController_MailToURL_H
41 | #define CyteKit_MFMailComposeViewController_MailToURL_H
42 |
43 | #include
44 | #include
45 |
46 | @interface MFMailComposeViewController (CyteMailToURL)
47 | - (void) setMailToURL:(NSURL *)url;
48 | @end
49 |
50 | #endif//CyteKit_MFMailComposeViewController_MailToURL_H
51 |
--------------------------------------------------------------------------------
/CyteKit/MFMailComposeViewController-MailToURL.mm:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #include "CyteKit/MFMailComposeViewController-MailToURL.h"
41 |
42 | #include
43 | #include
44 |
45 | static void $MFMailComposeViewController$setMailToURL$(MFMailComposeViewController *self, SEL _cmd, NSURL *url) {
46 | NSString *scheme([url scheme]);
47 |
48 | if (scheme == nil || ![[scheme lowercaseString] isEqualToString:@"mailto"])
49 | [NSException raise:NSInvalidArgumentException format:@"-[MFMailComposeViewController setMailToURL:] - non-mailto: URL"];
50 |
51 | NSString *href([url absoluteString]);
52 | NSRange question([href rangeOfString:@"?"]);
53 |
54 | NSMutableArray *to([NSMutableArray arrayWithCapacity:1]);
55 |
56 | NSString *target, *query;
57 | if (question.location == NSNotFound) {
58 | target = [href substringFromIndex:7];
59 | query = nil;
60 | } else {
61 | target = [href substringWithRange:NSMakeRange(7, question.location - 7)];
62 | query = [href substringFromIndex:(question.location + 1)];
63 | }
64 |
65 | if ([target length] != 0)
66 | [to addObject:target];
67 |
68 | if (query != nil && [query length] != 0) {
69 | NSMutableArray *cc([NSMutableArray arrayWithCapacity:1]);
70 | NSMutableArray *bcc([NSMutableArray arrayWithCapacity:1]);
71 |
72 | for (NSString *assign in [query componentsSeparatedByString:@"&"]) {
73 | NSRange equal([assign rangeOfString:@"="]);
74 | if (equal.location == NSNotFound)
75 | continue;
76 |
77 | NSString *name([assign substringToIndex:equal.location]);
78 | NSString *value([assign substringFromIndex:(equal.location + 1)]);
79 | value = [value stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
80 |
81 | if (false);
82 | else if ([name isEqualToString:@"attachment"]) {
83 | if (NSData *data = [NSData dataWithContentsOfFile:value])
84 | [self addAttachmentData:data mimeType:@"application/octet-stream" fileName:[value lastPathComponent]];
85 | } else if ([name isEqualToString:@"bcc"])
86 | [bcc addObject:value];
87 | else if ([name isEqualToString:@"body"])
88 | [self setMessageBody:value isHTML:NO];
89 | else if ([name isEqualToString:@"cc"])
90 | [cc addObject:value];
91 | else if ([name isEqualToString:@"subject"])
92 | [self setSubject:value];
93 | else if ([name isEqualToString:@"to"])
94 | [to addObject:value];
95 | }
96 |
97 | [self setCcRecipients:cc];
98 | [self setBccRecipients:bcc];
99 | }
100 |
101 | [self setToRecipients:to];
102 | }
103 |
104 | __attribute__((__constructor__)) static void MFMailComposeViewController_CyteMailToURL() {
105 | dlopen("/System/Library/Frameworks/MessageUI.framework/MessageUI", RTLD_GLOBAL | RTLD_LAZY);
106 | if (Class MFMailComposeViewController = objc_getClass("MFMailComposeViewController"))
107 | class_addMethod(MFMailComposeViewController, @selector(setMailToURL:), (IMP) $MFMailComposeViewController$setMailToURL$, "v12@0:4@8");
108 | }
109 |
--------------------------------------------------------------------------------
/CyteKit/PerlCompatibleRegEx.hpp:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #ifndef Cydia_PerlCompatibleRegEx_HPP
41 | #define Cydia_PerlCompatibleRegEx_HPP
42 |
43 | #include
44 |
45 | #include "CyteKit/UCPlatform.h"
46 | #include "CyteKit/stringWithUTF8Bytes.h"
47 |
48 | class Pcre {
49 | private:
50 | pcre *code_;
51 | pcre_extra *study_;
52 | int capture_;
53 | int *matches_;
54 | const char *data_;
55 |
56 | public:
57 | Pcre() :
58 | code_(NULL),
59 | study_(NULL),
60 | data_(NULL)
61 | {
62 | }
63 |
64 | Pcre(const char *regex, NSString *data = nil) :
65 | code_(NULL),
66 | study_(NULL),
67 | data_(NULL)
68 | {
69 | this->operator =(regex);
70 |
71 | if (data != nil)
72 | this->operator ()(data);
73 | }
74 |
75 | void operator =(const char *regex) {
76 | _assert(code_ == NULL);
77 |
78 | const char *error;
79 | int offset;
80 | code_ = pcre_compile(regex, 0, &error, &offset, NULL);
81 |
82 | if (code_ == NULL) {
83 | fprintf(stderr, "%d:%s\n", offset, error);
84 | _assert(false);
85 | }
86 |
87 | pcre_fullinfo(code_, study_, PCRE_INFO_CAPTURECOUNT, &capture_);
88 | _assert(capture_ >= 0);
89 | matches_ = new int[(capture_ + 1) * 3];
90 | }
91 |
92 | ~Pcre() {
93 | pcre_free(code_);
94 | delete matches_;
95 | }
96 |
97 | NSString *operator [](size_t match) const {
98 | return [NSString stringWithUTF8Bytes:(data_ + matches_[match * 2]) length:(matches_[match * 2 + 1] - matches_[match * 2])];
99 | }
100 |
101 | _finline bool operator ()(NSString *data) {
102 | // XXX: length is for characters, not for bytes
103 | return operator ()([data UTF8String], [data length]);
104 | }
105 |
106 | _finline bool operator ()(const char *data) {
107 | return operator ()(data, strlen(data));
108 | }
109 |
110 | bool operator ()(const char *data, size_t size) {
111 | if (pcre_exec(code_, study_, data, size, 0, 0, matches_, (capture_ + 1) * 3) >= 0) {
112 | data_ = data;
113 | return true;
114 | } else {
115 | data_ = NULL;
116 | return false;
117 | }
118 | }
119 |
120 | operator bool() const {
121 | return data_ != NULL;
122 | }
123 |
124 | NSString *operator ->*(NSString *format) const {
125 | id values[capture_];
126 | for (int i(0); i != capture_; ++i)
127 | values[i] = this->operator [](i + 1);
128 |
129 | return [[[NSString alloc] initWithFormat:format arguments:reinterpret_cast(values)] autorelease];
130 | }
131 | };
132 |
133 | #endif//Cydia_PerlCompatibleRegEx_HPP
134 |
--------------------------------------------------------------------------------
/CyteKit/TableViewCell.h:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #ifndef CyteKit_TableViewCell_H
41 | #define CyteKit_TableViewCell_H
42 |
43 | #include
44 |
45 | #include
46 |
47 | #include
48 |
49 | @protocol CyteTableViewCellDelegate
50 | - (void) drawContentRect:(CGRect)rect;
51 | @end
52 |
53 | @interface CyteTableViewCellContentView : UIView {
54 | _transient id delegate_;
55 | }
56 |
57 | - (id) delegate;
58 | - (void) setDelegate:(id)delegate;
59 |
60 | @end
61 |
62 | @interface CyteTableViewCell : UITableViewCell {
63 | _H content_;
64 | bool highlighted_;
65 | }
66 |
67 | @end
68 |
69 | #endif//CyteKit_TableViewCell_H
70 |
--------------------------------------------------------------------------------
/CyteKit/TableViewCell.mm:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #include "CyteKit/TableViewCell.h"
41 |
42 | #include "iPhonePrivate.h"
43 |
44 | @implementation CyteTableViewCellContentView
45 |
46 | - (id) initWithFrame:(CGRect)frame {
47 | if ((self = [super initWithFrame:frame]) != nil) {
48 | [self setNeedsDisplayOnBoundsChange:YES];
49 | } return self;
50 | }
51 |
52 | - (id) delegate {
53 | return delegate_;
54 | }
55 |
56 | - (void) setDelegate:(id)delegate {
57 | delegate_ = delegate;
58 | }
59 |
60 | - (void) drawRect:(CGRect)rect {
61 | [super drawRect:rect];
62 | [delegate_ drawContentRect:rect];
63 | }
64 |
65 | @end
66 |
67 | @implementation CyteTableViewCell
68 |
69 | - (void) _updateHighlightColorsForView:(UIView *)view highlighted:(BOOL)highlighted {
70 | if (view == (UIView *) content_)
71 | highlighted_ = highlighted;
72 |
73 | [super _updateHighlightColorsForView:view highlighted:highlighted];
74 | }
75 |
76 | - (void) setSelected:(BOOL)selected animated:(BOOL)animated {
77 | highlighted_ = selected;
78 |
79 | [super setSelected:selected animated:animated];
80 | [content_ setNeedsDisplay];
81 | }
82 |
83 | @end
84 |
--------------------------------------------------------------------------------
/CyteKit/UCInternal.h:
--------------------------------------------------------------------------------
1 | - (NSMethodSignature *) methodSignatureForSelector:(SEL)selector {
2 | fprintf(stderr, "[%s]S-%s\n", class_getName(self->isa), 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(self->isa), (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-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #ifndef CyteKit_UCPlatform_H
41 | #define CyteKit_UCPlatform_H
42 |
43 | #define __STDC_LIMIT_MACROS
44 | #include
45 |
46 | #include
47 |
48 | #include
49 | #include
50 |
51 | #define _forever \
52 | for (;;)
53 |
54 | extern struct timeval _ltv;
55 | extern bool _itv;
56 |
57 | #define _trace() do { \
58 | struct timeval _ctv; \
59 | gettimeofday(&_ctv, NULL); \
60 | if (!_itv) { \
61 | _itv = true; \
62 | _ltv = _ctv; \
63 | } \
64 | fprintf(stderr, "%lu.%.6u[%f]:_trace()@%s:%u[%s]\n", \
65 | _ctv.tv_sec, _ctv.tv_usec, \
66 | (_ctv.tv_sec - _ltv.tv_sec) + (_ctv.tv_usec - _ltv.tv_usec) / 1000000.0, \
67 | __FILE__, __LINE__, __FUNCTION__\
68 | ); \
69 | _ltv = _ctv; \
70 | } while (false)
71 |
72 | #define _assert(test) do \
73 | if (!(test)) { \
74 | fprintf(stderr, "_assert(%d:%s)@%s:%u[%s]\n", errno, #test, __FILE__, __LINE__, __FUNCTION__); \
75 | exit(-1); \
76 | } \
77 | while (false)
78 |
79 | #define _not(type) ((type) ~ (type) 0)
80 |
81 | #define _transient
82 |
83 | #define _label__(x) _label ## x
84 | #define _label_(y) _label__(y)
85 | #define _label _label_(__LINE__)
86 |
87 | #define _packed \
88 | __attribute__((__packed__))
89 | #define _finline \
90 | inline __attribute__((__always_inline__))
91 |
92 | #define _assume(e) \
93 | _assert(e)
94 |
95 | #define _nodefault \
96 | default: \
97 | _assume(false); \
98 | throw;
99 |
100 | #define _likely(expr) \
101 | __builtin_expect(expr, 1)
102 |
103 | #define _unlikely(expr) \
104 | __builtin_expect(expr, 0)
105 |
106 | #endif//CyteKit_UCPlatform_H
107 |
--------------------------------------------------------------------------------
/CyteKit/ViewController.h:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #ifndef CyteKit_ViewController_H
41 | #define CyteKit_ViewController_H
42 |
43 | #include
44 |
45 | #include
46 |
47 | @interface UIViewController (Cydia)
48 | - (BOOL) hasLoaded;
49 | - (void) reloadData;
50 | - (void) unloadData;
51 | - (UIViewController *) parentOrPresentingViewController;
52 | @end
53 |
54 | @interface CyteViewController : UIViewController {
55 | _transient id delegate_;
56 | BOOL loaded_;
57 | }
58 |
59 | // The default implementation of this method is essentially a no-op,
60 | // but calling the superclass implementation is *required*.
61 | - (void) reloadData;
62 |
63 | - (void) unloadData;
64 |
65 | // This URL is used to save the state of the view controller. Return
66 | // nil if you cannot or should not save the URL for this page.
67 | - (NSURL *) navigationURL;
68 |
69 | // By default, this delegate is unused. However, it's provided here in case
70 | // you need some kind of delegate in a subclass.
71 | - (void) setDelegate:(id)delegate;
72 | - (id) delegate;
73 |
74 | // Override this in subclasses if you manage the "has seen first load" state yourself.
75 | - (BOOL) hasLoaded;
76 |
77 | // This is called when the view managed by the view controller is released.
78 | // That is not always when the controller itself is released: it also can
79 | // happen when more memory is needed by the system or whenever the controller
80 | // just happens not to be visible.
81 | - (void) releaseSubviews;
82 |
83 | @end
84 |
85 | #endif//CyteKit_ViewController_H
86 |
--------------------------------------------------------------------------------
/CyteKit/ViewController.mm:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #include "CyteKit/ViewController.h"
41 |
42 | #include
43 | #include
44 |
45 | extern bool IsWildcat_;
46 |
47 | @implementation UIViewController (Cydia)
48 |
49 | - (BOOL) hasLoaded {
50 | return YES;
51 | }
52 |
53 | - (void) reloadData {
54 | [self view];
55 | }
56 |
57 | - (void) unloadData {
58 | if (UIViewController *modal = [self modalViewController])
59 | [modal unloadData];
60 | }
61 |
62 | - (UIViewController *) parentOrPresentingViewController {
63 | if (UIViewController *parent = [self parentViewController])
64 | return parent;
65 | if ([self respondsToSelector:@selector(presentingViewController)])
66 | return [self presentingViewController];
67 | return nil;
68 | }
69 |
70 | @end
71 |
72 | @implementation CyteViewController
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 | - (NSURL *) navigationURL {
124 | return nil;
125 | }
126 |
127 | - (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orientation {
128 | return IsWildcat_ || orientation == UIInterfaceOrientationPortrait;
129 | }
130 |
131 | @end
132 |
--------------------------------------------------------------------------------
/CyteKit/WebScriptObject-Cyte.h:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #ifndef CyteKit_WebScriptObject_Cyte_H
41 | #define CyteKit_WebScriptObject_Cyte_H
42 |
43 | #include
44 |
45 | @interface WebScriptObject (Cyte)
46 | - (NSUInteger) count;
47 | - (NSUInteger) countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)objects count:(NSUInteger)count;
48 | - (id) objectAtIndex:(unsigned)index;
49 | @end
50 |
51 | #endif//CyteKit_WebScriptObject_Cyte_H
52 |
--------------------------------------------------------------------------------
/CyteKit/WebScriptObject-Cyte.mm:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #include "CyteKit/WebScriptObject-Cyte.h"
41 |
42 | @implementation WebScriptObject (Cyte)
43 |
44 | - (NSUInteger) count {
45 | id length([self valueForKey:@"length"]);
46 | if ([length respondsToSelector:@selector(intValue)])
47 | return [length intValue];
48 | else
49 | return 0;
50 | }
51 |
52 | - (id) objectAtIndex:(unsigned)index {
53 | return [self webScriptValueAtIndex:index];
54 | }
55 |
56 | - (NSUInteger) countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)objects count:(NSUInteger)count {
57 | size_t length([self count] - state->state);
58 | if (length <= 0)
59 | return 0;
60 | else if (length > count)
61 | length = count;
62 | for (size_t i(0); i != length; ++i)
63 | objects[i] = [self objectAtIndex:state->state++];
64 | state->itemsPtr = objects;
65 | state->mutationsPtr = (unsigned long *) self;
66 | return length;
67 | }
68 |
69 | @end
70 |
--------------------------------------------------------------------------------
/CyteKit/WebThreadLocked.hpp:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #ifndef CyteKit_WebThreadLocked_HPP
41 | #define CyteKit_WebThreadLocked_HPP
42 |
43 | #include "CyteKit/UCPlatform.h"
44 | #include "WebCore/WebCoreThread.h"
45 |
46 | struct WebThreadLocked {
47 | _finline WebThreadLocked() {
48 | WebThreadLock();
49 | }
50 |
51 | _finline ~WebThreadLocked() {
52 | WebThreadUnlock();
53 | }
54 | };
55 |
56 | #endif//CyteKit_WebThreadLocked_HPP
57 |
--------------------------------------------------------------------------------
/CyteKit/WebView.h:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #ifndef CyteKit_CydiaBrowser_H
41 | #define CyteKit_CydiaBrowser_H
42 |
43 | #include
44 |
45 | #include
46 | #include
47 | #include
48 | #include
49 | #include
50 |
51 | #include
52 |
53 | enum CYWebPolicyDecision {
54 | CYWebPolicyDecisionUnknown,
55 | CYWebPolicyDecisionDownload,
56 | CYWebPolicyDecisionIgnore,
57 | CYWebPolicyDecisionUse,
58 | };
59 |
60 | @protocol CyteWebViewDelegate
61 | @optional
62 | - (void) webView:(WebView *)view addMessageToConsole:(NSDictionary *)message;
63 | - (void) webView:(WebView *)view decidePolicyForNavigationAction:(NSDictionary *)action request:(NSURLRequest *)request frame:(WebFrame *)frame decisionListener:(id)listener;
64 | - (void) webView:(WebView *)view decidePolicyForNewWindowAction:(NSDictionary *)action request:(NSURLRequest *)request newFrameName:(NSString *)name decisionListener:(id)listener;
65 | - (void) webView:(WebView *)view didClearWindowObject:(WebScriptObject *)window forFrame:(WebFrame *)frame;
66 | - (void) webView:(WebView *)view didCommitLoadForFrame:(WebFrame *)frame;
67 | - (void) webView:(WebView *)view didDecidePolicy:(CYWebPolicyDecision)decision forNavigationAction:(NSDictionary *)action request:(NSURLRequest *)request frame:(WebFrame *)frame;
68 | - (void) webView:(WebView *)view didFailLoadWithError:(NSError *)error forFrame:(WebFrame *)frame;
69 | - (void) webView:(WebView *)view didFailProvisionalLoadWithError:(NSError *)error forFrame:(WebFrame *)frame;
70 | - (void) webView:(WebView *)view didFinishLoadForFrame:(WebFrame *)frame;
71 | - (void) webView:(WebView *)view didReceiveTitle:(NSString *)title forFrame:(WebFrame *)frame;
72 | - (void) webView:(WebView *)view didStartProvisionalLoadForFrame:(WebFrame *)frame;
73 | - (NSURLRequest *) webView:(WebView *)view resource:(id)resource willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)response fromDataSource:(WebDataSource *)source;
74 | - (void) webViewClose:(WebView *)view;
75 | - (bool) webView:(WebView *)view shouldRunJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame;
76 | - (bool) webView:(WebView *)view shouldRunJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame;
77 | - (bool) webView:(WebView *)view shouldRunJavaScriptTextInputPanelWithPrompt:(NSString *)prompt defaultText:(NSString *)text initiatedByFrame:(WebFrame *)frame;
78 | - (void) webViewUpdateViewSettings:(UIWebView *)view;
79 | @end
80 |
81 | @interface CyteWebView : UIWebView {
82 | }
83 |
84 | - (id) delegate;
85 | - (void) setDelegate:(id)delegate;
86 |
87 | - (void) dispatchEvent:(NSString *)event;
88 | - (void) reloadFromOrigin;
89 | - (UIScrollView *) scrollView;
90 | - (NSURLRequest *) request;
91 |
92 | @end
93 |
94 | #endif//CyteKit_CydiaBrowser_H
95 |
--------------------------------------------------------------------------------
/CyteKit/WebViewController.h:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #ifndef CyteKit_WebViewController_H
41 | #define CyteKit_WebViewController_H
42 |
43 | #include "CyteKit/ViewController.h"
44 | #include "CyteKit/WebView.h"
45 |
46 | #include
47 | #include
48 |
49 | #include
50 |
51 | @class IndirectDelegate;
52 |
53 | @protocol CyteWebViewControllerDelegate
54 | - (void) retainNetworkActivityIndicator;
55 | - (void) releaseNetworkActivityIndicator;
56 | - (CyteViewController *) pageForURL:(NSURL *)url forExternal:(BOOL)external withReferrer:(NSString *)referrer;
57 | - (void) unloadData;
58 | @end
59 |
60 | @interface CyteWebViewController : CyteViewController <
61 | CyteWebViewDelegate,
62 | MFMailComposeViewControllerDelegate,
63 | UIWebViewDelegate
64 | > {
65 | _H webview_;
66 | _transient UIScrollView *scroller_;
67 |
68 | _H indicator_;
69 | _H indirect_;
70 | _H challenge_;
71 |
72 | bool error_;
73 | _H request_;
74 | bool ready_;
75 |
76 | _transient NSNumber *sensitive_;
77 |
78 | _H title_;
79 | _H loading_;
80 |
81 | _H registered_;
82 | _H timer_;
83 |
84 | // XXX: NSString * or UIImage *
85 | _H custom_;
86 | _H style_;
87 |
88 | _H function_;
89 |
90 | float width_;
91 | Class class_;
92 |
93 | _H reloaditem_;
94 | _H loadingitem_;
95 |
96 | bool visible_;
97 | bool hidesNavigationBar_;
98 | bool allowsNavigationAction_;
99 | }
100 |
101 | + (void) _initialize;
102 |
103 | - (CyteWebView *) webView;
104 |
105 | - (void) setRequest:(NSURLRequest *)request;
106 | - (void) setURL:(NSURL *)url;
107 | - (void) setURL:(NSURL *)url withReferrer:(NSString *)referrer;
108 |
109 | - (void) loadURL:(NSURL *)url cachePolicy:(NSURLRequestCachePolicy)policy;
110 | - (void) loadURL:(NSURL *)url;
111 |
112 | - (void) loadRequest:(NSURLRequest *)request;
113 | - (bool) isLoading;
114 |
115 | - (id) init;
116 |
117 | - (id) initWithURL:(NSURL *)url;
118 | - (id) initWithRequest:(NSURLRequest *)request;
119 |
120 | - (id) initWithWidth:(float)width;
121 | - (id) initWithWidth:(float)width ofClass:(Class)_class;
122 |
123 | - (void) callFunction:(WebScriptObject *)function;
124 |
125 | - (void) webView:(WebView *)view didClearWindowObject:(WebScriptObject *)window forFrame:(WebFrame *)frame;
126 | - (NSURLRequest *) webView:(WebView *)view resource:(id)identifier willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)response fromDataSource:(WebDataSource *)source;
127 |
128 | + (float) defaultWidth;
129 |
130 | - (void) setButtonImage:(NSString *)button withStyle:(NSString *)style toFunction:(id)function;
131 | - (void) setButtonTitle:(NSString *)button withStyle:(NSString *)style toFunction:(id)function;
132 | - (void) setHidesNavigationBar:(bool)value;
133 |
134 | - (void) alertView:(UIAlertView *)alert clickedButtonAtIndex:(NSInteger)button;
135 | - (void) customButtonClicked;
136 |
137 | - (void) applyRightButton;
138 | - (UIBarButtonItem *) customButton;
139 | - (UIBarButtonItem *) rightButton;
140 |
141 | - (void) applyLeftButton;
142 | - (UIBarButtonItem *) leftButton;
143 |
144 | - (void) removeButton;
145 |
146 | - (void) _didStartLoading;
147 | - (void) _didFinishLoading;
148 |
149 | - (void) close;
150 |
151 | - (void) dispatchEvent:(NSString *)event;
152 |
153 | - (void) setViewportWidthOnMainThread:(float)value;
154 |
155 | - (void) setScrollAlwaysBounceVertical:(bool)value;
156 | - (void) setScrollIndicatorStyle:(UIScrollViewIndicatorStyle)style;
157 |
158 | - (void) registerFrame:(WebFrame *)frame;
159 |
160 | @end
161 |
162 | #endif//CyteKit_WebViewController_H
163 |
--------------------------------------------------------------------------------
/CyteKit/WebViewTableViewCell.h:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #ifndef CyteKit_WebViewTableViewCell_H
41 | #define CyteKit_WebViewTableViewCell_H
42 |
43 | #include
44 |
45 | #include "Menes/ObjectHandle.h"
46 | #include "CyteKit/WebView.h"
47 |
48 | @interface CyteWebViewTableViewCell : UITableViewCell <
49 | CyteWebViewDelegate
50 | > {
51 | // XXX: I'm not really the delegate here: fix this!
52 | _H webview_;
53 | }
54 |
55 | + (CyteWebViewTableViewCell *) cellWithRequest:(NSURLRequest *)request;
56 | - (id) initWithRequest:(NSURLRequest *)request;
57 |
58 | - (id) delegate;
59 | - (void) setDelegate:(id)delegate;
60 |
61 | @end
62 |
63 | #endif//CyteKit_WebViewTableViewCell_H
64 |
--------------------------------------------------------------------------------
/CyteKit/WebViewTableViewCell.mm:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #include "CyteKit/WebViewTableViewCell.h"
41 | #include "iPhonePrivate.h"
42 |
43 | @interface WebView (Apple)
44 | - (void) _setLayoutInterval:(float)interval;
45 | - (void) _setAllowsMessaging:(BOOL)allows;
46 | @end
47 |
48 | @implementation CyteWebViewTableViewCell
49 |
50 | + (CyteWebViewTableViewCell *) cellWithRequest:(NSURLRequest *)request {
51 | CyteWebViewTableViewCell *cell([[[self alloc] initWithRequest:request] autorelease]);
52 | return cell;
53 | }
54 |
55 | - (id) initWithRequest:request {
56 | if ((self = [super init]) != nil) {
57 | UIView *view(self);
58 |
59 | webview_ = [[[CyteWebView alloc] initWithFrame:[view bounds]] autorelease];
60 | [webview_ setDelegate:self];
61 | [view addSubview:webview_];
62 |
63 | [webview_ setScalesPageToFit:YES];
64 |
65 | UIWebDocumentView *document([webview_ _documentView]);
66 | WebView *webview([document webView]);
67 | [webview setShouldUpdateWhileOffscreen:NO];
68 |
69 | if ([document respondsToSelector:@selector(setAllowsMessaging:)])
70 | [document setAllowsMessaging:YES];
71 | if ([webview respondsToSelector:@selector(_setAllowsMessaging:)])
72 | [webview _setAllowsMessaging:YES];
73 |
74 | UIScrollView *scroller([webview_ scrollView]);
75 | [scroller setScrollingEnabled:NO];
76 | [scroller setFixedBackgroundPattern:YES];
77 | [scroller setBackgroundColor:[UIColor clearColor]];
78 |
79 | WebPreferences *preferences([webview preferences]);
80 | [preferences setCacheModel:WebCacheModelDocumentBrowser];
81 | [preferences setJavaScriptCanOpenWindowsAutomatically:YES];
82 | [preferences setOfflineWebApplicationCacheEnabled:YES];
83 |
84 | [webview_ loadRequest:request];
85 |
86 | [webview_ setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)];
87 | } return self;
88 | }
89 |
90 | - (id) delegate {
91 | return [webview_ delegate];
92 | }
93 |
94 | - (void) setDelegate:(id)delegate {
95 | [webview_ setDelegate:delegate];
96 | }
97 |
98 | @end
99 |
--------------------------------------------------------------------------------
/CyteKit/dispatchEvent.h:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #ifndef CyteKit_dispatchEvent_H
41 | #define CyteKit_dispatchEvent_H
42 |
43 | #include
44 |
45 | #include "iPhonePrivate.h"
46 |
47 | @interface UIWebDocumentView (CyteDispatchEvent)
48 |
49 | - (void) dispatchEvent:(NSString *)event;
50 |
51 | @end
52 |
53 | #endif//CyteKit_dispatchEvent_H
54 |
--------------------------------------------------------------------------------
/CyteKit/dispatchEvent.mm:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #include "CyteKit/dispatchEvent.h"
41 | #include "CyteKit/WebThreadLocked.hpp"
42 |
43 | #include
44 |
45 | #include
46 | #include
47 | #include
48 |
49 | #include
50 |
51 | #include
52 |
53 | @implementation UIWebDocumentView (CyteDispatchEvent)
54 |
55 | - (void) dispatchEvent:(NSString *)event {
56 | WebThreadLocked lock;
57 |
58 | NSString *script([NSString stringWithFormat:@
59 | "(function() {"
60 | "var event = this.document.createEvent('Events');"
61 | "event.initEvent('%@', false, false);"
62 | "this.document.dispatchEvent(event);"
63 | "})();"
64 | , event]);
65 |
66 | NSMutableArray *frames([NSMutableArray arrayWithObjects:
67 | [[self webView] mainFrame]
68 | , nil]);
69 |
70 | while (WebFrame *frame = [frames lastObject]) {
71 | WebScriptObject *object([frame windowObject]);
72 | [object evaluateWebScript:script];
73 | [frames removeLastObject];
74 | [frames addObjectsFromArray:[frame childFrames]];
75 | }
76 | }
77 |
78 | @end
79 |
80 | MSHook(void, UIWebBrowserView$_webTouchEventsRecognized$, UIWebBrowserView *self, SEL _cmd, UIWebTouchEventsGestureRecognizer *recognizer) {
81 | _UIWebBrowserView$_webTouchEventsRecognized$(self, _cmd, recognizer);
82 |
83 | switch ([recognizer type]) {
84 | case WebEventTouchEnd:
85 | [self dispatchEvent:@"CydiaTouchEnd"];
86 | break;
87 |
88 | case WebEventTouchCancel:
89 | [self dispatchEvent:@"CydiaTouchCancel"];
90 | break;
91 | }
92 | }
93 |
94 | __attribute__((__constructor__)) static void $() {
95 | if (Class $UIWebBrowserView = objc_getClass("UIWebBrowserView")) {
96 | if (Method method = class_getInstanceMethod($UIWebBrowserView, @selector(_webTouchEventsRecognized:))) {
97 | _UIWebBrowserView$_webTouchEventsRecognized$ = reinterpret_cast(method_getImplementation(method));
98 | method_setImplementation(method, reinterpret_cast(&$UIWebBrowserView$_webTouchEventsRecognized$));
99 | }
100 | }
101 | }
102 |
--------------------------------------------------------------------------------
/CyteKit/stringWithUTF8Bytes.h:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #ifndef CyteKit_stringWithUTF8Bytes_H
41 | #define CyteKit_stringWithUTF8Bytes_H
42 |
43 | #include
44 |
45 | @interface NSString (Cyte)
46 | + (NSString *) stringWithUTF8BytesNoCopy:(const char *)bytes length:(int)length;
47 | + (NSString *) stringWithUTF8Bytes:(const char *)bytes length:(int)length;
48 | @end
49 |
50 | #endif//CyteKit_stringWithUTF8Bytes_H
51 |
--------------------------------------------------------------------------------
/CyteKit/stringWithUTF8Bytes.mm:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #include "CyteKit/stringWithUTF8Bytes.h"
41 |
42 | @implementation NSString (Cyte)
43 |
44 | + (NSString *) stringWithUTF8BytesNoCopy:(const char *)bytes length:(int)length {
45 | return [[[NSString alloc] initWithBytesNoCopy:const_cast(bytes) length:length encoding:NSUTF8StringEncoding freeWhenDone:NO] autorelease];
46 | }
47 |
48 | + (NSString *) stringWithUTF8Bytes:(const char *)bytes length:(int)length {
49 | return [[[NSString alloc] initWithBytes:bytes length:length encoding:NSUTF8StringEncoding] autorelease];
50 | }
51 |
52 | @end
53 |
--------------------------------------------------------------------------------
/Cytore.hpp:
--------------------------------------------------------------------------------
1 | // Copyright Notice (GNU Affero GPL) {{{
2 | /* Cyndir - (Awesome) Memory Mapped Dictionary
3 | * Copyright (C) 2010 Jay Freeman (saurik)
4 | */
5 |
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
9 | * published by the Free Software Foundation, either version 3 of the
10 | * License, or (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 CYTORE_HPP
23 | #define CYTORE_HPP
24 |
25 | #include
26 |
27 | #include
28 | #include
29 |
30 | #include
31 | #include
32 |
33 | #include
34 | #include
35 | #include
36 |
37 | #define _assert(test) do \
38 | if (!(test)) { \
39 | fprintf(stderr, "_assert(%d:%s)@%s:%u[%s]\n", errno, #test, __FILE__, __LINE__, __FUNCTION__); \
40 | exit(-1); \
41 | } \
42 | while (false)
43 |
44 | namespace Cytore {
45 |
46 | static const uint32_t Magic = 'cynd';
47 |
48 | struct Header {
49 | uint32_t magic_;
50 | uint32_t version_;
51 | uint32_t size_;
52 | uint32_t reserved_;
53 | };
54 |
55 | template
56 | class Offset {
57 | private:
58 | uint32_t offset_;
59 |
60 | public:
61 | Offset() :
62 | offset_(0)
63 | {
64 | }
65 |
66 | Offset(uint32_t offset) :
67 | offset_(offset)
68 | {
69 | }
70 |
71 | Offset &operator =(uint32_t offset) {
72 | offset_ = offset;
73 | return *this;
74 | }
75 |
76 | uint32_t GetOffset() const {
77 | return offset_;
78 | }
79 |
80 | bool IsNull() const {
81 | return offset_ == 0;
82 | }
83 | };
84 |
85 | struct Block {
86 | Cytore::Offset reserved_;
87 | };
88 |
89 | template
90 | static _finline Type_ Round(Type_ value, Type_ size) {
91 | Type_ mask(size - 1);
92 | return value + mask & ~mask;
93 | }
94 |
95 | template
96 | class File {
97 | private:
98 | static const unsigned Shift_ = 17;
99 | static const size_t Block_ = 1 << Shift_;
100 | static const size_t Mask_ = Block_ - 1;
101 |
102 | private:
103 | int file_;
104 |
105 | typedef std::vector BlockVector_;
106 | BlockVector_ blocks_;
107 |
108 | struct Mapping_ {
109 | uint8_t *data_;
110 | size_t size_;
111 |
112 | Mapping_(uint8_t *data, size_t size) :
113 | data_(data),
114 | size_(size)
115 | {
116 | }
117 | };
118 |
119 | typedef std::vector MappingVector_;
120 | MappingVector_ maps_;
121 |
122 | Header &Header_() {
123 | return *reinterpret_cast(blocks_[0]);
124 | }
125 |
126 | uint32_t &Size_() {
127 | return Header_().size_;
128 | }
129 |
130 | void Map_(size_t size) {
131 | size_t before(blocks_.size() * Block_);
132 | size_t extend(size - before);
133 |
134 | void *data(mmap(NULL, extend, PROT_READ | PROT_WRITE, MAP_FILE | MAP_SHARED, file_, before));
135 | _assert(data != MAP_FAILED);
136 | uint8_t *bytes(reinterpret_cast(data));
137 |
138 | maps_.push_back(Mapping_(bytes, extend));
139 | for (size_t i(0); i != extend >> Shift_; ++i)
140 | blocks_.push_back(bytes + Block_ * i);
141 | }
142 |
143 | bool Truncate_(size_t capacity) {
144 | capacity = Round(capacity, Block_);
145 |
146 | int error(ftruncate(file_, capacity));
147 | if (error != 0)
148 | return false;
149 |
150 | Map_(capacity);
151 | return true;
152 | }
153 |
154 | public:
155 | File() :
156 | file_(-1)
157 | {
158 | }
159 |
160 | File(const char *path) :
161 | file_(-1)
162 | {
163 | Open(path);
164 | }
165 |
166 | ~File() {
167 | for (typename MappingVector_::const_iterator map(maps_.begin()); map != maps_.end(); ++map)
168 | munmap(map->data_, map->size_);
169 | close(file_);
170 | }
171 |
172 | void Sync() {
173 | for (typename MappingVector_::const_iterator map(maps_.begin()); map != maps_.end(); ++map)
174 | msync(map->data_, map->size_, MS_SYNC);
175 | }
176 |
177 | size_t Capacity() const {
178 | return blocks_.size() * Block_;
179 | }
180 |
181 | void Open(const char *path) {
182 | _assert(file_ == -1);
183 | file_ = open(path, O_RDWR | O_CREAT | O_EXLOCK, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
184 | _assert(file_ != -1);
185 |
186 | struct stat stat;
187 | _assert(fstat(file_, &stat) == 0);
188 |
189 | size_t core(sizeof(Header) + sizeof(Base_));
190 |
191 | size_t size(stat.st_size);
192 | if (size == 0) {
193 | _assert(Truncate_(core));
194 | Header_().magic_ = Magic;
195 | Size_() = core;
196 | } else {
197 | _assert(size >= core);
198 | // XXX: this involves an unneccessary call to ftruncate()
199 | _assert(Truncate_(size));
200 | _assert(Header_().magic_ == Magic);
201 | _assert(Header_().version_ == 0);
202 | }
203 | }
204 |
205 | bool Reserve(size_t capacity) {
206 | if (capacity <= Capacity())
207 | return true;
208 |
209 | uint8_t *block(blocks_.back());
210 | blocks_.pop_back();
211 |
212 | if (Truncate_(capacity))
213 | return true;
214 | else {
215 | blocks_.push_back(block);
216 | return false;
217 | }
218 | }
219 |
220 | template
221 | Target_ &Get(uint32_t offset) {
222 | return *reinterpret_cast(offset == 0 ? NULL : blocks_[offset >> Shift_] + (offset & Mask_));
223 | }
224 |
225 | template
226 | Target_ &Get(Offset &ref) {
227 | return Get(ref.GetOffset());
228 | }
229 |
230 | Base_ *operator ->() {
231 | return &Get(sizeof(Header));
232 | }
233 |
234 | template
235 | Offset New(size_t extra = 0) {
236 | size_t size(sizeof(Target_) + extra);
237 | size = Round(size, sizeof(uintptr_t));
238 |
239 | uint32_t offset;
240 | if (!Reserve(Size_() + size))
241 | offset = 0;
242 | else {
243 | offset = Size_();
244 | Size_() += size;
245 | }
246 |
247 | return Offset(offset);
248 | }
249 | };
250 |
251 | }
252 |
253 | #endif//CYTORE_HPP
254 |
--------------------------------------------------------------------------------
/LaunchDaemons/com.saurik.Cydia.Startup.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Label
6 | com.saurik.Cydia.Startup
7 | Program
8 | /usr/libexec/cydia/startup
9 | RunAtLoad
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/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/firmware.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | shopt -s extglob
6 | shopt -s nullglob
7 |
8 | version=$(sw_vers -productVersion)
9 | cpu=$(uname -p)
10 |
11 | if [[ ${cpu} == arm ]]; then
12 | data=/var/lib/dpkg
13 | model=hw.machine
14 | arch=iphoneos-arm
15 | else
16 | data=/Library/Cydia/dpkg
17 | model=hw.model
18 | arch=cydia
19 | fi
20 |
21 | model=$(sysctl -n "${model}")
22 |
23 | status=${data}/status
24 |
25 | function lower() {
26 | sed -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'
27 | }
28 |
29 | # Generate New Package {{{
30 | function pseudo() {
31 | local package=$1 version=$2 description=$3 name=$4
32 | echo "/." >"${data}"/info/"${package}".list
33 |
34 | cat <&2
60 |
61 | if [[ ${line} == '' && "${blank+@}" ]]; then
62 | continue
63 | else
64 | unset blank
65 | fi
66 |
67 | if [[ ${line} == "Package: "@(firmware|gsc.*|cy+*) ]]; then
68 | firmware=
69 | elif [[ ${line} == '' ]]; then
70 | blank=
71 | fi
72 |
73 | if [[ "${firmware+@}" ]]; then
74 | if [[ "${blank+@}" ]]; then
75 | unset firmware
76 | fi
77 | continue
78 | fi
79 |
80 | #echo "${firmware+@}/${blank+@} ${line}" 1>&2
81 | echo "${line}"
82 | done <"${status}"
83 |
84 | #echo "#${firmware+@}/${blank+@} EOF" 1>&2
85 | if ! [[ "${blank+@}" || "${firmware+@}" ]]; then
86 | echo
87 | fi
88 | # }}}
89 |
90 | if [[ ${cpu} == arm ]]; then
91 | pseudo "firmware" "${version}" "almost impressive Apple frameworks" "iOS Firmware"
92 |
93 | while [[ 1 ]]; do
94 | gssc=$(gssc 2>&1)
95 | if [[ ${gssc} != *'(null)'* ]]; then
96 | break
97 | fi
98 | sleep 1
99 | done
100 |
101 | echo "${gssc}" | sed -re '
102 | /^ [^ ]* = [0-9.]*;$/ ! d;
103 | s/^ ([^ ]*) = ([0-9.]*);$/\1 \2/;
104 | s/([A-Z])/-\L\1/g; s/^"([^ ]*)"/\1/;
105 | s/^-//;
106 | / 0$/ d;
107 | ' | while read -r name value; do case "${name}" in
108 | (ipad) for name in ipad wildcat; do
109 | pseudo "gsc.${name}" "${value}" "this device has a very large screen" "iPad"
110 | done;;
111 |
112 | (*)
113 | pseudo "gsc.${name}" "${value}" "virtual GraphicsServices dependency"
114 | ;;
115 | esac; done
116 | fi
117 |
118 | if [[ ${cpu} == arm ]]; then
119 | os=ios
120 | else
121 | os=macosx
122 | fi
123 |
124 | pseudo "cy+os.${os}" "${version}" "virtual operating system dependency"
125 | pseudo "cy+cpu.${cpu}" "0" "virtual CPU dependency"
126 |
127 | name=${model%%*([0-9]),*([0-9])}
128 | version=${model#${name}}
129 | name=$(lower <<<${name})
130 | version=${version/,/.}
131 | pseudo "cy+model.${name}" "${version}" "virtual model dependency"
132 |
133 | pseudo "cy+kernel.$(lower <<<$(sysctl -n kern.ostype))" "$(sysctl -n kern.osrelease)" "virtual kernel dependency"
134 |
135 | pseudo "cy+lib.corefoundation" "$(/usr/libexec/cydia/cfversion)" "virtual corefoundation dependency"
136 |
137 | } >"${status}"_
138 |
139 | mv -f "${status}"{_,}
140 |
141 | if [[ ${cpu} == arm ]]; then
142 | if [[ ! -h /User && -d /User ]]; then
143 | cp -afT /User /var/mobile
144 | fi && rm -rf /User && ln -s "/var/mobile" /User
145 |
146 | echo 6 >/var/lib/cydia/firmware.ver
147 | fi
148 |
--------------------------------------------------------------------------------
/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/lib/pam \
11 | /usr/libexec \
12 | /usr/share \
13 | ; do
14 | . /usr/libexec/cydia/move.sh "$@" "${dir}"
15 | done
16 |
17 | sync
18 |
--------------------------------------------------------------------------------
/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 | mkdir -p /var/stash
24 | dst=$(mktemp -d /var/stash/"${src##*/}".XXXXXX)
25 |
26 | if [[ -e ${src} ]]; then
27 | chmod --reference="${src}" "${dst}"
28 | chown --reference="${src}" "${dst}"
29 |
30 | cp -aT $v "${src}" "${dst}" || {
31 | rm -rf "${dst}"
32 | exit 1
33 | }
34 |
35 | rm -rf $v "${src}"
36 | else
37 | chmod 775 "${dst}"
38 | chown root.admin "${dst}"
39 | fi
40 |
41 | ln -s "${dst}" "${src}"
42 | }
43 |
44 | function shift_() {
45 | dir=${1%/}
46 |
47 | if [[ -d ${dir} && ! -h ${dir} ]]; then
48 | used=$(/usr/libexec/cydia/du -bs "${dir}")
49 | used=${used%%$'\t'*}
50 | free=$(df_ /var)
51 |
52 | if [[ $((used + 524288)) -lt ${free} ]]; then
53 | mv_ "${dir}"
54 | fi
55 | elif [[ ! -e ${dir} ]]; then
56 | rm -f "${dir}"
57 | mv_ "${dir}"
58 | fi
59 | }
60 |
61 | shift_ "$@"
62 |
--------------------------------------------------------------------------------
/Library/space.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | for dir in \
4 | /Applications \
5 | /Library/Ringtones \
6 | /Library/Wallpaper \
7 | /System/Library/Fonts \
8 | /System/Library/TextInput \
9 | /usr/share
10 | do
11 | . /usr/libexec/cydia/move.sh "$@" "${dir}"
12 | done
13 |
--------------------------------------------------------------------------------
/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/Menes.h:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #ifndef Menes_Menes_H
41 | #define Menes_Menes_H
42 |
43 | #include "Menes/ObjectHandle.h"
44 |
45 | #include "Menes/invocationWithSelector.h"
46 | #include "Menes/radixSortWithSelector.h"
47 | #include "Menes/yieldToSelector.h"
48 |
49 | #endif//Menes_Menes_H
50 |
--------------------------------------------------------------------------------
/Menes/ObjectHandle.h:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #ifndef Menes_ObjectHandle_H
41 | #define Menes_ObjectHandle_H
42 |
43 | #include "CyteKit/UCPlatform.h"
44 |
45 | #include
46 | #include
47 |
48 | template
49 | struct MenesObjectHandle_;
50 |
51 | template
52 | struct MenesObjectHandle_ {
53 | static _finline void Execute(Type_ *value) {
54 | }
55 | };
56 |
57 | template
58 | struct MenesObjectHandle_ {
59 | static _finline void Execute(Type_ *value) {
60 | [value setDelegate:nil];
61 | }
62 | };
63 |
64 | template
65 | struct MenesObjectHandle_ {
66 | static _finline void Execute(Type_ *value) {
67 | [value setDelegate:nil];
68 | [value setDataSource:nil];
69 | }
70 | };
71 |
72 | template
73 | class MenesObjectHandle {
74 | private:
75 | Type_ *value_;
76 |
77 | _finline void Retain_() {
78 | if (value_ != nil)
79 | CFRetain((CFTypeRef) value_);
80 | }
81 |
82 | _finline void Release_(Type_ *value) {
83 | if (value != nil) {
84 | MenesObjectHandle_::Execute(value);
85 | CFRelease((CFTypeRef) value);
86 | }
87 | }
88 |
89 | public:
90 | _finline MenesObjectHandle(const MenesObjectHandle &rhs) :
91 | value_(rhs.value_ == nil ? nil : (Type_ *) CFRetain((CFTypeRef) rhs.value_))
92 | {
93 | }
94 |
95 | _finline MenesObjectHandle(Type_ *value = NULL, bool mended = false) :
96 | value_(value)
97 | {
98 | if (!mended)
99 | Retain_();
100 | }
101 |
102 | _finline ~MenesObjectHandle() {
103 | Release_(value_);
104 | }
105 |
106 | _finline operator Type_ *() const {
107 | return value_;
108 | }
109 |
110 | _finline Type_ *operator ->() const {
111 | return value_;
112 | }
113 |
114 | _finline MenesObjectHandle &operator =(Type_ *value) {
115 | if (value_ != value) {
116 | Type_ *old(value_);
117 | value_ = value;
118 | Retain_();
119 | Release_(old);
120 | } return *this;
121 | }
122 |
123 | _finline MenesObjectHandle &operator =(const MenesObjectHandle &value) {
124 | return this->operator =(value.operator Type_ *());
125 | }
126 | };
127 |
128 | #define _H MenesObjectHandle
129 |
130 | #define rproperty_(Class, field) \
131 | - (typeof(((Class*)nil)->_##field.operator->())) field { \
132 | return _##field; \
133 | }
134 |
135 | #define wproperty_(Class, field, Field) \
136 | - (void) set##Field:(typeof(((Class*)nil)->_##field.operator->()))field { \
137 | _##field = field; \
138 | }
139 |
140 | #define roproperty(Class, field) \
141 | @implementation Class (Menes_##field) \
142 | rproperty_(Class, field) \
143 | @end
144 |
145 | #define rwproperty(Class, field, Field) \
146 | @implementation Class (Menes_##field) \
147 | rproperty_(Class, field) \
148 | wproperty_(Class, field, Field) \
149 | @end
150 |
151 | #endif//Menes_ObjectHandle_H
152 |
--------------------------------------------------------------------------------
/Menes/invocationWithSelector.h:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #ifndef Menes_invocationWithSelector_H
41 | #define Menes_invocationWithSelector_H
42 |
43 | #include
44 |
45 | @interface NSInvocation (MenesInvocationWithSelector)
46 | + (NSInvocation *) invocationWithSelector:(SEL)selector forTarget:(id)target;
47 | @end
48 |
49 | #endif//Menes_invocationWithSelector_H
50 |
--------------------------------------------------------------------------------
/Menes/invocationWithSelector.mm:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #include "Menes/invocationWithSelector.h"
41 |
42 | @implementation NSInvocation (MenesInvocationWithSelector)
43 |
44 | + (NSInvocation *) invocationWithSelector:(SEL)selector forTarget:(id)target {
45 | NSInvocation *invocation([NSInvocation invocationWithMethodSignature:[target methodSignatureForSelector:selector]]);
46 | [invocation setTarget:target];
47 | [invocation setSelector:selector];
48 | return invocation;
49 | }
50 |
51 | @end
52 |
--------------------------------------------------------------------------------
/Menes/radixSortWithSelector.h:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #ifndef Menes_radixSort_H
41 | #define Menes_radixSort_H
42 |
43 | #include
44 |
45 | typedef uint32_t (*MenesRadixSortFunction)(id, void *);
46 |
47 | @interface NSMutableArray (MenesRadixSortWithSelector)
48 | - (void) radixSortUsingFunction:(MenesRadixSortFunction)function withContext:(void *)argument;
49 | - (void) radixSortUsingSelector:(SEL)selector;
50 | @end
51 |
52 | #endif//Menes_radixSort_H
53 |
--------------------------------------------------------------------------------
/Menes/radixSortWithSelector.mm:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #include "CyteKit/UCPlatform.h"
41 |
42 | #include "Menes/radixSortWithSelector.h"
43 |
44 | #include
45 |
46 | struct RadixItem_ {
47 | size_t index;
48 | uint32_t key;
49 | };
50 |
51 | @implementation NSMutableArray (MenesRadixSortWithSelector)
52 |
53 | - (void) radixSortUsingFunction:(MenesRadixSortFunction)function withContext:(void *)argument {
54 | size_t count([self count]);
55 | struct RadixItem_ *swap(new RadixItem_[count * 2]);
56 |
57 | for (size_t i(0); i != count; ++i) {
58 | RadixItem_ &item(swap[i]);
59 | item.index = i;
60 |
61 | id object([self objectAtIndex:i]);
62 | item.key = function(object, argument);
63 | }
64 |
65 | struct RadixItem_ *lhs(swap), *rhs(swap + count);
66 |
67 | static const size_t width = 32;
68 | static const size_t bits = 11;
69 | static const size_t slots = 1 << bits;
70 | static const size_t passes = (width + (bits - 1)) / bits;
71 |
72 | size_t *hist(new size_t[slots]);
73 |
74 | for (size_t pass(0); pass != passes; ++pass) {
75 | memset(hist, 0, sizeof(size_t) * slots);
76 |
77 | for (size_t i(0); i != count; ++i) {
78 | uint32_t key(lhs[i].key);
79 | key >>= pass * bits;
80 | key &= _not(uint32_t) >> width - bits;
81 | ++hist[key];
82 | }
83 |
84 | size_t offset(0);
85 | for (size_t i(0); i != slots; ++i) {
86 | size_t local(offset);
87 | offset += hist[i];
88 | hist[i] = local;
89 | }
90 |
91 | for (size_t i(0); i != count; ++i) {
92 | uint32_t key(lhs[i].key);
93 | key >>= pass * bits;
94 | key &= _not(uint32_t) >> width - bits;
95 | rhs[hist[key]++] = lhs[i];
96 | }
97 |
98 | RadixItem_ *tmp(lhs);
99 | lhs = rhs;
100 | rhs = tmp;
101 | }
102 |
103 | delete [] hist;
104 |
105 | const void **values(new const void *[count]);
106 | for (size_t i(0); i != count; ++i)
107 | values[i] = [self objectAtIndex:lhs[i].index];
108 | CFArrayReplaceValues((CFMutableArrayRef) self, CFRangeMake(0, count), values, count);
109 | delete [] values;
110 |
111 | delete [] swap;
112 | }
113 |
114 | - (void) radixSortUsingSelector:(SEL)selector {
115 | if ([self count] == 0)
116 | return;
117 |
118 | IMP imp(class_getMethodImplementation([[self lastObject] class], selector));
119 | [self radixSortUsingFunction:reinterpret_cast(imp) withContext:selector];
120 | }
121 |
122 | @end
123 |
--------------------------------------------------------------------------------
/Menes/yieldToSelector.h:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #ifndef Menes_yieldToSelector_H
41 | #define Menes_yieldToSelector_H
42 |
43 | #include
44 |
45 | @interface NSObject (MenesYieldToSelector)
46 | - (id) yieldToSelector:(SEL)selector withObject:(id)object;
47 | - (id) yieldToSelector:(SEL)selector;
48 | @end
49 |
50 | #endif//Menes_yieldToSelector_H
51 |
--------------------------------------------------------------------------------
/Menes/yieldToSelector.mm:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #include "Menes/yieldToSelector.h"
41 |
42 | @implementation NSObject (MenesYieldToSelector)
43 |
44 | - (void) doNothing {
45 | }
46 |
47 | - (void) _yieldToContext:(NSMutableArray *)context {
48 | NSAutoreleasePool *pool([[NSAutoreleasePool alloc] init]);
49 |
50 | SEL selector(reinterpret_cast([[context objectAtIndex:0] pointerValue]));
51 | id object([[context objectAtIndex:1] nonretainedObjectValue]);
52 | volatile bool &stopped(*reinterpret_cast([[context objectAtIndex:2] pointerValue]));
53 |
54 | /* XXX: deal with exceptions */
55 | id value([self performSelector:selector withObject:object]);
56 |
57 | NSMethodSignature *signature([self methodSignatureForSelector:selector]);
58 | [context removeAllObjects];
59 | if ([signature methodReturnLength] != 0 && value != nil)
60 | [context addObject:value];
61 |
62 | stopped = true;
63 |
64 | [self
65 | performSelectorOnMainThread:@selector(doNothing)
66 | withObject:nil
67 | waitUntilDone:NO
68 | ];
69 |
70 | [pool release];
71 | }
72 |
73 | - (id) yieldToSelector:(SEL)selector withObject:(id)object {
74 | volatile bool stopped(false);
75 |
76 | NSMutableArray *context([NSMutableArray arrayWithObjects:
77 | [NSValue valueWithPointer:selector],
78 | [NSValue valueWithNonretainedObject:object],
79 | [NSValue valueWithPointer:const_cast(&stopped)],
80 | nil]);
81 |
82 | NSThread *thread([[[NSThread alloc]
83 | initWithTarget:self
84 | selector:@selector(_yieldToContext:)
85 | object:context
86 | ] autorelease]);
87 |
88 | [thread start];
89 |
90 | NSRunLoop *loop([NSRunLoop currentRunLoop]);
91 | NSDate *future([NSDate distantFuture]);
92 | NSString *mode([loop currentMode] ?: NSDefaultRunLoopMode);
93 |
94 | while (!stopped && [loop runMode:mode beforeDate:future]);
95 |
96 | return [context count] == 0 ? nil : [context objectAtIndex:0];
97 | }
98 |
99 | - (id) yieldToSelector:(SEL)selector {
100 | return [self yieldToSelector:selector withObject:nil];
101 | }
102 |
103 | @end
104 |
--------------------------------------------------------------------------------
/MobileCydia.app/Cydia:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | C=/${0}
3 | C=${C%/*}
4 | declare -a flags
5 | [[ :${DYLD_INSERT_LIBRARIES}: == */MobileSubstrate.dylib: ]] && flags[${#flags[@]}]=--substrate
6 | exec "${C:-.}"/MobileCydia "${flags[@]}" -- "$@" 2>>/tmp/cydia.log
7 |
--------------------------------------------------------------------------------
/MobileCydia.app/Default-Landscape.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Default-Landscape.png
--------------------------------------------------------------------------------
/MobileCydia.app/Default-Portrait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Default-Portrait.png
--------------------------------------------------------------------------------
/MobileCydia.app/Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Default.png
--------------------------------------------------------------------------------
/MobileCydia.app/Default@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Default@2x.png
--------------------------------------------------------------------------------
/MobileCydia.app/English.lproj/Sections_.strings:
--------------------------------------------------------------------------------
1 | "Administration" = "";
2 | "App Addons" = "";
3 | "Archiving" = "";
4 | "Battery" = "";
5 | "Carrier Bundles" = "";
6 | "Carriers" = "";
7 | "Complete" = "";
8 | "Data Storage" = "";
9 | "Development" = "";
10 | "Dialer" = "";
11 | "Dictionaries" = "";
12 | "Dock" = "";
13 | "eBooks" = "";
14 | "Education" = "";
15 | "Emulation" = "";
16 | "Entertainment" = "";
17 | "Games" = "";
18 | "Icy" = "";
19 | "Java" = "";
20 | "Keyboards" = "";
21 | "Localization" = "";
22 | "LockScreen" = "";
23 | "Messaging" = "";
24 | "Multimedia" = "";
25 | "Networking" = "";
26 | "Notifications" = "";
27 | "Packaging" = "";
28 | "Productivity" = "";
29 | "Repositories" = "";
30 | "Ringtones" = "";
31 | "Scripting" = "";
32 | "Security" = "";
33 | "Sliders" = "";
34 | "SMS" = "";
35 | "System" = "";
36 | "Terminal Support" = "";
37 | "Text Editors" = "";
38 | "Themes" = "";
39 | "Toys" = "";
40 | "Tweaks" = "";
41 | "Utilities" = "";
42 | "Wallpaper" = "";
43 | "Weather" = "";
44 | "WebClips" = "";
45 | "Widgets" = "";
46 |
--------------------------------------------------------------------------------
/MobileCydia.app/French.lproj/Sections.strings:
--------------------------------------------------------------------------------
1 | "Administration" = "Administration";
2 | "App Addons" = "Ajouts aux applications";
3 | "Archiving" = "Archivage";
4 | "Battery" = "Batterie";
5 | "Carrier Bundles" = "Opérateurs";
6 | "Carriers" = "Opérateurs";
7 | "Complete" = "Terminé";
8 | "Data Storage" = "Archivage de données";
9 | "Development" = "Développement";
10 | "Dialer" = "Numéroteur";
11 | "Dictionaries" = "Dictionnaires";
12 | "Dock" = "Dock";
13 | "eBooks" = "eLivres";
14 | "Education" = "Éducation";
15 | "Emulation" = "Émulation";
16 | "Entertainment" = "Divertissement";
17 | "Games" = "Jeux";
18 | "Icy" = "Icy";
19 | "Java" = "Java";
20 | "Keyboards" = "Claviers";
21 | "Localization" = "Localisation";
22 | "LockScreen" = "Écran de verrouillage";
23 | "Messaging" = "Messagerie";
24 | "Multimedia" = "Multimédia";
25 | "Networking" = "Réseau";
26 | "Notifications" = "Notifications";
27 | "Packaging" = "Enpaquetage";
28 | "Productivity" = "Productivité";
29 | "Repositories" = "Sources";
30 | "Ringtones" = "Sonneries";
31 | "Scripting" = "Scripts";
32 | "Security" = "Sécurité";
33 | "Sliders" = "Sliders";
34 | "SMS" = "SMS";
35 | "System" = "Système";
36 | "Terminal Support" = "Aide au terminal";
37 | "Text Editors" = "Éditeurs de texte";
38 | "Themes" = "Thèmes";
39 | "Toys" = "Jouets";
40 | "Tweaks" = "Modifications";
41 | "Utilities" = "Utilitaires";
42 | "Wallpaper" = "Fonds d'écran";
43 | "Weather" = "Météo";
44 | "WebClips" = "WebClips";
45 | "Widgets" = "Widgets";
46 |
--------------------------------------------------------------------------------
/MobileCydia.app/German.lproj/Sections.strings:
--------------------------------------------------------------------------------
1 | "Addons" = "Erweiterungen";
2 | "Administration" = "Verwaltung";
3 | "Adult" = "Ab 18";
4 | "App Addons" = "Programm-Erweiterugen";
5 | "Archiving" = "Archivierung";
6 | "Battery" = "Batterie";
7 | "Carrier Bundles" = "Telefongesellschaft-Pakete";
8 | "Carriers" = "Telefongesellschaften";
9 | "Complete" = "Vollständig";
10 | "Data Storage" = "Speicherplatzverwaltung";
11 | "Development" = "Entwicklung";
12 | "Dialer" = "Wählhilfen";
13 | "Dictionaries" = "Wörterbücher";
14 | "Dock" = "Dock";
15 | "eBooks" = "eBooks";
16 | "Education" = "Bildung";
17 | "Emulation" = "Emulation";
18 | "Entertainment" = "Unterhaltung";
19 | "Games" = "Spiele";
20 | "Icy" = "Icy";
21 | "Java" = "Java";
22 | "Keyboards" = "Tastaturen";
23 | "Localization" = "Lokalisierung";
24 | "LockScreen" = "Lockscreen";
25 | "Messaging" = "Nachrichtendienste";
26 | "Multimedia" = "Multimedia";
27 | "Networking" = "Netzwerk";
28 | "Notifications" = "Mitteilugen";
29 | "Packaging" = "Paketverwaltung";
30 | "Productivity" = "Produktivität / Kreativität";
31 | "Repositories" = "Quellen";
32 | "Ringtones" = "Klingeltöne";
33 | "Scripting" = "Skriptsprachen";
34 | "Security" = "Sicherheit";
35 | "Sliders" = "Slider";
36 | "SMS" = "SMS";
37 | "Social" = "Soziale Netze";
38 | "System" = "System";
39 | "Terminal Support" = "Konsolen-Support";
40 | "Text Editors" = "Texteditoren";
41 | "Themes" = "Themes";
42 | "Toys" = "Spielereien";
43 | "Tweaks" = "Tweaks / Tuning";
44 | "Utilities" = "Dienstprogramme";
45 | "Videos" = "Videos";
46 | "Wallpaper" = "Hintergrundbilder";
47 | "Weather" = "Wetter";
48 | "WebClips" = "Web-Schnipsel";
49 | "Widgets" = "Widgets";
50 |
--------------------------------------------------------------------------------
/MobileCydia.app/Icon-Small-50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Icon-Small-50.png
--------------------------------------------------------------------------------
/MobileCydia.app/Icon-Small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Icon-Small.png
--------------------------------------------------------------------------------
/MobileCydia.app/Icon-Small@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Icon-Small@2x.png
--------------------------------------------------------------------------------
/MobileCydia.app/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | CFBundleDevelopmentRegion
7 | en
8 |
9 | CFBundleExecutable
10 | Cydia
11 |
12 | CFBundleIdentifier
13 | com.saurik.Cydia
14 |
15 | CFBundleInfoDictionaryVersion
16 | 6.0
17 |
18 | CFBundleName
19 | Cydia
20 |
21 | CFBundlePackageType
22 | APPL
23 |
24 | CFBundleShortVersionString
25 | 0.9
26 |
27 | CFBundleSignature
28 | ????
29 |
30 | CFBundleVersion
31 | 0.9
32 |
33 | SBUsesNetwork
34 | 11
35 |
36 | CFBundleURLTypes
37 |
38 |
39 | CFBundleURLName
40 | Cydia Internal URL
41 | CFBundleURLSchemes
42 |
43 | cydia
44 |
45 |
46 |
47 |
48 | DTSDKName
49 | iphoneos2.0.saurik
50 |
51 | MinimumOSVersion
52 | 2.0
53 |
54 | UIDeviceFamily
55 |
56 | 1
57 | 2
58 |
59 |
60 | UISupportedInterfaceOrientations
61 |
62 | UIInterfaceOrientationPortrait
63 |
64 |
65 | UISupportedInterfaceOrientations~ipad
66 |
67 | UIInterfaceOrientationPortrait
68 | UIInterfaceOrientationPortraitUpsideDown
69 | UIInterfaceOrientationLandscapeLeft
70 | UIInterfaceOrientationLandscapeRight
71 |
72 |
73 | CFBundleIconFile
74 | iconClassic.png
75 |
76 | CFBundleIconFiles
77 |
78 | icon.png
79 | icon-72.png
80 | icon@2x.png
81 | Icon-Small.png
82 | Icon-Small-50.png
83 | Icon-Small@2x.png
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
102 |
103 | UIApplicationExitsOnSuspend
104 |
105 |
106 |
107 |
108 |
--------------------------------------------------------------------------------
/MobileCydia.app/Purposes/commercial.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Purposes/commercial.png
--------------------------------------------------------------------------------
/MobileCydia.app/Purposes/console.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Purposes/console.png
--------------------------------------------------------------------------------
/MobileCydia.app/Purposes/daemon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Purposes/daemon.png
--------------------------------------------------------------------------------
/MobileCydia.app/Purposes/extension.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Purposes/extension.png
--------------------------------------------------------------------------------
/MobileCydia.app/Purposes/library.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Purposes/library.png
--------------------------------------------------------------------------------
/MobileCydia.app/Purposes/uikit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Purposes/uikit.png
--------------------------------------------------------------------------------
/MobileCydia.app/Purposes/x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/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 | Themes (Springboard)
13 | Themes (SpringBoard)
14 |
15 | Themes (SummerBoard)
16 | Themes (SpringBoard)
17 |
18 | Themes (Systen)
19 | Themes (System)
20 |
21 | Intelliborn
22 | Utilities
23 |
24 | SMS
25 | Messaging
26 |
27 | CarrierBundle
28 | Carrier Bundles
29 |
30 | Messages
31 | Messaging
32 |
33 | Themes (Locksceen)
34 | Themes (LockScreen)
35 |
36 | Themes (Lockscree)
37 | Themes (LockScreen)
38 |
39 | Themes (Losckscreen)
40 | Themes (LockScreen)
41 |
42 | Themes (Video)
43 | Themes (Apps)
44 |
45 | Utilites
46 | Utilities
47 |
48 | Themes (Lockscreen)
49 | Themes (LockScreen)
50 |
51 | Themes (Complet)
52 | Themes (Complete)
53 |
54 | Themes (Widgets)
55 | Themes (Addons)
56 |
57 | Wallpapers
58 | Wallpaper
59 |
60 | Messageing
61 | Messaging
62 |
63 | Network
64 | Networking
65 |
66 | Ringtone
67 | Ringtones
68 |
69 | Tweak
70 | Tweaks
71 |
72 | Tweaks 2.0
73 | Tweaks
74 |
75 | Tweaks 2.1
76 | Tweaks
77 |
78 | Tweaks 2.2
79 | Tweaks
80 |
81 | Tweaks 3.0
82 | Tweaks
83 |
84 | SBSettings Addons
85 | Addons (SBSettings)
86 |
87 | LockInfo Addons
88 | Addons (LockInfo)
89 |
90 | App Addons
91 | Addons
92 |
93 | App Addons (Iconoclasm)
94 | Addons (Iconoclasm)
95 |
96 | App Addons (OpenNotifier)
97 | Addons (OpenNotifier)
98 |
99 | BossPaper Addons
100 | Addons (BossPaper)
101 |
102 | Lockinfo Addons
103 | Addons (LockInfo)
104 |
105 | Dictionaries (Hunspell)
106 | Dictionaries
107 |
108 | Addons (Bootlogo)
109 | Addons (BootLogo)
110 |
111 | Addons (BootLogos)
112 | Addons (BootLogo)
113 |
114 | Addons (BootLogo
115 | Addons (BootLogo)
116 |
117 | eBooks
118 | Books
119 |
120 | Themes (WinterBoard)
121 | Themes
122 |
123 | Themes (Weather)
124 | Themes (Apps)
125 |
126 | Themes (Videos)
127 | Themes (Apps)
128 |
129 | Themes (SMS)
130 | Themes (Apps)
131 |
132 | Themes (iPad)
133 | Themes
134 |
135 | Themes (Dock)
136 | Themes (SpringBoard)
137 |
138 | Themes (Icy)
139 | Themes (Apps)
140 |
141 | Themes (Dialer)
142 | Themes (Apps)
143 |
144 | Themes (Battery)
145 | Themes (LockScreen)
146 |
147 | Themes (SYSTEM)
148 | Themes (System)
149 |
150 | WebApps
151 | Site-Specific Apps
152 |
153 | FontSwap
154 | Addons (FontSwap)
155 |
156 | Cydgets (Lock)
157 | Addons (Cydget)
158 |
159 | Themes (App Addons)
160 | Themes (Addons)
161 |
162 |
163 |
164 |
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Addons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Addons.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Administration.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Administration.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Archiving.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Archiving.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Blanks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Blanks.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Books.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Books.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Carrier_Bundles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Carrier_Bundles.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Communication.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Communication.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Data_Storage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Data_Storage.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Development.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Development.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Dictionaries.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Dictionaries.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Education.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Education.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Entertainment.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Entertainment.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Fonts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Fonts.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Games.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Games.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Health_and_Fitness.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Health_and_Fitness.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Imaging.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Imaging.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Java.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Java.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Keyboards.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Keyboards.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Localization.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Localization.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Messaging.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Messaging.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Multimedia.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Multimedia.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Navigation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Navigation.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Networking.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Networking.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Packaging.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Packaging.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Productivity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Productivity.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Repositories.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Repositories.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Ringtones.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Ringtones.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Scripting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Scripting.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Security.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Security.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Site-Specific_Apps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Site-Specific_Apps.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Social.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Social.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Soundboards.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Soundboards.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/System.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/System.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Terminal_Support.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Terminal_Support.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Text_Editors.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Text_Editors.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Themes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Themes.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Toys.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Toys.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Tweaks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Tweaks.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Utilities.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Utilities.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Wallpaper.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Wallpaper.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/WebClips.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/WebClips.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/Widgets.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/Widgets.png
--------------------------------------------------------------------------------
/MobileCydia.app/Sections/X_Window.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/Sections/X_Window.png
--------------------------------------------------------------------------------
/MobileCydia.app/changes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/changes.png
--------------------------------------------------------------------------------
/MobileCydia.app/changes@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/changes@2x.png
--------------------------------------------------------------------------------
/MobileCydia.app/chevron@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/chevron@2x.png
--------------------------------------------------------------------------------
/MobileCydia.app/compose.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/compose.png
--------------------------------------------------------------------------------
/MobileCydia.app/configure.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/configure.png
--------------------------------------------------------------------------------
/MobileCydia.app/el.lproj/Sections.strings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Addons
6 | Προσθήκες
7 | Administration
8 | Διαχείριση
9 | App Addons
10 | Προσθήκες εφαρμογών
11 | Archiving
12 | Συμπίεση
13 | Battery
14 | Μπαταρία
15 | Books
16 | Βιβλία
17 | Carrier Bundles
18 | Πακέτα Παρόχων
19 | Carriers
20 | Πάροχοι
21 | Complete
22 | Ολοκληρωμένα
23 | Data Storage
24 | Αποθήκευση δεδομένων
25 | Development
26 | Ανάπτυξη εφαρμογών
27 | Dialer
28 | Dialer
29 | Dictionaries
30 | Λεξικά
31 | Dock
32 | Dock
33 | Education
34 | Εκπαίδευση
35 | Emulation
36 | Εξομοίωση
37 | Entertainment
38 | Διασκέδαση
39 | Fonts
40 | Γραμματοσειρές
41 | Games
42 | Παιχνίδια
43 | Icy
44 | Icy
45 | Java
46 | Java
47 | Keyboards
48 | Πληκτρολόγια
49 | Localization
50 | Τοπικές ρυθμίσεις
51 | LockScreen
52 | Οθόνη Κλειδώματος
53 | Messaging
54 | Μηνύματα
55 | Multimedia
56 | Πολυμέσα
57 | Navigation
58 | Πλοήγηση
59 | Networking
60 | Δικτύωση
61 | Notifications
62 | Ειδοποιήσεις
63 | Packaging
64 | Packaging
65 | Productivity
66 | Δημιουργικότητα
67 | Repositories
68 | Repositories
69 | Ringtones
70 | Ήχοι κλήσης
71 | SMS
72 | SMS
73 | Scripting
74 | Scripting
75 | Security
76 | Ασφάλεια
77 | Sliders
78 | Sliders
79 | Social
80 | Κοινωνικά
81 | System
82 | Σύστημα
83 | Terminal Support
84 | Υποστήριξη Τερματικού
85 | Text Editors
86 | Επεξεργαστές Κειμένου
87 | Themes
88 | Θέματα
89 | Toys
90 | Παιχνιδάκια
91 | Tweaks
92 | Βελτιώσεις
93 | Utilities
94 | Εργαλεία
95 | Wallpaper
96 | Ταπετσαρία
97 | Weather
98 | Καιρός
99 | WebClips
100 | WebClips
101 | Widgets
102 | Widgets
103 | eBooks
104 | eBooks
105 |
106 |
107 |
--------------------------------------------------------------------------------
/MobileCydia.app/error.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
38 |
39 |
40 |
41 |
42 |
()
45 |
46 |
47 |
--------------------------------------------------------------------------------
/MobileCydia.app/folder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/folder.png
--------------------------------------------------------------------------------
/MobileCydia.app/folder@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/folder@2x.png
--------------------------------------------------------------------------------
/MobileCydia.app/home-Selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/home-Selected.png
--------------------------------------------------------------------------------
/MobileCydia.app/home-Selected@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/home-Selected@2x.png
--------------------------------------------------------------------------------
/MobileCydia.app/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/home.png
--------------------------------------------------------------------------------
/MobileCydia.app/home@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/home@2x.png
--------------------------------------------------------------------------------
/MobileCydia.app/icon-72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/icon-72.png
--------------------------------------------------------------------------------
/MobileCydia.app/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/icon.png
--------------------------------------------------------------------------------
/MobileCydia.app/icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/icon@2x.png
--------------------------------------------------------------------------------
/MobileCydia.app/iconClassic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/iconClassic.png
--------------------------------------------------------------------------------
/MobileCydia.app/install.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/install.png
--------------------------------------------------------------------------------
/MobileCydia.app/install@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/install@2x.png
--------------------------------------------------------------------------------
/MobileCydia.app/installed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/installed.png
--------------------------------------------------------------------------------
/MobileCydia.app/installed@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/installed@2x.png
--------------------------------------------------------------------------------
/MobileCydia.app/installing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/installing.png
--------------------------------------------------------------------------------
/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.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
69 |
100 |
--------------------------------------------------------------------------------
/MobileCydia.app/manage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/manage.png
--------------------------------------------------------------------------------
/MobileCydia.app/manage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/manage@2x.png
--------------------------------------------------------------------------------
/MobileCydia.app/packages.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/packages.png
--------------------------------------------------------------------------------
/MobileCydia.app/reload.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/reload.png
--------------------------------------------------------------------------------
/MobileCydia.app/removing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/removing.png
--------------------------------------------------------------------------------
/MobileCydia.app/search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/search.png
--------------------------------------------------------------------------------
/MobileCydia.app/search@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/search@2x.png
--------------------------------------------------------------------------------
/MobileCydia.app/source.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/source.png
--------------------------------------------------------------------------------
/MobileCydia.app/source@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/source@2x.png
--------------------------------------------------------------------------------
/MobileCydia.app/sources.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/sources.png
--------------------------------------------------------------------------------
/MobileCydia.app/storage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/storage.png
--------------------------------------------------------------------------------
/MobileCydia.app/unknown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/MobileCydia.app/unknown.png
--------------------------------------------------------------------------------
/MobileCydia.app/zh_CN.lproj/Localizable.strings:
--------------------------------------------------------------------------------
1 | "ABOUT" = "关于";
2 | "ABOUT_CYDIA" = "关于 Cydia Installer";
3 | "ACCEPT_NEW_COPY" = "接受新的副本";
4 | "ADD" = "添加";
5 | "ADD_ANYWAY" = "仍然添加";
6 | "ADD_SOURCE" = "添加源";
7 | "ADMINISTRATIVE_INFORMATION" = "管理信息";
8 | "ADVANCED_SEARCH" = "高级搜索";
9 | "ALL_PACKAGES" = "全部软件包";
10 | "APPLE" = "Apple";
11 | "AUTHOR" = "作者";
12 | "AVAILABLE_UPGRADES" = "可用更新";
13 | "BROWSER" = "浏览器";
14 | "BY" = "by: %@";
15 | "CANCEL" = "取消";
16 | "CANCEL_CLEAR" = "取消并清除";
17 | "CANCEL_OPERATION" = "取消操作";
18 | "CANNOT_COMPLY" = "无法执行";
19 | "CANNOT_COMPLY_EX" = "因所依赖的软件包未找到或存在冲突软件包,操作无法完成。";
20 | "CANNOT_LOCATE_PACKAGE" = "找不到软件包";
21 | "CHANGES" = "变更";
22 | "CHANGE_PACKAGE_SETTINGS" = "更改软件包设置";
23 | "CLEAN_ARCHIVES" = "清除存档";
24 | "CLEAR" = "清除";
25 | "CLOSE" = "关闭";
26 | "CLOSE_CYDIA" = "关闭 Cydia";
27 | "COLON_DELIMITED" = "%@:%@";
28 | "COMING_SOON" = "即将推出!";
29 | "COMMA_DELIMITED" = "%@,%@";
30 | "COMMERCIAL_APPLICATIONS" = "商业软件";
31 | "COMPLETE" = "完成";
32 | "COMPLETE_UPGRADE" = "全部更新";
33 | "CONFIGURATION_UPGRADE" = "更新设置";
34 | "CONFIGURATION_UPGRADE_EX" = "下列文件已被软件包维护者和您自己(或脚本)更改过。";
35 | "CONFIRM" = "确认";
36 | "CONSOLE_PACKAGE" = "命令行软件包";
37 | "CONSOLE_UTILITIES_DAEMONS" = "命令行工具及驻留进程";
38 | "CONTINUE_QUEUING" = "继续队列";
39 | "COUNTS_NONZERO_EX" = "我只不过计算了一些看起来很重要的数值,而且这些数值加起来不为零。这很吓人。我不知道我为什么不喜欢这样,但我仍然认为 APT 应该是很稳定的,这个不应该发生。";
40 | "CREDITS" = "软件信息";
41 | "CYDIA_STORE" = "Cydia 在线商店";
42 | "DATABASE" = "数据库";
43 | "DETAILS" = "详情";
44 | "DEVELOPER" = "开发者";
45 | "DEVELOPERS_ONLY" = "仅限开发者";
46 | "DEVELOPER_EX" = "所有内容,包括底层的内容。";
47 | "DISK_FREEING" = "磁盘空间释放";
48 | "DISK_USING" = "磁盘空间占用";
49 | "DONATE_USING" = "使用 %@ 捐赠";
50 | "DONE" = "完成";
51 | "DOUBLE_QUOTED" = "“%@”";
52 | "DOWNGRADE" = "降级";
53 | "DOWNLOADING" = "下载";
54 | "DOWNLOADING_" = "下载 %@";
55 | "EDIT" = "编辑";
56 | "ELISION" = "%@…";
57 | "ENTERED_BY_USER" = "由用户输入";
58 | "ENTER_APT_URL" = "输入 Cydia/APT 地址";
59 | "ERROR" = "错误";
60 | "ESSENTIAL_UPGRADE" = "必要更新";
61 | "ESSENTIAL_UPGRADES" = "%d 个必要更新";
62 | "ESSENTIAL_UPGRADE_EX" = "一个或多个必要软件包已过期,不更新有可能会导致系统错误。";
63 | "EXCLAMATION" = "%@!";
64 | "EXIT_WHEN_COMPLETE" = "(Cydia 会在完成后退出。)";
65 | "EXPANDED_SIZE" = "解包大小";
66 | "EXPERT" = "专业人士";
67 | "FAQ" = "常见问题";
68 | "FEATURED_PACKAGES" = "精选软件包";
69 | "FEATURED_THEMES" = "精选主题";
70 | "FILES" = "文件";
71 | "FILESYSTEM_CONTENT" = "文件系统";
72 | "FILES_INSTALLED_TO" = "文件安装到 %@";
73 | "FOLLOW_ON_TWITTER" = "在推特上收听 %@";
74 | "FORCE_REMOVAL" = "强制卸载";
75 | "FORCIBLY_CLEAR" = "强制清除";
76 | "FREE_APPLICATIONS" = "免费软件";
77 | "FREE_EXTENSIONS" = "免费扩展";
78 | "FREQUENTLY_ASKED_QUESTIONS" = "常见问题";
79 | "FROM" = "来自 %@";
80 | "FROWNY_PANTS" = "Frowny Pants";
81 | "FUTURE_FEATURE_ROADMAP" = "开发路线图";
82 | "HACKER" = "骇客";
83 | "HACKER_EX" = "添加命令行工具。";
84 | "HALFINSTALLED_PACKAGE" = "半安装软件包";
85 | "HALFINSTALLED_PACKAGES" = "%d 个半安装软件包";
86 | "HALFINSTALLED_PACKAGE_EX" = "若软件包的脚本执行失败,该软件包便会成为“半配置”或“半安装”状态。这些错误无法自行消失,并可能造成持续的影响。您可以先手动删除有错误的脚本,然后强制卸载软件包。";
87 | "HOME" = "主页";
88 | "ID" = "标识";
89 | "IGNORED_UPGRADES" = "已忽略的更新";
90 | "IGNORE_UPGRADES" = "忽略更新";
91 | "IGNORE_UPGRADES_EX" = "选择全部更新时排除此软件包。";
92 | "ILLEGAL_PACKAGE_IDENTIFIER" = "非法软件包标识";
93 | "INSTALL" = "安装";
94 | "INSTALLED" = "已安装";
95 | "INSTALLED_BY_PACKAGE" = "由软件包安装";
96 | "INSTALLED_DETAILS" = "已安装软件包";
97 | "INSTALLED_FILES" = "已安装文件";
98 | "KEEP_OLD_COPY" = "保留旧的副本";
99 | "LOADING" = "载入中";
100 | "LOADING_DATA" = "加载数据";
101 | "LOCAL" = "本地";
102 | "LOGIN" = "登入";
103 | "MAILING_LISTS" = "邮件列表";
104 | "MAINTAINER" = "联系";
105 | "MANAGE" = "管理";
106 | "MODIFICATIONS" = "更改";
107 | "MODIFY" = "更改";
108 | "MORE_INFORMATION" = "更多信息";
109 | "MORE_PACKAGE_SOURCES" = "更多软件源";
110 | "NAME" = "名称";
111 | "NETWORK_ERROR" = "网络错误";
112 | "NEVER_OR_UNKNOWN" = "从不或未知";
113 | "NEW" = "新的";
114 | "NEW_AT" = "在 %@ 更新";
115 | "NEW_INSTALL" = "新安装";
116 | "NO" = "否";
117 | "NOTE" = "记录";
118 | "NOT_RATED" = "未评级";
119 | "NOT_REPOSITORY" = "未找到软件源";
120 | "NOT_REPOSITORY_EX" = "软件源未找到。可能是因为您添加的是 Cydia 不支持的 Installer 软件源。并且,此界面仅适用于完整的软件源网络地址。如果您自己搭建了一个软件源,欢迎联系 Cydia 的作者。";
121 | "NO_SECTION" = "(无分类)";
122 | "OK" = "确定";
123 | "OKAY" = "确定";
124 | "PACKAGES" = "软件包";
125 | "PACKAGES_EX" = "查看已安装软件包信息或管理已安装的软件包。";
126 | "PACKAGE_CANNOT_BE_FOUND" = "在当前软件源中无法找到软件包:\n%@\n添加更多软件源或许能够解决此问题。";
127 | "PACKAGE_CANNOT_BE_FOUND_EX" = "该问题亦可能由其它因素引起。最常见的情况是您的软件包目录已过期。请点击“变更”中的“刷新”按钮以手动刷新目录。该软件包也许不存在。也有可能是您使用的是较老的固件版本:用户应该尽量根据 Apple 官方信息保持固件的更新。";
128 | "PACKAGE_DAMAGED" = "软件包已损坏";
129 | "PACKAGE_DETAILS" = "软件包详情";
130 | "PACKAGE_QUEUE" = "软件包队列";
131 | "PARENTHETICAL" = "%@(%@)";
132 | "PASSWORD" = "密码";
133 | "PERFORM_SELECTIONS" = "执行选择";
134 | "PREPARE_ARCHIVES" = "准备存档";
135 | "PREPARING_FILESYSTEM" = "准备文件系统";
136 | "PRODUCTS" = "产品";
137 | "PURGE" = "清除";
138 | "QUESTION" = "%@?";
139 | "QUEUE" = "队列";
140 | "QUEUED_FOR" = "队列 %@";
141 | "Q_D" = "队列";
142 | "REBOOT_DEVICE" = "重启设备";
143 | "RECENT_CHANGES_UPDATES" = "最近更新";
144 | "RECOMMENDED_BOOKS" = "推荐书目";
145 | "REFRESH" = "刷新";
146 | "REFRESHING_DATA" = "刷新数据";
147 | "REINSTALL" = "重新安装";
148 | "RELOAD" = "重新加载";
149 | "RELOADING_DATA" = "重新加载数据";
150 | "RELOAD_SPRINGBOARD" = "重新加载 SpringBoard";
151 | "REMOVE" = "卸载";
152 | "REMOVING_ESSENTIALS" = "卸载必要软件包";
153 | "REMOVING_ESSENTIALS_EX" = "此操作涉及卸载一个或多个 Cydia 或 iPhoneOS 运行所必需的软件包。如果继续操作,您可能无法使用 Cydia 修复任何错误。";
154 | "REPAIRING" = "修复";
155 | "REPOSITORY_SIGNATURE" = "查看软件源签名";
156 | "REQUEST_ADVERTISING_SPACE" = "获取广告栏";
157 | "REQUIREMENTS_FOR_LISTING" = "列表需求";
158 | "RESTART_SPRINGBOARD" = "重启 SpringBoard";
159 | "RESUBMIT_FORM" = "您确定要再次提交此表格?";
160 | "RESUMING_AT" = "继续在";
161 | "RETURN_TO_CYDIA" = "回到 Cydia";
162 | "ROLE_EX" = "Cydia 中可下载的软件包并非为所有用户而设计,因此请明确自己的身份以帮助 Cydia 过滤显示某些软件包。\n\n该项设定可在“管理”标签(iPhone 或 iPod Touch)或“软件源”标签(iPad)中的“设置”更改。";
163 | "RUNNING" = "运行中";
164 | "SAFE" = "安全";
165 | "SAMPLE" = "示例";
166 | "SCREENSHOT" = "预览";
167 | "SCREENSHOTS" = "预览";
168 | "SEARCH" = "搜索";
169 | "SEARCH_EX" = "软件名或描述";
170 | "SEARCH_HELP" = "输入内容以过滤;点击“%@”开始搜索。";
171 | "SECTION" = "分类";
172 | "SECTIONS" = "分类";
173 | "SECTION_VISIBILITY" = "可见分类";
174 | "SEE_WHAT_CHANGED" = "查看更新详情";
175 | "SETTINGS" = "设置";
176 | "SHOW_ALL_CHANGES" = "显示所有变更";
177 | "SHOW_ALL_CHANGES_EX" = "Cydia 只会显示已安装软件包的更新,避免某些软件开发者的骚扰。\n\n启用此选项使 Cydia 显示未安装软件包的更新。";
178 | "SIGNED_PACKAGE" = "此软件包已通过验证。";
179 | "SIMPLE" = "简单";
180 | "SINGLE_QUOTED" = "‘%@’";
181 | "SLASH_DELIMITED" = "%@ / %@";
182 | "SOURCES" = "软件源";
183 | "SOURCES_EX" = "列出现有软件源或添加软件源。";
184 | "SOURCE_DETAILS" = "软件源信息";
185 | "SOURCE_WARNING" = "软件源警告";
186 | "SPONSOR" = "保证";
187 | "SPONSORING_PRODUCTS" = "保证产品";
188 | "STATISTICS" = "统计数据";
189 | "STILL_BROKEN_EX" = "尝试修正损坏选择失败。";
190 | "STORAGE" = "存储详情";
191 | "STORAGE_EX" = "查看您还有多少剩余空间可供安装新的软件包。";
192 | "SUBMIT" = "提交";
193 | "SUPPORT_KNOWN_ISSUES" = "支持与已知问题";
194 | "TEMPORARY_IGNORE" = "暂时忽略";
195 | "THANK_YOU" = "感谢";
196 | "UNABLE_TO_COMPLY" = "无法执行";
197 | "UNABLE_TO_COMPLY_EX" = "此操作涉及卸载一个或多个 Cydia 或 iPhoneOS 运行所必需的软件包。如果您确定要继续强制执行此操作,请在设置中打开高级模式。";
198 | "UNABLE_TO_LOAD" = "无法加载";
199 | "UNKNOWN" = "未知";
200 | "UNSAFE" = "不安全";
201 | "UPDATING_DATABASE" = "正在更新数据库";
202 | "UPDATING_SOURCES" = "正在更新软件源";
203 | "UPGRADE" = "更新";
204 | "UPGRADE_ESSENTIAL" = "只更新必要软件包";
205 | "UPGRADING_TO_READ_THIS" = "升级到 %@?先看看这个";
206 | "USER" = "用户";
207 | "USERNAME" = "用户名";
208 | "USER_EX" = "软件、工具和主题。";
209 | "USER_GUIDES" = "用户指南";
210 | "VERIFICATION_ERROR" = "验证错误";
211 | "VERIFYING_URL" = "正在验证地址";
212 | "VERSION" = "版本";
213 | "WARNING" = "警告";
214 | "WELCOME_TO_CYDIA" = "欢迎使用 Cydia™";
215 | "WHO_ARE_YOU" = "您的身份是?";
216 | "YES" = "是";
217 |
--------------------------------------------------------------------------------
/MobileCydia.app/zh_TW.lproj/Localizable.strings:
--------------------------------------------------------------------------------
1 | "ABOUT" = "關於";
2 | "ABOUT_CYDIA" = "關於 Cydia Installer";
3 | "ACCEPT_NEW_COPY" = "接受新的副本";
4 | "ADD" = "新增";
5 | "ADD_ANYWAY" = "仍然新增";
6 | "ADD_SOURCE" = "新增源";
7 | "ADMINISTRATIVE_INFORMATION" = "管理資訊";
8 | "ADVANCED_SEARCH" = "進階搜尋";
9 | "ALL_PACKAGES" = "所有套件";
10 | "APPLE" = "Apple";
11 | "AUTHOR" = "作者";
12 | "AVAILABLE_UPGRADES" = "可用更新";
13 | "BROWSER" = "流覽器";
14 | "BY" = "by %@";
15 | "CANCEL" = "取消";
16 | "CANCEL_CLEAR" = "取消並清除";
17 | "CANCEL_OPERATION" = "取消操作";
18 | "CANNOT_COMPLY" = "無法執行";
19 | "CANNOT_COMPLY_EX" = "因所依賴的套件未找到或存在衝突套件,操作無法完成。";
20 | "CANNOT_LOCATE_PACKAGE" = "找不到套件";
21 | "CHANGES" = "變更";
22 | "CHANGE_PACKAGE_SETTINGS" = "更改套件設定";
23 | "CLEAN_ARCHIVES" = "清除存檔";
24 | "CLEAR" = "清除";
25 | "CLOSE" = "關閉";
26 | "CLOSE_CYDIA" = "關閉 Cydia";
27 | "COLON_DELIMITED" = "%@:%@";
28 | "COMING_SOON" = "即將推出!";
29 | "COMMA_DELIMITED" = "%@,%@";
30 | "COMMERCIAL_APPLICATIONS" = "付費軟體";
31 | "COMPLETE" = "完成";
32 | "COMPLETE_UPGRADE" = "全部更新";
33 | "CONFIGURATION_UPGRADE" = "更新設定";
34 | "CONFIGURATION_UPGRADE_EX" = "下列檔案已被套件維護者和您自己(或安裝指令)更改過。";
35 | "CONFIRM" = "確認";
36 | "CONSOLE_PACKAGE" = "終端程式";
37 | "CONSOLE_UTILITIES_DAEMONS" = "終端工具及駐留進程";
38 | "CONTINUE_QUEUING" = "繼續安裝佇列";
39 | "COUNTS_NONZERO_EX" = "我只不過計算了一些看起來很重要的數值,而且這些數值加起來不為零。這很嚇人。我不知道我為什麼不喜歡這樣,但我仍然認為 APT 應該是很穩定的,這個不應該發生。";
40 | "CREDITS" = "軟體資訊";
41 | "CYDIA_STORE" = "Cydia 線上商店";
42 | "DATABASE" = "資料庫";
43 | "DETAILS" = "資訊";
44 | "DEVELOPER" = "開發者";
45 | "DEVELOPERS_ONLY" = "僅限開發者";
46 | "DEVELOPER_EX" = "所有內容,包括底層的內容。";
47 | "DISK_FREEING" = "磁碟空间释放";
48 | "DISK_USING" = "磁碟空間佔用";
49 | "DONATE_USING" = "使用 %@ 捐贈";
50 | "DONE" = "完成";
51 | "DOUBLE_QUOTED" = "“%@”";
52 | "DOWNGRADE" = "降級";
53 | "DOWNLOADING" = "下載";
54 | "DOWNLOADING_" = "下載 %@";
55 | "EDIT" = "編輯";
56 | "ELISION" = "%@…";
57 | "ENTERED_BY_USER" = "由使用者新增";
58 | "ENTER_APT_URL" = "輸入 Cydia/APT URL";
59 | "ERROR" = "錯誤";
60 | "ESSENTIAL_UPGRADE" = "必要更新";
61 | "ESSENTIAL_UPGRADES" = "%d 個必要更新";
62 | "ESSENTIAL_UPGRADE_EX" = "一個或多個必要套件已過期,不更新有可能會導致系統錯誤。";
63 | "EXCLAMATION" = "%@!";
64 | "EXIT_WHEN_COMPLETE" = "(Cydia 會在完成時退出。)";
65 | "EXPANDED_SIZE" = "安裝大小";
66 | "EXPERT" = "進階";
67 | "FAQ" = "常見問題";
68 | "FEATURED_PACKAGES" = "精選套件";
69 | "FEATURED_THEMES" = "精選佈景";
70 | "FILES" = "檔案";
71 | "FILESYSTEM_CONTENT" = "檔案內容";
72 | "FILES_INSTALLED_TO" = "檔案安裝到 %@";
73 | "FOLLOW_ON_TWITTER" = "在 Twitter 上收聽 %@";
74 | "FORCE_REMOVAL" = "強制移除";
75 | "FORCIBLY_CLEAR" = "強制清除";
76 | "FREE_APPLICATIONS" = "免費軟體";
77 | "FREE_EXTENSIONS" = "免費外掛";
78 | "FREQUENTLY_ASKED_QUESTIONS" = "常見問題";
79 | "FROM" = "來自 %@";
80 | "FROWNY_PANTS" = "Frowny Pants";
81 | "FUTURE_FEATURE_ROADMAP" = "開發路線圖";
82 | "HACKER" = "進階";
83 | "HACKER_EX" = "新增終端工具。";
84 | "HALFINSTALLED_PACKAGE" = "半安裝套件";
85 | "HALFINSTALLED_PACKAGES" = "%d 個半安裝套件";
86 | "HALFINSTALLED_PACKAGE_EX" = "若套件的安裝指令執行失敗,該套件便會成為“半配置”或“半安裝”狀態。這些錯誤不會自行消失,並可能造成後續的影響。您可以先手動刪除有錯誤的安裝指令,然後強制移除套件。";
87 | "HOME" = "主頁";
88 | "ID" = "ID";
89 | "IGNORED_UPGRADES" = "已忽略的更新";
90 | "IGNORE_UPGRADES" = "忽略更新";
91 | "IGNORE_UPGRADES_EX" = "選擇全部更新時排除該套件。";
92 | "ILLEGAL_PACKAGE_IDENTIFIER" = "非法套件ID";
93 | "INSTALL" = "安裝";
94 | "INSTALLED" = "已安裝";
95 | "INSTALLED_BY_PACKAGE" = "由套件安裝";
96 | "INSTALLED_DETAILS" = "已安裝套件";
97 | "INSTALLED_FILES" = "已安裝檔案";
98 | "KEEP_OLD_COPY" = "保留舊的副本";
99 | "LOADING" = "載入中";
100 | "LOADING_DATA" = "載入資料";
101 | "LOCAL" = "本地";
102 | "LOGIN" = "登入";
103 | "MAILING_LISTS" = "郵件列表";
104 | "MAINTAINER" = "聯絡";
105 | "MANAGE" = "管理";
106 | "MODIFICATIONS" = "更改";
107 | "MODIFY" = "更改";
108 | "MORE_INFORMATION" = "更多資訊";
109 | "MORE_PACKAGE_SOURCES" = "更多軟體源";
110 | "NAME" = "名稱";
111 | "NETWORK_ERROR" = "網路錯誤";
112 | "NEVER_OR_UNKNOWN" = "從不或未知";
113 | "NEW" = "新的";
114 | "NEW_AT" = "在 %@ 更新";
115 | "NEW_INSTALL" = "新安裝";
116 | "NO" = "否";
117 | "NOTE" = "記錄";
118 | "NOT_RATED" = "未評級";
119 | "NOT_REPOSITORY" = "未找到軟體源";
120 | "NOT_REPOSITORY_EX" = "軟體源未找到。可能是因為您新增的是 Cydia 不支援的 Installer 軟體源。並且,此介面僅適用於完整的軟體源網路位址。如果您自己搭建了一個軟體源,歡迎聯繫 Cydia 的作者。";
121 | "NO_SECTION" = "(無分類)";
122 | "OK" = "確定";
123 | "OKAY" = "確定";
124 | "PACKAGES" = "安裝套件";
125 | "PACKAGES_EX" = "查看或移除已安裝的套件。";
126 | "PACKAGE_CANNOT_BE_FOUND" = "在當前軟體源中無法找到套件:\n%@\n新增更多軟體源或許能夠解決此問題。";
127 | "PACKAGE_CANNOT_BE_FOUND_EX" = "該問題亦可能由其它因素引起。最常見的情況是您的套件目錄已過期。請點擊“變更”中的“刷新”按鈕以手動刷新目錄。該套件也許不存在。也有可能是您使用的是較老的韌體版本:使用者應該儘量根據 Apple 官方資訊保持韌體的更新。";
128 | "PACKAGE_DAMAGED" = "套件已損壞";
129 | "PACKAGE_DETAILS" = "套件資訊";
130 | "PACKAGE_QUEUE" = "套件安裝佇列";
131 | "PARENTHETICAL" = "%@(%@)";
132 | "PASSWORD" = "密碼";
133 | "PERFORM_SELECTIONS" = "執行選定";
134 | "PREPARE_ARCHIVES" = "準備歸檔";
135 | "PREPARING_FILESYSTEM" = "準備檔案系統";
136 | "PRODUCTS" = "產品";
137 | "PURGE" = "清除";
138 | "QUESTION" = "%@?";
139 | "QUEUE" = "安裝佇列";
140 | "QUEUED_FOR" = "安裝佇列 %@";
141 | "Q_D" = "安裝佇列";
142 | "REBOOT_DEVICE" = "重啟設備";
143 | "RECENT_CHANGES_UPDATES" = "最近更新";
144 | "RECOMMENDED_BOOKS" = "推薦書目";
145 | "REFRESH" = "更新";
146 | "REFRESHING_DATA" = "更新資料";
147 | "REINSTALL" = "重新安裝";
148 | "RELOAD" = "重新載入";
149 | "RELOADING_DATA" = "更新資料";
150 | "RELOAD_SPRINGBOARD" = "重新載入 SpringBoard";
151 | "REMOVE" = "移除";
152 | "REMOVING_ESSENTIALS" = "移除必要套件";
153 | "REMOVING_ESSENTIALS_EX" = "此操作涉及移除一個或多個 Cydia 或 iOS 運行所必需的套件。如果繼續操作,您可能無法使用 Cydia 修復任何錯誤。";
154 | "REPAIRING" = "修復";
155 | "REPOSITORY_SIGNATURE" = "查看軟體源簽名";
156 | "REQUEST_ADVERTISING_SPACE" = "獲取廣告欄";
157 | "REQUIREMENTS_FOR_LISTING" = "列表需求";
158 | "RESTART_SPRINGBOARD" = "重啟 SpringBoard";
159 | "RESUBMIT_FORM" = "您確定要再次送出此表格?";
160 | "RESUMING_AT" = "繼續在";
161 | "RETURN_TO_CYDIA" = "回到 Cydia";
162 | "ROLE_EX" = "Cydia 中可下載的套件並非為所有使用者而設計,因此請明確自己的身份以説明 Cydia 過濾顯示某些套件。\n\n該項設定可在“管理”標籤(iPhone 或 iPod Touch)或“軟體源”標籤(iPad)中的“設定”更改。";
163 | "RUNNING" = "運行中";
164 | "SAFE" = "安全";
165 | "SAMPLE" = "示例";
166 | "SCREENSHOT" = "預覽";
167 | "SCREENSHOTS" = "預覽";
168 | "SEARCH" = "搜尋";
169 | "SEARCH_EX" = "軟體名或描述";
170 | "SEARCH_HELP" = "輸入內容以過濾;點擊“%@”開始搜尋。";
171 | "SECTION" = "分類";
172 | "SECTIONS" = "分類";
173 | "SECTION_VISIBILITY" = "可見分類";
174 | "SEE_WHAT_CHANGED" = "查看更新資訊";
175 | "SETTINGS" = "設定";
176 | "SHOW_ALL_CHANGES" = "顯示所有變更";
177 | "SHOW_ALL_CHANGES_EX" = "Cydia 只會顯示已安裝套件的更新以避免某些軟體開發者的騷擾。\n\n啟用此選項以使 Cydia 顯示未安裝套件的更新。";
178 | "SIGNED_PACKAGE" = "此套件已通過驗證。";
179 | "SIMPLE" = "簡單";
180 | "SINGLE_QUOTED" = "‘%@’";
181 | "SLASH_DELIMITED" = "%@ / %@";
182 | "SOURCES" = "軟體源";
183 | "SOURCES_EX" = "列出現有軟體源或新增軟體源。";
184 | "SOURCE_DETAILS" = "軟體源資訊";
185 | "SOURCE_WARNING" = "軟體源警告";
186 | "SPONSOR" = "保證";
187 | "SPONSORING_PRODUCTS" = "保證產品";
188 | "STATISTICS" = "統計資料";
189 | "STILL_BROKEN_EX" = "嘗試修正損壞選擇失敗。";
190 | "STORAGE" = "儲存空間資訊";
191 | "STORAGE_EX" = "查看您還有多少剩餘空間以供安裝新的套件。";
192 | "SUBMIT" = "送出";
193 | "SUPPORT_KNOWN_ISSUES" = "支持與已知問題";
194 | "TEMPORARY_IGNORE" = "暫時忽略";
195 | "THANK_YOU" = "感謝";
196 | "UNABLE_TO_COMPLY" = "無法執行";
197 | "UNABLE_TO_COMPLY_EX" = "此操作涉及移除一個或多個 Cydia 或 iPhoneOS 運行所必需的套件。如果您確定要繼續強制執行此操作,請在設定中打開進階模式。";
198 | "UNABLE_TO_LOAD" = "無法載入";
199 | "UNKNOWN" = "未知";
200 | "UNSAFE" = "不安全";
201 | "UPDATING_DATABASE" = "正在更新資料庫";
202 | "UPDATING_SOURCES" = "正在更新軟體源";
203 | "UPGRADE" = "更新";
204 | "UPGRADE_ESSENTIAL" = "必要更新";
205 | "UPGRADING_TO_READ_THIS" = "升級到 %@?先看看這個";
206 | "USER" = "使用者";
207 | "USERNAME" = "使用者名稱";
208 | "USER_EX" = "軟體、工具和佈景。";
209 | "USER_GUIDES" = "使用者指南";
210 | "VERIFICATION_ERROR" = "驗證錯誤";
211 | "VERIFYING_URL" = "正在驗證 URL";
212 | "VERSION" = "版本";
213 | "WARNING" = "警告";
214 | "WELCOME_TO_CYDIA" = "歡迎使用 Cydia™";
215 | "WHO_ARE_YOU" = "您的身份是?";
216 | "YES" = "是";
217 |
--------------------------------------------------------------------------------
/Sources.h:
--------------------------------------------------------------------------------
1 | /* Cydia - iPhone UIKit Front-End for Debian APT
2 | * Copyright (C) 2008-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #ifndef Sources_H
41 | #define Sources_H
42 |
43 | #include
44 |
45 | void CydiaWriteSources();
46 | void CydiaAddSource(NSDictionary *source);
47 | void CydiaAddSource(NSString *href, NSString *distribution, NSArray *sections = nil);
48 |
49 | #endif//Sources_H
50 |
--------------------------------------------------------------------------------
/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-2012 Jay Freeman (saurik)
3 | */
4 |
5 | /* Modified BSD License {{{ */
6 | /*
7 | * Redistribution and use in source and binary
8 | * forms, with or without modification, are permitted
9 | * provided that the following conditions are met:
10 | *
11 | * 1. Redistributions of source code must retain the
12 | * above copyright notice, this list of conditions
13 | * and the following disclaimer.
14 | * 2. Redistributions in binary form must reproduce the
15 | * above copyright notice, this list of conditions
16 | * and the following disclaimer in the documentation
17 | * and/or other materials provided with the
18 | * distribution.
19 | * 3. The name of the author may not be used to endorse
20 | * or promote products derived from this software
21 | * without specific prior written permission.
22 | *
23 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
24 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
25 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
28 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
34 | * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 | */
38 | /* }}} */
39 |
40 | #include
41 | #include
42 | #include
43 |
44 | #include
45 |
46 | extern _H Sources_;
47 | extern bool Changed_;
48 |
49 | void CydiaWriteSources() {
50 | FILE *file(fopen("/etc/apt/sources.list.d/cydia.list", "w"));
51 | _assert(file != NULL);
52 |
53 | fprintf(file, "deb http://apt.saurik.com/ ios/%.2f main\n", kCFCoreFoundationVersionNumber);
54 |
55 | for (NSString *key in [Sources_ allKeys]) {
56 | NSDictionary *source([Sources_ objectForKey:key]);
57 |
58 | NSArray *sections([source objectForKey:@"Sections"] ?: [NSArray array]);
59 |
60 | fprintf(file, "%s %s %s%s%s\n",
61 | [[source objectForKey:@"Type"] UTF8String],
62 | [[source objectForKey:@"URI"] UTF8String],
63 | [[source objectForKey:@"Distribution"] UTF8String],
64 | [sections count] == 0 ? "" : " ",
65 | [[sections componentsJoinedByString:@" "] UTF8String]
66 | );
67 | }
68 |
69 | fclose(file);
70 | }
71 |
72 | void CydiaAddSource(NSDictionary *source) {
73 | [Sources_ setObject:source forKey:[NSString stringWithFormat:@"%@:%@:%@", [source objectForKey:@"Type"], [source objectForKey:@"URI"], [source objectForKey:@"Distribution"]]];
74 | Changed_ = true;
75 | }
76 |
77 | void CydiaAddSource(NSString *href, NSString *distribution, NSArray *sections) {
78 | if (href == nil || distribution == nil)
79 | return;
80 |
81 | CydiaAddSource([NSMutableDictionary dictionaryWithObjectsAndKeys:
82 | @"deb", @"Type",
83 | href, @"URI",
84 | distribution, @"Distribution",
85 | sections ?: [NSMutableArray array], @"Sections",
86 | nil]);
87 | }
88 |
--------------------------------------------------------------------------------
/Trusted.gpg/bigboss.gpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/Trusted.gpg/bigboss.gpg
--------------------------------------------------------------------------------
/Trusted.gpg/modmyi.gpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/Trusted.gpg/modmyi.gpg
--------------------------------------------------------------------------------
/Trusted.gpg/saurik.gpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/Trusted.gpg/saurik.gpg
--------------------------------------------------------------------------------
/Trusted.gpg/zodttd.gpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/Trusted.gpg/zodttd.gpg
--------------------------------------------------------------------------------
/Version.mm:
--------------------------------------------------------------------------------
1 | #include
2 | #include "Version.h"
3 | NSString *Cydia_ = @ CYDIA_VERSION;
4 |
--------------------------------------------------------------------------------
/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 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 | Replaces: cydia
8 | Depends: cydia
9 | Description: languages and translations for Cydia
10 | Name: Cydia Translations
11 | Author: Jay Freeman (saurik)
12 | Depiction: http://cydia.saurik.com/info/cydia-lproj/
13 | Tag: purpose::uikit, cydia::essential, role::enduser
14 |
--------------------------------------------------------------------------------
/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: apr-lib, apt7-lib, apt7-key, cydia-lproj, darwintools, debianutils, org.thebigboss.repo.icons, pcre, 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
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 | Tag: purpose::uikit, cydia::essential, role::enduser
17 |
--------------------------------------------------------------------------------
/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 |
33 |
--------------------------------------------------------------------------------
/makefile:
--------------------------------------------------------------------------------
1 | dev := $(shell xcode-select --print-path)/Platforms/iPhoneOS.platform/Developer
2 | sdks := $(dev)/SDKs
3 | ioss := $(sort $(patsubst $(sdks)/iPhoneOS%.sdk,%,$(wildcard $(sdks)/iPhoneOS*.sdk)))
4 | ios := $(word $(words $(ioss)),$(ioss))
5 |
6 | # if you can tolerate clang, set this to blank
7 | gcc := 4.2
8 |
9 | ifeq ($(gcc),)
10 | gxx := $(dev)/usr/bin/clang++
11 | else
12 | gxx := $(dev)/usr/bin/g++
13 | endif
14 |
15 | flags :=
16 | link :=
17 | libs :=
18 |
19 | ifeq (o,O) # gzip is actually better
20 | dpkg := /Library/Cydia/bin/dpkg-deb
21 | ifeq ($(wildcard $(dpkg)),$(dpkg))
22 | dpkg := $(dpkg) -zlzma
23 | else
24 | dpkg := dpkg-deb -zbzip2
25 | endif
26 | else
27 | dpkg := dpkg-deb
28 | endif
29 |
30 | sdk := $(sdks)/iPhoneOS$(ios).sdk
31 |
32 | flags += -F$(sdk)/System/Library/PrivateFrameworks
33 | flags += -I. -isystem sysroot/usr/include
34 | flags += -fmessage-length=0
35 | flags += -g0 -O2
36 | flags += -fvisibility=hidden
37 |
38 | flags += -Wall
39 |
40 | ifeq ($(gcc),)
41 | flags += -Wno-unknown-warning-option
42 | flags += -Wno-logical-op-parentheses
43 | else
44 | flags += -fobjc-exceptions
45 | flags += -fno-guess-branch-probability
46 | endif
47 |
48 | flags += -Wno-deprecated-declarations
49 |
50 | xflags :=
51 | xflags += -fobjc-call-cxx-cdtors
52 | xflags += -fvisibility-inlines-hidden
53 |
54 | link += -Lsysroot/usr/lib
55 | link += -multiply_defined suppress
56 |
57 | libs += -framework CoreFoundation
58 | libs += -framework CoreGraphics
59 | libs += -framework Foundation
60 | libs += -framework GraphicsServices
61 | libs += -framework IOKit
62 | libs += -framework JavaScriptCore
63 | libs += -framework QuartzCore
64 | libs += -framework SpringBoardServices
65 | libs += -framework SystemConfiguration
66 | libs += -framework WebCore
67 | libs += -framework WebKit
68 |
69 | libs += -lapr-1
70 | libs += -lapt-pkg
71 | libs += -lpcre
72 |
73 | uikit :=
74 | uikit += -framework UIKit
75 |
76 | backrow :=
77 | backrow += -FAppleTV -framework BackRow -framework AppleTV
78 |
79 | version := $(shell ./version.sh)
80 |
81 | cycc = $(gxx) -mthumb -arch armv6 -o $@ -miphoneos-version-min=2.0 -isysroot $(sdk) -idirafter /usr/include -F{sysroot,}/Library/Frameworks
82 | #cycc = cycc -r4.2 -i$(ios) -o$@
83 |
84 | ifneq ($(gcc),)
85 | cycc += -Xarch_armv6 -mcpu=arm1176jzf-s
86 | endif
87 |
88 | dirs := Menes CyteKit Cydia SDURLCache
89 |
90 | code := $(foreach dir,$(dirs),$(wildcard $(foreach ext,h hpp c cpp m mm,$(dir)/*.$(ext))))
91 | code := $(filter-out SDURLCache/SDURLCacheTests.m,$(code))
92 | code += MobileCydia.mm Version.mm iPhonePrivate.h Cytore.hpp lookup3.c Sources.h Sources.mm
93 |
94 | source := $(filter %.m,$(code)) $(filter %.mm,$(code))
95 | source += $(filter %.c,$(code)) $(filter %.cpp,$(code))
96 | header := $(filter %.h,$(code)) $(filter %.hpp,$(code))
97 |
98 | object := $(source)
99 | object := $(object:.c=.o)
100 | object := $(object:.cpp=.o)
101 | object := $(object:.m=.o)
102 | object := $(object:.mm=.o)
103 | object := $(object:%=Objects/%)
104 |
105 | images := $(shell find MobileCydia.app/ -type f -name '*.png')
106 | images := $(images:%=Images/%)
107 |
108 | lproj_deb := debs/cydia-lproj_$(version)_iphoneos-arm.deb
109 |
110 | all: MobileCydia
111 |
112 | clean:
113 | rm -f MobileCydia postinst
114 | rm -rf Objects/ Images/
115 |
116 | Objects/%.o: %.c $(header)
117 | @mkdir -p $(dir $@)
118 | @echo "[cycc] $<"
119 | @$(cycc) -c -x c $<
120 |
121 | Objects/%.o: %.m $(header)
122 | @mkdir -p $(dir $@)
123 | @echo "[cycc] $<"
124 | @$(cycc) -c $< $(flags)
125 |
126 | Objects/%.o: %.mm $(header)
127 | @mkdir -p $(dir $@)
128 | @echo "[cycc] $<"
129 | @$(cycc) -c $< $(flags) $(xflags)
130 |
131 | Objects/Version.o: Version.h
132 |
133 | Images/%.png: %.png
134 | @mkdir -p $(dir $@)
135 | @echo "[pngc] $<"
136 | @./pngcrush.sh $< $@
137 |
138 | sysroot: sysroot.sh
139 | @echo "Your ./sysroot/ is either missing or out of date. Please read compiling.txt for help." 1>&2
140 | @echo 1>&2
141 | @exit 1
142 |
143 | MobileCydia: sysroot $(object) entitlements.xml
144 | @echo "[link] $(object:Objects/%=%)"
145 | @$(cycc) $(filter %.o,$^) $(flags) $(link) $(libs) $(uikit)
146 | @mkdir -p bins
147 | @cp -a $@ bins/$@-$(version)
148 | @echo "[strp] $@"
149 | @strip -no_uuid $@
150 | @echo "[sign] $@"
151 | @ldid -T0 -Sentitlements.xml $@ || { rm -f $@ && false; }
152 |
153 | CydiaAppliance: CydiaAppliance.mm
154 | $(cycc) $(filter %.mm,$^) $(flags) $(link) -bundle $(libs) $(backrow)
155 |
156 | cfversion: cfversion.mm
157 | $(cycc) $(filter %.mm,$^) $(flags) -framework CoreFoundation
158 | @ldid -T0 -S $@
159 |
160 | postinst: postinst.mm Sources.mm Sources.h CyteKit/stringWithUTF8Bytes.mm CyteKit/stringWithUTF8Bytes.h CyteKit/UCPlatform.h
161 | $(cycc) $(filter %.mm,$^) $(flags) $(link) -framework CoreFoundation -framework Foundation -framework UIKit -lpcre
162 | @ldid -T0 -S $@
163 |
164 | debs/cydia_$(version)_iphoneos-arm.deb: MobileCydia preinst postinst cfversion $(images) $(shell find MobileCydia.app) cydia.control Library/firmware.sh Library/startup
165 | sudo rm -rf _
166 | mkdir -p _/var/lib/cydia
167 |
168 | mkdir -p _/etc/apt
169 | cp -a Trusted.gpg _/etc/apt/trusted.gpg.d
170 | cp -a Sources.list _/etc/apt/sources.list.d
171 |
172 | mkdir -p _/usr/libexec
173 | cp -a Library _/usr/libexec/cydia
174 | cp -a sysroot/usr/bin/du _/usr/libexec/cydia
175 | cp -a cfversion _/usr/libexec/cydia
176 |
177 | mkdir -p _/System/Library
178 | cp -a LaunchDaemons _/System/Library/LaunchDaemons
179 |
180 | mkdir -p _/Applications
181 | cp -a MobileCydia.app _/Applications/Cydia.app
182 | rm -rf _/Applications/Cydia.app/*.lproj
183 | cp -a MobileCydia _/Applications/Cydia.app/MobileCydia
184 |
185 | cd MobileCydia.app && find . -name '*.png' -exec cp -af ../Images/MobileCydia.app/{} ../_/Applications/Cydia.app/{} ';'
186 |
187 | mkdir -p _/Applications/Cydia.app/Sources
188 | ln -s /usr/share/bigboss/icons/bigboss.png _/Applications/Cydia.app/Sources/apt.bigboss.us.com.png
189 | ln -s /usr/share/bigboss/icons/planetiphones.png _/Applications/Cydia.app/Sections/"Planet-iPhones Mods.png"
190 |
191 | #mkdir -p _/Applications/AppleTV.app/Appliances
192 | #cp -a Cydia.frappliance _/Applications/AppleTV.app/Appliances
193 | #cp -a CydiaAppliance _/Applications/AppleTV.app/Appliances/Cydia.frappliance
194 |
195 | #mkdir -p _/Applications/Lowtide.app/Appliances
196 | #ln -s {/Applications/AppleTV,_/Applications/Lowtide}.app/Appliances/Cydia.frappliance
197 |
198 | mkdir -p _/DEBIAN
199 | ./control.sh cydia.control _ >_/DEBIAN/control
200 | cp -a preinst postinst _/DEBIAN/
201 |
202 | find _ -exec touch -t "$$(date -j -f "%s" +"%Y%m%d%H%M.%S" "$$(git show --format='format:%ct' | head -n 1)")" {} ';'
203 |
204 | sudo chown -R 0 _
205 | sudo chgrp -R 0 _
206 | sudo chmod 6755 _/Applications/Cydia.app/MobileCydia
207 |
208 | mkdir -p debs
209 | ln -sf debs/cydia_$(version)_iphoneos-arm.deb Cydia.deb
210 | $(dpkg) -b _ Cydia.deb
211 | @echo "$$(stat -L -f "%z" Cydia.deb) $$(stat -f "%Y" Cydia.deb)"
212 |
213 | $(lproj_deb): $(shell find MobileCydia.app -name '*.strings') cydia-lproj.control
214 | sudo rm -rf __
215 | mkdir -p __/Applications/Cydia.app
216 |
217 | cp -a MobileCydia.app/*.lproj __/Applications/Cydia.app
218 |
219 | mkdir -p __/DEBIAN
220 | ./control.sh cydia-lproj.control __ >__/DEBIAN/control
221 |
222 | sudo chown -R 0 __
223 | sudo chgrp -R 0 __
224 |
225 | mkdir -p debs
226 | ln -sf debs/cydia-lproj_$(version)_iphoneos-arm.deb Cydia_.deb
227 | $(dpkg) -b __ Cydia_.deb
228 | @echo "$$(stat -L -f "%z" Cydia_.deb) $$(stat -f "%Y" Cydia_.deb)"
229 |
230 | package: debs/cydia_$(version)_iphoneos-arm.deb $(lproj_deb)
231 |
232 | .PHONY: all clean package
233 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/postinst.mm:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | #include
5 | #include
6 |
7 | #include
8 | #include "CyteKit/PerlCompatibleRegEx.hpp"
9 |
10 | _H Sources_;
11 | bool Changed_;
12 |
13 | _H System_;
14 |
15 | int main(int argc, const char *argv[]) {
16 | if (argc < 2 || strcmp(argv[1], "configure") != 0)
17 | return 0;
18 |
19 | NSAutoreleasePool *pool([[NSAutoreleasePool alloc] init]);
20 |
21 | size_t size;
22 | sysctlbyname("kern.osversion", NULL, &size, NULL, 0);
23 | char *osversion = new char[size];
24 | if (sysctlbyname("kern.osversion", osversion, &size, NULL, 0) != -1)
25 | System_ = [NSString stringWithUTF8String:osversion];
26 |
27 | NSDictionary *metadata([[[NSMutableDictionary alloc] initWithContentsOfFile:@"/var/lib/cydia/metadata.plist"] autorelease]);
28 | NSUInteger version(0);
29 |
30 | if (metadata != nil) {
31 | Sources_ = [metadata objectForKey:@"Sources"];
32 |
33 | if (NSNumber *number = [metadata objectForKey:@"Version"])
34 | version = [number unsignedIntValue];
35 | }
36 |
37 | if (Sources_ == nil)
38 | Sources_ = [NSMutableDictionary dictionaryWithCapacity:8];
39 |
40 | if (version == 0) {
41 | CydiaAddSource(@"http://apt.thebigboss.org/repofiles/cydia/", @"stable", [NSMutableArray arrayWithObject:@"main"]);
42 | CydiaAddSource(@"http://apt.modmyi.com/", @"stable", [NSMutableArray arrayWithObject:@"main"]);
43 | CydiaAddSource(@"http://cydia.zodttd.com/repo/cydia/", @"stable", [NSMutableArray arrayWithObject:@"main"]);
44 | CydiaAddSource(@"http://repo666.ultrasn0w.com/", @"./");
45 | }
46 |
47 | CydiaWriteSources();
48 |
49 | [pool release];
50 | return 0;
51 | }
52 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/rowhammer_test:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/un1xpwner/Cydia/d1e38cc9fd53ca97e9df6245b6d7ed2440aafc40/rowhammer_test
--------------------------------------------------------------------------------
/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 | rm -rf sysroot
27 | mkdir sysroot
28 | cd sysroot
29 |
30 | repository=http://apt.saurik.com/
31 | distribution=tangelo
32 | component=main
33 | architecture=iphoneos-arm
34 |
35 | declare -A dpkgz
36 | dpkgz[gz]=gunzip
37 | dpkgz[lzma]=unlzma
38 |
39 | function extract() {
40 | package=$1
41 | url=$2
42 |
43 | wget -O "${package}.deb" "${url}"
44 | for z in lzma gz; do
45 | compressed=data.tar.${z}
46 |
47 | if ar -x "${package}.deb" "${compressed}" 2>/dev/null; then
48 | ${dpkgz[${z}]} "${compressed}"
49 | break
50 | fi
51 | done
52 |
53 | if ! [[ -e data.tar ]]; then
54 | echo "unable to extract package" 1>&2
55 | exit 1
56 | fi
57 |
58 | ls -la data.tar
59 | tar -xf ./data.tar
60 | rm -f data.tar
61 | }
62 |
63 | declare -A urls
64 |
65 | urls[apr]=http://apt.saurik.com/debs/apr_1.3.3-4_iphoneos-arm.deb
66 | urls[apr-lib]=http://apt.saurik.com/debs/apr-lib_1.3.3-2_iphoneos-arm.deb
67 | urls[apt7]=http://apt.saurik.com/debs/apt7_0.7.25.3-6_iphoneos-arm.deb
68 | urls[apt7-lib]=http://apt.saurik.com/debs/apt7-lib_0.7.25.3-9_iphoneos-arm.deb
69 | urls[coreutils]=http://apt.saurik.com/debs/coreutils_7.4-11_iphoneos-arm.deb
70 | urls[mobilesubstrate]=http://apt.saurik.com/debs/mobilesubstrate_0.9.3367-1_iphoneos-arm.deb
71 | urls[pcre]=http://apt.saurik.com/debs/pcre_7.9-3_iphoneos-arm.deb
72 |
73 | if [[ 0 ]]; then
74 | wget -qO- "${repository}dists/${distribution}/${component}/binary-${architecture}/Packages.bz2" | bzcat | {
75 | regex='^([^ \t]*): *(.*)'
76 | declare -A fields
77 |
78 | while IFS= read -r line; do
79 | if [[ ${line} == '' ]]; then
80 | package=${fields[package]}
81 | if [[ -n ${urls[${package}]} ]]; then
82 | filename=${fields[filename]}
83 | urls[${package}]=${repository}${filename}
84 | fi
85 |
86 | unset fields
87 | declare -A fields
88 | elif [[ ${line} =~ ${regex} ]]; then
89 | name=${BASH_REMATCH[1],,}
90 | value=${BASH_REMATCH[2]}
91 | fields[${name}]=${value}
92 | fi
93 | done
94 | }
95 | fi
96 |
97 | for package in "${!urls[@]}"; do
98 | extract "${package}" "${urls[${package}]}"
99 | done
100 |
101 | rm -f *.deb
102 |
103 | if substrate=$(readlink usr/include/substrate.h); then
104 | if [[ ${substrate} == /* ]]; then
105 | ln -sf "../..${substrate}" usr/include/substrate.h
106 | fi
107 | fi
108 |
109 | mkdir -p usr/include
110 | cd usr/include
111 |
112 | mkdir CoreFoundation
113 | wget -O CoreFoundation/CFBundlePriv.h "http://www.opensource.apple.com/source/CF/CF-550/CFBundlePriv.h?txt"
114 | wget -O CoreFoundation/CFPriv.h "http://www.opensource.apple.com/source/CF/CF-550/CFPriv.h?txt"
115 | wget -O CoreFoundation/CFUniChar.h "http://www.opensource.apple.com/source/CF/CF-550/CFUniChar.h?txt"
116 |
117 | if true; then
118 | mkdir -p WebCore
119 | wget -O WebCore/WebCoreThread.h 'http://www.opensource.apple.com/source/WebCore/WebCore-658.28/wak/WebCoreThread.h?txt'
120 | wget -O WebCore/WebEvent.h 'http://www.opensource.apple.com/source/WebCore/WebCore-658.28/platform/iphone/WebEvent.h?txt'
121 | else
122 | wget -O WebCore.tgz http://www.opensource.apple.com/tarballs/WebCore/WebCore-658.28.tar.gz
123 | tar -zx --transform 's@^[^/]*/@WebCore.d/@' -f WebCore.tgz
124 |
125 | mkdir WebCore
126 | cp -a WebCore.d/{*,rendering/style,platform/graphics/transforms}/*.h WebCore
127 | cp -a WebCore.d/platform/{animation,graphics,network,text}/*.h WebCore
128 | cp -a WebCore.d/{accessibility,platform{,/{graphics,network,text}}}/{cf,mac,iphone}/*.h WebCore
129 | cp -a WebCore.d/bridge/objc/*.h WebCore
130 |
131 | wget -O JavaScriptCore.tgz http://www.opensource.apple.com/tarballs/JavaScriptCore/JavaScriptCore-554.1.tar.gz
132 | #tar -zx --transform 's@^[^/]*/API/@JavaScriptCore/@' -f JavaScriptCore.tgz $(tar -ztf JavaScriptCore.tgz | grep '/API/[^/]*.h$')
133 | tar -zx \
134 | --transform 's@^[^/]*/@@' \
135 | --transform 's@^icu/@@' \
136 | -f JavaScriptCore.tgz $(tar -ztf JavaScriptCore.tgz | sed -e '
137 | /\/icu\/unicode\/.*\.h$/ p;
138 | /\/profiler\/.*\.h$/ p;
139 | /\/runtime\/.*\.h$/ p;
140 | /\/wtf\/.*\.h$/ p;
141 | d;
142 | ')
143 | fi
144 |
145 | for framework in ApplicationServices CoreServices IOKit IOSurface JavaScriptCore WebKit; do
146 | ln -s /System/Library/Frameworks/"${framework}".framework/Headers "${framework}"
147 | done
148 |
149 | for framework in /System/Library/Frameworks/CoreServices.framework/Frameworks/*.framework; do
150 | name=${framework}
151 | name=${name%.framework}
152 | name=${name##*/}
153 | ln -s "${framework}/Headers" "${name}"
154 | done
155 |
156 | mkdir -p Cocoa
157 | cat >Cocoa/Cocoa.h <GraphicsServices/GraphicsServices.h </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 |
--------------------------------------------------------------------------------