Работа с файлами

Учимся писать userscript'ы. Скрипты - это просто Скрипты для игр как делать

Как правильно писать скрипты для сайтов, операционной системы или игр? В рамках данной статьи мы попробуем рассмотреть ответ на этот вопрос.

Как писать скрипты для Windows: общая информация

Для написания скриптов желательно обладать хотя бы минимальными знаниями в программировании. Если же вам что-то кажется непонятным, то восполнить пробел поможет статья-другая. Давайте первоначально определим, что собой представляет скрипт. Скрипт это алгоритм, который написан определенными языками программирования. Он хранится на компьютере пользователя и может взаимодействовать с определенными программами, файлами и системными настройками. Все это дает возможность значительно дополнить стандартные возможности, создать автоматизированного помощника, который сможет взять на себя часть работы.

Работа с браузерами

Работа с интернет-браузерами, пожалуй, является одним из наиболее легких занятий. Для написания скриптов на Java Script будет достаточно знания этого языка программирования и обычного блокнота. Однако и здесь могут быть свои недостатки. Каждый пользователь, у которого есть та же самая стандартная программа «Блокнот», легко может посмотреть, что собой представляет скрипт. Если у пользователя будут плохие намерения, а в коде уязвимость, то вполне могут появиться проблемы. При ответе на вопрос о том, как писать скрипты на Java Script стоит отметить, что для этого нужно просто изучить данный язык программирования. Чтобы создавать более сложные программы, можно использовать различные библиотеки. Однако для них потребуются и соответствующие расширения веб-обозревателей. При смене компьютерной техники пользователю придется осуществлять дополнительные настройки. При использовании сторонних разработок следует убедиться в том, что созданный скрипт не будет отправлять данные пользователя на сторонние сервисы. Необходимо отметить, что у каждого интернет-браузера имеются свои определенные ограничения. Однако с их помощью в целом можно сделать все, что угодно. Зачем же их создают? Скрипты нужны для того, чтобы автоматизировать деятельность пользователя.

Работа с операционной системой Windows

Предположим, нам нужно поменять конфигурацию персонального компьютера. Для этого существует большой набор графических средств, но, к сожалению, все возможности они не охватывают. Поэтому приходится дополнительно создавать системные скрипты, которые имеют расширение.bat. Каждый пользователь, который работает за компьютером более-менее длительное время, наверняка встречался с такими файлами. Но как же писать скрипты для операционной системы Windows? Для этой цели нам понадобится стандартная программа «Блокнот». Для начала нужно создать новый текстовый файл. Необходимо записать в нем системные команды. После этого расширение файла нужно заменить на.bat. Затем останется только запустить данную разработку. Если все будет сделано правильно, команды будут успешно выполнены. В случае неграмотного написания кода или ошибок в лучшем случае ничего не произойдет. По этой причине лучше разбираться в том, что пишешь. Категорически не рекомендуется просто брать код и бездумно вставлять его. Это может привести к возникновению проблем в работе операционной системы. Повезет, если опасные операции будут осуществлены с гостевого аккаунта. Команда, выполненная от имени администратора, запросто может превратить ваш персональный компьютер в «кирпич».

А как обстоят дела с Linux? Стоит учитывать, что Windows – это далеко не единственная операционная система. Довольно популярной системой также является Linux. Как же писать скрипты в данной операционной системы? Скрипты здесь создаются при помощи оболочки или специального командного интерпретатора. Такой интерпретатор является интерфейсом между ядром операционной системы и пользователем. По сути, скрипт в Linux представляет собой простой файл, в котором перечислены системные команды. Это одновременно удобно и просто. При этом оболочке обязательно нужно знать, какой файл необходимо обрабатывать. Она по умолчанию просто читает. Если нужно выполнить команду, то используется конструкция «#!». Ее нужно просто вставить перед командой. Все скрипты в Linux имеют расширение.sh. Необходимо отметить, что при помощи скриптов можно делать множество довольно сложных вещей. Так, например, при помощи данного инструмента можно осуществлять резервное копирование файлов. В целом существует множество вариантов использования скриптов.

Пишем скрипты

