Джаббер бот

Автор : Silver Ghost | Категории : PHP, Скрипты | Дата : 02-04-2009

Теги : ,

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

Запуск бота производится командой:
screen -d -m php /path/to/SGBot/index.php

Остановка бота:
screen -r
Ctrl+C

Скачать бота можно из SVN:
svn co –username anonymous https://svn.in-lan.net.ua/svn/SGBot

Бот основан на JAXL и имеет несколько модулей:

Help:
Выводит справку по работе с ботом.

Tasks:
Модуль для заметок и ToDo листов.

Calc:
Google калькулятор

Whois:
Выводит whois информацию по домену.

Bash:
Выводит случайную цитату с сайта bash.org.ru.

MD5:
Генерирует md5-хеш переданной строки.

ABills:
Модуль связки бота с биллингом ABills. Настройка производится в самом файле модуля.
Выводит состояние счета пользователя.

FeedBack:
Связь с разработчиком бота.

Если у кого-то есть вопросы - милости прошу в комменты.

Постовые:
смотри казино
swiss replica
luxury swiss watches

Постим в Twitter с помощью BASH

Автор : aleksandr | Категории : Интернет, Скрипты | Дата : 26-01-2009

Теги : ,

Ставим curl:

Для справки:

cURL — это служебная программа командной строки для передачи файлов с синтаксом URL, поддерживающая FTP, FTPS, HTTP, HTTPS, TFTP, SCP, SFTP, Telnet, DICT, Файл:URL и LDAP. cURL поддерживает сертификаты HTTPS, методы HTTP POST, HTTP PUT, загрузку на FTP, Kerberos, загрузку через формы HTTP, прокси, файлы cookie, проверку подлинности «имя пользователя + пароль» (базовую, дайджест, NTLM и Negotiate для HTTP, а также kerberos4 для FTP), возобновление передачи файла, туннелирование через прокси HTTP и много других функций. cURL — это свободное программное обеспечение, распространяемое под лицензией MIT.

Главная цель использования cURL состоит в том, чтобы автоматизировать передачу файлов или последовательность таких операций. Например, это хорошее средство для моделирования действий пользователя в веб-обозревателе.

Libcurl — это библиотека интерфейса API для передачи, которую пользователи могут встроить в свои программы; cURL действует как автономная обёртка для библиотеки libcurl. libcurl используется, чтобы обеспечить возможность передачи URL многочисленным приложениям (как открытым, так и коммерческим).

Для libcurl имеется более 30 различных привязок к языкам программирования.  (c) Wikipedia

FC: su -c ‘yum install curl’

UU: sudo apt-get install curl

Далее создаем скрипт и ложим его туда, куда считаем нужным из своих соображений безопасности и тд.

#!/bin/bash
curl --basic --user USERNAME:PASSWORD \
--data status="$*" '/statuses/update.xml' -o /dev/null;

Где USERNAME - имя в twitter, PASSWORD - пароль. Ставим права на исполнение всем, а на редактирование только для рута (тут тоже на ваше усмотрение)

$ sudo chmod 551 /usr/local/bin/tw
$ sudo chmod +s /usr/local/bin/tw
$ sudo chown root /usr/local/bin/tw

А теперь пользуемся:

tw "Проверка связи, раз, раз, два. Как слышно?"

Благодраности: Хабрахабр

Постовой: магазин копий часов, аренда квартиры в Одессе, купить чай

Плагины для WordPress, которые я использую

Автор : Silver Ghost | Категории : Blog, WordPress | Дата : 12-10-2008

Теги : , ,

Сегодня я приведу список плагинов для WordPress, которые используются на моем сайте. список внушительный получился, но весьма полезный. Итак, поехали:

  1. (J)ExR - Этот плагин делает все ваши внешние ссылки внутренними. При этом есть так же возможность их кодировать, чтобы их не было видно.
  2. 404 Notifier - По RSS информирует Вас о ссылках на несуществующие страницы.
  3. @Reply \w comment preview - Ответы в комментах аля Твиттер.
  4. Akismet - Известнейшая спамоловилка.
  5. Collapsing Archives - Сворачивающиеся архивы в сайдбаре.
  6. Feedburner Feed Replacement - Переадресатор RSS потока на Feedburner.
  7. Google XML Sitemaps - Генератор XML Sitemap для Google.
  8. Gravatar - Аватарки в комментариях. Регистримся все и вставляем свои фоты. :)
  9. iF AJAX Comments For WordPress - Отправка комментов без перезагрузки страницы.
  10. MaxSite Russian Date - Русский стиль для дат.
  11. Ozh’ Admin Drop Down Menu - Более удобная админка, нежели стандартная WP.
  12. Related Posts - Выводит список записей на схожие темы, базирующийся на активном/пассивном совпадении ключевых слов.
  13. RusToLat - Транслитерация русских символов URL в английские.
  14. Search Everything - Расширяет поисковые возможности на сайте.
  15. Subscribe To Comments - Подписка на комментарии по почте.
  16. WP-Ads - Ротация рекламы на сайте.
  17. WP-OpenID - Реализует возможность комментирования без регистрации на сайте, используя свой OpenID.
  18. WP-PageNavi - Постраничная навигация со списком номеров страниц.
  19. WP-Print - Генерирует печатную версию страницы.
  20. WP-UserOnline - показывает сколько пользователей сейчас на сайте, что они читают, и т.п.
  21. wpSEO - Оптимизация WP под поисковики.

Надеюсь эти плагины помогут обустроить блог и Вам.

Ускоряем отдачу php-скриптов

Автор : Silver Ghost | Категории : PHP, Линукс | Дата : 11-08-2008

Теги : , , ,

Думаю многим будет интересно у кого свой сервер ускорить обработку php-скриптов. Для этого я себе поставил eAccelerator для php. Пошагово делается так:

1. Ставим средства разработки для php:

$ sudo apt-get install php5-dev
$ sudo apt-get install make

2. Качаем eAccelerator:

$ cd /tmp
$ wget https://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2
$ tar xvjf eaccelerator-0.9.5.3.tar.bz2
$ cd eaccelerator-0.9.5.3

3. Компилируем и ставим:

$ sudo phpize
$ sudo ./configure –enable-eaccelerator=shared
$ sudo make
$ sudo make install

4. Настраиваем. Для этого правим /etc/php5/apache2/php.ini, добавляя туда в секцию [PHP] такие строки:

; eAccelerator configuration
; Note that eAccelerator may also be installed as a PHP extension or as a zend_extension
; If you are using a thread safe build of PHP you must use
; zend_extension_ts instead of zend_extension
;extension = “/usr/lib/php5/20060613+lfs/eaccelerator.so”
zend_extension = “/usr/lib/php5/20060613+lfs/eaccelerator.so”
eaccelerator.shm_size = “16″
eaccelerator.cache_dir = “/var/cache/eaccelerator”
eaccelerator.enable = “1″
eaccelerator.optimizer = “1″
eaccelerator.check_mtime = “1″
eaccelerator.debug = “0″
eaccelerator.filter = “”
eaccelerator.shm_max = “0″
eaccelerator.shm_ttl = “0″
eaccelerator.shm_prune_period = “0″
eaccelerator.shm_only = “0″
eaccelerator.compress = “1″
eaccelerator.compress_level = “9″

5. Создаем каталог для кеша скриптов:

$ sudo mkdir -p /var/cache/eaccelerator
$ sudo chmod 0777 /var/cache/eaccelerator

Перезапускаем Apache и проверяем в phpinfo. Должа появится секция eAccelerator.

Конвертирование тегов mp3

Автор : Silver Ghost | Категории : Линукс, Скрипты | Дата : 04-08-2008

Теги : , , ,

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

Называется скрипт tag2utf. Качаем себе на машину, устанавливаем права на запуск

chmod 755 ./tag2utf-0.15.py

А дальше все просто. Запускаем скрипт с каталогом файлов в качестве параметра и говорим где в каком каталоге какая кодировка исходная. Все. Теперь наслаждаемся нормальными тегами в mp3 файлах.

MySQLDBBackup v.1.0

Автор : Silver Ghost | Категории : Скрипты | Дата : 26-05-2008

Теги : , , ,

Сегодня переписал и доработал скрипт бекапа баз данных MySQL.

Основные изменения:

+ Создан конфиг в виде стандартного ini-файла;
+ Добавлена проверка наличия замыкающего слеша;
* Переписана схема ротации;
* Увеличена информативность выводимого отчета.

Планируемые добавления:

1. Количество хранимых копий для каждой базы отдельно
2. Автосоздание последнего в пути каталога для бекапа.
3. Загрузка файлов на удаленный сервер.

Если кому-то чего-то не хватает - прошу в комменты.

Локализация Search Everything 4.5

Автор : Silver Ghost | Категории : WordPress, Скрипты | Дата : 11-05-2008

Обновил файлы локализации для плагина Search Everything до версии 4.5.

Скачать можно здесь.

Скрипт рассылки погоды

Автор : Silver Ghost | Категории : PHP | Дата : 04-05-2008

Раз пошла такая пьянка, да и обещал я выложить еще один скрипт, то вот - скрипт рассылки погоды для Украины. Тестировал я его только на МТС.

Инструкция по настройке и установке внутри самого скрипта. Сложного ничего нет:

1. Настройте все параметры, находящиеся внутри скрипта.
2. Установите права доступа на скрипт 755 (rwxr-xr-x).
3. Установите владельца и права записи на папку с кешем.
4. Пропишите периодичесикй запуск скрипта в crontab:

0 */3 * * * user /path/to/weather.php

Скрипт бекапа баз данных MySQL

Автор : Silver Ghost | Категории : PHP, Ubuntu | Дата : 03-05-2008

Теги : ,

Долго я искал нормальный скрипт для резервного копирования баз данных MySQL и ничего подходящего для себя не нашел.

Чего мне не хватало:

  1. Пакетный бекап баз.
  2. Разные каталоги для бекапов.
  3. Ротация резервных копий.

Пришлось мне писать свой скрипт для этого дела. В общем на Ваш суд:

MySQL DB Backup умеет хранить резервные копии баз данных в отдельных каталогах для каждой базы, что позволяет разнести базы по каталогам пользователей; позволяет управлять резервированием баз данных из одного места, что гораздо удобнее, чем ручное копирование; проводить ротацию файлов копий, ограничив количество этих копий; автоматически менять владельца и группу файла для корректного доступа пользователей к файлам резервных копий.

Скачать

[ ... ИНСТРУКЦИЯ ПО УСТАНОВКЕ ... ]

1. Внесите в массив параметры баз данных и путей к каталогам резервных копий, настройте остальные параметры конфигурации в файле mysqldbbackup.ini.

Один из разделов конфигурации обязательно должен называться Options. В нем находятся настройки
хранения, ротации, доступа к базе данных. Для примера:

[Options]
removedays = 1,4,6
nob = 10
compress = 9
dbuser = root
dbpass = Mega$uperPa$sword

- removedays отвечает за настройку дня недели, в которые будет проводиться удаление
старых файлов резервных копий. Дни недели указываются через запятую (0 - воскресенье). Можно
указать “*”, что означает каждый день;
- nob (number of backups) отвечает за количество хранимых бекапов;
- compress - коэффициент сжатия (0 - 9);
- dbuser - имя суперполльзователя (обычно root);
- dbpass - пароль для указанного пользователя.

Далее идут разделы для копируемых баз данных:

[DataBase]
db = dbname
archpath = /path/to/backup
owner = user:group

- DataBase - идентификатор базы данных;
- db - имя базы данных;
- owner - имя пользователя и группа, выставляемые на файл бекапа после его создания.

2. Измените путь к файлу конфига в файле mysqldbbackup.php.
3. Установите права запуска на скрипт 700, владельца и группу root.
4. Внесите в crontab запуск скрипта по расписанию:

0 1 * * * root php /path/to/mysqldbbackup.php

5. Все. Скрипт находится в рабочем состоянии.

[ ... TO DO ... ]

1. Количество хранимых копий для каждой базы отдельно
2. Автосоздание последнего в пути каталога для бекапа.
3. Загрузка файлов на удаленный сервер.

[ ... HISTORY ... ]

ver. 1.0

+ Создан конфиг в виде стандартного ini-файла;
+ Добавлена проверка наличия замыкающего слеша;
* Переписана схема ротации;
* Увеличена информативность выводимого отчета.

[ ... REGARDS ... ]

1. Спасибо за помощь в отлове багов Lice (TSRh Team).

Дополнительная защита веб-сервера

Автор : Silver Ghost | Категории : Apache, PHP, Ubuntu, Линукс | Дата : 03-04-2008

Теги : , ,

По наводке от моего товарища Lice пришлось ковырять как закрыть от PHP-скриптов доступ в другие каталоги. дело в том, что если не установлен PHP как CGI модуль, то варианта два. Либо SafeMode + doc_root, что совсем не приятно и мне не нравится. Причины расписывать тут не буду, т.к. не хочется устраивать холивар. В общем, я пошел по другому пути. В каждый виртуальный хост Апача я добавил такую конструкцию:

php_admin_value open_basedir /var/www/user/

Таки образом я избавился от неприятной вещи по типу fileread(’/etc/passwd’);.

Дальше больше. Lice по FTP залил какой-то ПХП-шный shell и стали тестировать. Как я и ожидал, каталоги то он увидел, а вот скачать что-либо, кроме как из своего каталога - никак.

Вот теперь надо отрубить system и exec с кучей всего еще. В php.ini мы правим:

disable_functions = “apache_get_modules,apache_get_version,apache_getenv,apache_note, apache_setenv,disk_free_space,diskfreespace,dl,highlight_file,ini_alter,ini_restore,openlog, passthru,phpinfo,proc_nice,shell_exec,show_source,symlink,system,exec”

Отдельное огромное спасибо Lice за помощь.