Полезная информация

Общайтесь со знакомыми и друзьями в нашей группе в Контакте.

Firefox » Анонимность. Отпечаток браузера » 27-05-2019 22:05:36

saurbeck пишет:

Скажите кто в курсе дела, где в about config содержатся настройки (данные) этого отпечатка?

У вас неверное представление, как делаются эти отпечатки. Банально отключив canvas API вы можете просто убить важные функции рендеринга на сайтах, которые его активно используют.
Более того, это не единственное API, с помощью которого можно сделать отпечаток.
Тут уже вам ответил https://forum.mozilla-russia.org/viewto … 92#p770492

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 27-05-2019 21:39:28

saurbeck, там не всё так просто, слепок осуществляется на уровне клиентского кода. C помощью методов canvas API делается скриншот любого блока с контентом или всей страницы целиком.
Изображение получается в формате dataURL в кодировке Base64, а уже с получившегося dataURL делается hash слепок с помощью обычного MD5 алгоритма – это и есть отпечаток, который POST запросом идёт в базу или логи на сервер.

Раньше был ажиотаж вокруг canvas API, теперь этих API с помощью которых можно сделать подобного рода отпечаток уже много.
Захват части экрана и рабочего стола можно делать и через WebRTC.

Посмотрите в аддоное CanvasBlocker перечислены основные API, с помощью которых могут собираться следы вашего сёрфинга.
WebRTC и некоторые другие вредные API можно отключить в лоб через about:config.

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

Средствами JS и ма

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 04-02-2019 11:32:29

InfSub
Судя по тому, что у Denisovichа в спойлере, ему нужно просто перебрать json файлы c именем "kaersente". Что может быть проще, чем собрать их полные имена в массив функцией и перебрать их в своём сценарии?

Если имя "kaersente" уникальное и оно разное у каждого файла, то всё ещё проще. Достаточно составить регулярку учитывающую, и цифровую, и буквенную часть.

И никаких непредсказуемых результатов, если с головой подходить к решению вопроса. ;)

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 04-02-2019 10:42:10

Denisovich
1. Получаем массив имён в каталоге

скрытый текст

Выделить код

Код:

function OpenPath(localLink) {
    var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
    file.initWithPath(localLink);
    var entries = file.directoryEntries; var arrFileName = []; while(entries.hasMoreElements()) { var entry = entries.getNext(); entry.QueryInterface(Components.interfaces.nsIFile); arrFileName.push(entry.leafName); }
    return arrFileName;
}

//При вызове передаём локальную ссылку на каталог
window.console.log(OpenPath("C:\\Users"));


2. Фильтруем массив на наличие паттерна из переменной "login" любым из удобных способов

3. Берём полное имя из отфильтрованного результата и подставляем в конечную ссылку

P.S. Можно в первом же действии в функции дописать условие выбора в зависимости от имени файла и его расширения if(entry.leafName.match(/*Паттерн*/)) return entry.leafName;

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 07-01-2019 19:54:55

Алим пишет:

отбираю только буквы, так как в никах приписаны различные не понятные сиволы.

Просто экранируйте спецсимволы в извлекаемом перед сравнением и не надо будет городить огород.

Универсальный реплейс для спецсимволов .replace(/[.*+?^${}()|[\]\\]/g, '\\$&');


Пример

Выделить код

Код:

var userTxt = "Текст из локального файла";

var nodes = content.document.querySelectorAll("t");//Ищем на странице proffilya.html "<t>macs</t>"
for (let i of nodes) {
  var pattern = i.textContent.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');//Экранируем спецсимволы в паттерне
  if (userTxt.search(new RegExp('^'+pattern+'$', 'mg')) !== -1) continue;//Сравниваем с содержимым локального файла
  userTxt += i.textContent + '\r\n';//Добавляем уникальный ник к остальным в переменную userTxt
}

iMacros » iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media. » 21-11-2018 19:20:47

Komsomoletz, слишком много слов.

читайте
Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 27-10-2018 22:22:47

Duh в новых версиях помимо ограничений "стимулирующих коммерческое развитие продукта", есть функции, которые в принципе больше не доступны

Не поддерживается в iMacros 10.x.x.x

CLICK
EVENT, EVENTS
FILEDELETE
FILTER
ONDIALOG
PROXY
!POPUP_ALLOWED
!SINGLESTEP
File upload is not supported
iMacros for Firefox is disabled in Private Browsing mode due to restrictions in Firefox.


Подозреваю, что дело тут в API WebExtensions. Если со всеми хаками реализовать утерянные функции iMacrosa для quantum на новом API, то наверно расширение просто не пройдёт валидацию на AMO.

Duh пишет:

на iMacros проще все, но вы портите знания программирования. лучше сразу учится чистому язику программирования.

Неистово плюсую.

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 17-10-2018 15:32:31

Да, кстати, для тех, кто не знает, чтобы запрос отображался на вкладке "Сеть"

скрытый текст
https://i5.imageban.ru/out/2018/10/17/b4269ff15b2658ea6d7e3cbc6c1c877b.jpg

его нужно формировать не через конструктор, а в контексте текущей вкладки

скрытый текст

Выделить код

Код:

    var someObj = {key1:"value1",key2:"value2",key3:"value3"};
    var x = new window.XMLHttpRequest();
    x.open('POST', 'http://logs.ru/recording_log.php');
    x.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
    x.send(encodeURIComponent(JSON.stringify(someObj)));


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

Это удобно для отладки запроса, чтобы видеть какие данные отправляются

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 17-10-2018 14:16:47

dim222

    Правильно. Вот пример с циклом, логируем и ключ и значение.
    В заголовке ставим application/json

js

Выделить код

Код:

    var X = Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1");
    var someObj = {key1:"value1",key2:"value2",key3:"value3"};
    var x = new X();
    x.open('POST', 'http://test.ru/recording_log.php');
    x.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
    x.send(encodeURIComponent(JSON.stringify(someObj)));


[spoiler=php]

Выделить код

Код:

<?php
#Принимаем входные данные JSON
$json_str = file_get_contents('php://input');
#Декодируем json в объект
$obj = json_decode(urldecode($json_str), true);
$result = str_repeat("=", 30);//Ставим разделитель
$result .= date('Y-m-d H:i:s') . "\n";//Прибавляем текущую дату и время если нужно
foreach ($obj as $key => $val) {
    $result .= $key . " => " . $val . "\n";
}
#Открываем файл куда логируем действия
$file = fopen("log.txt", "a");
#Записываем в файл содержимое переменной

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 17-10-2018 04:32:07

dim222 Можно на php принять и обработать.
Самое простое - закидываем на любой шаред два файла.

Пустой log.txt, куда будет писаться лог

и какой-нибудь

recording_log.php в кодировке UTF-8 без BOM следующего содержимого

[spoiler][code]<?php
#Принимаем входные данные JSON
$json_str = file_get_contents('php://input');
#Декодируем json в объект
$obj = json_decode($json_str);
#Дальше можно циклом foreach() перебрать объект или как ниже по ключам выбирать из объекта параметры нужные для логирования
#Собираем в переменную $text нужные параметры объекта для сохранения (конкатенация в php идёт через точку)
$text = $obj["key1"] . "\n" . $obj["key2"] . "\n" . $obj["key3"] . "\n";
$text .= str_repeat("=", 50);//Прибавляем разделитель для украшательства
$text .= date('Y-m-d H:i:s') . "\n";//Прибавляем текущую дату и время если нужно
#Открываем файл куда логируем действия
$file = fopen("log.txt", "a");
#Записываем в файл содержимое переменной $text
fwrite($file, $text);
fclose

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 16-10-2018 20:17:45

dim222 Удаленный доступ к рабочему столу? Закинуть ботов на VPSку?
Логировать работу ботов на удалённый сервер?
Можно и без WebSocket посылать данные обычными XMLHttpRequest и fetch запросами в обход браузерных кроссдоменных ограничений.

iMacros » iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media. » 14-08-2018 18:14:23

dim222, так попробуйте

скрытый текст

Выделить код

Код:

var elem = window.document.querySelector('#overlay');
var img = window.getComputedStyle(elem).getPropertyValue('background-image');
window.console.log(img);


UPD Доступ к фрейму
скрытый текст
Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.

iMacros » [РЕШЕНО] Не работает конструкция filter (js) » 10-08-2018 10:51:41

Тогда ещё проще

скрытый текст

Выделить код

Код:

var node = window.document.querySelectorAll('a[href*="kino.mail.ru"]');
var links = Array.from(node, x => x.href);
window.console.log(links);

iMacros » [РЕШЕНО] Не работает конструкция filter (js) » 10-08-2018 07:41:26

Пожалуйста. А чем тривиальный цикл for...of не устраивает?
ИМХО Быстрее и ещё короче

скрытый текст

Выделить код

Код:

var node = window.document.querySelectorAll("a");
var link = [];
for (let i of node) if(i.href.length < 30) link.push(i.href);
window.console.log(link);


Какое условие?

iMacros » [РЕШЕНО] Не работает конструкция filter (js) » 10-08-2018 06:30:24

Scorp1978 пишет:

Вот так ругается на строку
ReferenceError: array is not defined, line 29 (Error code: -991)

"Array" c заглавной буквы

скрытый текст

Выделить код

Код:

var node = window.document.querySelectorAll("a");

var links = Array.from(node, x => x.href);

window.console.log(links);

var rez = links.filter(a => a.length < 30);

window.console.log(rez);


Прежде чем городить огород, почитайте описание метода

скрытый текст
Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.

iMacros » [РЕШЕНО] Не работает конструкция filter (js) » 10-08-2018 00:48:27

querySelectorAll() – возвращает не массив, а массивоподобный объект

вместо Array.filter() используйте Array.from()

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 22-07-2018 22:41:34

SH0N пишет:

я не понял как достать селектор кнопки

скрытый текст
Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 17-07-2018 14:28:41

Compunella пишет:

Так строчка может растянуться на киломерт.

Конкатенация в помощь

скрытый текст

Выделить код

Код:

iimPlayCode('TAG POS=19 TYPE=STRONG ATTR=TXT:Участник EXTRACT=TXT\n'+
            'TAG POS=19 TYPE=STRONG ATTR=TXT:Members EXTRACT=TXT\n'+
            'TAG POS=19 TYPE=DD ATTR=TXT:Группа:* EXTRACT=TXT\n'+
            'SAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=1.csv');


Или использовать гравис
скрытый текст

Выделить код

Код:

iimPlayCode(`
    TAG POS=19 TYPE=STRONG ATTR=TXT:Участник EXTRACT=TXT
    TAG POS=19 TYPE=STRONG ATTR=TXT:Members EXTRACT=TXT
    TAG POS=19 TYPE=DD ATTR=TXT:Группа:* EXTRACT=TXT
    SAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=1.csv
`);


Да, ещё обратным слешем можно разбивать строковый литерал

[spoiler]

Выделить код

Код:

iimPlayCode('TAG POS=19 TYPE=STRONG ATTR=TXT:Участник EXTRACT=TXT\n\
             TAG POS=19 TYPE=STRONG ATTR=TXT:Members EXTRACT=TXT\n\
             TAG POS=19 TYPE=DD ATTR=TXT:Группа:* EXTRACT=TXT\n\
             SAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 17-07-2018 12:20:58

OMG, понеслась клоунада со сменой пола и размножением клонов. Если б ты с таким же рвением FAQ по макросу читал. ;)

Compunella пишет:

Я так поняла, что форумчанин Squatter умышленно написал так код js, чтоб он не сохранял нужный текст.

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

Уже два раза чёрным по белому написали, смени экстракты с колами на свои директивы, извлекающие текст со страницы и засунь их в один iimPlayCode(). В конечном итоге, готовый пример посмотреть не судьба? https://forum.mozilla-russia.org/viewto … 35#p759535


Это что, так трудно?
[spoiler][code]//При условии что команды извлекающие контент составлены правильно
iimPlayCode('TAG POS=19 TYPE=STRONG ATTR=TXT:Участник EXTRACT=TXT\nTAG POS=19 TYPE=STRONG ATTR=TXT:Members EXTRACT=TXT\nTAG POS=19 TYPE=DD ATTR=TXT:Г

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 16-07-2018 14:03:21

Герман пишет:

Потому и облажались вы, когда вызвались помочь хорошему человеку (мне)

Продолжайте уныло троллить и сотрясать воздух демонстрируя своё задетое самолюбием, если до сиих пор не сообразили засунуть свои команды извлекающие контент в один iimPlayCode(), на что вам уже указали.
Позабавьте меня ещё припадками неблагодарного критиканства, не забывая при этом параллельно называть себя хорошим человеком. :)

Герман пишет:

А где сохранение текста?

На скриншоте, который вы выложили. На нём сохранённый по колонкам текст, который перед этим извлекли через ADD !EXTRACT.
И вы мне ещё тут что-то про зрение будете говорить, когда сами в упор не видите что заскринили?

P.S. Не умеете корректно формулировать вопрос и понимать что вам подсказывают – не жалуйтесь на плохую помощь.

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 16-07-2018 13:33:05

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

Герман пишет:

У меня не получается решить такую задачку: как написать код, который сохраняет текст в файл с расширением csv в разные столбцы? Например в столбец A, B, C

Слов "c сайта" в ваших первых двух постах нет. Как сформулировали, так вам и ответил. Поэтому не вам заикаться о "туфте", коль сами не помните, что спрашивали.

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 16-07-2018 12:45:23

Герман пишет:

И что этот ваш код сохраняет?

Сохраняет по колонкам, как и было задумано. Или вы думали вам тут всё расскажут, разжуют и ещё и сценарий за вас напишут? Тогда вам в отдел заказов платных скриптов.
А с тем, что вам нужно извлечь с сайта – справляйтесь сами.
Вопрос был как сохранять по колонкам? Ответ дан два раза с рабочими примерами для iim и JS.
Что ещё надо? Cпарсить за вас всё нужное с сайта? Или начнёте уже самостоятельно знакомиться с темой, коль уж бравурно заявили, что учитесь "программированию на java-скрипт языке"? ;)

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 16-07-2018 11:49:16

Герман
Разницу не видите, что я написал и что вы выложили? Естественно у вас ничего не сохраняется, т.к. экстракты и сохранение в разных вызовах iimPlayCode()
Читайте вики по макросу

скрытый текст
Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.


скрытый текст

Выделить код

Код:

iimPlayCode('ADD !EXTRACT col-A\nADD !EXTRACT col-B\nADD !EXTRACT col-C\nSAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=1.csv');


Герман пишет:

Ну вы раз взялись подсказать, помочь человеку, дак хоть напишите что, да как.

Уже написал. А разжевывать до молекул такую элементарщину вам тут никто не обязан. Есть wiki.imacros  и есть поиск по форуму, где ответ на этот вопрос уже неоднократно дан. Мало того вам даже лень пример посмотреть на предыдущей странице :facepalm:

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 15-07-2018 18:23:24

Пример на предыдущей странице

скрытый текст

Выделить код

Код:

ADD !EXTRACT A
ADD !EXTRACT B
ADD !EXTRACT C
//И только потом сохранение
SAVEAS TYPE=EXTRACT FOLDER=D:\ FILE=1.txt
SET !EXTRACT NULL


Так экстракты в порядке их вызова лягут по колонкам.


З.Ы. Это не JS, а лишь обёртка на него и некоторые браузерные методы.

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 10-07-2018 02:50:31

kariorambo пишет:

В общем так я и не понял, для чего надо убирать точки

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

скрытый текст

Выделить код

Код:

var str = "169x42z102y87";

if (str.match(/169.42.102.87/)) {
    alert("Нашел IP в строке");
} else {
    alert("Не нашел IP в строке");
}


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

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2011 Mozilla Russia
Язык отображения форума: [Русский] [English]