Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » nnCron-Планировщик с поддержкой скриптового языка

Модерирует : gyra, Maz

Widok (29-01-2008 15:38): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

   

8AleX8



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nnCron
 
nnCron - это компактный, но мощный планировщик и менеджер автоматизации с собственным скриптовым языком, основанным на синтаксисе языка программирования Форт. Помимо традиционной для планировщика способности запускать в указанное время программы, "напоминалки" и открывать документы ..
 
nnCron способен отслеживать файлы, флаги, окна, процессы, движения мыши, время простоя компьютера, клавиатурные шорткаты, выход в онлайн/оффлайн, появление диска в драйве, наличие хоста в сети (пинг), изменение удаленного ресурса по http-протоколу, количество свободного места на диске, загруженность оперативной памяти и многое другое...
 
nnCron понимает cron-формат (Unix) и управляется с помощью текстовых кронтаб-файлов. Для тех, кто любит работать с GUI есть графическая оболочка из которой можно удалять/добавлять/редактировать и запускать задачи, устанавливать напоминалки, менять настройки программы.  
 
nnCron позволяет использовать в задачах VBScript/JScript, регулярные выражения и расширяется за счет плагинов. Он может быть запущен в качестве службы (сервиса) или как обычное приложение. Обладает средствами удаленного администрирования. Подробнее прочитать о возможностях nnCron вы можете в online-документации.
 
nnCron бесплатен для граждан стран бывшего СССР при условии частного и некоммерческого использования.


история изменений - http://www.nncron.ru/forums/viewforum.php?f=11
форум - http://www.nncron.ru/forums/
 
архив конференции поддержки: » fido7.ru.nncron
 
скачать: http://www.nncron.ru/download_ru.shtml - программу, документацию, плагины, скрипты
 
последняя версия:  
 
v.1.91 (build 1083) - последний релиз от 21 марта 2006 (+ основные плагины и документация на английском языке)  
 
документация:  
 
help_ru.zip  (обновляется регулярно) документация nnCron (на русском языке)
faq_ru.zip nnCron FAQ (на русском языке)  
spf_help.zip (130k  20 Nov 2002)  описание основных слов SP-Forth (на русском языке)  
sf.chm (1.5M  03 Feb 2003)  книга Leo Brodie "Начальный курс программирования на языке Форт" (на русском языке)  
 
полезные ссылки:
* » nnBackup - крошечная (250k) консольная утилита, предназначенная для резервного копирования файлов, синхронизации содержимого каталогов, создания и обработки файл-листов.  
* » Cтатья Валерия Кондакова про возможности nnCron  
* » Канал "nnCron releases" для » WatzNew by 8AleX8
* » Файл расцветки синтаксиса исходников языка Форт и кронтабов nnCron для плагина Colorer (Far Manager)
* » Редактор мелодий для beeper'a под nnCron
Если не работает новая, правильно написанная задача, то попробуйте добавить в опции задачи слово AsLoggedUser (галочка в свойствах новой задачи "Как пользователь, выполнивший login") и, возможно, LoadProfile (галочка "Загрузить профиль").
 

Полезные самодельные задачи для сабжа
 

Всего записей: 1813 | Зарегистр. 11-12-2001 | Отправлено: 23:26 27-04-2002 | Исправлено: lucky_Luk, 18:16 22-09-2007
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lucky_Luk
Зря ты свои вопросы в "Подробнее" запрятал, такие вещи должны быть на виду - что бы не повторялись.  
 

Цитата:
У меня одна задача запускает файр когда открывается окно установки сетевого подключения, а вторая выключает его после разрыва соединения. Как объединить эти задачи?

В принципе, не вижу ничего плохого в двух задачах, но это дело вкуса, конечно.
Что бы объединить задачи - объедини в одной оба условия запуска каждой из них, а уже в теле задачи, по наличию процесса файерволла, определяй что надо делать с ним: запускать\закрывать.
 

Цитата:
Пока глючит, но пытаюсь разобраться.

в чем глюк проявляется? ошибается в количестве файлов? не должон вроде..., там же все просто как 2х2. Выложи целиком всю задачку (вот тут "Подробнее" - в самый раз) глянем в чем может быть ошибка.
 

Цитата:
можно как-то заставить nnCron анализировать только строку текстового файла с заданным содержимым?

