Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

The title pretty much sums it all.

I'm evaluating using Cydia to distribute iPod/iPad/iPhone apps to a restricted set of users. I got a hang on how to setup a repository, but cannot figure whether it is possible to lock it or not. Even a simple authentication scheme (static login/password) would be good enough.

Thanks for your input!

share|improve this question
For those who aren't aware, Cydia uses apt for package distribution. – Warner Aug 3 '10 at 13:25
up vote 0 down vote accepted

I am also trying to do this, but nobody else knew. I think I found the solution, I just don't have it working yet. If you want to try yourself, you will need to know PHP and mod_rewrite. Cydia sends the UDID along with a few more special headers in $_SERVER:

[HTTP_USER_AGENT] => Telesphoreo APT-HTTP/1.0.592
[HTTP_X_FIRMWARE] => 4.0.1
[HTTP_X_MACHINE] => iPhone3,1
[HTTP_X_UNIQUE_ID] => xxxxxxxx

You could use mod rewrite and send Release to Release.php, same with Packages and Packages.gz. Then check if $_SERVER['HTTP_X_UNIQUE_ID'] is in a list of approved device ids before including the requested information. I'm not sure how well this will work, but I am going to try it. I am having troubles with Cydia finding changes in repos, but I'm sure this could be fixed by sending a few modified date headers.

share|improve this answer
That's an interesting way to deal with the issue you have there, though not exactly what I'm after since it would involve having to track all devices ids, generating quite a process overhead (user side). I might consider it though if nothing better shows up. – Guillaume Bodi Aug 5 '10 at 0:56

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.