WackoWiki : LjPhp

LJPHP

Прокси для чтения Live Journal из неуникодных браузеров

Скачать: v4 beta 8.

Оглавление документа

Что это

A1: lj-php, клиент для помещения записей и комментариев в Live Journal из браузеров, не поддерживающих Unicode.
A2: Теперь это полноценная прозрачная http-прокси для ЖЖ с перекодирующим эффектом.
Существует три четыре области применения:

FAQ

Общие вопросы


Q: Что нужно, чтобы это запустить?
A: Поместить все php-файлы на хостинг с установленным php4.1.
Желательно отредактировать файл “.htaccess”.

Q: Кто автор?
A: Роман Иванов, <lj user=kukutz>, thingol@mail.ru

Q: Какая это версия?
A: 4.0 beta 8

Q: Как можно улучшить lj-php?
A: Сделать кеширование страниц, получаемых с сервера. Но вряд ли я этим займусь.
Cделать WAP. Вряд ли я этим займусь.

Q: Какая лицензия у lj-php?
A: Вы можете использовать, модифицировать и распространять этот код любыми способами, при условии сохранения строк, указывающих авторство исходного варианта кода (то есть мое).
Кроме того, я буду очень благодарен, если вы, сделав в этом коде какие-либо общественно полезные изменения, поделитесь ими со мной.
A2: BSD-like.

Q: Я хочу такую-то фичу...
A: Пишите мне, посмотрим.

Вопросы функционирования


Q: Допустим я нашел хостинг, поместил файлы, что я делаю дальше?
A: Предположим, вы положили файлы на www.yourserver.ru в папку ljphp.
Далее открываете www.yourserver.ru/ljphp/ и видите главную страницу ЖЖ (не в привычной схеме, правда, а в облегченной).
Дальше можете залогиниться («вход в ЖЖ»).
Дальше читать свою френдленту («Лента друзей»).

Q: Как я могу открыть через lj-php ту или иную страницу из Live Journal?
A1: Ходите по ссылкам (они корректно заменяются).
А2: Введите абсолютный или относительный адрес страницы в поле «Открыть» и нажмите “Go!”.
А3: Поймите принцип формирования QUERY_STRING и формируйте его руками.

Q: У каждого ЛЖ-юзера должен быть свой хостинг, на который он все эти php помещает или можно где-то поместить и потом всем пользоваться?
A: Можно, конечно, сделать общедоступный сервис. Но здесь возникает проблема, которую я самостоятельно решить не могу — это траффик. То есть если у вас есть (не)коммерческий хостинг, включающий много мегабайт бесплатного траффика, то никто вам не мешает выложить туда lj-php и всем этот адрес сообщить.

Но если мегабайт траффика не так много, то они могут быстро кончится, если этим сервисом будет пользоваться много людей.

Q: Где берутся такие хостинги? Не знаете где-нибудь бесплатный или недорогой?
A: Бесплатный хостинг не бывает хорошим. К сожалению.

А платный — на http://www.hostobzor.ru, например, можно выбрать себе подходящего хостера и тарифный план.

Q: Что там писать в “.htaccess”, чтоб красивые ссылки заработали?
A:
ErrorDocument 404 /ПУТЬКLJPHP/index.php
ErrorDocument 401 /ПУТЬКLJPHP/index.php

Загрузка / Download

v4 beta 8.

Changelog