см. Help: READ-LINE
 

Цитата:
Может ли nnCron найти в папке 2 или больше одинаковых файлов (сравнение по размеру в байтах) и удалить более старые - оставить самый новый (в имени файла прописаны дата и время создания до секунд)?

 
см. Help: FILE-SIZE:, но точность этого слова - 1Кб, на оффоруме (уже давненько) поднимался вопрос про определение размера с точностью до байта
 
для определения старый\новый см. Help: FILE-CREATION-DATE:
 
если определять по имени файла, то переводи строки в числа (см. Help: S>NUM) и сравнивай
 

Цитата:
nnCron умеет анализировать коды возврата? Надо чтобы он выдал сообщение после того как одна программа завершит работу - или это можно сделать не через коды, а проследить завершение процесса (окна программа не создает)?

по-поводу кодов - что-то вроде было, но точно не знаю.
А какой результат работы программы?
Если после своей работы она завершается, то проще, конечно же, WatchProcStop:, либо вообще воспользуйся START-APPW: ( и не ленимся, читаем... читаем Help)

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 05:10 07-12-2005
Interceptor

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста, мне нужно запускать задачу, исходя из нескольких условий:
1. Процесс Х1 остановлен (не активен)  
2. Время от Т1 до Т2
3. Есть активное соединение с провайдером
4. Существует файл Ф1 (создан)
 
Я решил основным условием запуска выбрать 1-е, то есть процесс был только что остановлен, а остальные - вторичными. Получилось приблизительно следующее:
 
WatchProcStop: "Janus.exe"
Rule: INTERVAL: 7:10-8:00 AND
Rule: ONLINE: "Dial-Up to provider" AND
Rule: FILE-EXIST: "d:\rsdn.txt"
Action:
StartIn: "E:\"  
ShowNormal   NormalPriority
START-APP: E:\rsdn.exe
FILE-DELETE: "d:\rsdn.txt"
 
Однако при срабатывание выдается ошибка: Rule stack error. Причем ошибка выдается два раза. Если убрать AND во вторичных условиях, то все происходит без ошибок, но тогда процесс может запуститься при любом из условий (такое впечатление, что без AND несколько Rule объеденены через OR). Что я делаю не так, подскажите пожалуйста?

Всего записей: 602 | Зарегистр. 09-05-2003 | Отправлено: 08:23 11-12-2005
evle



1 + int rand(100);
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Interceptor
Читать хелп:

Цитата:
 
Допускается использование нескольких конструкций Rule: в одной задаче. В этом случае Rule: объединяются с помощью логического "ИЛИ" - действие выполнится, если хотя бы одно (или несколько) из указанных условий вернут TRUE.  
 

То есть соединять несколько Rule операциями нельзя. Зато можно:

Цитата:
 
Гораздо удобнее объединять несколько условий в рамках одной конструкции Rule:. В качестве логических операций при этом используются слова AND и OR (логические "И" и "ИЛИ"). Синтаксис комбинированных условий следует правилам постфиксной записи, принятой в языке Форт (<условие 1> <условие 2> <логическая операция>):

Код:
 
\ Возвращает TRUE, если оба условия верны
Rule: <проверка1> <проверка2> AND
\ Возвращает TRUE, если хотя бы одно из уcловий верно
Rule: <проверка1> <проверка2> OR
 

 


----------
For every complex problem, there is a solution that is simple, neat, and wrong.

Всего записей: 2110 | Зарегистр. 03-02-2005 | Отправлено: 10:01 11-12-2005
Interceptor

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
evle
Спасибо, помогло!

Всего записей: 602 | Зарегистр. 09-05-2003 | Отправлено: 15:26 11-12-2005
lucky_Luk

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJ makrus

Цитата:
в чем глюк проявляется? ошибается в количестве файлов? не должон вроде..., там же все просто как 2х2.

Я ошибся при написании задачи - все работает.

Цитата:
воспользуйся START-APPW

Прокатило.

Цитата:
по-поводу кодов - что-то вроде было, но точно не знаю.  

За это отвечает слово ExitCodeProc, эта штука используется в связке со START-APPW.

