Наигравшись с iPod Touch, захотелось его немного попотрошить. Сей девайс имеет практически все для экспериментов, включая различные сервера (веб, удаленное управление, т.д.). Решено было сделать что-то «аля» веб-юзабельное. Пришла мысля сделать некое подобие веб-флешки, для записи файлов. Вперед!
Hardware:
1. iPod Touch (v1.1.4) — разлоченый
2. Wireless connection
Software:
1. Lighttpd v1.4.17-2
2. PHP v5.2.3-2
3. OpenSSH v4.6p1-2
4. Pure-FTPd v1.0.21
АХТУНГ!
— Нижеприведенные действия были опробованы на прошивке 1.1.4, про другие версии ничего сказать не могу.
— Все действия были проделаны на мой страх и риск и ответственности за угробленные (по причине кривости рук) девайсы я не несу =)
— Т.к аппарат разлочен, то уже должны стоять программы: BSD Subsystem, OpenSSH server. Если их нет, то необходимо установить через Installer.
— Все файлы для развертывания прикреплены внизу
Для начала чтобы удобно работать с девайсом необходимо настроить удаленный доступ или ftp сервер. Есть 2 (мной опробованные) способа: ftp и sshfs.
Мне было удобнее использовать sshfs
Для установки из под Ubuntu 8.04:
Для удобства написал небольшой скрипт для монтирования/размонтирования.
Далее необходимо установить следующие программы из Installer (на устройстве):
1. Lighttpd
2. PHP
3. BossPrefs — для легкого управления демонами
3.1. BossPrefs Lighttpd module
3.2. BossPrefs Pure-FTPd module
Да, кстати, чтобы проще обращаться к девайсу можно прописать в /etc/hosts строчку «192.168.x.xxx ipod»
Итак, вроде с софтом разобрались. Переходим к настройке сервисов.
Первым делом необходимо настроить веб-сервер лайти (Lighttpd). Готовый конфиг прилагается. Надо заметить, веб-сервер будет работать с php в режиме cgi (не fastcgi) т.к нам не нужно дикой производительности. Наш сервис будет иметь одиночного клиента =).
Далее необходимо настроить php. Ничего военного в конфиге не будет, только некоторые изменения в длительности выполнения скрипта и изменения некоторых путей. Конфиг тоже прилагается.
Конфиг положить в /opt/iphone/lib.
Необходимо создать пути:
Необходимо скачать и распаковать содерживое архива webflash.tar.gz в /var/www
Выглядит это примерно так:
Архив проекта
Скрипт sshfs iPodTouch
Конфиг Lighttpd
Конфиг PHP
Теперь можно скидывать мелкие файлы просто зайдя на веб-интерфейс нашего плеера. Конечно, реализация далеко не идеальная, на нее потрачено не более часа. Но идея мне в целом очень понравилась. Т.к плеер имеет флеш-память объемом 8-16 Гб, то довольно интересное решение.
В следующем топике я расскажу про еще одно экстримальное извращение над этим плеером.
Hardware:
1. iPod Touch (v1.1.4) — разлоченый
2. Wireless connection
Software:
1. Lighttpd v1.4.17-2
2. PHP v5.2.3-2
3. OpenSSH v4.6p1-2
4. Pure-FTPd v1.0.21
АХТУНГ!
— Нижеприведенные действия были опробованы на прошивке 1.1.4, про другие версии ничего сказать не могу.
— Все действия были проделаны на мой страх и риск и ответственности за угробленные (по причине кривости рук) девайсы я не несу =)
— Т.к аппарат разлочен, то уже должны стоять программы: BSD Subsystem, OpenSSH server. Если их нет, то необходимо установить через Installer.
— Все файлы для развертывания прикреплены внизу
Шаг 1. Установка софта
Для начала чтобы удобно работать с девайсом необходимо настроить удаленный доступ или ftp сервер. Есть 2 (мной опробованные) способа: ftp и sshfs.
Мне было удобнее использовать sshfs
Для установки из под Ubuntu 8.04:
$ sudo apt-get install sshfs
Для удобства написал небольшой скрипт для монтирования/размонтирования.
$ ipodfs.sh mount - для монтирования
$ ipodfs.sh umount - для размонтирования
Далее необходимо установить следующие программы из Installer (на устройстве):
1. Lighttpd
2. PHP
3. BossPrefs — для легкого управления демонами
3.1. BossPrefs Lighttpd module
3.2. BossPrefs Pure-FTPd module
Да, кстати, чтобы проще обращаться к девайсу можно прописать в /etc/hosts строчку «192.168.x.xxx ipod»
Итак, вроде с софтом разобрались. Переходим к настройке сервисов.
Шаг 2. Конфигурирование
Первым делом необходимо настроить веб-сервер лайти (Lighttpd). Готовый конфиг прилагается. Надо заметить, веб-сервер будет работать с php в режиме cgi (не fastcgi) т.к нам не нужно дикой производительности. Наш сервис будет иметь одиночного клиента =).
Далее необходимо настроить php. Ничего военного в конфиге не будет, только некоторые изменения в длительности выполнения скрипта и изменения некоторых путей. Конфиг тоже прилагается.
Конфиг положить в /opt/iphone/lib.
Необходимо создать пути:
$ mkdir /var/www - для веб сервера
$ mkdir /var/tmp/php - для временных файлов php
$ mkdir /var/webfiles - для хранения файлов "веб-флешки"
Шаг 3. Установка
Необходимо скачать и распаковать содерживое архива webflash.tar.gz в /var/www
define("BASE_PATH","/var/www"); - путь до директории веб-сервера
define("DB_PATH",BASE_PATH."/files.db"); - путь до файла бд
define("FILE_PATH","/var/webfiles"); - путь до файлов пользователя
Выглядит это примерно так:
Файлы:
Архив проекта
Скрипт sshfs iPodTouch
Конфиг Lighttpd
Конфиг PHP
Итого:
Теперь можно скидывать мелкие файлы просто зайдя на веб-интерфейс нашего плеера. Конечно, реализация далеко не идеальная, на нее потрачено не более часа. Но идея мне в целом очень понравилась. Т.к плеер имеет флеш-память объемом 8-16 Гб, то довольно интересное решение.
В следующем топике я расскажу про еще одно экстримальное извращение над этим плеером.