Heretic Man, в переменной counter хранится Функция.
Ведь вызов ф-ии makeCOunter возвращает вот что: return function(){..}
Можно возвращать из функции не только число, строку, массив. Но и другую функцию.
Которая, кстати, запоминает своё окружение. Переменную count в данном случае.
ВК со своей стороны борются с тем, что вы пытаетесь реализовать, и схема может меняться.
Но общий принцип: вы должны скриптом полноценно прикинуться браузером. Посмотрите, какие происходят редиректы при авторизации браузером, какие фичи браузера задействуются: может, там ставятся куки, выполняется JS?
Для упрощения задачи попробуйте добавить параметрdisplay=mobile
использование файлов:
read – при визитах заинтересованных пользователей, скажем, 10 раз в сутки;
write/replace – раз в 12 часов. От скорости записи в т.ч. зависит общая скорость обновлений, т.к. обновляются все файлы общим потоком по кругу.
Задержка чтения даже на 2 секунды, наверное, некритична.
Задержка всех записей на 2 секунды каждая сильно замедлит цикл обновления, но тот параллелится и выигрыш от перехода на облачное хранилище перевесит.