Instant view template for WordPress

Если кому интересен мой блог то он мог заметить что в каждом псто появился линк для Instant view. А всё потому что один добрый человек сделал и выложил на github годный шаблон, что мне делать было лень.

Итак что нужно сделать чтобы заиметь такой же:

  1. Зарегестрироваться на сайте Instant view через telegram.
  2. Скопировать ссылку на запись в своём блоге (внимание: на запись а не на сам блог).
  3. Создать шаблон для этой ссылки.
  4. В колонку rules вставить содержимое вот этого файлика.
  5. Проверить в правой колонке так ли выглядит как надо и если что не так то поправить.
  6. Нажать ctrl+s а потом вверху на кнопки «Mark as checked» и «View in Telegram» последовательно.
  7. После нажатия на последнюю кнопку откроется ссылка и предложит отправить её кому нибудь.
  8. Отправляем например себе и второй раз проверяем что всё ок.
  9. Копируем с конца ссылки rhash (он может выглядеть как rhash=КУЧАСИМВОЛОВ или rhash%3DКУЧАСИМВОЛОВ так что обращаем внимание чтобы не скопировать лишние символы).
  10. Ставим в wordpress плагин VP+ Telegram Instant View или его любой аналог и в настройках вставляем и сохраняем ваш rhash.

Если всё хорошо то теперь в конце каждой записи будет чёрная кнопка с сылкой на Instant view этой записи.

MTProto proxy без мерзкого Docker’а

Ubuntu 16.04 не подойдёт, только 18.04.
OpenSUSE Leap 15.0, CentOS 7 и openSUSE Tumbleweed подходят.

apt install -y git curl build-essential zlib1g-dev libssl-dev git
yum install openssl-devel zlib-devel
yum groupinstall "Development Tools"
git clone https://github.com/TelegramMessenger/MTProxy.git
cd ./MTProxy
make

Бинарь будет в папке objs/bin

Генерируем секурный пароль

head -c 16 /dev/urandom | xxd -ps

Создаём файл /opt/mtproxy/start.sh

rm /tmp/proxy-secret
curl -s https://core.telegram.org/getProxySecret -o /tmp/proxy-secret
rm /tmp/proxy-multi.conf
curl -s https://core.telegram.org/getProxyConfig -o /tmp/proxy-multi.conf
/opt/mtproxy/mtproto-proxy --ipv6 -u nobody -p 8888 -H 443 -S ВАШСЕКРЕТИЗПРЕДЫДУЩЕГОШАГА  --aes-pwd /tmp/proxy-secret /tmp/proxy-multi.conf -M 7

Где цифра 7 означает кол-во воркеров, чем больше тем больше клиентов может переварить одновременно и тем шустрее будет работать, но при этом больше нагружать систему, флаг -M можно не использовать вообще, тогда будет всего один воркер.

Создаём файл /etc/systemd/system/mtproxy.service

[Unit]
Description=MTProxy
After=multi-user.target
 
[Service]
Type=simple
ExecStart=/bin/bash /opt/mtproxy/start.sh
Restart=always
RestartSec=30

[Install]
WantedBy=multi-user.target

Запускаем демона и ставим на автозагрузку

sudo systemctl daemon-reload
sudo systemctl start mtproxy
sudo systemctl enable mtproxy

Примерно так будут выглядеть ссылки для автонастройки

tg://proxy?server=ВАШАЙПИ&port=443&secret=ВАШСЕКРЕТ
https://t.me/proxy?server=ВАШАЙПИ&port=443&secret=ВАШСЕКРЕТ

Далее от рута

EDITOR=nano crontab -e
0 * * * * systemctl restart mtproxy

Это нужно чтобы наш прокси периодически получал список новых адресов серверов тележеньки

Для тех кому лень обновлять (когда/если будут обновления) нужно создать файл /opt/mtproxy/upd.sh

rm -rf /tmp/MTProxy
cd /tmp/
git clone https://github.com/TelegramMessenger/MTProxy.git
cd /tmp/MTProxy
make
systemctl stop mtproxy.service
rm /opt/mtproxy/mtproto-proxy
cp /tmp/MTProxy/objs/bin/mtproto-proxy /opt/mtproxy
rm -rf /tmp/MTProxy systemctl daemon-reload systemctl start mtproxy.service

и меняем в кроне строчку на

0 * * * * bash /opt/mtproxy/upd.sh

Получить статистику прокси можно так:

wget http://localhost:8888/stats
curl http://localhost:8888/stats
links http://localhost:8888/stats

(отвечает только локалхосту)

Или запросив у бота @MTProxybot (предварительно надо зарегистрировать свою проксю там). Бот даст в ответ строчку которую надо добавить через флаг -P к строке запуска.

Маленький помощник. Ч.001 пингует и отвечает

Завалялась у меня raspberry pi первой модели, и решил я научить её говорить со мной а за одно и помогать мне в работе.

Я не буду писать про то как включить и настроить малину, таких статей полным полно, вот например.

Для начала стоит поставить python и pyTelegramBotAPI

т.к. у меня установлена raspbian выглядит это так:

sudo apt update && sudo apt upgrade
sudo apt install python
sudo pip install pyTelegramBotAPI

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

для начала создадим файл с константами в который пропишем токен бота (как его получать смотрим тут), и ip адреса серверов которые надо пинговать.

token = "TBOTTOKEN"
chatid = "CHATID"
hostname1 = "IPorHOSTNAME"
hostname2 = "IPorHOSTNAME"
hostname3 = "IPorHOSTNAME"
hostname4 = "IPorHOSTNAME"

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

import os
import constants

def startp():

    alert1 = 0
    alert2 = 0
    alert3 = 0
    alert4 = 0
    response1 = os.system("ping -c 1 " + constants.hostname1)
    response2 = os.system("ping -c 1 " + constants.hostname2)
    response3 = os.system("ping -c 1 " + constants.hostname3)
    response4 = os.system("ping -c 1 " + constants.hostname4)

    if response1 ==0:
        globals()["text1"] = 'srv1 10.0.1.10 is up'
    else:
        globals()["text1"] = 'srv1 10.0.1.10 is down'
        alert1 = 1
    if response2 ==0:
        globals()["text2"] = 'srv2 10.0.1.11 is up'
    else:
        globals()["text2"] = 'srv2 10.0.1.11 is down'
    if response3 ==0:
        globals()["text3"] = 'storage 10.0.1.12 is up'
    else:
        globals()["text3"] = 'storage 10.0.1.12 is down'
        alert3 = 1
    if response4 ==0:
        globals()["text4"] = 'mail 10.0.1.16 is up'
    else:
        globals()["text4"] = 'mail 10.0.1.16 is down'
        alert4 = 1

И последний, самый главный скрипт, основной скрипт который будем запускать

import telebot
import constants
import pinger

bot = telebot.TeleBot(constants.token)

@bot.message_handler(commands=['ping'])

def handle_text (message):
    pinger.startp()
    bot.send_message(constants.chatid, "pong")
    bot.send_message(constants.chatid, "pong")
    bot.send_message(constants.chatid, "pong")
    bot.send_message(constants.chatid, pinger.text1)
    bot.send_message(constants.chatid, pinger.text2)
    bot.send_message(constants.chatid, pinger.text3)
    bot.send_message(constants.chatid, pinger.text4)

bot.polling(none_stop=True, interval=0)

Теперь остаётся только запустить скрипт и поставить его на автозапуск.

2016-03-15 14-15-12 Telegram (92)

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

Автопостинг rss в каналы Telegram

К сожалению api каналов пока оставляет желать лучшего, но команда Manybot нашла способ как реализовать функцию через своих ботов. И так:

  1. Если у вас есть бот присоеденённый api ключём к боту @Manybot хорошо, если нет то делаем это как сказано тут;
  2. Открываем нашего бота и вводим /channels
  3. Нажимаем появившуюся кнопку «Добавить канал»;
  4. Вводим имя канала в формате @channelname или ссылку на него в формате https://telegram.me/channelname ;
  5. Идём в канал и добавляем бота в администраторов канала;
  6. Возвращаемся в бота и нажимаем «отправить тестовое сообщение»;

Если сообщение появилось в канале значит работает, так-же появится инструкция как приостановить или отключить автопостинг.

Вот созданные мной каналы для пробы: RSS feed с этого блога, RSS feed с сайта ithappens.me.

снова Telegram

С появлением каналов и я решил приобщиться? тыкаем сюды и получаем новости.