myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
История благодарностей участнику Saymon21. Спасибо сказали: 479
Дата поста: В теме: За сообщение: Спасибо сказали:
2.11.2016, 20:06 Автозапуск PtokaX на Rassberry Pi?
Не могу запустить
Ну как я и говорил. Никакие велики на баше не нужны. Вот рабочий systemd юнит с плюшками для запуска ptokax.
/lib/systemd/system/ptokax.service

Код
[Unit]
Description=Ptokax DC Hub
After=network.target

[Service]
ExecStart=/usr/bin/ptokax -c /etc/ptokax
User=ptokax
Group=ptokax
Restart=always
RestartSec=5s
WorkingDirectory=/etc/ptokax
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_BIND_SERVICE
PrivateTmp=yes
PrivateDevices=yes
ProtectSystem=full
ProtectHome=yes
NoNewPrivileges=yes

[Install]
WantedBy=multi-user.target

После этого конфига:

Код
systemctl daemon-reload
systemctl enable ptokax.service
systemctl start ptokax.service


В системе должны быть юзер и группа ptokax. Бинарник /usr/bin/ptokax, конфиги, скрипты и т.п /etc/ptokax
Из плюшек тут можно сбиндится на 411 порт. Если попадает птоха, рестартанёт. Ну чуть ещё секурности.
ps. Проверял на ubuntu 16.4 amd64.
Alexey, KCAHDEP, Sezam
30.10.2016, 21:33 Отключение автоматического редиректа
памагииите...
Пинайте лучше PPK. Пусть сделает перезагрузку настроек из файлов, если процессу прислали SIGHUP.
MIKHAIL
28.10.2016, 18:49 Автозапуск PtokaX на Rassberry Pi?
Не могу запустить
Ну что? Остались проблемы? У меня тут завтра примерно будет пару виртуалок с systemd, смогу оттестить юниты. На всякий случай, конечно скажи какая ось.
Sezam
25.9.2016, 13:16 Домены Для Вашего Хаба
Как думаете?
domains.webmoney.ru позволяет делать несколько айпишников на A запись. Просто надо прописывать рядом. Это будет DNS RR. Только вот не задача, клиенты будут ходить то на один айпи, то на другой. А если канал ляжет, то часть пользователей будут пропадать на какой-то период.
Как показывает практика, лучше делать записи с маленьким TTL, например на минуту-две-5, а в случае падения канала идти на днс, перегенерить zone-файл, и reload.
Для этого заводить свой днс не обязательно. Есть сервисы, которые за копейку предоставят такие фичи.
Nickolya, мамин_парень
27.7.2016, 13:39 Rss_RT_Curl + Rss_RusNext + Rss_RusVesna
Ленты посл. новостей от RussiaToday, RusNext и RusVesna
Код
local path_separator = package.config:sub(1,1)
if path_separator == '/' then
    local    sCurl = "curl -L --retry 3 --connect-timeout 10 -m 15 -s -o "..sTempFile
elseif path_separator == '\\' then
    local sCurl = Core.GetPtokaXPath().."Curl/bin/curl.exe -L --retry 3 --connect-timeout 10 -m 15 -s -o "..sTempFile
end


Примерно вот патч, чтобы и в венде и в линуксе пахало. Для линуксоидов должен быть в системе и в $PATH.
Ksan
18.7.2016, 21:16 Rss_RT_Curl + Rss_RusNext + Rss_RusVesna
Ленты посл. новостей от RussiaToday, RusNext и RusVesna
Проблемы не у них. Ныне модно половину tls/ssl дисаблить. Время такое, security reasons.

Вообще выкинули бы вы этот luasocket уже. Давно используют curl.


Код
curl = require"lcurl"
function callback( data )
   print(data)
end

curl.easy{url = 'https://russian.rt.com:443/rss/',[curl.OPT_VERBOSE] = false,[curl.OPT_SSL_VERIFYPEER] = false,[curl.OPT_SSL_VERIFYHOST] = false,[curl.OPT_FOLLOWLOCATION] = true,}:perform({writefunction=callback()}):close()