4.0 beta 8
– ЖЖ поменял вид cookie – не работал логин. Починено.
– ЖЖ поломал выдачу страниц, если в URL есть параметр usescheme. Сделан воркараунд.
+ добавлена схема работы, когда ljphp может использовать только залогиненый пользователь из списка логинов, указанных в конфиге. Специально для <lj user=apazhe>.
4.0 beta 6
– исправлена ошибка, позволявшая использовать ljphp как прокси не только к ЖЖ, но и вообще к любому сайту
– исправлена ошибка с удвоением меню ljphp
– теперь можно в адресной строке ljphp набирать адрес включая начальный слеш
+ теперь кеширование работает, кеширующие заголовки корректно туда-сюда ходят, js не ломается. нужно тестировать.
– исправлен баг версии 4.0 beta 5, из-за которого сломался логин и удаление комментариев
– исправлена проблема с заполнением опросов (кроме чекбоксов. чекбоксы я поддерживать не планирую. стыдно должно быть тому разработчику ЖЖ, кто разным чекбоксам дал одинаковый name)
4.0 beta 5
+ RSS/Atom теперь тоже перекодируется
– починил добавление в друзья
– починил добавление в мемориес
4.0 beta 4
! теперь картинки берутся с их оригинального местоположения. Готов выслушать другие мнения.
+ post.php теперь работает. Welcome!
– поправлена ошибка, из-за которой мог не работать весь Java Script.
! смена лицензии на BSD
4.0 beta 3
+ поддержка Quick Reply
4.0 beta 2
– исправлена ошибка с логином
+ добавлена поддержка http-прокси
4.0 beta 1
! поддержка iconv полностью удалена
! поддержка curl полностью удалена
! минимальные требования повысились до PHP 4.1
+ используются немного подправленные библиотеки из PEAR
+ код стал читабельным
+ исправлена опция s2suck
– удалена опция «показывать оригинальные ссылки»
+ идиотский парсинг ссылок заменен на человеческий. Копирайты у Димы Смирнова.
+ работает при register_globals=off без костылей
3.0 Release
! отозван
! всем пользователям придётся заново сохранить пользовательские настройки
+ опция $s2sucks, при выставлении в единицу отключает стили S2.
– поправлено указание кодировки страниц
– /js/talkpost.js не бралось с оригинального сервера
– в post.php выставлялось неверное время
– нельзя было отключить 404-режим в настройках пользователя
3.0 RC3
+ работа при выключенном register_globals (спасибо <lj user=ivk>)
+ автоматическое выставление переменной $gzip
– исправлена ошибка с обработчиком 404х, введён соотвествующий параметр конфигурационного файла
+ фиксы от <lj user=ati>
+ robots.txt
– /js/talkpost.js не бралось с оригинального сервера
+ режим «сервиса», когда все «подозрительные» хиты перепраляются на ЖЖ (экономия траффика, защита от поисковых роботов)
3.0 RC2
– ссылка на оригинальный URL в панельке была неверная
– косяк с кодировкой в заголовке (всё отображалось вопросиками)
– не добавляло друзей и мемори, не работала админ-консоль.
+ фиксы от <lj user=ati>
3.0 RC1
+ поддержка красивых URL (не забудьте настроить .htaccess)
+ исправлены все известные ошибки
+ поддержка оригинальных ссылок (см. настройки)
+ поддержка нового формата URLs ЖЖ
2.0 RC2
+ не помню
2.0 RC1
+ GZIP между сервером ЖЖ и ljphp включается только если в php есть поддержка zlib (not finished)
2.0 RC1
+ Теперь, если ЖЖ может отдавать страницу в gzip'е, то мы ее получим и корректно раскодируем
+ Фиксы в parse_forms: работают опросы и добавление друзей/коммьюнити
+ Исправлена неприятная ошибка с headers, приводившая на alpha-машинах к ступору php
+ Возможность выбора сервера (livejournal.com, deadjournal.com, ujournal.org)
+ Если пользователь залогинился, то в панели появляются ссылки на личную ленту и ленту друзей
+ Корректная обработка 302 Found (при переходе на предыдущую/следующую запись)
2.0 beta2
+ возвращены post.php и comment.php
+ post.php стал влезать в почти любой размер экрана (важно для КПК)
+ исправлены еще несколько типографических символов
+ исправлена ошибка с target="_blank"
+ добавлена панель ссылок вверху каждой страницы
+ Поле «Открыть» с кнопкой “Go!”
+ Настройки сохраняются в куках – нет нужды править config.php
+ Перестал пользоваться функцией rtrim в целях совместимости
+ Исправлена пара ошибок (обработка форм, неверные ссылки в панели)
+ Добавлен третий уровень диагностики (сверхподробный)
+ Исправлена маленькая ошибка в разборе Transfer-encoding: chunked
2.0 beta1
+ Полностью переписано
+ Прозрачная http-прокси: вы можете читать, писать и вообще выполнять любые интерактивные действия с ЖЖ
+ Поддержка GET, POST и COOKIE: вы можете залогиниться и читать подзамочные записи
+ Поддержка схем (см. http://www.livejournal.com/talkread.bml?journal=lj_nifty&itemid=4209)
+ Поддержка языка интерфейса ЖЖ
+ Попытка сделать WAP-вывод (будет доведена до ума в 2.1)
+ Поддержка вывода в сжатом виде, если это позволяет браузер
+ Две новых кодировки
– Убрана поддержка CURL, так как мне не удалось заставить его разбирать transfer-encoding: chunked и выдавать мне куки, пришедшие с сервера. Если кого-то знает, как это делать, сообщите мне, пожалуйста.

Вернуться к Lj Php

v4 beta9 To Do


  1. транслит