Всего записей: 7100 | Зарегистр. 29-11-2004 | Отправлено: 15:49 11-12-2005
lucky_Luk

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJ makrus
1. Нужно немного усложнить задачу подсчета колличества файлов в папке - надо чтобы при достижении определенного числа запускалось приложение. Пробовал c CASE, выдает ошибку стека в Action:. У меня подозрение что неправильно читается значение переменной num_of_files - может надо использовать не VALUE-переменную? Как положить значение переменной на стек чтобы цикл CASE его понял - если просто вбить %num_of_files% перед циклом то выдает ошибку.  
При объявлении переменной типа VALUE в задаче мы задаем ее исходное значение - я так понял в нашей задаче исходное значение по фигу?
2. Я не нашел слова для остановки задачи... Как программно остановить выполнение задачи - допустим выводится запрос и если юзер выбирает "Нет" то задача останавливается?
3. Как отсортировать по алфавиту список задач, который показывается в контекстном меню nnCron по команде "Выполнить задачу" и "Редактировать"?
4. Как проследить выполнение задачи - что выводится на стек, что читается и т.д. - консоль это может?

Всего записей: 7100 | Зарегистр. 29-11-2004 | Отправлено: 10:48 13-12-2005 | Исправлено: lucky_Luk, 10:50 13-12-2005
scup



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Из справки: WIN-CLICK: "win_pattern" "button_pattern"
"Нажимает" на указанную кнопку в указанном окне.
Что такое "button_pattern"? Конструкция WIN-CLICK: "мое окно" "ОК" у меня не работает. В справке о кодах кнопок я не нашел.
 

Всего записей: 556 | Зарегистр. 04-04-2003 | Отправлено: 12:27 16-12-2005
dad1969

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
scup
Насколько я понимаю надо смотреть через WinSpy и писать то что указано в Child window -> Text. Если там ничего нет, то ничего и не получится.

Всего записей: 571 | Зарегистр. 18-03-2003 | Отправлено: 13:15 16-12-2005
lucky_Luk

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Что за слово "CR" (без кавычек)? Часто используется в примерах, а конкретно его описания не нашел.
Как зациклить выполнение команд - типа запустить программу и если выдало код возврата "ошибка" то запустить ее снова.

Всего записей: 7100 | Зарегистр. 29-11-2004 | Отправлено: 10:28 22-12-2005
scup



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В одной задаче можно реализовать: запускаем блокнот, а после закрытия блокнота запускался бы калькулятор. Я понимаю, что вопрос простой, но мне в одной задаче не удается такое сделать.

Всего записей: 556 | Зарегистр. 04-04-2003 | Отправлено: 18:16 22-12-2005
volodyalipkin



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
scup
RunOnce
NoDel
Time: 15 9 22 12 * 2005
Action:
ShowNormal   NormalPriority
START-APPW: C:\WINDOWS\system32\notepad.exe
START-APPW: C:\WINDOWS\system32\calc.exe

Всего записей: 771 | Зарегистр. 12-10-2002 | Отправлено: 20:16 22-12-2005
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lucky_Luk
1.
Цитата:
Нужно немного усложнить задачу подсчета колличества файлов в папке - надо чтобы при достижении определенного числа запускалось приложение.

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

Цитата:
Пробовал c CASE, выдает ошибку стека в Action:. У меня подозрение что неправильно читается значение переменной num_of_files - может надо использовать не VALUE-переменную? Как положить значение переменной на стек чтобы цикл CASE его понял - если просто вбить %num_of_files% перед циклом то выдает ошибку.

А ты CASE пытался в шапке задачи (часть задачи в которой расписываются условия ее запуска, от тела задачи отделяется словом Action:) использовать? Скорее всего и это возможно (сам не пробовал), но это, возможно, будет немного сложнее. А для того что бы положить значение на стек нет ничего лучше, IMHO, переменной типа VALUE
Цитата:
При объявлении переменной типа VALUE в задаче мы задаем ее исходное значение - я так понял в нашей задаче исходное значение по фигу?
Для нашей задачи - по фигу, но ты попробуй не задать его, я попробовал  

