Part III : Доры - Генерируем тонны контента и фармим своего домашнего вебкраулера гугла в промышленных масштабах на базе динамического доргена

XSSBot

Форумный бот
Пользователь
Регистрация
31.12.2005
Сообщения
1 473
Реакции
835
Информационный предикат:
Господа, рад вас всех приветствовать внутри данного треда.
Как многие уже могли догадаться, данный пост лежит в плоскости материалов по black seo и является естественным продолжением цикла статей :
Black SEO - [ Не для чайников ]
А раз так, данный материал необходимо изучить вкупе с ранее опубликованными постами.
И да, сегодня - мы будем говорить о манипуляциях основными факторами ранжирования в поисковых системах, или о том - как добывать трафик внутри серча с применением не совсем этичных методов поискового продвижения.

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

Исходя из специфики нашего форума, я выбрал одну из самых понятных ниш в качестве объекта исследований - и речь идет о download

Пару слов от автора:
Part III : Доры - Генерируем тонны контента
и фармим своего домашнего веб-краулера гугла в промышленных масштабах на базе динамического доргена
Исходный код доргена - лежит ниже


На сейчас - нас интересуют основные факторы ранжирования в поисковых системах.
Этих факторов - бесчисленное множество, но в целом, их можно обобщить - тремя основными категориями.

1 категория: Внутренние факторы | То что нас интересует - сейчас
1738438625827.png

Из этой группы выделяем:

1. техничкe сайта ( оптимизация загрузки, семантическая верстка, микродата и т.д )
2. контент сайта
3. индексация

Из выше названных факторов, вытекают три ключевых вопроса:

А. Как быстро генерировать сайты с техничкой под сео?
Что-бы что-то продвигать, нам нужно создать посадочные страницы/сайты
А лучше 100 страниц и на разных сайтах с учетом всех рекомендаций ПС по техничке.
Нужна в большом кол-ве обусловлены абсолютно разным причинам, но мы берем за марту концепт [ бери больше - кидай дальше ]
Это касается всего, начиная от тестов, заканчивая ссылочным, но сейчас не об этом

Так вот, один из таких концептов - есть дорвеи, о некоторые о вас слышали и много
Ниже дашборд одного из таких доргенов, который скоро попадет в ваши руки
1738439496394.png

Внутри этой панельки у нас с вами генерируются куча говно сайтов...
В свое время,прошуршав сотни страниц связанных с автоматизацией процессов сайтостроения - мы нашли информацию по дорвеям и начили копать эту тему
Кратко о дорах: https://ru.wikipedia.org/wiki/Дорвей

Почему именно дорвеи?
Ответ:Технологии используемые в строительстве дорвеев - полностью закрывают наши потребности в области массового поднятия/разворачивая/создания сайтов
и наполнение их контентом в промышленных масштабах.

Сам по себе дор - по сути уникальный феномен в области информационного поиска. Концепт доров лежит в плоскости манипуляций с контентными/текстовыми факторами ранжирования
Где подход "TF-IDF" возведен в абсолют в обход понятия IDF, иначе говоря: мы спамим выдачу сотнями тысяч страниц по необходимым нам ключам сформированных за счет переоптимизированного контента.
И нам абсолютно наплевать на информационную ценность контента внутри наших сайтов.

На 2022-2023 год, доры спокойно можно было найти при анализе поисковой выдачи по необходимым нам запросам в нужных нам гео
Давайте освежим память и посмотрим как выглядит непосресдтвенно сам дор

Если кто забыл как выглядит классический дор, выглядит он вот так вот

1738439908452.png

Дор может выглядеть иначе, во внутряк можно подгрузить свой шаблон и он будет выглядеть поинтересней чем просто html страница с текстом и ссылками
Можно сформировать какие-то сквозняки внутри подгружаемого шаблона, например в футере или развернуть зону дополнительного контента в ввиде сайтбара
Вариантов масса, так или иначе - это есть основа генерации веб.страниц.

Для сравнения, давайте посмотрим дор 2025года ( чтобы было что сопостовлять )

1738440137257.png


По ходу изучения классических дорвеев, мы выясняем что основу веб-документа составляют сниппеты с выдачи гугла/бинга по ключу из title
1738440274926.png

Специфика дорвейного трафика подразумевает создание сотен тысяч/миллионов страниц подобным выше, которые попадая в индекс в моменте/после пинга - получают как-то первый траф по нч/сч ключам
Далее все эти страницы переправляют пользователей на какую-то стороннюю страницу с оффером

Работает все это дерьмо за счет клоакинга
Где мы клоачим сгенерированные страницы на сниппетах и подменяем контент пользователю, в то время - как гугл бот, продолжает ходить по дору и сканировать все новые и новые страницы.
1738440395195.png

Принимая специфику дорвейного трафика, мы располагаем идеей, что пользователь придет с рандомного ключа из миллиона прочих расположенных внутри семантического ядра
Естественно ядро у нас тематическое, на нашем примере - где у нас есть миллионы страниц связанных с драйверами под все известные программы
- хорошим вариантом посадочной страницы будет: Driver booster
Пример посадочной: https://driver-booster-free.en.softonic.com/

Статистика трафика на подобного рода посадочные страницы с ahrefs на запусках
1738440526048.png
1738440501898.png

На сегодня, для подобных свечей одного доргена не достаточно, но его технологии - лежат в основании
Введение:
Знакомство с Azcordом произошла случайно на форуме более 2лет назад, в процессе уже пошло более тесное рабочее общение, в котором мы увидели некую перспективу для друг друга.
Одно из наших долгих обсуждений был концепт комбайна который решает все задачи для сео, включая дорген. Изучив информацию в свободном доступе о дор генерации, мы перешли к реализации своего продукта.

Мне предоставили исходники какого-то доргена, разработанного на Parser 3 языке, не понятный, очень специфичный продукт. Тк я являюсь Senior PHP Backend разработчиком, было принято решение переписать это на Yii2 PHP 8.1, ведь мы хотим высоко производительный софт на выходе.

Реализация:
Сам технический концепт дорвея укладывается в простых понятиях, отобразить случайные ключи и снипеты, сохранить статистику, отправить редирект если нужно. Но как мы знаем дьявол кроется в деталях. Основная проблема кроется в нагрузках и обработки 50 миллионов ботов в сутки.

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

В следствии решения этой проблемы мы пришли к записи в очередь каждого посещения через брокер сообщений, с последующей пакетной обработкой и записью в таблицу статистики агрегированых данных. Для больших объемов статистики отлично подходит ClickHouse который позволяет записывать и самостоятельно агрегировать данными.
Важно использовать кэширование самых часто используемых данных. Для мониторинга и аналитики приложения мы использования отличную утилиту newrelic, который встраивается в php либой и собирает телеметрию.
С записью статистики при масштабировании разобрались, но у нас еще есть сам сервис который отдает данные. При повышении посещений растут и чтения из базы, нашим решением было вынести базу на отдельный сервер, сделать локальную репликацию с на сервере с php, и разделить master и slave с разограничением на разные чтения и записи, такой способ помог преодолеть рубеж в 30 миллионов суточных запросов на сервер.

Планы на будущее:
Интегрировать кликхаус для аналитики, реализовать кластер k8s для масштабирования и отказоустойчивости приложения

Обсенности системы:
- Система способна выдержать миллионы переходов за счет кэширвоание и пакетной вставки статистики
- Обновление статистики происходит после набора 100 переходов ботов или редиректов
- Поиск таблиц баз снипетов происходит по названию db_
- Добавление новых вайтов и блеков возможно через создания файлов в папке
/views/template/files
Далее руками добавляются путь до файлов modules/panel/views/project_form на 102 строчке
Далее блек можно выбрать в панели для отображения пользователям, так же и с вайтом можно выбрать другой по такому же принципу, либо оставить редирект как сейчас по умолчанию
- Загрузка баз происходит через phpmyadmin либо консоль
- Рекомендация использовать прокси сервер абузоустойчивый перед дорген сервером
- Для проверки отображения вайта в настройках проектах есть включение дебага по IP адресу. После включения будут отобрежны дебаг информация при переходах
- Утилита CF имеет возможность добавления ваших доменов и привязки к серверу по API, сами аккаунты указываются в отдельной вкладке и хранятся в БД
- Статистика редиректов может показывать некорректные цифры ограничения переходов из-за обновления каждые 100 сообщений
- Проект располагает к полной кастомизации доработок, имея хорошую базу под большое количество запросов
- Для PROD настройки рекомендую не использовать Docker, а реализовать нативную настройку
- Для опытных системных администраторов есть возможность все это завернуть в кластер K8s
- Для разворачивания проекта нужно в папке проекта выполнить команду docker-compose up -d (при условии установленном docker в системе). В проекте есть readme описывающий процесс разворачивания и информацию о проекте
Исходный код доргена : https://github.com/nylisaalisa44/Dorgen
Yii 2 Dorgen is a powerful and flexible web application template built on the Yii2 framework. It is designed for modern development workflows and provides a solid foundation for web application projects.

Technologies Used

This project leverages the following technologies:


  • PHP 8.1: The core programming language.
  • Yii 2 Framework: A high-performance PHP framework.
  • Docker: For containerized development and deployment.
  • Composer: Dependency management.
  • Nginx: Web server for serving the application.
  • MariaDB: Supported databases.
  • Bootstrap: For frontend panel design and responsive UI.
  • Git: Version control system.
  • RabbitMQ: For message queues and asynchronous tasks.
  • Redis: For caching and session storage.
_____________________________________________________________________________
Directory Structure
assets/ contains assets definition
components/ contains componenets system
commands/ contains console commands (controllers)
config/ contains application configurations
controllers/ contains Web controller classes
mail/ contains view files for e-mails
models/ contains model classes
runtime/ contains files generated during runtime
tests/ contains various tests for the basic application
vendor/ contains dependent 3rd-party packages
views/ contains view files for the Web application
web/ contains the entry script and Web resources

______________________________________________________________________________
Requirements
The minimum requirement for this project template is that your Web server supports PHP 8.1.
__________________________________________________
Installation
Install with Docker

Start the container

Код:
docker compose up -d

Rebuild all containers


Код:
docker compose up -d --build


You can then access the application through the following URL:


Код:
http://localhost


For development and operations teams​

Update your vendor packages​


Код:
docker compose run --rm php composer update --prefer-dist

Run the installation triggers (creating cookie validation code)

Код:
docker compose run --rm php composer install
Run the yii Migration

Код:
docker compose run --rm php yii migrate

NOTES:
Minimum required Docker engine version 20.10 for development (see Performance tuning for volume mounts)

B. Как автоматизировать добычу контента в промышленных масштабах?
Под сгененированные сайт нам потребуется куча тексто-релевантного контента для наполнения страниц ( сайтов )
Необходимый пресет для A-Parser .txt
Подгружаем...
Внутри доргена уже лежит база под download en |

Код:
eJzFVm2P2jgQ/itWdFXhhChwXaml2g9ZNly5C8kuCWpXFAVvYsBdY2dthy5C+99v
7ABhX447qdJdPmXseWYez5u9dTRWd+pKEkW0crqTrZPbf6frXFC+QDd4KQTyAnQZ
fgn80L1ElKPo2ncaTo6lItKAJk7kdbtGH5YzMscF005j6+hNTsCQWBMpaUZgk2Yg
51I8bCTRkhIFa2vMCqPWbrWcx79HFYpYYIXQsiAnAFb7FnNOspQRzIv82FnnpDOL
7S1JekfkEerXkxi8IKkouK4A7dYJfUb5ncqJNLgjH7+dJMawDfJemfBTypIsqOBH
6oVyHqeNMl02s/8qX/995F8WR+fs/07XxsQrycQK0+OQjjnVJEORxpooVPP4glG1
rJ/yXFp6msmJzWwC+Zz+I9KylpvneZ02IOEKUqn6Qq6waeHJG6SFYKr5XTUXREPf
rju1t9lt0ml13ietD0nnI7iEQ/3gbxvoviBy00B5uwl9ncNPx/7UP6E3U+dgPMJr
EgswPqeMVMt9kAK8MmzUPXv3qo8m7AACZxnVUJiYlUTNCKnIQ0Dv7aG4qU7DCSqh
L8WqcmmJ7g85cX6xsgMmCou9LjFlmTYcBYT7GJDZYWOOmYIdyJzEWsgwN3RgfesI
7jLmkzVhlZo1f1FQlsG4c+cAGuyAr6uEL2w8Hk537AqS+0MChz1RK1yEwwqUCV8s
4NzZLZya0RXVIKuerdqu04LFO0LyQ8QCE7GVkOTgpTS88w1TPifc1FFv5Lmxh2L3
wvfQoI+CMEbe10EUR2j2auZmqPaNI/hmNJvBFaBr7XbdwoKx7yN3HIfJIACzQy+I
GzvVO7JJOJTEDK2xTJdY1jpnZ3XU++yO3F7sjVDkxajQ8w+oF/q+IWSEBJKYiowk
KT042FtUnOY5XFQzxARfaPKgX7G2un3/xCDIp2xini6FBJND73IwHsbe1/jnjRaS
gcWfJlhauxoNhu7oBv3p3aCaSUB952YcDK7Hnl0/Cnat+q9/43W4vH8fBN75cDOI
3CG69Pru2C+PCITOnxE6f0nok+FRNbqb74rIeVb2T7r46WIq+Jwuwt0022sWPIbH
R8h7YpUzYvqAF4w1zH0zqoaKq3Zta4RDw70A96wL0yv7+8yxo++PqKSaSwpD68wQ
XEHnHXvdmUwxY+ORf7xjgEqLPOSelM/a/cBoshffQbOY0JuGYQJnTf2gzVRK4WpY
CJhQ5nllagIMX5noj5LIc0e9z+CFPOSYZwTi2n6cwh29f10dXmbb6o3V3cJoqK5w
EEH+rq5KhCGlSh2ItzIPALD5Fxg7TMs=


Далее подгружаем JavaScript.txt
Код:
function _cleanSnippet(snippet) {
    /*
            теги
            [^anc.match[<.*?>|&.*?^;][g]{ }]
            много тирешек в одну
            [^anc.match[- -][g]{-}][^anc.match[- -][g]{-}][^anc.match[- -][g]{-}][^anc.match[- -][g]{-}][^anc.match[- -][g]{-}][^anc.match[- -][g]{-}][^anc.match[- -][g]{-}]
            урлы
            [^anc.match[http(s?)://([A-Za-z0-9-\.\/]+(^$| |\.))][g]{ }]
            почтовые ящики
            [^anc.match[([A-Za-z0-9-\.]+)\@([A-Za-z0-9-]+)\.(\w+)][g]{}]
            хвосты анкорные
            [^anc.match[\|(.*)^$][g]{}]
            всякая х#йня
            [^anc.match[("|“|\*|#|„|\+|>|<|^;)][g]{}]
            даты/время
            [^anc.match[(\d+):(\d+):(\d+)][g]{}]
            [^anc.match[(\d+):(\d+)][g]{}]
            [^anc.match[(\d+)\.(\d+)\.(\d+)][g]{}]
            [^anc.match[(\d+)\. (\d+)\. (\d+)][g]{}]
            [^anc.match[(\d+)\\(\d+)\\(\d+)][g]{}]
            [^anc.match[(\d+)/(\d+)/(\d+)][g]{}]
            [^anc.match[(\d+) (\d+)][g]{}][^anc.match[(\d+) (\d+)][g]{}][^anc.match[(\d+) (\d+)][g]{}][^anc.match[(\d+) (\d+)][g]{}][^anc.match[(\d+) (\d+)][g]{}][^anc.match[(\d+) (\d+)][g]{}]
            [^anc.match[(\d+)^;(\d+)][g]{}][^anc.match[(\d+)^;(\d+)][g]{}][^anc.match[(\d+)^;(\d+)][g]{}][^anc.match[(\d+)^;(\d+)][g]{}][^anc.match[(\d+)^;(\d+)][g]{}][^anc.match[(\d+)^;(\d+)][g]{}]
            [^anc.match[(\d+)^; (\d+)][g]{}][^anc.match[(\d+)^; (\d+)][g]{}][^anc.match[(\d+)^; (\d+)][g]{}][^anc.match[(\d+)^; (\d+)][g]{}][^anc.match[(\d+)^; (\d+)][g]{}][^anc.match[(\d+)^; (\d+)][g]{}]
            еще теги - лёгкие
            [^anc.match[(<(\w+)>|</(\w+)>)][g]{}]
            троеточия
            [^anc.match[…][g]{}]
            [^anc.match[\.\.\.][g]{}]
            [^anc.match[\.\.][g]{.}]
            [^anc.match[\.\.][g]{.}][^anc.match[\.\.][g]{.}][^anc.match[\.\.][g]{.}][^anc.match[\.\.][g]{.}][^anc.match[\.\.][g]{.}]
            какие то палки
            [^anc.match[\|\|\| \|\|\|][g]{|||}][^anc.match[\|\|\| \|\|\|][g]{|||}]
            [^anc.match[\|\|\|][g]{.}]
            еще х#йня
            [^anc.match[ ·| •| ✓][g]{,}]
            [^anc.match[^; ^;][g]{}]
            еще тирешки
            [^anc.match[--][g]{-}][^anc.match[--][g]{-}][^anc.match[--][g]{-}][^anc.match[--][g]{-}]
            шаб каких то фейсбуков наверное
            [^anc.match[(\w+) (\d+), (\d+) - (\d+) Likes, (\d+) Comments - ][g]{}]
            [^anc.match[(\d+) views][]{}]
            мелочи
            [^anc.match[\.,][g]{,}]
            [^anc.match[,\.][g]{.}]
            [^anc.match[ ,][g]{,}]
            [^anc.match[\?\?\?][g]{?}]
        */
    // html-теги
    let result = snippet.replace(/<\/?[^>]+(>|$)/gi, '');
    // html entities
    result = result.replace(/&[^;]+;/gi, ' ');
    // урлы
    result = result.replace(/(?:https?|ftp):\/\/[\n\S]+/gi, ' ');
    // email
    result = result.replace(/([^.@\s]+)(\.[^.@\s]+)*@([^.@\s]+\.)+([^.@\s]+)/gi, '');
    // какие-то палки
    result = result.replace(/\|\|\|\s+\|\|\|/gi, '|||');
    result = result.replace(/\|\|\|/gi, '.');
    // отсекаем всё после символа |
    // скорее всего это будет строка типа такого: | www.SiteName.com
    result = result.split(/\s*\|/, 1)[0];
    // много тирешек в одну: - -- -- -
    result = result.replace(/\-\s+\-/gi, '-');
    result = result.replace(/\-+/gi, '-');
    // всякие символы
    result = result.replace(/("|“|”|\*|#|„|\+|>|<|;\s+;|·|•|✓|…|®|™)/gi, '');
    // дата и время
    result = result.replace(/[A-z]{3}\s+\d{1,2},\s+\d{2,4}/gi, '');     // Dec 12, 2022
    result = result.replace(/\d{1,2}\s+[A-z]{3}\s+\d{2,4}/gi, '');      // 12 Dec 2022
    result = result.replace(/\d{1,2}\s+[A-z]{3,10}\s+20\d\d/gi, '');    // 12 December 2022 - годы только с 2000
    result = result.replace(/\d{2}:\d{2}:\d{2}(\s+(AM|PM))?/gi, '');    // 10:20:22 AM
    result = result.replace(/\d{2}:\d{2}(\s+(AM|PM))?/gi, '');
    result = result.replace(/\d{1,2}\.\s*\d{1,2}\.\s*\d{2,4}/gi, '');
    result = result.replace(/\d{1,4}\/\d{1,4}\/\d{1,4}/gi, '');
    result = result.replace(/\d{1,4}\\\d{1,4}\\\d{1,4}/gi, '');
    // 13 hours ago, 13 days ago
    result = result.replace(/\d+(\s+hours|\s+hour|\s+days|\s+day)?\s+ago/gi, '');
    // все годы - в текущий год
    const curYear = (new Date()).getFullYear().toString();
    result = result.replace(/(19\d\d|20\d\d)/gi, curYear);
    // точки
    result = result.replace(/\.\s*\.\s*\./gi, '');
    result = result.replace(/\.\s*\./gi, '.');
    // шаб каких то фейсбуков наверное:
    // Dec 12, 2022 - 3 Likes, 10 Comments -
    // 10 views
    result = result.replace(/\w+\s+\d+,\s+\d+\s+-\s+\d+\s+Likes?,\s+\d+\s+Comments?\s+-\s+/gi, '');
    result = result.replace(/\d+\s+views?/gi, '');
    // мелочи
    result = result.replace(/,{2,}/gi, ',');
    result = result.replace(/\.,/gi, ',');
    result = result.replace(/,\./gi, '.');
    result = result.replace(/\s+,/gi, ',');
    result = result.replace(/\?{2,}/gi, '?');
    result = result.replace(/\s*—\s*/gi, '');
    result = result.replace(/,\s*$/gi, '');
    // 5 и более цифр с дефисом (скорее всего это номер телефона) заменяем на пробел
    // также вначале этого номера может быть +
    result = result.replace(/\+?\d[\d\-]{4,}/gi, ' ');
    // несколько пробелов заменяем одним
    result = result.replace(/\s+/gi, ' ');
    return result.trim();
}

function Tools() {
}

Tools.prototype.sum = function(a, b) {
    return a + b;
}

Tools.prototype.eval = function(code) {
    return eval(code);
}

Tools.prototype.removeWWW = function(domain) {
    return domain.replace(/^www\./i, '');
}

Tools.prototype.cleanSnippet = function(snippet) {
    return _cleanSnippet(snippet);
}

Tools.prototype.getSQL = function(tableName, addTitle, query, serp1, serp2=null, serp3=null, serp4=null, serp5=null) {
    let snippets = [];
    const parsedData = [serp1, serp2, serp3, serp4, serp5];
    for (let i = 0; i < parsedData.length; i++) {
        const rows = parsedData[i];
        if (!rows)
            continue;
        for (let j = 0; j < rows.length; j++) {
            const row = rows[j];
            let textChunks = [];
            if (addTitle && row.anchor)
                textChunks.push(row.anchor);
            if (row.snippet)
                textChunks.push(row.snippet);
            if (!textChunks.length)
                continue;
            const cleanedSnippet = _cleanSnippet(textChunks.join('. '));
            if (!cleanedSnippet)
                continue;
            snippets.push(cleanedSnippet);
        }
    }
    snippets = [... new Set(snippets)];
    let snippetsStr = snippets.join(' ');
    snippetsStr = snippetsStr.replace(/\\u([0-9A-z]{4})/g, '###u$1###');
    snippetsStr = snippetsStr.replace(/[\r\n\\]/g, ' ').replaceAll("'", "\\'");
    snippetsStr = snippetsStr.replace(/###u([0-9A-z]{4})###/g, '\\u$1');
    //snippetsStr = snippetsStr.replace(/[\u007F-\uFFFF]/g, function(chr) {
    //    return '\\u' + ('0000' + chr.charCodeAt(0).toString(16)).substr(-4)
    //});
    let queryStr = query.replace(/[\r\n\\]/g, ' ').replaceAll("'", "\\'");
    if (!queryStr || !snippetsStr)
        return '';
    return `INSERT IGNORE INTO ${tableName} VALUES (NULL, '${queryStr}', '${snippetsStr}');\n`;
}

Tools.prototype.getSQLv2 = function(tableName, query, serp1, serp2=null, serp3=null, serp4=null, serp5=null) {
    let snippets = [], anchors = [], urls = [];

    const parsedData = [serp1, serp2, serp3, serp4, serp5];
    
    for (let i = 0; i < parsedData.length; i++) {
        const rows = parsedData[i];
        if (!rows)
            continue;
        
        for (let j = 0; j < rows.length; j++) {
            const row = rows[j];
            
            const snippet = row.snippet ? _cleanSnippet(row.snippet) : '';
            if (snippet)
                snippets.push(snippet);
            
            const anchor = row.anchor ? _cleanSnippet(row.anchor) : '';
            if (anchor)
                anchors.push(anchor);
            
            const url = row.link ? row.link : '';
            if (url)
                urls.push(url);
        }
    }
    
    snippets = [... new Set(snippets)];
    anchors = [... new Set(anchors)];
    urls = [... new Set(urls)];

    let snippetsStr = snippets.join('|||');
    snippetsStr = snippetsStr.replace(/\\u([0-9A-z]{4})/g, '###u$1###');
    snippetsStr = snippetsStr.replace(/[\r\n\\]/g, ' ').replaceAll("'", "\\'");
    snippetsStr = snippetsStr.replace(/###u([0-9A-z]{4})###/g, '\\u$1');
    
    let anchorsStr = anchors.join('|||');
    anchorsStr = anchorsStr.replace(/\\u([0-9A-z]{4})/g, '###u$1###');
    anchorsStr = anchorsStr.replace(/[\r\n\\]/g, ' ').replaceAll("'", "\\'");
    anchorsStr = anchorsStr.replace(/###u([0-9A-z]{4})###/g, '\\u$1');
    
    let urlsStr = urls.join('|||');
    urlsStr = urlsStr.replace(/[\r\n\\]/g, ' ').replaceAll("'", "\\'");

    let queryStr = query.replace(/[\r\n\\]/g, ' ').replaceAll("'", "\\'");
    if (!queryStr || !snippetsStr || !anchorsStr)
        return '';

    return `INSERT IGNORE INTO ${tableName} VALUES (NULL, '${queryStr}', '${snippetsStr}', '${anchorsStr}', '${urlsStr}');\n`;
}

new Tools; //return Tools object

1738442322234.png


Запускаем задание под сбор базы

1738442371702.png


Естественно предварительно надо собрать базу ключей и подрубить прокси, с прокси разберетесь, ключи я думаю итак все знают как собирать, и все же покажу
Собираем список доноров по тематике, если речь идет о download - дергаем ключи с сайтов подобному https://www.uptodown.com
https://ahrefs.com - сервис веб-аналитики

1738442451136.png

1738442512104.png

Формирует общий документ из выгруженных .csv файлов
Консоль - путь - copy *.csv all.csv
Запуливаем получившийся документ в Penguin Keywords Tools/
Чистим от дубликатов и добавляем в исключение - список стоп слов
https://x-parser.ru/software/9-penguin-keywords-tools.html - софт по работе с семантикой
Выгружаем файл в .txt и отправляем его в апарсер
Предварительно ставим все необходимые пресеты

Запускаем а-парсер, на выходе он нам выплюнет файлы в sql
Заливаем базу на сервер, запускаем доры
1738442826994.png

1738442845361.png

1738442877128.png
C. Как быстро проиндексировать все ново-созданные страницы/сайты?
Далее все эти страницы ( сайты ) необходимо как-то быстро запулить в индекс и получить трафик
Итак, собственно ферма реализована на базе динамического доргена, где бот попадает в цикл и с каждым последующим переходом по урлу внутри сайта - ему рендерится новая страница в моменте.
Таким образом гугл бот видит всегда - новый контент, и отправляет сканировать краулера любое дерьмо...
Далее... Мы можем перенаправить этого краулера, туда - куда мы хотим!
1738443035832.png

Ставим нужные галочки, редиректим бота куда хотим.
1738443053849.png

Если в ферме много веб-краулера поисковой системы - получаем индекс необходимой страницы в течении 2-6часов.
Особенно актуально, пинговать лом!

__________________________________________________________________________________
2 категория: Внешние факторы | То что нас интересует в перспективе
Все что касается нездорового линкбилдинга

1738443213768.png

Как вы уже поняли, мы слили в паблик дефолтную версию доргена, я бы даже сказал кастрированную.
Ведь на сегодня
- концепт классических доров изжил себя и работает исключительно в контексте быстро-индекса
Но именно на базе доргена можно поднять всю прочую архитектуру.

Итак, давайте посмотрим кусок нашего функционала без углубления в технические аспекты:
1738443394455.png

Помимо тривиальных доноров для разворачивания доров, мы начали использовать чужие cloudflare / cpanel / wordpress
Про cloudflare - говорить особо нечего, а вот что касается cpanel / wordpress...

В общем, для фермы с веб.краулером - мы заменили покупку обычных дропов - cpanelками
По сути мы отправляем запросы на авторизацию в cpanel, получаем список доменов и их директории, дальше по апи загружаем файлы
Как следствие - теперь мы вообще не покупаем домены...

Внутри нашей панели, есть вкладка [ ссылки проектов ]

1738443411256.png


Работает эта вкладка следующим образом
Вставляем ссылки на продвигаемые ресурсы, далее со всех доров проставляется сквозняк с этими ссылками...
Ниже пример сквозняков, с доров развернутых на ломе.

1738443456157.png

1738443473607.png


Далее мы разработали пул плагинов под вп + дополнительные инструменты их подгрузки

1738443510608.png


Работает это по аналогии с cpanel - загружается плагин на пул впшек, который перехватывает запросы и отправляет на наш сервер, и полученный ответ отображает
Но мы пошли дальше, и уже упиздили до разворачивания контента на ломе с необходимыми урлами и анкорами + есть возможность скрытно проставлять свои ссылки в уже имеющиеся анкоры внутри сайтов доноров

Но это уже отдельная история и мы будем о ней говорить в следующих частях


__________________________________________________________________________________
3 категория: Поведенческие факторы | То что нас интересует в перспективе
Все что касается социальных сигналов

1738443135450.png

 
Огромное спасибо за статью, отдаю голос за нее, однозначно - тс написал ее своем стиле, подробно, разнообразно, с палевом нужных тем, лайк
 
Последнее редактирование:
Огромное спасибо за статью, отдаю голос за нее, однозначно - тс написал ее своем стиле, подробно, разнообразно, с палевом нужных тем, лайк
Развернуть получилось?

Very interesting topic. So this can be used to mass generate doorways to such download landing pages? An mass index to google?
Yeah, that's right
 
Спасибо за статью и ребята оперативно помогли разобраться с сетапом софта за что им благодарен собственно, однозначно отдаю голос за них, и да тут акк свежий но на экспе старый admin если что
 
Последнее редактирование:
Спасибо за статью и ребята оперативно помогли разобраться с сетапом софта за что им благодарен собственно, однозначно отдаю глос за них
Парни, кто пришел с exploit - уточняйте что вы с експы, а то нам admin страйков накидает, еще и статью с конкурса аннигилирует, за накрутку.

Тоже самое касается всех новоприбывших, кто пришел с посевов в тематических чатах тг.
Если все пойдет по плану, наш форум увеличится арбитражниками и веб.мастерами с клирнета
И мы начнем все вместе развивать раздел:

Спам, Трафик, Инсталлы

 
Последнее редактирование:
Трафик. = деньги
Было, есть и будет!

а скрин где за 5 дней с 0 уников до 6 лямов - это восторг! Вы молодцы!
 
А можно попросить подробнее рассказать что вы грузите по api в cpanel?:)
В фунционале доргена отсуствуют модули работы с ломом, предусмотрена только подгрузка обычных доменов.

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

Интересно. Что бы остаться анонимным при работе с фермой :)
Анонимным при работе с фермой... Это чуток другая история, вариантов масса
Tails - 2VPN - RDP - RDP - коннект к ферме

Трафик. = деньги
Было, есть и будет!

а скрин где за 5 дней с 0 уников до 6 лямов - это восторг! Вы молодцы!

К сожалению - это долго не живет, и цифры по ахревсу - относительные, это прогноз трафика, а не его общее кол-во, ну это так... чтобы понимание было
 
Софт ставится прям буквально в две команды, и их даже менять никак не нужно
можно хоть автоматическую раскатку на ансибле сделать, была бы необходимость, но явно плюсик
Панель шикарна, детально проработана, все что нужно и ничего лишнего. все работает
легко кастомизируется, сама панель на Yii, + заяц, редиска, мускул+пма
не забываем менять все дефолт параметры, если не хочешь поделиться базами с миром

я думал, а чего бы такого интересного сделать, если в специфике темы я пока не особо бум бум, а интересного чего-то сказать хочется?
Для подобной системы важно что? держать большой траф и не падать. в конце концов ради него все и замышлялось
Проведем нагрузочное тестирование, причем постараемся приблизиться к скриншотам из статьи.
6 млн уников за двое суток? ну, +-, это типа 35 запросов в секунду
мы попробуем до 100 RPS, это должно быть где то 8,64 млн уников в сутки, будем долбить оба кейса (юзер+гуглобот параллельно)
погнали

параметры:
i5-12450H 12c, 16gb ram, на фоне всякая херня по типу фаерфокса, сам проект в Docker Desktop и тд.

начинаем с 20 рпс с шагом в х2, то есть 20, 40, 60, 80, 100
это потому что два запроса на разные сценарии одновременно
смотрим по рейту сообщений в зайце:
Снимок экрана от 2025-02-04 17-21-33.png


интереса ради в итоге догнал спокойно до 26 млн уников, дальше не стал смысла не вижу
ребит в стандарт конфиге имеет какой то стоп на 60 m/s, при том рам растет при привышении очень слабо, максимум что видел это 25мб
в данном случае на bottleneck тестировалось именно взаимодействие микросервисов, т.е. пыхи базы и зайца, т.к. больше тут бенчмаркать и нечего в общем то. это грамотно распределенная ответственность по зрелым чужим решениям, и правильный их менеджмент - лучшая стратегия, и сам сейчас так и стараюсь.
в общем - про кубер ребята загнули, до него вам, пользователям, еще дорасти придется)) но я уверен что особо мощным юзерам - ребята не будут против помочь консультацией по миграции.

Снимок экрана от 2025-02-04 18-04-03.png


никаких утечек, проблем, деградации не заметил, за кадром гонял еще кучу, по 10 мин, по 15
не забываем, что это на локалке, с кучей бэкграунд процессов и вообще ничерта не чистый тест, но, тем не менее, - это серьезный результат
это все говорит мне о том, что софт - не просто какая-то поделка с интересными идеями, а временем проверенное программное обеспечение, выдерживающее серьезную нагрузку прямо из коробки. более - никто не запрещает пошаманить с конфигами.

Повторюсь, я в теме траффа не особо, у меня специфика чуть другая, но даже само наличие такого софта в опен сорце побуждает начать даже просто для интереса. Порекомендовал бы каждому просто скачать, запустить и посмотреть - как минимум, даже если тоже не имеешь отношения к сабжу сильного.

дабы меня не назвали купленным "экспертом" - чуть по нано косякам скажу:
- не хватает информации лично мне. было бы круто сделать хотя бы десяток тултипчиков, но на этом пункте сказывается мое среднее понимание области и терминологии. хотя и спецы, я уверен, не готовы помнить всегда и всё. Или само сообщество могло бы просто собрать глоссарий небольшой, тогда и будет больше новичков
- чтоб прям совсем идеально - форма загрузки скуль баз и простой круд, тогда это минус контейнер, минус вектор атаки, минус необходимость уметь пользоваться пма.
- вытащить бы конфиги от мускула, зайца, редиса, нгинкса в yaml путями, чтоб можно было подергать при необходимости, хотя на практике до сотен миллионов хитов это вряд ли понадобится, но хотя бы для чисто визуально перфектного восприятия структуры проекта.

но это натурально притягивание за уши. мелочи, репа на гитхабе - никто не мешает мне самому все это при необходимости допилить.
при съемках ни один метаквалон или киса не пострадал, большое спасибо за софт и материал! голос отдан

upd: про круд бд мне пояснили что это бессмысленно, ибо кто будет базы по 10 гб грузить через хтмл форму)
 
Последнее редактирование:
Анонимным при работе с фермой... Это чуток другая история, вариантов масса
Tails - 2VPN - RDP - RDP - коннект к ферме
Чуть уточню, не про это. А что бы остаться невидимым на стороне сервера, что бы было тяжело отследить местоположение скриптов и тд
 
50 млн. бота это так, не о чем. Вот пара млрд бота в сутки и более млн. трафа дейли с тир 1-2 или хотя бы тир 3 тогда мог бы говорить с топами))
Автору был задан наводящий вопрос от одного дорвейщика но он его не увидел, значит это ему не нужно или еще не дорос до этого уровня.))

У этого дорвейщика доры генерятся на пандоре (это десктопный дорген, кто не знает ) с плагином под ВП генерит млн. в сутки на сниппетах, текстовка генеренка ИИ + система для ПФ под яндекс + система скликивания реклы и с пробивом фрода. Все это дело крутится на посредственном серваке за 12 тыс. руб. в мес.

На всех дорах развешен рся)) За год профит в рся более 170 млн руб. который весь успешно выведен и давно крутится в крипте... Были доры зареганы в пуш партнерках и товарных партнерках. Сколько там вышло профита, об этом история умалчивает. И да, работает в соло без команды.))

Но статья хороша, проголосовал. Хотя много воды.

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

Ботоферма это технологии пятилетней давности. На пике дорвейщиками в теме зарабатывалось от $5к дейли и это на лосях)) Были и ноунейм дорвейщики, которые работали и работают молча и мелькали статки где были шести и семи значные суммы $$$. Ну, а правда это или нет, ну а кто вам ее скажет?))

Внедрение скрытых ссылок на пирожках/пирогах давно не ново. Генерить доры на пирогах это утопия и далеко не умно. Можно куда более рационально распорядиться материалом, который будет долго работать и приносить бабло.

И еще совет, раз дорген все равно слить, то основной дорген выложить без докера в Php файликах со всеми зависимостями залить с исходниками. Сделать темку под этот дорген и всем сообществом можно потихоньку его дорабатывать и что-то новое внедрять с более активными участниками можно уже и команду создать попозже, остальные отпадут сами собой. Сейчас ИИ генеренку можно уже на автомате в самом доргене делать и подмешивать в текстовку.

Ботофермы на дропах/пирожках хороши для разгона ПБН сеток на которых можно размещать ссылки которые можно в бурже продавать и делать пятизначные профиты за счет ссылок. Даже можно пбн сетки организовать на ресурсах веб 2.0 что конечно потребует больше телодвижений, но все отлично продается и требует мин. фин. вложений. Можно в принципе только ПБН заниматься и неплохо жить....)))
 
Привет, спасибо за твой голос и потраченное время + к тому же, я давно не видел здоровой критики, а теперь
Давай по порядку

50 млн. бота это так, не о чем.
50 млн согласен, ярд ферма точно выдержит, т.к в пике у нас было лямов 500 - как есть

50 млн. бота это так, не о чем. Вот пара млрд бота в сутки и более млн. трафа дейли с тир 1-2 или хотя бы тир 3 тогда мог бы говорить с топами))
Автору был задан наводящий вопрос от одного дорвейщика но он его не увидел, значит это ему не нужно или еще не дорос до этого уровня.))
Познакомишь с этими топами?) Я бы хотел поговорить с человеком который держит в 2025 году на ферме 2ярда бота и делает по ляму трафа дейли в неделю с тир 1-2, или ты здесь подразумеваешь людей которые показывали этот результаты в 2020?

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

У этого дорвейщика доры генерятся на пандоре (это десктопный дорген, кто не знает ) с плагином под ВП генерит млн. в сутки на сниппетах, текстовка генеренка ИИ + система для ПФ под яндекс + система скликивания реклы и с пробивом фрода. Все это дело крутится на посредственном серваке за 12 тыс. руб. в мес.

На всех дорах развешен рся)) За год профит в рся более 170 млн руб. который весь успешно выведен и давно крутится в крипте... Были доры зареганы в пуш партнерках и товарных партнерках. Сколько там вышло профита, об этом история умалчивает. И да, работает в соло без команды.))
Генерит млн в сутки на сниипетах* - Млн чего? Не совсем понял
Мне кажется он тебе где-то напиздел, особенно с 170 млн с рся, опять же - это информация какого года?
Он типа пф ботом у себя же на рекламу внутри дорах - кликал? Если да - еще поверю, а так звучит крайне сомнительно, без обид

Автору побольше развиваться в сторону тех. мышления, а то его появление похоже на одиночный пикет с матюгальником на площади.) Так он видится в глазах технарей, которые в основном работают молча и не заметно..))
Предпочитаю заниматься философией, хочу стать президентом xD
К тому же мой одиночный пикет должен вырасти в нечто большее

Ботоферма это технологии пятилетней давности. На пике дорвейщиками в теме зарабатывалось от $5к дейли и это на лосях)) Были и ноунейм дорвейщики, которые работали и работают молча и мелькали статки где были шести и семи значные суммы $$$. Ну, а правда это или нет, ну а кто вам ее скажет?))
Может быть и пятилетней, только вот никто делиться ей почему то не хотел? Почему?
Сейчас я вижу дорвещийков которые школы в ирл запускают и марафоны по линкбилдигу проводят, кек
Если ты думаешь, что они просто так этим занимаюсь - но я х#й знает, ладно... оставим это

Внедрение скрытых ссылок на пирожках/пирогах давно не ново. Генерить доры на пирогах это утопия и далеко не умно. Можно куда более рационально распорядиться материалом, который будет долго работать и приносить бабло.
Все верно, только информации по этому моменту в сети совсем нет,
На счет генерить доры на пирогах, тема под целую дискуссию, если хочешь - можем поговорить в публичной плоскости

И еще совет, раз дорген все равно слить, то основной дорген выложить без докера в Php файликах со всеми зависимостями залить с исходниками. Сделать темку под этот дорген и всем сообществом можно потихоньку его дорабатывать и что-то новое внедрять с более активными участниками можно уже и команду создать попозже, остальные отпадут сами собой. Сейчас ИИ генеренку можно уже на автомате в самом доргене делать и подмешивать в текстовку.
Спасибо за совет, так и сделаем)
 
Последнее редактирование:
Чуть уточню, не про это. А что бы остаться невидимым на стороне сервера, что бы было тяжело отследить местоположение скриптов и тд
Этот вопрос наверное TM013

Мы проксируем трафик через абузоустойчивые сервера / модуль nginx proxy
Больше ничего не используем

p/s
от разраба: Либо используйте метод DGA
TM013 Кстати, думаю вместе с доргеном на форум есть смысл и разрабов запустить ,
как раз с ними можно будет техничку обсуждать
 
Последнее редактирование:
Познакомишь с этими топами?) Я бы хотел поговорить с человеком который держит в 2025 году на ферме 2ярда бота и делает по ляму трафа дейли в неделю с тир 1-2, или ты здесь подразумеваешь людей которые показывали этот результаты в 2020?
Они знают про тебя)) Если захотят с тобой наладить контакты, то выйдут сами. Пока неспешно ковыряют твой дорген и читают статьи) Могу кинуть контакты одного дорвейщика, он кстати владелец партнерки по довнлоаду. Хотя вот его ник в телеге
Скрытый контент для пользователей: azcord.

Генерит млн в сутки на сниипетах* - Млн чего? Не совсем понял
Мне кажется он тебе где-то напиздел, особенно с 170 млн с рся, опять же - это информация какого года?
Он типа пф ботом у себя же на рекламу внутри дорах - кликал? Если да - еще поверю, а так звучит крайне сомнительно, без обид
млн. страниц на сниппетах. Может не совсем точно написал, точнее мешанка из сниппетов, контента и добавление текстовки ИИ. Инфа на конец 2023 и начало прошлого года.
Да, он подкликивал реклу у себя на дорах, но и трафа у него было за лям дейли. Потом пришел всем известный ап яндекса и все урезалось к весне 2024. Сейчас точно не знаю как у него дела, уже почти год не видел и не слышал. Скорее всего не так, но думаю что все еще показывает результаты.

Вот к примеру блог другого сеошника который делал сайтики восстановленные из вебархива, генерил статьи под рся с помощью проги на базе БАС того автора что написал прогу x-parser, подливал статьи и рубил бабло на рся. В одном чятике практически в реал тайме палил статки с рся по 100к+ дейли профита.
Его статка 31 декабря 2023, а то он все подчистил у себя в блоге, видно надоели нубяры с просьбами научить)))
Просмотр медиа 2025-02-08 12.12.17.jpg

За год 50+ млн. заработал на рся) С ним кстати тоже можешь попробовать наладить контакт.

Может быть и пятилетней, только вот никто делиться ей почему то не хотел? Почему?
Сейчас я вижу дорвещийков которые школы в ирл запускают и марафоны по линкбилдигу проводят, кек
Если ты думаешь, что они просто так этим занимаюсь - но я х#й знает, ладно... оставим это
Никто не делится, потому что еще работает, а зачем делится тем, что приносит деньги, по крайней мере бесплатно?
Другие продались в инфоцыганство. Не дают покоя лавры Блиновской по марофонам желаний)) типа ежа - дорвейщика и его дорвейные ежиные движухи которая там у него по счету шестая или седьмая)) У ежа последний дор был сгенерен пять лет назад и на оффере по курсам статы висят пятилетней давности.)) Почему решили дорвейщики пойти путем инфоцыганства? Ну это им только известно))
На счет генерить доры на пирогах, тема под целую дискуссию, если хочешь - можем поговорить в публичной плоскости
Тут да, это целая отдельная тема, даже направление на котором можно другой отдел дорвейщиков создать))
 
Этот вопрос наверное TM013

Мы проксируем трафик через абузоустойчивые сервера / модуль nginx proxy
Больше ничего не используем

p/s
от разраба: Либо используйте метод DGA
TM013 Кстати, думаю вместе с доргеном на форум есть смысл и разрабов запустить ,
как раз с ними можно будет техничку обсуждать
Если ко мне, то хватало банального клоакинга под айпи админа и прокси-сервак перед основным серваком. Но у меня на пирогах ссылки были, использовались под ферму для ботов ПС.
 
Они знают про тебя)) Если захотят с тобой наладить контакты, то выйдут сами. Пока неспешно ковыряют твой дорген и читают статьи) Могу кинуть контакты одного дорвейщика, он кстати владелец партнерки по довнлоаду.
Оу, даже так, ну окей
На счет партнерки спасибо, но у меня своя отработка от начала и до конца.
Могу сам ссылочку на слив дать в 3.15 с 50% рефшары

млн. страниц на сниппетах. Может не совсем точно написал, точнее мешанка из сниппетов, контента и добавление текстовки ИИ. Инфа на конец 2023 и начало прошлого года. Да, он подкликивал реклу у себя на дорах, но и трафа у него было за лям дейли. Потом пришел всем известный ап яндекса и все урезалось к весне 2024. Сейчас точно не знаю как у него дела, уже почти год не видел и не слышал. Скорее всего не так, но думаю что все еще показывает результаты.

Вот к примеру блог другого сеошника который делал сайтики восстановленные из вебархива, генерил статьи под рся с помощью проги на базе БАС того автора что написал прогу x-parser, подливал статьи и рубил бабло на рся. В одном чятике практически в реал тайме палил статки с рся по 100к+ дейли профита.
Понял принял, ну он молодец - что тут сказать, только сегодня уже 25год

Его статка 31 декабря 2023, а то он все подчистил у себя в блоге, видно надоели нубяры с просьбами научить)))
За год 50+ млн. заработал на рся) С ним кстати тоже можешь попробовать наладить контакт.
Я знаю типа который заработал лям баксов на лосях за 2024 - а сейчас лавочка закрылась, и быть может он одна из тех причин
Время идет - рынок меняется, если мы говорим про взрослых дядек которые в свои 45-50 продолжают красноглазить - это фиаско
Хотя знаешь, TM013 мне тоже иногда кажется, что мы не тем занимаемся, бабки есть не только в download - но лично у меня идея фикс.
И сидеть дрочить в яндексе на рся - мне не интересно

Никто не делится, потому что еще работает, а зачем делится тем, что приносит деньги, по крайней мере бесплатно?
Другие продались в инфоцыганство. Не дают покоя лавры Блиновской по марофонам желаний)) типа ежа - дорвейщика и его дорвейные ежиные движухи которая там у него по счету шестая или седьмая)) У ежа последний дор был сгенерен пять лет назад и на оффере по курсам статы висят пятилетней давности.)) Почему решили дорвейщики пойти путем инфоцыганства? Ну это им только известно))
- Наверное потому что бабок нет?) Или дошла мысль, что было бы неплохо делать Бренд - как Шестаков, время идет....

Тут да, это целая отдельная тема, даже направление на котором можно другой отдел дорвейщиков создать))
Да, давай обсудим, только не сегодня. Я напишу в понедельник
 
Последнее редактирование:
Кстати, думаю вместе с доргеном на форум есть смысл и разрабов запустить ,
как раз с ними можно будет техничку обсуждать
Запускай, лишними точно не будут))) Только под дорген отдельную ветку создать надо, туда и подтянутся заинтересованные дорвейщики.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх