Пользовательский скрипт обрабатывает огромный файл ресурсов построчно?

Я пишу пользовательский скрипт, который нужно импортировать/читать из большого текстового файла.

Текстовый файл имеет размер в несколько ГБ, и если использовать split('\n') будет создан массив с миллионами в качестве длины массива.

Вы скажете: «О, но зачем вам обрабатывать так много данных». Мне нужно, но мне не нужно хранить его в массиве. Я принимаю это.

При запуске пользовательского скрипта под firefox он будет зависать, если массив, в котором хранится текстовый файл, имеет длину более 50 000. Это достаточно справедливо.

Очевидно, что мне нужен способ перебора большого текстового файла построчно ('\n') без фактического сохранения всего файла в строке, а затем в массиве. Я подозреваю, что Javascript этого не сделает. отлично подходит для этого, но, поскольку это пользовательский скрипт, я не уверен, какие у меня есть другие варианты.

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

var wordListString = GM_getResourceText("wordlist");
var wordListArray = wordListString.split('\n');

var username = "TestUsername";
$userField.val(username);

for (var i = 0; i < wordListArray.length; i++)
{
    (function(o) {
        setTimeout(function()
        {
            if ($userField.val() != username)
                $userField.val(username);
            $passwordField.val(wordListArray[o]);
            setTimeout(function() {$loginButton.click()}, 50);
        }, o * 1000);
    })(i);
}

person Edge    schedule 30.03.2014    source источник
comment
Вы должны делать это партиями, вместо того, чтобы разбивать весь текст, разбивать подстроку, обрабатывать ее, затем получать следующий набор строк, обрабатывать ее и так далее. Может сделать скрипку, чтобы проиллюстрировать пример   -  person juvian    schedule 30.03.2014
comment
Мне кажется или это брутфорсер?   -  person Biduleohm    schedule 30.03.2014
comment
Хахаха да, просто прочитал код   -  person juvian    schedule 30.03.2014
comment
Я не уверен, как разделение файла ресурсов в скрипте будет работать без физического разделения файлов ресурсов.   -  person Edge    schedule 30.03.2014
comment
Да, это атака по словарю, но она нацелена на небольшой веб-сайт, который я настроил и которым владею. Я имею в виду, честно говоря, большинство хороших сайтов все равно блокируются после нескольких неправильных попыток. Я делаю это на стороне проекта CS.   -  person Edge    schedule 30.03.2014
comment
Верно, а как вы планируете хранить гб данных в одной переменной wordListString?   -  person juvian    schedule 30.03.2014
comment
Это то, что я хочу обойти. Как можно обрабатывать текстовый файл построчно, не сохраняя его целиком?   -  person Edge    schedule 30.03.2014
comment
Лучшее, что я нашел, это то, проверьте, соответствует ли оно вашим потребностям: файлы"> stackoverflow.com/questions/17472313/   -  person juvian    schedule 30.03.2014
comment
Это может быть хорошей идеей. Спасибо Ювиан.   -  person Edge    schedule 30.03.2014
comment
Создайте простую веб-страницу на своем сервере, которая выдает результаты по одной странице за раз в зависимости от параметра URL. Затем ваш скрипт: (1) использует GM_xmlhttpRequest() для получения каждой страницы, (2) использует эти значения для атаки на ваш тестовый сайт, (3) повторяет при необходимости. ... Вам лучше сделать это на Python (или аналогичном), пользовательский скрипт - грубый, медленный, хрупкий инструмент для такого рода вещей.   -  person Brock Adams    schedule 30.03.2014
comment
Как я могу предоставлять результаты по частям с дискриминацией URL?   -  person Edge    schedule 30.03.2014