Цитата:
2. Я не нашел слова для остановки задачи... Как программно остановить выполнение задачи - допустим выводится запрос и если юзер выбирает "Нет" то задача останавливается?
ну посмотри например EXIT
Цитата:
3. Как отсортировать по алфавиту список задач, который показывается в контекстном меню nnCron по команде "Выполнить задачу" и "Редактировать"?
насколько я знаю, на данный момент - никак, но поскольку автора уже неоднократно просили о данной функции, то скорее всего в будущем это станет возможно.
Цитата:
4. Как проследить выполнение задачи - что выводится на стек, что читается и т.д. - консоль это может?
воспользуйся, к примеру, словами CRON-LOG и LOG:
Цитата:
Что за слово "CR" (без кавычек)? Часто используется в примерах, а конкретно его описания не нашел.
плохо искал  , в Help'е, в его левой части, имеется три закладки: "Содержание", "Указатель", "Поиск", в данном случае воспользуйся третьей закладкой.
Я постоянно лазию в Help, и очень редко пользуюсь первой закладкой, иногда последней и постоянно второй    
scup
Цитата:
В одной задаче можно реализовать: запускаем блокнот, а после закрытия блокнота запускался бы калькулятор...
посмотри START-APPW: (О! меня опередили )

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 20:36 22-12-2005 | Исправлено: DJ makrus, 20:37 22-12-2005
lucky_Luk

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJ makrus

Цитата:
Это можно реализовать нескольками способами. Что-бы я не гадал на кофейной гуще выложи свою уже работающую задачу и максимально подробно распиши чего именно хочешь.(

С количеством файлов и т.п. разобрался, юзаю твой "счетчик файлов", CASE, файлы-флаги и пр. - работает на ура (если кому интересно могу дать алгоритм задачи - создание инкрементного архива, подсчет колличества архивов в папке, создание базового полного архива, все с анализом кодов возврата). С CASE, переменными и ошибкой стека тоже все уладил.

Цитата:
Для нашей задачи - по фигу, но ты попробуй не задать его, я попробовал  

Да, если не задать то шняга получается - надо при объявлении переменной VALUE задавать любое число.

Цитата:
ну посмотри например EXIT  

Я уже насобачился с IF ... THEN, но посмотрю - может так код задачи будет проще.

Цитата:
воспользуйся, к примеру, словами CRON-LOG и LOG:

Спасибо.
С циклами тоже вроде все хорошо - оказалось что для этого есть конструкция BEGIN ... UNTIL.

Цитата:
плохо искал  в Help'е

Везде лазил, CR нашел только в примерах, нашел конструкции в которых оно употребляется, а нафига конкретно это слово нужно не нашел - поделись опытом.
Как я понял задача пишется на языке Форт. Можно ли из задачи сделать экзешник, который бы работал на компе без nnCron?
 
Еще одно - как сделать так чтобы допустим в папке какая-то прога создает файл и после этого из этой папки удаляется самый старый файл. Как создать, удалить файл и пр. знаю - интересует только как определить самый старый файл в папке. Вариант с количеством дней не катит. Подойдет только определение "возраста" файла относительно других файлов в папке или относительно текущей даты.

Всего записей: 7100 | Зарегистр. 29-11-2004 | Отправлено: 11:04 23-12-2005 | Исправлено: lucky_Luk, 11:12 23-12-2005
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lucky_Luk
Цитата:
...если кому интересно могу дать алгоритм задачи - создание инкрементного архива, подсчет колличества архивов в папке, создание базового полного архива, все с анализом кодов возврата...
ты случайно не резервным копированием занялся с помощью nnCron'а? Эта великая программулина, конечно, и с этим справиться, но что бы ей было легче, ее автор для резервного копирования создал еще один шедевр nnBackup? а вместе они образуют сногсшибательное комбо (с).
Итак, nnbackup:
топик на Ru-Board'e
знакомый читателям этого топика оффсайт
там же оффорум
и наконец страничка с свежайшими бетами (очень, надо сказать, стабильными) обеих программ.
 

Цитата:
Везде лазил, CR нашел только в примерах, нашел конструкции в которых оно употребляется, а нафига конкретно это слово нужно не нашел - поделись опытом.
А вот сюда "Help -> Работа с программой -> Инструменты -> Consol" заглядывал?
 

Цитата:
Как я понял задача пишется на языке Форт. Можно ли из задачи сделать экзешник, который бы работал на компе без nnCron?
да и такое возможно..., есть только одно НО - даже если твоя задача будет состоять из одной строки:

Код:
TMSG: "Очень маленькая программа!" 15
то размер экзешника будет где-то 300~400 кБ, т. к. внутри будет еще и компилятор Форта. Однако если задачка будет из 100-тни таких строк, то экзешник будет чуть-чуть больше (исключительно на размер 99 строк в кБ-ах). Если заинтересовало - на оффоруме относительно недавно такой вопрос с ответом пробегали.
 

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

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 12:39 23-12-2005
lucky_Luk

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJ makrus

Цитата:
ее автор для резервного копирования создал еще один шедевр nnBackup?

Про nnBackup знаю, но привык пользоваться WinRAR (он ИМХО помощнее будет) поэтому в задаче непосредственно архивирование за WinRAR, а все остальное за nnCron.

Цитата:
А вот сюда "Help -> Работа с программой -> Инструменты -> Consol" заглядывал?

Искал CR поиском по Справке, спасибо, загляну.

Цитата:
в этом тебе поможет плагин files_pick.spf,  

Скачал, попробую в работе.

Цитата:
Если заинтересовало - на оффоруме относительно недавно такой вопрос с ответом пробегали.  

Это хорошо что пробегали, если бы ты еще и прямую ссылку дал...  
Уже наковырял инфу на оффоруме. Я так понял можно просто таскать кронтаб вместе с nnCron.exe и не парится. Но было бы интересно посмотреть на действующий экзешник с исходником. И на оффоруме у кого-то задача не запустилась под WinXP SP2, как у экзешника с совместимостью с разными версиями Windows?

Всего записей: 7100 | Зарегистр. 29-11-2004 | Отправлено: 14:46 23-12-2005 | Исправлено: lucky_Luk, 15:05 23-12-2005
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lucky_Luk
Цитата:
...но привык пользоваться WinRAR (он ИМХО помощнее будет)...
даа, согласен - привычка штука сильная, а в остальном не могу с тобой согласиться, естественно, IMHO, но у WinRAR'а единственное преймущество перед Backup'ом - степень сжатия, а в остальном ..., ладно не будем войны организовывать итак уже начали оффтопить (если ты о возможностях nnBackup'а судишь по местному топику, то он немного отстает от реальности)
 

Цитата:
...Искал CR поиском по Справке...
хочешь верь, хочешь нет, но когда ты задал этот вопрос - я тоже воспользовался поиском по Справке, хотя и догадывался о значении этого слова, т. к. очень часто похожим пользуюсь.  
 

Цитата:
как у экзешника с совместимостью с разными версиями Windows?
экзешники я не лепил, поэтому могу только теоретически предположить, что будет все как и с самим nnCron'ом - некоторые слова (см. Help) не будут работать в старых виндах.

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 01:11 24-12-2005
ZuluS



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как заставить NNCron отслеживать скорость подключение к инету через Dial-Up и если скорость меньше заданой - реконектится?

Всего записей: 43 | Зарегистр. 08-12-2003 | Отправлено: 08:50 24-12-2005
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZuluS
Цитата:
Как заставить NNCron отслеживать скорость подключение к инету через Dial-Up...
насколько мне известно обычным способом - никак, только с помощью сторонней программы определять скорость и каким-либо образом передавать nnCron'у.
Но я могу и ошибаться.

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 05:26 25-12-2005
ZuluS



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJ makrus

Цитата:
с помощью сторонней программы определять скорость и каким-либо образом передавать nnCron'у

Вряд ли сторонние программы используют для этого свои API. В винде должна быть своя функция (имхо), т.к. скорость соединения виндой определяется, только вот какая?

Всего записей: 43 | Зарегистр. 08-12-2003 | Отправлено: 07:06 25-12-2005
evle



1 + int rand(100);
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZuluS
Для "определения скорости подключения к инету" не то что API нет, не особо понятно, что это вообще такое. Смотри, скажем, эту тему. Все что можно посчитать, это количество байт, прошедших через модем за заданное время. Для этого можно поискать API, но задача нетривиальная и ИМХО не стоит оставлять ее nnCron'у.
 
 
Вопрос: кому-нибудь попадалась формальная грамматика языка FORTH?

----------
For every complex problem, there is a solution that is simple, neat, and wrong.

Всего записей: 2110 | Зарегистр. 03-02-2005 | Отправлено: 15:36 25-12-2005
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

Компьютерный форум Ru.Board » Компьютеры » Программы » nnCron-Планировщик с поддержкой скриптового языка
Widok (29-01-2008 15:38): лимит страниц. продолжаем здесь


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru