четверг, 24 сентября 2009 г.

Китайская читалка PandaReader

В связи с временными проблемами TextReader http://code.google.com/p/iphonetextreader/ на третьей прошивке iPhone, пришлось искать замену.
Для чтения txt c файловой системы iPhone нашлось вот что: PandaReader, взять можно по ссылке http://app.sj.91.com/iPhone/panda-reader-2.1.9.html Версия прекрасно работает с 3.Х прошивками. Но на указанном сайте отдается PXL, который я ставил руками следующим образом (насколько я помню, обладатели Win и iBrickr могут его поставить без шаманских плясок):
1. Распаковываем содержимое 2.0_pandareader_2.1.9.pxl
2. PandaReader.app кладем в /Applications
3. Каталоги images, skin и остальные файлы из корня архива кладем в /var/mobile/Library/Preferences/PandaReader
4. на iPhone killall -1 SpringBoard

Готово.
Язык только китайский, но Localizable.strings с легкостью переводится
Пример
"Encrypt books in this directory?" = "要加密这个目录下的所有图书吗?";
Что и как переводить и куда записывать, интуитивно видно.

Книги кидать в /var/mobile/Media/EBooks

ЗЫ Текст должен быть PlainText, в кодировке UTF-8.




среда, 23 сентября 2009 г.

HOWTO Linux + iPhone по USB кабелю

Впервые опубликовано мной на http://www.iphones.ru/forum/index.php?s=&showtopic=35960&view=findpost&p=382322

Решил вкратце поделиться опытом. Недавно нашел проект реинжиниринга протокола AFP под линукс, и повторил сие действо.
Надеюсь, кому-нить пригодится.

Благодарности группе товарищей в составе Zach C., Jonathan Beck, Matt Colyer, Martin Aumueller, Christophe Fergeau, Martin S., Paul Sladen, Patrick Walton, Zoltan Balaton :)


Итак, имеем:
opensuse 11.1 x86_64, Kernel 2.6.27.7-9
fuse 2.7.2-61.16

Итак,
1. Идем на http://matt.colyer.name/projects/iphone-linux
Делаем клон с двух репозиториев: git clone http://git.matt.colyer.name/2008/libiphone/
и git clone http://git.matt.colyer.name/2008/ifuse/

Ну, или берем из аттача.

Собираем libiphone

cd libiphone
./autogen.sh
make
make install


Потом собираем ifuse

2. Не забываем сгенерить ключи.
Запускать из под пользователя, из-под которого будем монтировать:

$ libiphone-initconf

3. Итак, имеем подключенный iphone в USB

$ dmesg
usb 8-3: New USB device found, idVendor=05ac, idProduct=1290
usb 8-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 8-3: Product: iPhone
usb 8-3: Manufacturer: Apple Inc.

Пробуем смонтировать (в моем случае точка монтирования ~/.iphone:

$ /sbin/mount.fuse.ifuse none .iphone -s --root

(теоретически, у автора написано, что джейлбрейкнутый айфон должен монтировать /, но - у меня получилось только Media).

Наслаждаемся :)

$ ls .iphone
Backup DCIM ebooks Photos w
com.apple.itunes.lock_sync Downloads iTunes_Control textReader

Далее, можно натравить на каталог gtkpod, и посмотреть содержимое iTunes
Впрочем, чтоб не таскать git'ом, прилагаю libiphone и ifuse, которые работают у меня.
Кстати, в Fedora experimental репозитории, по слухам, уже есть данные либы.

Upd:

1. Свежая libiphone лежит на http://github.com/JonathanBeck/libiphone/tree/master
git делать необязательно. Скачать можно, тыцнув на кнопку Download.

2. После перепрошивки удалить ключи из ~/.config/libiphone и сгенерить по новой.

Upd2: Для AltLinux нового: Upd: http://www.iphones.ru/forum/index.php?s=&showtopic=35960&view=findpost&p=432989

вторник, 22 сентября 2009 г.

HOWTO Linux + iPhone по Wi-Fi


Впервые опубликовано мной на http://www.iphones.ru/forum

Все не просто, а очень просто.


Дано: Linux 2.6.X, подключение к Internet, Wireless.


На примере openSUSE 11.1 x86_64, eth0 смотрит в инет, беспроводной адаптер

03:00.0 Network controller: Intel Corporation PRO/Wireless 5100 AGN [Shiloh] Network Connection

(не может работать мастером, потому испольуем Ad-Hok).


Делаем несколько простых шагов:


1. Конфигурируем беспроводной адаптер в режиме Ad-Hok


iwconfig wlan0 essid net mode Ad-Hok enc 1A2B3C4D5E

Где 1A2B3C4D5E - Ваш ключ. В данном случае WEP Hex key.


Можно задать символьный ключ длиной 13 символов, обозначив его "s:YourSuperKey123"


2. Конфигурируем интерфейс wlan0. Пусть будет 192.168.100.0/24


ifconfig wlan0 192.168.100.1 netmask 255.255.255.0 broadcast192.168.100.255 up


3. Поднимаем DHCP.

В зависимости от дистрибутива, он может быть chroot или не chroot.

Слушаем интерфейс wlan0:

/etc/sysconfig/dhcpd

DHCPD_INTERFACE="eth0 wlan0"

Роутером назначаем себя, любимого..

Диапазон определяем в подсети, к примеру, 192.168.100.0/24


Файл /var/lib/dhcp/etc/dhcpd.conf

option domain-name "ilych.local";

option domain-name-servers ВАШ_DNS_СЕРВЕР;

option routers IPADDR_СЕТЕВОЙ КАРТЫ_ИЛИ_МОДЕМА;

default-lease-time 14400;

ddns-update-style none;

subnet 192.168.100.0 netmask 255.255.255.0 {

range 192.168.100.100 192.168.100.110;

default-lease-time 14400;

max-lease-time 172800;

}


4. Разрешаем форвард пакетов и маскарад:

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

5. на iPhone коннектимся к свеженастроенной точке net, проверяем выдачу адресов...

6. Наслаждаемся:

ifconfig

wlan0 Link encap:Ethernet HWaddr 00:16:EA:49:7E:2E

inet addr:192.168.100.1 Bcast:192.168.100.255 Mask:255.255.255.0

/var/log/messages

Feb 4 15:31:36 ilych-nb dhcpd: DHCPREQUEST for 192.168.100.100 (192.168.100.1) from 00:1e:c2:e7:a8:63 (pl1) via wlan0

Feb 4 15:31:36 ilych-nb dhcpd: DHCPACK on 192.168.100.100 to 00:1e:c2:e7:a8:63 (pl1) via wlan0

и делаем, что захотим:

$ ssh 192.168.100.100 -lroot

root@192.168.100.100's password:

pl1:~ root# uname -a

Darwin pl1 9.4.1 Darwin Kernel Version 9.4.1: Mon Dec 8 20:59:30 PST 2008; root:xnu-1228.7.37~4/RELEASE_ARM_S5L8900X iPhone1,1 arm M68AP Darwin

pl1:~ root#

А равно как и из-под айфона мы прекрасно видим и сеть, и интернет. Если необходимы прокси, то прописываем их на айфоне.


pl1:/ root# ping www.ru

PING www.ru (194.87.0.50): 56 data bytes

64 bytes from 194.87.0.50: icmp_seq=0 ttl=56 time=33.933 ms