Код работает, на голом lua. Либка вот http://lua-curl.github.io/
MIKHAIL
22.4.2016, 0:40 Ledokol
Многофункциональный бот
Пост открепил, ссылку в первый пост добавил.
Ksan
21.4.2016, 22:55 PtokaX 0.5.2.1 Mod
Модификация PtokaX от alex82
alex82, git-то будет? Автосборки пакетов с меня.
мамин_парень
19.4.2016, 19:55 PtokaX 0.5.0.1 Mod
Модификация PtokaX от alex82
Хоть я уже почти ушёл из dc, но есть пару личных репозиториев с CI для ubuntu 14.4 amd64 (Связанны с ныне работой). Там рядом уже лежат пакеты русхаба и оригинальной ptokax, собраны на досуге.
Посему предложение к alex82, использовать github, bitbucket или аналоги. Смогу собирать пакеты вам автоматом и выкладывать в репозиторий deb, а может быть и rpm пакеты.
Ksan
29.3.2016, 21:00 RusHub.org
Решаем судьбу домена
По поводу исходников вот. https://github.com/dkhabarov/rushub
Alexey
15.2.2016, 21:36 Хаб под ANDROID
Будет ли писаться такое приложение?
Да не извращайтесь вы с этим андроидом. Купите raspberry pi или cubietruck, накатите туда raspbian или cubian. Стоят-же копейки.
мамин_парень
15.11.2015, 11:55 RegmeEmail
API2 | Регистрация через e-mail
Один из вариантов - тут качай vcredist под свою архитектуру и ставь.
Error
8.11.2015, 20:59 Вопросы Разработчикам Скриптов
вопросы по скриптам (мелкие вопросы)
Ksan, В луа это реализуется другой библиотекой для регулярок:


Код
$ lua
Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio
> rex = require "rex_pcre"
> return rex.match('some string 12345 eol','^.+([0-9]{5})')
12345
>

Странно почему никто не использует в скриптах.
MIKHAIL
8.11.2015, 17:18 Вопросы Разработчикам Скриптов
вопросы по скриптам (мелкие вопросы)
pcre используй. Там было такое.
MIKHAIL
1.11.2015, 10:34 Вопросы Разработчикам Скриптов
вопросы по скриптам (мелкие вопросы)
Код
function get_os()
    local path_separator = package.config:sub(1,1)
    if path_separator == '/' then
        return 1 -- Unix/Mac
    elseif path_separator == '\\' then
        return 2 -- Win
    end
end

С архитектурой чуть сложнее.
PROCESSOR_ARCHITECTURE - переменная окружения венды.
$HOSTTYPE - маковская переменная.
А в прочих дёргай uname -m и читай выхлоп.
MIKHAIL
22.10.2015, 23:42 VPS на XEN
Помогайте выбрать
Nickolya, Не так уж и плохо всё. По опыту говорю. )
Ну и вот посмотри.
мамин_парень
3.10.2015, 16:27 ChatHistorySQL
История чата
Сайту, особенно если тот на пхп, может быть и пофиг на подобные вещи. Это раз. Два: Сделай условие на Check()
serxxx
3.10.2015, 14:22 ChatHistorySQL
История чата
serxxx
25.4.2015, 0:16 Freshstuff3 5.0.1
API2 | Русская версия | Скрипт релизов и заказов
Найти
Код
require "lfs"
и заменить на
Код
lfs = require "lfs"
dimetro
8.3.2015, 12:24 Клиент для Mydc
Android
Вобщем то делать я думаю врядли кто будет, по двум причинам:
1. Мало кому оно нужно.
2. Без REST API - это настоящий ад и израиль будет.
Используй браузер. ;)
мамин_парень
18.1.2015, 23:36 Антитор, API2 | Запрет Tor
Собери руками. Делов то 5 минут.
KCAHDEP
25.2.2014, 22:45 Ваши Вопросы И Предложения По Поводу Форума
[attachment=6956:posregex_1.0.tgz]
Nickolya
4.2.2014, 23:00 Hosting
Предлагаю хостинг (vds-ovz) хабы, сайты...
Ребят, у нас тут не дцхаблистсру, так что сразу завязываем. Разбирайтесь сами.
Nickolya
11.1.2014, 23:13 command-not-found
Очередной хандлер неизвестных команд в главном чате
Фух... Что-то я давно тут ничего не выкладывал...
Да и не только я...

Название: command_not_found
Версия: 0,1beta
Автор: Saymon21
Описание: Очередной хандлер неизвестных команд в главном чате. Отличие данного скрипта в том, что от всех предыдущих аналогов умеет "подсказывать" юзеру, что команду надо ввести чуть по другому. big_smile.gif
Как это работает?
Существует список команд, зарание подготовленных в определенённой таблице руками админа хаба, для которых генерится список регулярных выражений. Например, для команды !test список regexp-ов будет следующий: "[a-z]?est", t[a-z]?st", "te[a-z]?t", "tes[a-z]?"
Если юзер введёт например, !tast - скрипт ответит ему в главный чат что-то вроде:
Цитата
[22:56:14] <RusHub> Команда '!tast' не найдена! Может быть Вы хотели ввести:
!test (Тест)

Процесс создания списка всех доступных на хабе команд и их regexp-ов в полне можно автоматизировать, это-же RusHub. big_smile.gif
Однако для этого придётся продумать прямо говоря стандарт разработки скриптов. Ну ладно, об этом как нить потом ;)
Список команд надо прописывать в файле commandlist.t - он имеет формат обычной Lua таблицы.
Пример определения команды test уже описан.
Зы. Когда-то за идею послужил http://packages.debian.org/ru/sid/command-not-found

Скачать: На дворе 2014 год уже, да. Люди привыкли работать с Git или чем нить похожим... Мы не исключение: http://git.hub21.ru/saymon21/rushub-ext-command-not-found
[s]Чуть позже запулю ещё в bitbucket - http://opensource.hub21.ru/rushub-command-not-found

Внимание: Скрипт должен стоять ниже всех остальных!
GitHub: https://github.com/dkhabarov/rushub-command-not-found
2.1.2014, 19:43 Вопросы Разработчикам Скриптов
вопросы по скриптам (мелкие вопросы)
Свалить на linux. ;)

Хотя может дописать /Q
Нет возможности проверить.
MIKHAIL
21.9.2013, 17:34 Mysql
Unix | База данных
Код
luasql = require"luasql.mysql"
env = luasql.mysql()
KCAHDEP
19.5.2013, 12:34 nagios_check_nmdc
Контроль доступности NMDC хабов в системе мониторинга Nagios
Версия: 0.2
Лицензия: GNU GPLv3
Репозиторий: https://github.com/dkhabarov/nagios_check_nmdc_hub
Описание: Плагин проверки работоспособности/доступности NMDC хабов для системы мониторинга Nagios. Работает по такому-же принципу, как и хаблисты.
В качестве пингера используется NMDC Hubs Pinger, который ранее выкладывал alex82.

howto

В дебиане ставим всё нужное:
Код
sudo apt-get -y install lua5.1 liblua5.1-socket2 liblua5.1-md5-0

md5 библиотека тут нужна только для того, что если вы совсем параноик, вы можете проверять md5 имени хаба. laughing.gif зачем это нужно, думайте сами.
Итак, собственно забираем плагин:
Код
git clone https://github.com/dkhabarov/nagios_check_nmdc_hub.git && cd nagios_check_nmdc_hub

Копируем плагин в директорию с плагинами, и устанавливаем права на исполнение.
Код
cp check_nmdc.lua /usr/lib/nagios/plugins/check_nmdc.lua
chmod +x /usr/lib/nagios/plugins/check_nmdc.lua

Пингер я так-же приложил в наш репозиторий. Надеюсь его автор будет не против.
Копируем его куда надо:
Код
cp pinger.lua /usr/share/lua/5.1/nmdc_pinger.lua

Теперь создаём конфиг-файл для комады проверки:
Код
touch /etc/nagios-plugins/config/nmdc.cfg

И записываем в него:
Код
define command {
    command_name check_nmdc
    command_line /usr/lib/nagios/plugins/check_nmdc.lua --addr='$HOSTADDRESS$'
}

Теперь осталось определить проверку сервиса, перезапустить nagios, и радоваться.

Код
define service {
        contacts                root
        use                     generic-service
        host_name               mydc.ru
        service_description     PtokaX
        check_command           check_nmdc
}

Код
sudo /etc/init.d/nagios3 restart


Из дополнительных фич:
По умолчанию для пингера установлен ник nmdcnagios. Изменить можно добавив аргумент --nick='желаемый ник', если он зарегистрирован, добавляем параметр --password='пароль_для_ника'.
Установка шары для бота производится через параметр --sharesize='размер'. Например, чтобы установить шару 50 ГБ надо указать --sharesize=50GB
Использование Nagios Performance Data указываем параметр --perfdata (Не протестировано)
Alert warning if users >= COUNT - --usersmaxwarn=num
Alert critical if users >= COUNT - --usersmaxcritical=num
Проверка MD5 имени хаба: --expecthubname='Ожидаемое имя хаба'
На случай случайно-занятого ника есть параметр --randomnick, который в конец ника позволит добавить случайное число от 1 до 33.
Проверка хаба, который на порту != 411 --port=номер_порта
Nickolya, мамин_парень
19.5.2013, 12:04 smssend.lua & smsrulib
Работа с SMS из Lua.
Собственно думаю раздел подходящий, для пиара публикации сие проекта (Кода, не сервиса. )). Пусть даже не имеет отношение к DC++, но зато имеет прямое отношение к нашему любимому Lua.
Утилита командной строки:
  • Версия: 0.2-beta
  • Платформа: *nix only (Из-за отдельных кастылей кусков кода.)
  • Требует библиотеку LuaPosix, только если запускать под *nix системами

Модуль:
  • Версия: 0.1
  • Зависимости:
    • lua-socket 2.0.2
    • LuaCrypto или SHA2

Репозиторий: https://github.com/dkhabarov/smssend.lua
Лицензия: GNU GPLv3
Описание: Примитивный модуль для работы с API сервиса SMS.ru. А так-же "утилита" командной строки *nix, которая по большей части пример работы данного модуля.
У меня используется например для отравки некоторых уведомлений из систем мониторинга IT-инфраструктуры, HelpDesk, 2-step authentication etc.


Документация утилиты командной строки

Опции:

  • --help — Показать справку по опциям
  • --version — Показать версию утилиты
  • --login — Устанавливает логин на сервисе sms.ru
  • --password — Устанавливает пароль на сервисе sms.ru
  • --action — Выбрать действие для запуска. (Подробности ниже)
  • --to — Адрес, куда слать сообщения
  • --message — Не читать стандартный поток ввода. Будет отправлено сообщение, которое указано в качестве значения данного аргкумента.
  • --from — Имя отправителя (Должно быть согласованно с администрацией сервиса sms.ru
  • --time — Время отправки, указывается в формате UNIX TIME.
  • --translit — Переводить все русские символы в латинские.


Действия

Основная часть построена на действиях. Допустим, если вы хотите получить баланс, нужно указать действие:
--action=balance

Доступные действия:

  • send – Отправка сообщения. (Если вы хотите просто отправить сообщение, указывать не обязательно.
  • status – Статус отправленного сообщения.
  • cost – Возвращает стоимость сообщения на указанный номер и количество сообщений, необходимых для его отправки.
  • balance – Получение баланса.
  • limit – Получение текущего состояния вашего дневного лимита.
  • stoplistadd – На номера, добавленные в стоплист, не доставляются сообщения (и за них не списываются деньги)
  • stoplistdel – Удаляет один номер из стоплиста


Примеры

Практически всегда надо указывать аргументы login и password.
Отправка сообщения, без указания агрумента message на номер 79099999999:

Код
$ lua ./smssend.lua --login=79030000000 --password=mysuperpassord --to=79099999999
Hello. This is test sms message. Sent from smssend.lua (New version).

Мы будем должны получить сообщение:
Цитата
Hello. This is test sms message. Sent from smssend.lua (New version).

Ещё один пример, используя stdin:
Код
$ echo "Hello. This is test sms message. Sent from smssend.lua (New version)." |lua ./smssend.lua --login=79030000000 --password=mysuperpassord --to=79099999999

Отправка сообщения используя агрумент message:
Код
$ lua ./smssend.lua --login=79030000000 --password=mysuperpassord --to=79099999999 --message='Hello. This is test sms message. Sent from smssend.lua (New version).'

Однако, мы посторались придумать варианты, когда в агрументах явно не надо указывать логин и пароль.
Первый вариант, возможно записать их в ~/.smssendrc:
Код
echo '79030000000:mysuperpassord' | tee ~/.smssendrc > /dev/null
chmod 600 ~/.smssendrc

После любой из приведённых примеров, без агрументов login & password.
Ещё один вариант:
Код
$ lua ./smssend.lua --to=79099999999 --message='Hello. This is test sms message. Sent from smssend.lua (New version).'
Enter login: 79030000000
Enter password:
Retype password:

Вводимый пароль видно не будет.
Проверка статуса отправленного сообщения.
Сервис возвращает идентификатор каждого отправленного сообщения. Порой мы можем захотетить проверить, доставлено ли оно:
Код
$ lua ./smssend.lua --action=status --message='0000-99'
0000-99: Сообщение не найдено.

С реальным сообщением выводимая информация конечно будет по другому…
Проверка стоимости сообщения, и кол-во сообщений, необходимых для его отправки:
Код
$ lua ./smssend.lua --action=cost --message='Hello. This is test sms message. Sent from smssend.lua (New version).' --to=79099999999
Cost: 0.22
SMS Count: 1

Проверка баланса:
Код
$ lua ./smssend.lua --action=balance
Balance: 6.43

Получение лимитов:
Код
$ lua ./smssend.lua --action=limit
Day limit: 10
Messages (Count) sent today: 0

Добавление номера 89093000000 в stop-list:
Код
$ lua ./smssend.lua --action=stoplistadd --to=89093000000 --message=test

Удаление номера из stop-list:
Код
$ lua ./smssend.lua --action=stoplistdel --to=89093000000


Возвращаемые коды
Как и большинство утилит командной строки UNIX, утилита smssend.lua обычно завершается с определёнными кодами.
  • 0 – Успешно
  • 1 – API сервиса верунул ошибку
  • 2 – Ошибка использования утилиты.



Краткая документация модуля

Подключение модуля:
Код
smsrulib = require"smsrulib"

Инициализация модуля:
Код
sms_client = smsrulib.init(login, password)

Проверка аутентификации. (Происходит при инициализации на уровне модуля):
Код
sms_client:test_auth()

Получение хэша sha512(password+token)
Код
sms_client:get_crypt_key()

Получение токена:
Код
sms_client:get_token()

Отправка сообщения:
Код
sms_client:send(to, text[, from, time, translit, test])

Получение статуса отравленного сообщения:
Код
sms_client:status(id)

Получение стоимости сообщения на указанный номер и количество сообщений, необходимых для его отправки:
Код
sms_client:cost(to, message)

Получение баланса:
Код
sms_client:balance()

Получение текущих лимитов:
Код
sms_client:limit()

Добавление номера to в stop-list c причиной reason:
Код
sms_client:stoplist_add(phone, reason)

Удаление номера из stop-list:
Код
sms_client:stoplist_del(phone)

Nickolya, мамин_парень
8.5.2013, 14:26 Екатеринбург Уралмаш
Вливаемся мы всем рады!!
Оффтоп: Раз ддосят, видимо за спам карают.

Код
[21:21:49] <P2PRussia©™>  >> DCHUB.AKADO-URAL.RU <<<<
[21:21:50] <P2PRussia©™>  >> DCHUB.AKADO-URAL.RU <<<<
[21:21:52] <P2PRussia©™>  >> DCHUB.AKADO-URAL.RU <<<<
[21:21:54] <P2PRussia©™>  >> DCHUB.AKADO-URAL.RU <<<<
[21:21:55] <P2PRussia©™>  >> DCHUB.AKADO-URAL.RU <<<<
[21:21:56] <P2PRussia©™>  >> DCHUB.AKADO-URAL.RU <<<<
[21:22:29] <P2PRussia©™>  >> DCHUB.AKADO-URAL.RU <<<<
[21:22:30] <P2PRussia©™>  >> DCHUB.AKADO-URAL.RU <<<<
[21:22:37] <P2PRussia©™>  >> DCHUB.AKADO-URAL.RU <<<<
>> DCHUB.AKADO-URAL.RU <<<<
>> DCHUB.AKADO-URAL.RU <<<<
>> DCHUB.AKADO-URAL.RU <<<<ББ
[21:22:45] <P2PRussia©™>  >> DCHUB.AKADO-URAL.RU <<<< >> DCHUB.AKADO-URAL.RU <<<< >> DCHUB.AKADO-URAL.RU <<<< >> DCHUB.AKADO-URAL.RU <<<< >> DCHUB.AKADO-URAL.RU <<<<

Нахлебник... Дай всё готовое видишь ли... Вот бери и сам качай птоху и скрипты...
Aлзим, мамин_парень
4.5.2013, 10:05 Домены Для Вашего Хаба
Как думаете?
Нет пинга. Да и открытых портов с хабом не видно. Хаб точно не локальный? Фаервол есть? Провайдер точно ничего не режет? Для пинга проверяй, разрешён ли ICMP, 0 (echo-reply), 8 (echo-request).
Nickolya

10 страниц V   1 2 3 > » 
RSS Сейчас: 22.11.2024, 19:52