You are looking at the HTML representation of the XML format.
HTML is good for debugging, but is unsuitable for application use.
Specify the format parameter to change the output format.
To see the non HTML representation of the XML format, set format=xml.
See the complete documentation, or API help for more information.
<?xml version="1.0"?>
<api>
  <query-continue>
    <allpages gapcontinue="Reverse_Engineering_Tools" />
  </query-continue>
  <query>
    <pages>
      <page pageid="511" ns="0" title="Repository Management">
        <revisions>
          <rev contentformat="text/x-wiki" contentmodel="wikitext" xml:space="preserve">Here are instructions and advice for setting up and managing a Cydia repository. For context, Cydia uses an adapted version of Debian APT ([https://en.wikipedia.org/wiki/Advanced_Packaging_Tool Advanced Packaging Tool]) to manage packages.

If you have no interest in using your own server, you can use [https://myrepospace.com/ MyRepoSpace], which provides free repository hosting. It's often slow and unreliable though, and it gives you limited flexibility.

== saurik's explanation ==

The authoritative guide to setting up a Cydia APT repository is '''[http://www.saurik.com/id/7 saurik's post on the subject]'''.

=== Share API ===

Public since July 3rd 2015 in saurik's [https://twitter.com/saurik/status/617138072342282240 tweet], it is possible to link to a repository or package from a url that Cydia can pick up.

To link to a repository, make an anchor on your site to

    cydia://url/https://cydia.saurik.com/api/share#?source=http://apt.saurik.com/beta/itsamystery/

To link to a package, make an anchor on your site to

    cydia://url/https://cydia.saurik.com/api/share#?source=http://apt.saurik.com/beta/itsamystery/&amp;package=com.saurik.mystery

Replacing ''http://apt.saurik.com/beta/itsamystery/'' and ''com.saurik.mystery'' to the target repository and package.

If the repository is not on the list Cydia will ask to add it. It will then take you to the package list (if linked to a repository) or to the specified package (if linked to a package).

== Other explanations ==

Patrick Muff wrote [http://patrickmuff.ch/blog/2013/02/15/create-your-own-cydia-repository-on-ubuntu/ &quot;Create your own Cydia Repository on Ubuntu in a few minutes&quot;]

WinneonSword made a [https://github.com/WinneonSword/tutorial-repository Tutorial Repository on Github].

== Quick and dirty summary ==

First thing is, you'll need a web host. It could be anything, like [https://neocities.org/ Neocities] or [https://pages.github.com/ GitHub pages].

=== Repository structure ===

The basic idea is that you have two files in your server, &lt;tt&gt;Packages&lt;/tt&gt; and &lt;tt&gt;Release&lt;/tt&gt;. &lt;tt&gt;Packages&lt;/tt&gt; must be bzipped and named &lt;tt&gt;Packages.bz2&lt;/tt&gt;, and optionally &lt;tt&gt;Release&lt;/tt&gt; may be also. &lt;tt&gt;Packages&lt;/tt&gt; contains all of the information related to the different packages on your server (and where to download them, more on that later) and &lt;tt&gt;Release&lt;/tt&gt; contains all of the information related to your server (like the name, description, etc).

If you want to see examples of &lt;tt&gt;Packages&lt;/tt&gt; and &lt;tt&gt;Release&lt;/tt&gt; files, you can see the cached files from your installed repos at &lt;tt&gt;/var/lib/apt/lists&lt;/tt&gt; (note they can be quite large).

=== .deb files ===

The &lt;tt&gt;Packages&lt;/tt&gt; file mentioned earlier points to .deb files in your server that you can download. These are made with dpkg-deb. [http://man.he.net/man1/dpkg-deb Manpage here]. The idea is that you set up a folder in the way you'd want the files to appear in your filesystem (and the &lt;tt&gt;DEBIAN&lt;/tt&gt; folder, which would contain your &lt;tt&gt;control&lt;/tt&gt; file, and optional &lt;tt&gt;preinst&lt;/tt&gt; and &lt;tt&gt;postinst&lt;/tt&gt; scripts) when it installs in Cydia, and then you'd use &lt;tt&gt;dpkg-deb -b folder_name&lt;/tt&gt; to make the package (which will be named &lt;tt&gt;folder_name.deb&lt;/tt&gt;).

Read more in the '''[[Packaging]]''' page.

== Custom icon ==

Put the file &lt;tt&gt;CydiaIcon.png&lt;/tt&gt; at the root of your repository. It is displayed at 32x32, and it would be best for the file to be at Retina resolution (64x64 for @2x and 96x96 for @3x).

== Private repositories ==


&lt;b&gt;NOTE:&lt;/b&gt; Static webhosts (like Github Pages) won't work for private repos. You'll need a server that has some way to let you process requests server-side, e.g. PHP, node.js, or Django.

=== UDID Protection ===

The easiest way to make your repository &quot;private&quot; is to restrict access based on UDID. Cydia sends the user's UDID via the &lt;tt&gt;X-Unique-ID&lt;/tt&gt; HTTP header, so your server could check that against a database in order to ensure that the user has rightful access.

PHP implementation: [https://github.com/moeseth/UDID-protected-cydia-repo A sample UDID-protected Cydia repo by moeseth].

Node.js implementation: [https://github.com/Aehmlo/udid-enabled-cydia-repo A sample Node UDID-protected Cydia repo by Aehmlo].

==== Pitfalls of UDID Protection ====

UDID-protected repos are not very secure. UDID's can be easily faked since there is nothing to say whether it's legitimate or spoofed since it's sent as an HTTP header (&lt;code&gt;X-Unique-ID&lt;/code&gt;), and these are sent with ''every'' Cydia support email. There have been public UDID leaks that pirate repositories are known to brute-force packages with. An unfortunate number of repositories, and Cydia Store, use it despite its misuse being bad enough that it was [http://www.theverge.com/2013/3/21/4133288/apple-to-finally-stop-accepting-apps-that-use-outdated-udid-device-identifier-may-1st banned from the App Store] in 2012. You should not consider protection by UDID completely secure; while it works and is simple to implement, it's like a fingerprint: if it's compromised by bad guys, it's hard to change it.

=== Password Protection ===

You can use a username and password system through Cydia's depiction system, where the user enters their username and password in the depiction page, and then is authorized to download the package.

PHP implementation: [https://github.com/goeo-/errrr/ A sample password-protected repo by goeo-].</rev>
        </revisions>
      </page>
      <page pageid="499" ns="0" title="Retrieving SDKs">
        <revisions>
          <rev contentformat="text/x-wiki" contentmodel="wikitext" xml:space="preserve">'''SDKs''' (Software Development Kits) are bundles that contain headers, binaries, and other tools needed to build for a specific version of iOS. These can be found within Xcode at &lt;code&gt;Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs&lt;/code&gt;.

== Retrieving without a Mac ==
The legal way to download an SDK without access to a Mac is to download a disk image (DMG) of Xcode from Apple. These are available at [https://developer.apple.com/downloads/index.action developer.apple.com] (free developer registration required). Usually the latest SDK is best, but if you want an older version, find the Xcode version containing it from [https://en.wikipedia.org/wiki/Xcode#Versions_compare_table this table]. 

Most programs such as 7-Zip seem to be unable to extract recent Xcode DMGs. A shareware program, [http://www.acutesystems.com/scrtm.htm TransMac], can successfully do this on Windows. Open the DMG in the program, then use the left directory tree to navigate to &lt;code&gt;xcode.dmg/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs&lt;/code&gt;. Right-click the SDK directory and choose &quot;Copy To&quot;.

Alternatively, grab a copy from [http://iphone.howett.net/sdks/ here].

=== Troubleshooting ===

As of iOS 8, some people found that those instructions didn't work with the latest version of TransMac (version 11), but version 10.6 may work.</rev>
        </revisions>
      </page>
    </pages>
  </query>
</api>