Полезные и интересные комьютерные программы.
Posted: Fri Jun 03, 2016 1:57 pm
В этой теме вы можете дать ссылки на интересные и полезные, с вашей точки зрения, компьютерные программы.
Форум практиков астрала, осознанных сновидений и внетелесных путешествий
https://forum.remspace.net/
Code: Select all
// ==UserScript==
// @name forum.aing.ru - BLACK LIST
// @include *forum.aing.ru/viewtopic.php*
// @include *forum.aing.ru/posting.php*
// @include *forum.aing.ru/search.php*
// @require https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js
// ==/UserScript==
function addJQuery(callback) {
var script = document.createElement("script");
script.setAttribute("src", "https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js");
script.addEventListener('load', function() {
var script = document.createElement("script");
script.textContent = "(" + callback.toString() + ")();";
document.body.appendChild(script);
}, false);
document.body.appendChild(script);
}
// load jQuery and execute the main function
addJQuery(main);
function main() {
$("div.post") .show ()
.has ("a.username:contains('Malva'), a.username:contains('троль2*12'), a.username:contains('тролль2*12'), a.username:contains('Shimadzu'), a.username:contains('ПИФОН'), a.username:contains('BUER'), a.username:contains('प्रत्येक बुद्ध'), a.username:contains('униженный, но...'), a.username:contains('Left'), a.username:contains('Pastor'), a.username:contains('м. асфальт')")
.hide ();
}
// load jQuery and execute the main function
addJQuery(main);
Code: Select all
// ==UserScript==
// @name forum.aing.ru - BLACK QUOTE
// @include *forum.aing.ru/viewtopic.php*
// @include *forum.aing.ru/posting.php*
// @include *forum.aing.ru/search.php*
// @require https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js
// ==/UserScript==
function addJQuery(callback) {
var script = document.createElement("script");
script.setAttribute("src", "https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js");
script.addEventListener('load', function() {
var script = document.createElement("script");
script.textContent = "(" + callback.toString() + ")();";
document.body.appendChild(script);
}, false);
document.body.appendChild(script);
}
// load jQuery and execute the main function
addJQuery(main);
function main() {
$("blockquote") .show ()
.has ("cite:contains('Malva'), cite:contains('троль2*12'), cite:contains('тролль2*12'), cite:contains('Shimadzu'), cite:contains('ПИФОН'), cite:contains('BUER'), cite:contains('प्रत्येक बुद्ध'), cite:contains('униженный, но...'), cite:contains('Left'), cite:contains('Pastor'), cite:contains('м. асфальт')")
.hide ();
}
// load jQuery and execute the main function
addJQuery(main);
Code: Select all
// ==UserScript==
// @name forum.aing.ru - BLACK TOPIC
// @include *forum.aing.ru/viewforum.php*
// @require https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js
// ==/UserScript==
function addJQuery(callback) {
var script = document.createElement("script");
script.setAttribute("src", "https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js");
script.addEventListener('load', function() {
var script = document.createElement("script");
script.textContent = "(" + callback.toString() + ")();";
document.body.appendChild(script);
}, false);
document.body.appendChild(script);
}
// load jQuery and execute the main function
addJQuery(main);
function main() {
$("li.row") .show ()
.has ("a.topictitle:contains('А вот и МАЛЬВА!'), a.topictitle:contains('Анкетирование'), a.topictitle:contains('ТЫ_СО_МНОЙ?'), a.topictitle:contains('Страшная правда.')")
.hide ();
}
// load jQuery and execute the main function
addJQuery(main);
Какой скрипт мне в итоге вставить-то надо и как остальные поля формы заполнить?AstralHacker wrote:Альтернативно, можно воспользоваться отдельным скриптом для вырезания только цитат, если есть желание сохранить пост другого автора с текстом ответа на цитату - правда тогда этот пост привносит бессмыслицу, но может содержать сообщения и для других пользователей.
Code: Select all
// ==UserScript==
// @name forum.aing.ru - BLACK LIST
// @include http://forum.aing.ru/viewtopic.php*
// @include http://www.forum.aing.ru/viewtopic.php*
// @include http://forum.aing.ru/posting.php*
// @include http://www.forum.aing.ru/posting.php*
// @include http://forum.aing.ru/search.php*
// @include http://www.forum.aing.ru/search.php*
// @require http://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js
// ==/UserScript==
function addJQuery(callback) {
var script = document.createElement("script");
script.setAttribute("src", "http://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js");
script.addEventListener('load', function() {
var script = document.createElement("script");
script.textContent = "(" + callback.toString() + ")();";
document.body.appendChild(script);
}, false);
document.body.appendChild(script);
}
// load jQuery and execute the main function
addJQuery(main);
function main() {
$("div.post") .show ()
.has ("a:contains('Бяка1'), a:contains('Бяка2'), a:contains('Бяка2'),
cite:contains('Бяка1'), cite:contains('Бяка2'), cite:contains('Бяка2')")
.hide ();
}
// load jQuery and execute the main function
addJQuery(main);
Отлично, именно Windows Firefox лучше всего обрабатывает изменения в страницах (по крайней мере - не мелькает страницей до и после обработки).Word wrote:я сейчас скачал и установил Greasemonkey для FireFox, мордочка обезьянки в правом верхнем углу появилась, всё в порядке
А вот это Вы зря...Word wrote:Мне не надо в один клик, я хочу помучиться :)
Нет! Скрипт создаётся в программе Блокнот (Win+R -> notepad -> Enter) или AkelPad (-> http://akelpad.sf.net)!Word wrote:Правильно я понимаю, что для этого мне надо: FireFox > Greasemonkey > Меню > Создать скрипт...
Да, совершенно верно! Открываете Блокнот или AkelPad и вставляете туда свой скрипт! (только где список имен - в 1 строчку, а не 2)Вот такой скрипт что ли надо вставить, правильно я понял?
Это 2 разные бяки, 1 бяка - с К, другая - с КК (бякка). Также ещё регистр имеет значение при срабатывании.Word wrote:И мне ещё не понятно, почему вторую бяку следует прописывать в скрипте дважды? :)
Почему ей вдруг такая привилегия-то по сравнению с первой? :)
Может работать параллельно.Word wrote:И ещё такой вопрос. Из форумного чёрного списка надо будет их удалить или чёрный список форума может работать параллельно с работой этого скрипта?
Пожалуй, да :) На самом деле, я с VBS скриптами дело-то уже имел неоднократно, а вот со скриптами джавы сталкиваюсь впервые. А всё новое всех нас немножечко пугает :) Ну ладно, уговорили, с ручного управления перехожу на автоматику! :)AstralHacker wrote:А вот это Вы зря...Word wrote:Мне не надо в один клик, я хочу помучиться :)
Ну для этих-то целей у меня и покруче прога имеется :) Notepad++ она называется :) Даром я что ли всю жизнь программист-любитель-самоучка?! :)AstralHacker wrote:Нет! Скрипт создаётся в программе Блокнот (Win+R -> notepad -> Enter) или AkelPad (-> http://akelpad.sf.net)!Word wrote:Правильно я понимаю, что для этого мне надо: FireFox > Greasemonkey > Меню > Создать скрипт...
Ага, это очень важное уточнение! Учту!AstralHacker wrote:Да, совершенно верно! Открываете Блокнот или AkelPad и вставляете туда свой скрипт! (только где список имен - в 1 строчку, а не 2)Word wrote:Вот такой скрипт что ли надо вставить, правильно я понял?
Классно! А я-то, признаться, думал, что надо щёлкнуть по этому файлу в Тотал Коммандере, а винда уже сама как-нибудь автоматически этот скрипт в системе зарегистрирует. Ну перетащить-то даже проще, да и винде сразу понятно, в какую именно прогу мы этот скрипт собираемся вклеить :)AstralHacker wrote:А потом сохраняете в любую папку под именем aing-black-list.user.js (на конце .user.js обязательно), выбрав тип файла - все файлы (*.*), кодировка - UTF-8 (BOM).
Сохраненный файл просто перетаскиваете в окно браузера.
Понял, усёк :)AstralHacker wrote:Но повторно его уже не перетаскивайте, иначе будут дублирующие скрипты! (их можно удалить)
Понял, сейчас повнимательнее пригляделся и, действительно, уловил разницу.AstralHacker wrote:Это 2 разные бяки, 1 бяка - с К, другая - с КК (бякка). Также ещё регистр имеет значение при срабатывании.Word wrote:И мне ещё не понятно, почему вторую бяку следует прописывать в скрипте дважды? :) Почему ей вдруг такая привилегия-то по сравнению с первой? :)
Но ведь тогда можно сильно упростить скрипт, исключив из него директиву удаления постов бяк, коль скоро движок форума уже и без того превращает их в жалкие полосочки :)AstralHacker wrote:Может работать параллельно.Word wrote:И ещё такой вопрос. Из форумного чёрного списка надо будет их удалить или чёрный список форума может работать параллельно с работой этого скрипта?
Code: Select all
.has ("cite:contains('Бяка1'), cite:contains('Бяка2')")
Как бы это сделать? Наверняка, это должно быть довольно легко, потому что все эти возможности изначально предназначались для вырезания назойливой рекламы, ну а лично для меня такие посты выглядят именно как назойливая реклама :)Бяка1
Привет, как дела?
Конечно, это довольно легко.Word wrote:И ещё хотелось бы вырезать все посты нормальных юзеров, в которых (без цитирования) напрямую упоминаются ники бяк, например, вот такие посты:
Как бы это сделать? Наверняка, это должно быть довольно легко, потому что все эти возможности изначально предназначались для вырезания назойливой рекламы, ну а лично для меня такие посты выглядят именно как назойливая реклама :)Бяка1
Привет, как дела?
Огромное спасибо за такое исчерпывающее объяснение!AstralHacker wrote:Конечно, это довольно легко.Word wrote:И ещё хотелось бы вырезать все посты нормальных юзеров, в которых (без цитирования) напрямую упоминаются ники бяк, например, вот такие посты:
Как бы это сделать? Наверняка, это должно быть довольно легко, потому что все эти возможности изначально предназначались для вырезания назойливой рекламы, ну а лично для меня такие посты выглядят именно как назойливая реклама :)Бяка1
Привет, как дела?
Все посты - это блоки, которые в данном форуме имеют общее название div.post, и в свою очередь имеющие вложенные блоки со следующими названиями:
a - ссылка (любая, включая имя автора поста)
p.author - имя автора поста сверху
dt - имя автора поста под аватаром
cite - имя автора цитаты
blockquote - текст цитаты, включающий в себя блок cite
div.content - текст сообщения, включающий в себя блок blockquote, но не включающий имя автора поста
div.inner - вся внутренность поста, включающая все блоки (a/p.author/dt/cite/blockquote/div.content/...)
(Названия этих и остальных блоков можно посмотреть в Firefox по F12, выбрать в открывшемся внизу окне левый верхний значок квадратика со стрелочкой и после навести курсор на любой элемент загруженной в браузер страницы.)
Как видно, не совсем правильно искать имя автора в ссылке (a), правильнее в строчке автора поста сверху (p.author).
Поэтому, для удаления поста (div.post) можно искать черные слова либо во всей внутренности этого поста (div.inner), либо миксовать вместе отдельные его блоки (например, имя автора поста сверху + имя автора цитаты) - это уже как хотите.
да и так было понятно-сказал бы сразу---теперь букет пополнился-еще и мазо?-но садо наверное позже?Word wrote: Мне не надо в один клик, я хочу помучиться
И как показала практика, всё-таки лучше их из чёрного списка форума вытряхнуть, тогда они даже в виде жалких полосочек появляться перестанут :)AstralHacker wrote:Word, приятно когда свои плоды приносят людям пользу.
я просто сказал что букет цветов пополнился-вот и все-сегодня просто сказал что мазо-и просто предупредил-что завтро возможно садо----так вобщем ни о чем сказалWord wrote:
Мне не надо в один клик, я хочу помучиться :)
я тебя не знаю особо-но ты зриш в цель-как козьма протков?:)AstralHacker wrote:Word, приятно когда свои плоды приносят людям пользу.
Это конечно хорошо с одной стороны, но с другой ты будеш меньше знать, что там про тебя говорят недоброжелателиWord wrote:Сейчас сделал ещё один важный шаг вперёд по настройке скрипта. Теперь не буду видеть вообще ни одного поста, в которых упоминаются ники недоброжелателей (в цитатах или просто как часть обычного текста поста).
1.Изоморф wrote:Это конечно хорошо с одной стороны, но с другой ты будеш меньше знать, что там про тебя говорят недоброжелателиWord wrote:Сейчас сделал ещё один важный шаг вперёд по настройке скрипта. Теперь не буду видеть вообще ни одного поста, в которых упоминаются ники недоброжелателей (в цитатах или просто как часть обычного текста поста).
https://vk.com/wall-45938293_26510В Японии, в одном поселке недалеко от столицы, жил старый мудрый самурай.
Однажды, когда он вел занятия со своими учениками, к нему подошел молодой боец, известный своей грубостью и жестокостью. Его любимым приемом была провокация: он выводил противника из себя и, ослепленный яростью, тот принимал его вызов, совершал ошибку за ошибкой и в результате проигрывал бой.
Молодой боец начал оскорблять старика: он бросал в него камни, плевался и ругался последними словами.
Но старик оставался невозмутимым и продолжал занятия. В конце дня раздраженный и уставший молодой боец убрался восвояси.
Ученики, удивленные тем, что старик вынес столько оскорблений, спросили его:
— Почему вы не вызвали его на бой? Неужели испугались поражения?
Старый самурай ответил:
— Если кто-то подойдет к вам с подарком, и вы не примете его, кому будет принадлежать подарок?
— Своему прежнему хозяину, — ответил один из учеников.
— То же самое касается зависти, ненависти и ругательств. До тех пор, пока ты не примешь их, они принадлежат тому, кто их принес.
http://www.bogizdesy.ru/pochemu-na-dobr ... ayut-zlom/Однажды к старому мудрецу в дверь постучалась молодая незнакомка, которая, заливаясь слезами, поведала старцу свою историю.
— Я не знаю, как мне дальше жить… – с трепетом в голосе произнесла она. – Всю жизнь я относилась к людям так, как бы хотела, чтобы они относились ко мне, была с ними искренна и открывала им душу… По возможности я старалась делать всем добро, не ожидая ничего взамен, помогала, чем могла. Я действительно делала это всё безвозмездно, но взамен получала зло и насмешки. Мне обидно до боли и я просто-напросто устала… Умоляю, скажите, как мне быть?
Мудрец терпеливо выслушал и затем дал девушке совет:
— Разденься догола и пройдись совсем нагой по улицам города, – спокойно произнес старец.
— Простите, но я еще не докатилась до такого… Вы, наверное, с ума сошли или шутите! Сделай я такое, то не знаю, что ожидать от прохожих… Глядишь, еще кто-то обесчестит или надругается надо мной…
Мудрец вдруг встал, отворил дверь и поставил на стол зеркало.
— Ты стыдишься выйти на улицу нагишом, но почему-то тебе вовсе не стыдно идти по миру с обнаженной душой, раскрытой, как эта дверь, нараспашку. Ты пускаешь туда всех кому не лень. Твоя душа – это зеркало, именно поэтому все мы видим отражение самих себя в других людях. Их душа полна зла и пороков – именно такую безобразную картину они и видят, когда заглядывают в твою чистую душу. Им не хватает силы и мужества, чтобы признать, что ты лучше их, и поменяться. К сожалению, это удел только поистине смелых…
— Что же мне делать? Как я могу изменить эту ситуацию, если от меня, по сути, ничего не зависит? – спросила красавица.
— А ну-ка пойдем со мной, я кое-что тебе покажу… Посмотри, это мой сад. Вот уже много лет я поливаю эти невиданной красоты цветы и забочусь о них. Признаться честно, я ни разу не видел, как распускаются бутоны этих цветов. Всё, что мне приходилось лицезреть, – это прекрасные распустившиеся цветы, которые манят своей красотой и душистым ароматом. Дитя, учись у природы. Посмотри на эти замечательные цветы и делай, как они, – раскрывай свое сердце перед людьми осторожно, чтобы никто этого даже не заметил. Открывай душу хорошим людям. Уходи от тех, кто обрывает твои лепестки, кидает под ноги и топчет. Эти сорняки еще не доросли до тебя, поэтому ты ничем им не поможешь. В тебе они будут только видеть уродливое отражение себя.
Изоморф, на самом деле, я теперь вообще не буду знать, что они обо мне говорят :)Изоморф wrote:Это конечно хорошо с одной стороны, но с другой ты будеш меньше знать, что там про тебя говорят недоброжелателиWord wrote:Сейчас сделал ещё один важный шаг вперёд по настройке скрипта. Теперь не буду видеть вообще ни одного поста, в которых упоминаются ники недоброжелателей (в цитатах или просто как часть обычного текста поста).
Code: Select all
// ==UserScript==
// @name forum.aing.ru - BLACK LIST
// @include http://forum.aing.ru/viewtopic.php*
// @include http://www.forum.aing.ru/viewtopic.php*
// @include http://forum.aing.ru/posting.php*
// @include http://www.forum.aing.ru/posting.php*
// @include http://forum.aing.ru/search.php*
// @include http://www.forum.aing.ru/search.php*
// @require http://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js
// ==/UserScript==
function addJQuery(callback) {
var script = document.createElement("script");
script.setAttribute("src", "http://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js");
script.addEventListener('load', function() {
var script = document.createElement("script");
script.textContent = "(" + callback.toString() + ")();";
document.body.appendChild(script);
}, false);
document.body.appendChild(script);
}
// load jQuery and execute the main function
addJQuery(main);
function main() {
$("div.post") .show ()
.has ("div.inner:contains('Бяка1'), div.inner:contains('Бяка2')")
.hide ();
}
// load jQuery and execute the main function
addJQuery(main);