Прежде всего, необходимо определиться со средой, в которой мы будем набирать код. Для этого почти всегда достаточно только «Блокнота». В этой стандартной программе не слишком удобно отображать строение конструкций. Здесь не подсвечиваются операторы и другие элементы. В качестве достойной альтернативы можно предложить программу под названием Notepad++. Пользователи, которые хорошо знают английский язык, наверняка сообразили, что это тот же «Блокнот», но обладающий расширенными возможностями. Это небольшая, но достаточно приятная разработка, которая в первую очередь ориентирована на программистов. Здесь можно включить настройку отображения практически всего, что есть. Также присутствует довольно удобный инструмент отображения кода и много других мелких приятных вещей, которые делают более комфортным процесс написания кода. В целом же можно дать множество различных ответов на вопрос, «где писать скрипты». Это могут быть и навороченные среды с множеством элементов отладки и эмуляторами. Достаточно только выбрать то, что вам по душе. Затем необходимо позаботиться о наличии знаний. В качестве основы вполне подойдет справка по выбранному языку программирования или команд ОС. Для более подробного изучения нужно будет почитать книги, в которых подробно излагаются все особенности обработки кода и машинной логики.

Сервисы для обучения в режиме реального времени

Если вас интересует процесс написания скриптов, то стоит рассмотреть возможность обучения при помощи информационных образовательных технологий. Как примерно выглядит такая «школа программистов»? Новичка по программе, составленной опытными разработчиками, ведут от легких моментов к сложным. Первоначально может быть изучено динамическое обновление данных, чтобы перейти в последующем к созданию сокет-серверов. Пользователь может без спешки проходить обучение, усваивая поэтапно максимальное количество информации. По этой причине, если возникнуть сложности, то вы легко сможете обратиться к ним за помощью. Если первый попавшийся сервис не удовлетворит все ваши потребности, то вы легко сможете попробовать что-то новое. Зачем же изучать их? Многих пользователей интересует вопрос, как писать скрипты для компьютерных игр. Однако это не единственное применение подобной возможности. Давайте же рассмотрим процесс написания скрипта. Предположим, вам нравится играть на каком-то определенном сайте. Увы, этот процесс предусматривает или вложение собственных средств, или длительное монотонное выполнение определенных действий. Если вы предпочитаете второй способ, то скрипты это как раз то, что вам нужно. Подобный подход может использоваться и в стационарных играх. Там существуют персонажи под управлением искусственного интеллекта. Чтобы сразиться с ними, можно создать свою версию искусственного интеллекта. Таким образом, вы можете устроить битву компьютера с самим собой. Скрипты могут успешно использоваться не только в компьютерных играх. Предположим, существует сайт какой-то серьезной организации. В данном случае максимальная поддержка коммуникации с клиентами является важным аспектом. Для этого можно добавить небольшую форму в виде скрипта, при помощи которой можно в онлайн-режиме получить консультацию специалиста. Возможностей использования скриптов существует большое количество.

Заключение

К сожалению, в рамках одного обзора достаточно сложно передать, как же правильно писать скрипты. Конечно, можно использовать общие рекомендации по оптимизации кода и так далее, но действительно понять, что все это означает, вы сможете только на практике. Только поиск оптимальных решений и опыт смогут помочь вам в реализации программ таким образом, чтобы они выполняли свои функции с минимальными трудозатратами. Вообще в программировании многое зависит от практики. Нужно постоянно учиться чему-то новому, самосовершенствоваться и думать о том, как лучше решить поставленную задачу.

В буквальном переводе слово script означает «сценарий», то есть описание последовательности действий, которые нужно совершить, чтобы выполнить определённую задачу. Применительно к интернет-программированию такими задачами могут быть, например, отображение часов на интернет-странице, реализация разнообразных визуальных эффектов с картинками и т.д. Да и показ в браузере самой страницы в современной сети тоже выполняется по заданному в скрипте сценарию. Давайте попробуем написать пару простейших скриптов, чтобы получить представление о том, что они собой представляют.
Создать сайт самостоятельно с Wix.com

Инструкция

  • В зависимости от того, где происходит исполнение сценария, скрипты делятся на «клиентские» и «серверные». Переходя по какому-то адресу в сети, мы отправляем URL интересующей страницы серверу, и тот запускает сценарий (скрипт), находящийся по указанному адресу. Скрипт, выполняя на сервере запрограммированные в нём действия, собирает страницу из нужных блоков и отправляет её браузеру. Это - серверный скрипт. Получив страницу, браузер на нашем компьютере визуализирует её для нас и, если в полученном коде страницы есть какой-то сценарий, то уже он занимается исполнением этого скрипта. Это - клиентский скрипт.
  • Чтобы сервер или браузер могли прочесть, понять и исполнить сценарий он должен быть составлен и записан по известным им правилам. Такие наборы правил называют скриптовыми языками программирования. Большинство серверных сценариев в настоящее время пишутся на языке PHP, а большинство клиентских - на языке JavaScript. Чтобы самому написать скрипт достаточно иметь обычный текстовый редактор – блокнот. Но для постоянного программирования скриптов не обойтись без специализированного редактора. Такой редактор берёт на себя львиную долю рутинной работы по написанию скриптов, оставляя программисту больше времени для творчества.

    Давайте напишем простой скрипт на серверном языке PHP. Первой строкой надо сообщить исполнителю, что с этого места начинается сценарий. На языке PHP этот открывающий тег выглядит так:Между этими двумя тегами находятся инструкции - операторы языка. Например, инструкция напечатать надпись, оставленную О. Бендером на Кавказских скалах, пишется так:echo ("Здесь были Кися и Ося");А инструкция показать текущее время в формате ЧАС:МИНУТА пишется так:echo date("H:i");Полностью PHP-скрипт, составленный из этих операторов, будет выглядеть так:echo date("H:i");

    echo (" здесь были Кися и Ося!");?>После выполнения этого скрипта серверной программой-исполнителем (интерпретатором языка) страничка бы выглядела так:

  • А этот же сценарий на клиентском языке JavaScript будет выглядеть так:var now = new date();
  • document.write ("В ");

    document.write (now.getHours() + ":" + now.getMinutes());

    document.write (" здесь были Кися и Ося!");Здесь строка var now = new date() отдаёт исполнителю сценария команду создать новый виртуальный объект с именем "now", который представляет собой текущую дату и время. document.write() – это команда написать в странице то, что указано в скобках, а команды now.getHours() и now.getMinutes() предписывают извлечь из объекта “now” текущие час и минуту.

    Осталось для большей наглядности объединить эти два скрипта в один файл, сохранить его на сервере и набрать URL в адресной строке браузера. В результате увидим одинаковые строки, одна из которых была выполнена по нашему сценарию на сервере (интерпретатором PHP), а другая - в нашем компьютере (интерпретатором JavaScript).

    Пошаговая инструкция:

    Для написания простого скрипта на bash , нам потребуется выполнить следующие простые действия:

    Как это все работает:

    первая строка нашего скрипта #!/bin/bash крайне необходима, для того, чтобы наш скрипт успешно выполнился.

    вторая строка mkdir testdir создает каталог testdir

    третья строка cd testdir позволяет перейти в созданный каталог testdir

    команда touch в следующей строке touch file1 file2 file3 создает три файла

    и последняя команда в строке нашего скрипта ls -al позволяет вывести на экран содержимое текущего каталога, в котором, благодаря предыдущей строке, появилось три пустых файла.

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

    Если вы ежедневно выполняете цепочку каких-либо одинаковых команд (с постоянными параметрами) в Linux, то возможно вам имеет смысл написать такой же простой скрипт на bash , который позволит вам сэкономить ваше время и автоматизировать вашу работу.

    Скрипт (scripting language - в переводе с английского «язык сценариев») - это высокоуровневый язык программирования, который был разработан специально для написания сценариев - кратких инструкций к выполнению системой определенных действий. Скрипт - это программа, которая имеет дело с готовыми программными компонентами. Главным образом, скрипты применяются для создания диалога с читателем гипертекста, а также для снабжения сайтов разными «фишками»: например, всплывающими советами или счетчиками посещений. Скриптом также называется программа, которая автоматизирует какую-либо задачу ПК, например, настройку параметров прокси-сервера.

    С чего начать?

    Вопрос о том, как научиться создавать скрипты, по сути равнозначен вопросу - как научиться программированию. Во многих источниках в сети можно найти статьи под заголовком «Как создать скрипт», которые начинаются словами - «Сделать это очень просто и это может каждый….». Но, на самом деле, утверждение это весьма сомнительное. Главная проблема заключается в необходимости изучения массы команд и внутренних особенностей языка. Простенький скрипт, конечно, можно создать по шаблону, коих в сети просто масса. Здесь, и правда, справится любой. Например, вы можете прямо сейчас открыть «Блокнот» и напечатать следующий текст:

    • WScript.Echo("Привет!");
    • text = "";

    Теперь нужно сохранить файл с разрешением.js. Как запустить скрипт? Просто кликаем два раза мышкой по созданному файлу, и вуаля - появляется классическое окно уведомлений Windows с текстом «Привет!». Вы можете нажать на «крестик» или клавишу «ОК» и закрыть скрипт. Дополнительные сведения читайте в нашей статье . Таким образом, вы написали скрипт и можете даже теперь создавать такие окна уведомлений с любыми надписями, однако вы совершенно не понимаете, что означают команды, вы просто их копируете. Если перед вами встанет задача, чтобы при нажатии на кнопку «ОК» появлялось какое-то меню, вы окажетесь в полной растерянности. Если вы хотите именно писать скрипты, а не копировать их, вам потребуется, прежде всего, выучить синтаксис и структуру языков сценариев.

    Языки сценариев

    Языки сценариев можно поделить на четыре класса:

    • командно-сценарные. Наиболее известный - JCL. Эта группа языков служит для управления заданиями в операционных системах. Языки были созданы в 1960-х, но сегодня с ними мало кто работает.
    • прикладные сценарные. К ним можно отнести популярнейший JavaScript. Эта группа языков работает в клиентской части программного обеспечения. Неплохие уроки по JavaScript можно найти .
    • языки разметки, позволяющие встраивать теги в обычный текст для структурирования и определенного динамического поведения. Наиболее известен PostScript, изучаем его .
    • универсальные языки, больше всего подходящие для программирования веб-пространства. Самый популярный - Tcl, вникаем в его синтаксис .

    Неплохие шаблоны скриптов вы можете найти на сайтах - webnav.ru и besttemplates.ru .

    Установка скрипта

    Как устанавливать скрипты на сайте? Программы, с помощью которых пользователь конструирует сайт, могут различаться интерфейсом, однако общая схема выглядит так:

    1. Закачиваем на сайт файл скрипта в разрешении ftp;
    2. Устанавливаем в настройках безопасности право на запуск скрипта;
    3. Запускаем инсталляционную форму и заполняем необходимые данные;
    4. Проводим дополнительную настройку скрипта в панели управления.

    Доброго времени суток всем желающим приобщиться к миру пользовательских скриптов (они же userscript , userJS , юзерскрипты ).

    В этой статье я хочу поведать о том, что такое юзерскрипты, c чем их едят и, главное, как их готовят !

    Внимание: предполагается минимальное знание javascript.
    На практике доказано: юзерскрипты может писать человек, не знакомый с программированием, но обладающий усидчивостью и желанием изучить javascript!
    О том, что такое javascript и как с ним обращаться, можно узнать на javascript.ru .

    Что такое юзерскрипты?

    Кратко: юзерскрипт - это программа, написанная на языке JavaScript, хранящаяся на компьютере пользователя и подключаемая браузером на определенных страницах. Юзерскрипт представляет собой файл с расширением .user.js (именно по расширению браузеры понимают, что файл является юзерскриптом), содержащий метаданные и непосредственно javascript-код.

    При подключении к странице юзерскрипт выполняется так же, как и обычные javascript-сценарии.
    У юзерскрипта есть доступ к DOM-дереву страницы, в контексте которой он выполняется.
    В современных браузерах у юзерскрипта есть доступ к localStorage и прочим HTML5 API.

    Юзерскрипты поддерживаются всеми основными современными браузерами (и даже кое-как поддерживаются IE7 и выше ).

    Самый известный портал юзерскриптов - userscripts.org . Тут можно найти хранилище скриптов, инструменты управления своими скриптами на портале и, что не маловажно, отзывчивый форум (всё на английском).

    Немного общей теории

    Самыми распространенными являются скрипты под расширение GreaseMonkey для браузера Firefox .
    Подробную информацию по GreaseMonkey и написанию юзерскриптов под GreaseMonkey можно узнать на http://wiki.greasespot.net .
    Так сложилось исторически, что данный браузер был (и остаётся по сей день) первым, в котором поддержка юзерскриптов была выполнена на высоком уровне.

    Не все скрипты, написанные для GreaseMonkey, могут запускаться в других браузерах. Причина в криворукости том, что во многих скриптах используется GM API - набор javascript-функций, специфичных для GreaseMonkey.

    Однако, проще всего писать юзерскрипты под браузер Google Chrome .
    На это есть ряд причин:

    1. Простым скриптам не нужна поддержка GM API (библиотека, доступная в GreaseMonkey)
    2. Google Chrome, в отличие от Firefox+GreaseMonkey, имеет отличнейший дебаггер.
    3. Сообщения об ошибках юзерскрипта в Firefox ужасны! Если вы не обладаете даром телепатии твердыми знаниями GreaseMonkey и javascript, написание юзерскрипта может превратится в муки!
    4. Google Chrome не требует расширений для поддержки юзерскриптов. Интерфейс для удаления/отключения юзерскриптов доступен «из коробки».
    Очевидные минусы Google Chrome:
    1. Нет доступа к «родному» window.
    2. Не поддерживается директива @ include метаданных. Директива @ match глючит, можно сказать, что она тоже не поддерживается.

    Особенности юзерскриптов

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

    Все юзерскрипты запускаются после того, как загрузились все основные элементы страницы, но ещё не загрузились картинки. Можно сказать, что юзерскрипты грузятся по событию DOMContentLoaded .
    В любом случае, проверки на window.onload не нужны .

    Каждый браузер накладывает свои ограничения на исполнение юзерскриптов, но в целом юзерскрипты могут делать почти всё, что могут скрипты на странице.
    Чаще всего юзерскрипты используются для изменения интерфейса страницы или для добавления плюшек, блекджека и шлюх (юзерскрипты для социальных сетей).
    Бывают и продвинутые юзерскрипты, которые представляют собой самостоятельные программы (аукционные и игровые боты, плагины-помощники и т.д).

    Анатомия юзерскриптов

    Юзерскрипт - это текстовый файл с расширением user.js. В начале файла располагается блок метаданных - описание самого скрипта. После блока метаданных следует javascript-код, который и будет исполняться браузером.

    Рассмотрим тестовый скрипт, который показывает alert с текстом на определенной странице.
    // ==UserScript== // @name myUserJS // @description Мой самый первый юзерскрипт // @author Vasya Pupkin // @license MIT // @version 1.0 // @include http://userscripts.org/* // ==/UserScript== // Оборачиваем скрипт в замыкание, для кроссбраузерности (opera, ie) (function (window, undefined) { // нормализуем window var w; if (typeof unsafeWindow != undefined) { w = unsafeWindow } else { w = window; } // В юзерскрипты можно вставлять практически любые javascript-библиотеки. // Код библиотеки копируется прямо в юзерскрипт. // При подключении библиотеки нужно передать w в качестве параметра окна window // Пример: подключение jquery.min.js // (function(a,b){function ci(a) ... a.jQuery=a.$=d})(w); // не запускаем скрипт во фреймах // без этого условия скрипт будет запускаться несколько раз на странице с фреймами if (w.self != w.top) { return; } // дополнительная проверка наряду с @include if (/http:\/\/userscripts.org/.test(w.location.href)) { //Ниже идёт непосредственно код скрипта alert("Userscripts приветствует вас навязчивым окном."); } })(window);

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

    В самом начале располагается блок метаданных (в виде комментария).
    // ==UserScript== // ... // ==/UserScript==
    Этот блок состоит из директив описания юзерскрипта. Ниже в таблице представлены основные директивы и их назначение.

    Важно: Все директивы, как и сам блок метаданных, могут отсутствовать.

    Директива Назначение
    @ name Название юзерскрипта.
    Это название будет отображаться в интерфейсе управления
    юзерскриптами. Если директива отсутствует, то название
    юзерскрипта будет таким же, как и название файла.
    @ description Описание юзерскрипта.
    Это описание будет отображаться в интерфейсе управления
    юзерскриптами.
    @ namespace Пространство имён.
    Определяет уникальность набора скриптов.
    Сюда можно вписать имя домена, принадлежащего вам. Или любую другую строку.
    Считайте, что это второе название скрипта. Обязательная директива для Trixie!
    @ author Имя автора.
    @ license Название лицензии, по которой распространяется юзерскрипт.
    @ version Номер версии юзерскрипта.
    К сожалению, механизма автообновления нету ни в одном браузере,
    поэтому номер версии - это просто цифры, которые отображаются в интерфейсе.
    @ include
    на которой нужно запускать юзерскрипт.
    Поддерживает вайлдкард * (применимо в GreaseMoneky, Opera, IE).
    Для каждого отдельного url нужно использовать отдельную директиву @ include.
    @ exclude Директива описания url страницы,
    на которой не нужно запускать юзерскрипт.
    Поддерживает вайлдкард * (применимо в GreaseMonkey, Opera, IE).
    Для каждого отдельного url нужно использовать отдельную директиву @ exclude.
    @ match Аналогично @ include, но с более жесткими ограничениями
    (применимо в GreaseMonkey старше 0.9.8, Google Chrome).
    Подробнее об ограничениях и формате директивы можно
    прочитать на этой странице .
    Для каждого отдельного url нужно использовать отдельную директиву @ match.

    Важно: Как показала практика, полагаться на директиву @ match в юзерскриптах не стоит.
    Google Chrome периодически отказывается учитывать @ match
    и запускает юзерскрипты на всех страницах.
    Для предотвращения такой ситуации в юзерскрипты,
    которые будут запускаться не только в Firefox,
    нужно добавлять код проверки адреса страницы (см. ссылку в коде юзерскрипта) .

    Важно: При отсутствии директив @ include или @ match, юзерскрипты будут запускаться на всех страницах .

    В нашем юзерскрипте использован ряд хитростей:

    1. Для того, чтобы юзерскрипты имели одинаковое поведение и не загрязняли глобальную область видимости, код оборачивается в замыкание (см. в коде скрипта) .
    2. Для правильного подключения библиотек внутри юзерскрипта и для обхода некоторых хитрых особеннойстей GreaseMonkey, необходимо «нормализовать» ссылку на глобальную область видимости window (см. в коде скрипта) .
    3. Для того, чтобы юзерскрипт не запускался несколько раз на одной и той же странице, необходимо останавливать работу при запуске юзерскрипта во фреймах (см. в коде скрипта) .
    4. Для того, чтобы юзерскрипт запускался только на нужных нам страницах, необходимо явно проверять url страницы (см. в коде скрипта) .
    5. Благодаря такой структуре, юзерскрипт может быть относительно просто преобразован в букмарклет .

    Результат

    Наш юзерскрипт готов к использованию!
    Нет, серьёзно, вы можете скопировать код юзерскрипта в файл, назвать его my.user.js, и закинуть полученный файл в браузер (используйте Chrome или Firefox с установленным GreaseMonkey).

    Конечно, наш юзерскрипт не обладает серьезными функциями, код выглядит страшным и малопривлекательным (для непосвященного человека). Но в итоге мы получили заготовку для кроссбраузерных юзерскриптов .
    Это значит, что юзерскрипт можно запустить практически в любом современном браузере!
    И это замечательно!

    Остаётся вопрос: как «раздать» наш скрипт пользователям (ведь мы писали скрипт не только для себя)?
    Варианты:

    • Зарегестрироваться на портале userscripts.org и загружать скрипты туда.
    • Завести репозиторий на code.google.com или github.com .
    • Создать свой простой сервис/сайт/страничку.
      Важно: Если хотите, чтобы у пользователей GreaseMonkey автоматически открывался диалог установки юзерскрипта, отдавайте файл прямиком с файловой системы (url файла должен заканчиваться на.user.js). В противном случае пользователь увидит исходный код скрипта и панель с кнопкой «установить». Эта кнопка не работает!
    Рецепт для непрограммистов (похожими методами пишется ~70% скриптов):
    1. Придумываем, что будет делать наш юзерскрипт (перекрашивать ссылки, например)
    2. Берём шаблон из статьи
    3. Сохраняем в файл my.user.js
    4. Удаляем строку с alert(...) .
    5. Идём на форум (userscripts.org или любой форум по javascript).
    6. Спамим, флудим и достаём людей вопросами «как перекрашивать ссылки», «дайте код» и т.д.
    7. Изменяем метаданные и проверку url страницы на нужные нам.
    8. Вставляем полученный на форуме код в юзерскрипт.
    9. Сохраняем файл.
    10. PROFIT!!1!
    Полезные ссылки: