После разработки Telegram-бота для мониторинга доменов, мне удалось случайно перехватить красивый домен в зоне .ru, c 8 летней историей и хорошей репутацией.
2326 просмотров
Практически любой домен, рано или поздно освободится и его можно будет перехватить, это лишь вопрос времени. Кто-то купил домен для своего интернет-магазина, детских игрушек, дело не пошло, бизнес закрылся, а домен со временем освободился. Человек продвигал свой интернет-магазин и ссылки на сайт остались в интернете. У вас возможно тоже интернет-магазин детских игрушек. Вы можете перехватить домен и сделать редирект на свой основной сайт, тем самым получить новых посетителей и клиентов.
Так и мне удалось спустя 2 месяца, как сделал бота мониторинга доменов, перекупить красивый домен tbots.ru. Следуя плану, который описал ниже, вы сможете перехватывать красивые домены с историей для ваших целей.
Как обнаружить домен
В одной из своих статей, писал о Telegram-боте для мониторинга доменов и зачем его сделал. После публикации увидел много положительных отзывов и пользователи добавляли домены. Понял, что бот полезный и задумался, а как продвигают Telegram-ботов?
ДЕЛАЕМ АНАЛИТИКУ ДЛЯ ТЕЛЕГРАМ БОТА PYTHON
Я начал читать статьи по продвижению ботов. Мне попадались статьи-подборки со списком каталогов, для Телеграм-ботов, в которые можно добавить бота и получить трафик. Так и сделал, ходил по каталогам и добавлял своего бота.
Одним из каталогов ботов оказался tbots.ru, перешел на сайт и вижу ошибку. Расстроился, сделал пометку, что попробовать добавить бота в этот каталог на следующий день. На следующий день, ошибка на сайте каталога никуда не исчезла. Попробовал через неделю, но ошибка осталась не месте.
Посмотрел историю через web.archive.org и понял, что первый владелец домена, который с 2015 года занимался каталогом доменов, уже давно бросил это занятие.
Скриншот из сервиса web.archive.org
Второй владелец, который перекупил домен в 2022 году, торговал золотом и драгоценностями, но видимо бизнес не пошел и он не стал продлевать домен.
Скриншот из сервиса web.archive.org
Я понял, что нужно перекупать этот домен и возможно позднее сделать еще один проект, каталог Телеграм-ботов.
Мониторинг и перехват домена tbots.ru
Добавил домен на отслеживание в Telegram-бота для мониторинга доменов. Когда у домена до даты окончания регистрации осталось 7 дней, мне пришло уведомление в Телеграм от бота, что домен скоро заканчивается.
Цикл жизни RU домена следующий, что после наступления даты окончания регистрации, есть еще 30 дней — это период преимущественного продления, в течение которого администратор домена имеет преимущественное право продлить доменное имя, но за более высокую стоимость, которую устанавливает регистратор.
Цикл жизни домена в зоне .RU с сайта REG.RU
Использовал сервис в REG.RU аукцион и регистрация освобождающихся доменов для того, чтобы в день, когда наступит дата удаления домена, быть первым на покупку освобождающегося домена.
Создаем TELEGRAM бота на PYTHON и заливаем на БЕСПЛАТНЫЙ ХОСТИНГ за 5 МИНУТ
Оказалось, что на данный домен никто не претендует и выставил единственную ставку в 300 р. Иногда, надо проверять вашу ставку, что ее никто не перебил, если появится конкурент, придется с ним торговаться как на аукционе.
Скриншот с сервиса аукцион доменов на сайте REG.RU
Через 30 дней, когда наступила дата удаления домена, сервис аукциона автоматически купил домен на мои данные.
Классный домен теперь мой, осталось сделать каталог Telegram-ботов, или могу продать домен по хорошей цене на бирже доменов. Кстати, tbots.com продается за 885 008 рублей.
Теперь, когда я прогуливаюсь по сайтам, я натыкаюсь на симпатичные домены, на которых уже не работает сайт или ошибка на сайте. Далее следую простому плану, назовем его “План перехвата” и получаю желаемый домен.
План перехвата
- Обнаружить домен для перехвата.
- В web.archive.org посмотреть историю домена.
- Добавляем домен в бота.
- Ждем уведомления от бота, что домен скоро освобождается.
- Добавляем домен в аукцион доменов.
- Следим за аукционом и своей ставкой.
- Получаем домен.
Мой Telegram-канал, где я делюсь процессом работы и идеями над своими проектами.
Источник: vc.ru
REG.RU создал Whois-бота в Telegram
Крупнейший российский регистратор доменов и хостинг-провайдер REG.RU (по данным StatOnline.ru, занимает первое место по количеству зарегистрированных доменов и размещённых сайтов в национальных зонах .RU и .РФ) первым среди регистраторов создал собственного Telegram-бота. Он позволяет проверить статус домена и получить информацию в сервисе Whois через интерфейс мессенджера.
Чат-боты в мессенджерах — тренд последних лет. Мода на них пришла с востока: первыми возможность использовать ботов получили китайские программы для обмена сообщениями. После внедрения соответствующей платформы в Telegram, «бот-революция» дошла и до России.
REG.RU первым из регистраторов доменов создал бота в Telegram, основываясь на своём API. Бот даёт возможность определить статус домена — занят он или нет, а также получить сводную информацию о домене через сервис Whois. Для занятого домена автоматически выдаётся базовая информация о нём и его нынешним владельце (за исключением случаев, когда данные администратора скрыты, согласно политике конфиденциальности регистратуры или в связи с использованием услуги Privat Person). Если же домен свободен, пользователь имеет возможность перейти на сайт и зарегистрировать его. Для покупки желаемого домена выставленного на продажу на специализированной площадке, например, в Магазине доменов REG.RU, пользователь сможет обратиться к продавцу напрямую, а в остальных случаях — заказать услугу Доменный брокер.
«Использование ботов в мессенджерах — один из интереснейших трендов в современном digital-мире. Они позволяют пользователям делать рутинную работу гораздо быстрее, экономя тем самым время. Создание Telegram-бота REG.RU — это шаг навстречу нашим пользователям. Whois-бот даёт возможность клиентам проверять статус домена прямо в мессенджере, не заходя на сайт, что особенно удобно для тех пользователей, которые всегда находятся в движении и под рукой есть только мобильное устройство» — комментирует генеральный директор REG.RU Алексей Королюк.
Источник: www.reg.ru
Бот в telegram, который следит за доменом
В попытках изучения PHP и долгих раздумьях, пришла в голову мысль, для практики написать какого-нибудь бота на PHP, без использования фрэймворков.
Выбор пал на бота, который будет получать информацию о жизни домена (whois), затем доставать оттуда дату регистрации и добавлять этот домен в БД (mysql), с последующий привязкой к пользователю и уведомлением в telegram.
Исходный код в моем репозитории на гите.
Мне захотелось использовать MVC структуру, что оказалось на мой взгляд не совсем верным, так как view не был задействован и это уже нельзя назвать mvc, но да ладно…
Структура приложения
Contollerrs — Связующее звено, соединяет model и логику приложения.
Models — Файлы «бизнес-логики» приложения (Старался «запихнуть» сюда весь sql).
Core — Файлы «ядра» приложения.
Library — Библиотеки, использовал библиотеку для парсинга информации о доменном имени.
Маршрутизация
Файл маршрутизации (routes.php) расположил в каталоге core.
В приложении добавлены 2 адреса:
/bot — По этому адресу идет telegramm (необходимо установить webhook на этот адрес «uri/bot»).
/check — По этому адресу ломиться wget с помощью cron 1 в день (в 12 часов), об этом чуть позже.
BotController
При переходе в данный контролер, получаем значения из тела POST запроса, и декодируем его в виде массива.
json_decode(file_get_contents(‘php://input’), JSON_OBJECT_AS_ARRAY);
php://input — получаем тело POST запроса
CheckerController
При переходе в данный контроллер, срабатывает скрипт, который проверяет все добавленные домены и ssl сертификаты на окончание срока действия, с интервалом:
- текущая дата
- 2 дня
- 7 дней
- 30 дней
Добавление пользователей
Когда пользователь пишет сообщение боту webhook telegram, отправляет его на наш сайт, далее нам приходит сообщение в json формате, которое нам нужно декодировать, и преобразовать в массив для дальнейшей работы.
Будем работать с массивом message.
Получаем из массива message[‘chat’]: id , first_name
где:
id — идентификатор чата
first_name — Имя пользователя
А из массива message[‘text’], получаем отправленную пользователем команду.
Находим пользователя в таблице users, если его нет, создаем
// Ищем пользователя $sql= «SELECT user_id FROM users WHERE chat_id=?»; $stmt = $db->prepare($sql); $stmt->execute([$chat_id]); $rows = $stmt->fetch(PDO::FETCH_ASSOC); return (int)$rows[‘user_id’];
// Создаем пользователя $sql = ‘INSERT INTO users (user_name, chat_id) VALUES (:user_name, :chat_id)’; $insert = $db->prepare($sql); $insert->execute([‘:user_name’ => $name, ‘:chat_id’ => $chat_id]); return true;
Добавление Доменов и SSL
При отправке команды /addDomain url боту, получаем url домена из команды и получаем данные о регистрации домена с помощью этой библиотеки.
Получаем домен
Нам приходит ответ в виде текста:
Из него с помощью регулярных выражений, получаем дату регистрации домена.
preg_match(‘/RegistrysExpirysDate:s(.*)\r/’, $date, $matches); if (!$matches[1]) < preg_match(‘/paid-till:s*(.*)\n/’, $date, $matches); >$matches[1] = $this->formatDate($matches[1]); return $matches[1];
Получаем SSL
SSL сертификат решил получать с помощью openssl для linux.
$getDomainSSL = shell_exec(«echo | openssl s_client -servername $url -connect $url:443 2>/dev/null | openssl x509 -noout -dates»); preg_match(‘~notAfter=(w+)s(d+)s.+s(d+)~’, $getDomainSSL, $matches); $date = $matches[2].$matches[1].$matches[3]; $date = date(«Y.m.d», strtotime($date)); $date = str_replace(‘.’,’-‘,$date); return $date;
Таким образом получаем:
echo | openssl s_client -servername google.com -connect google.com:443 2>/dev/null | openssl x509 -noout -dates notBefore=Jan 7 15:47:12 2020 GMT notAfter=Mar 31 15:47:12 2020 GMT
Разбираем полученное с помощью регулярных выражений
preg_match(‘~notAfter=(w+)s(d+)s.+s(d+)~’, $getDomainSSL, $matches);
Остается только добавить полученные данные в таблицу.
$sql = ‘INSERT INTO domains (domain_name, date_start, date_end, date_end_ssl) VALUES (:domain_name, :date_start, :date_end, :date_end_ssl)’; $insert = $db->prepare($sql); $insert->execute([‘:domain_name’ => $url, ‘:date_end’ => $exp, ‘:date_end_ssl’ => $ssl_date]);
Привязываем домен и ssl к пользователю
Полученные данные нужно просто записать в промежуточную таблицу для того чтобы не «размножать» домены.
$sql = ‘INSERT INTO domain_users (user_id, domain_id) VALUES (:user_id, :domain_id)’; $insert = $db->prepare($sql); $insert->execute([‘:user_id’ => $user_id, ‘:domain_id’ => $domain_id]);
Проверка даты окончания домена
Когда wget переходит по адресу /check, происходит выборка всех доменов и ssl сертификатов, у которых срок действия подходит к концу, и если такие есть, отправляет сообщение в чат к которому привязан данный домен.
$db = $this->db; $sql= » SELECT user_name, chat_id, domain_name, date_end FROM domain_users JOIN users USING (user_id) JOIN domains USING (domain_id) WHERE ( domains.date_end = CURDATE() OR domains.date_end = CURDATE() + INTERVAL 2 DAY OR domains.date_end = CURDATE() + INTERVAL 7 DAY OR domains.date_end = CURDATE() + INTERVAL 30 DAY ) «; $stmt = $db->prepare($sql); $stmt->execute(); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
CRON
Крон в данном проекте нужен для организации перехода по адресу ‘/check’, каждый день в 12 часов.
crintab -e 0 12 * * * wget url/check
TOR PROXY
Пару слов о отправки сообщений в telegram.
К сожалению на территории мой страны (Россия), блокируют telegram, в том числе и его api.
Приходится использовать прокси, мой выбор пал на tor proxy (еще с прошлого проекта).
Его необходимо просто установить.
sudo apt-get install tor
Затем прокси будет доступен по порту 9050.
curl_setopt($myCurl, CURLOPT_PROXYTYPE, 7); curl_setopt($myCurl, CURLOPT_PROXY, «127.0.0.1:9050»);
Всем спасибо за прочтение данной статьи!
Эта моя первая статья, поэтому не судите строго 🙂
Комментируйте данный пост, с удовольствием приму любую критику.
Исходный код проекта в моем репозитории на github 🙂
Источник: temofeev.ru