Сап, двач. Я пилю расширение, которое помогает двачевать капчу. На данный момент оно умеет делать скриншоты постов и треда, загружать файлы из треда, а также отслеживать статистику. Изначально делал для себя, но решил привнести маленький вклад в нашу ламповую имиджборду. Это немного отличается от куклоскрипта и не направлено на его замену. Пишите в этот итт тред функции, которых вам не хватает для уютного сидения на двачике. Все адекватные и подходящие реализую.Скачать для Google Chrome – https://chrome.google.com/webstore/detail/2ch-helper/cdbeejpneccnfkmmmefieghgffglidmmСкачать для Firefox – https://addons.mozilla.org/ru/firefox/addon/2ch-helper/Исходники – https://github.com/Amaimersion/2ch-helperВопросы и предложения (для дальнейшего обсуждения или в случае багов) – https://github.com/Amaimersion/2ch-helper/issues
бамп
Скриншоты опр.области так то в файрфоксе недавно ввели, для загрузки файлов у меня wget есмь. Ты лучше сделай так, чтобы при наличии в треде Модера, я мог видеть соответствующую надпись и смело вести агонь по мочуху
>>179064404 (OP)Сделай, чтобы при ответе на твой пост, появлялось уведомление с звуковым сигналом. На сосаке это хуево реализовано
>>179064597>опр.областиЗдесь ты отмечаешь пост и нажимаешь на кнопочку. Также можно заскриншотить ответы, которые находится внизу.>wgetДело твое. Главное, чтобы удобно.
>>179064675Сделаю
>>179064721Дай поцелую тебя куда угодно.
>>179064813В животик, если можно.
>>179064857Можно. Как сделаешь, тред создашь?
>>179064917Скорее всего. Также можешь заглядывать сюда https://github.com/Amaimersion/2ch-helper , в branch или issues. У меня сейчас есть свободное время, так что сейчас будут заниматься этим.
Слшы, вайпалку мне запили!?
>>179065045Боюсь, что за вайпалку пиздюлей дадут. Так что не буду.
>>179065069Ну отдельной прогой запили, бака.
Пишите желательно то, чего нет/криво работает в кукле. Повторять функционал не имеет смысла.
>>179065097Поищи в другом месте. Уверен, что уже есть какие-нибудь готовые решения. Ты лучше что-нибудь еще из функций попроси, более приземленных.
Солнышко, сделай так, чтоб рядом с тредом в котором тебе ответили, было что-то вроде "+1 ответ". Спасибо.
>>179065216Ну я уже попросил подобное выше. Зай, будь внимательнее, хорошо?
>>179064404 (OP)Серёга, два чая тебе.
>>179065216Это уже реализовано двачем.1 – количество новых постов в треде;2 – количество ответов на твои посты в этом треде.Но эта просьба похоже на эту >>179064675 , так что что-то подобное будет реализовано.
>>179064404 (OP)Зарепортил уёбка.Слава Кукле!
>>179065329Спасибо, анон.
>>179065191Не ну ты запили.
>>179064675>На сосаке это хуево реализовано Это вообще реализовано? Где включить?
>>179065338ЭхЪЪ..Я мобильный чан имел в виду.
>>179065389Запили сам, это не трудно.
>>179065361>Это немного отличается от куклоскрипта и не направлено на его замену. COCATb JIE)|(ATb
>>179065431С мобилками не ко мне. Поищи их репозиторий и напиши в issues.
>>179064404 (OP)Это реклама?
>>179065520Нет, это выход в продакшн.
>>179065520Нет, мочух ебаный.
>>179065436а дайте гуид, а то я вообще то фантазер, а не технарь
>>179065596Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
>>179065703Спасибо-спасибо в б не было возможности ответить в течении дня.
>>179065703Все что ты понаписал, сам то реализовал?
>>179066024Конечно. За пол-года я сменил несколько мест работы, и моя зарплата взлетела до умопомрачительных сумм. Сотни замечательных мест открыли передо мной свои двери. Любые, самые изысканные девушки проявляли просто чудеса изобретательности, чтобы находиться рядом со мной.А ещё, я никогда не забуду тот момент, когда на одной из конференций я впервые в жизни поймал на себе завистливый взгляд. Это был взгляд какого-то сливающегося с толпой неудачника, взгляд преисполненный ненависти, презрения и желчного вожделения, направленного на мой Олимп. Наверное, он всю свою никчёмную жизнь писал на каком-нибудь си-шарпе или там на джаве, проводя долгие дни в одиночестве. И теперь начинал подсознательно догадываться, что долгие годы безуспешно пытался построить замок из навоза.
>>179065842>>179065288Тебя не видно
>>179066366
>>179066171Хуясь. А ты с Путиным за руку здоровался? А с Джопсом?
>>179066391>>179066666
>>179066366Пошел нахуй, петушок.
>>179065520Это реклама монеро-майнера для ОПа. А также подмены рекламы в serp
>>179066749Монеро уже давно встроен в /gg/, вот только доступа у меня нет.
>>179064404 (OP)Если анон часто использует слово "куколд" должна срабатывать вишня и крашить его хард
>>179066896Что за вишня?
>>179064404 (OP)https://youtu.be/e1ch158zWaE
>>179067006Ахуел?
>>179064404 (OP)Кстати, пограмист, поясни как работает WEBMtube
Было бы неплохо реализовать функцию, чтобы расширение могло автоматом exif файлы выдавать
>>179067094Детектор скримеров, что ли? Насколько помню, то он отправляет хэш видео на сервер, а оттуда уже приходит ответ – скример это или нет. Даже помню, что анон-создатель писал, что у него какие-то проблемы и он не всегда может держать сервер на плаву. Работает ли сейчас – не знаю.
>>179067056Нет, правда не знаю.
>>179067287>держать сервер на плавуЗа 200р подниму ваше говнище у себя на малине
>>179067141Сомневаюсь, что это возможно, но попробую. Жди следующего треда или заглядывай на GitHub.
>>179067340А че так дорого?
>>179067314>вишмастер
>>179067411Хотя бы электричество и тырнеты немного окупить надо же>>179067356Олсо было бы ещё охуенно запилить возможность с каждым рефрешем сосаки мониторить сразу всю доску на определенный тред. Ну для тех случаев, когда анон такой Я В 17:00 СОЗДАМ и ты не сидел дрочил поиск по словам или нулевую
>>179066428Джобс с Путиным уже давно мертвы, лалка. Привет там 2002 передавай.
>>179067424Понял-принял.
>>179067488про пыню пруфы есть?
>>179067524А с Джобсом?
>>179067477Немного не монял принцип, по которому ищется тред. Хэш изображения, ключевые слова? Примерно это, да?
>>179067606>Хэш изображения, ключевые слова? Или так, да.
Олсо если твоё расширение не будет конфликтовать с куклой, так вообще замечательно будет.
>>179067669Окей, попробую.
>>179064404 (OP)Сделай всё, как в этой шебм.
>>179067685Насчет конфликтов не знаю, не тестил. Да и нечему там конфликтовать – функций-то мало. Но я буду тестить и исправлю в следующем обновлении возникшие конфликты.
>>179067704Ржу
>>179067340Бля, это говнище можно за бесплатно захостить на амазоне, или за 1 бакс на арубаклауд
>>179067878Ну вот давай ты лучше мне этот 1 бакс дашь, а не какому-то ноунейму
>>179069079Спасибо, анончик, за бамп.
>>179064404 (OP)Можешь сделать, чтобы например при навидеии на пикчу она открывалась во всплывающем окне.
>>179069517Чтобы без какого-либо клика? Просто навел – открылась? Ок, сделаю.
Бамп
>>179069596Да хуйню он несёт, чо ты
>>179064404 (OP)Кто качал? Какая там версия вишмастера?
>>179071772Девятая уже.
>>179072412Нихуя время идет...
>>179072467Я сам в шоке. Но ты попробуй.
>>179064404 (OP)> тайпскриптДа ты же поехавший.
>>179073105Почему?
>>179064404 (OP)Еще не пробовал, но есть возможно сразу скачать все файлы или например файлы только одного расширения? Так же не помешала бы кнопка скачки рядом с каждым файлом.
>>179073145Зачем тебе это мелкософтовское дерьмище? Хочешь типизацию - пользуй флов.
>>179073238>файлы только одного формататак правильнее будет
>>179073238>все файлы одного форматаЕсть, в настройках.>кнопка рядомНет. Будет в следующей версии.
Покажи хоть, как оно выглядит?
>>179064404 (OP)Дай возможность трахнуть тебя.
>>179073518На страницах интернет-магазинов есть скриншоты.
Оп можешь показать пример скриншота на примере какой-нибудь ветки из нескольких сообщений
>>179073239У меня уже был опыт с C#, поэтому пересесть на TypeScript не составило труда. Также я работаю в VSCode, в котором есть охуенный IntelliSense и проверка ошибок для TypeScript. Да и без разницы, если честно. Что та хуйня типизированная, что эта. Почитал на хабре – Flow даже чем-то похуже. Но может быть ты прав и Flow лучше Я недавно в JavaScript, поэтому выбрал наиболее близкую для себя обертку – TypeScript.
>>179064404 (OP)https://addons.mozilla.org/ru/firefox/addon/2chhype/2ch caster
>>179073727Пик – постыТред – https://imgur.com/a/K7CxSyz
>>179073554http://ram.by — где скриншоты?
>>179073727>>179074017Если ты хотел узнать про ветку – ее нет. Посты на скриншоте расположены в хронологическом порядке, а не в виде ветки.
>>179074017Ограничения по пиксемям стоит? не комильфо, цельный тред не заскринишь
>>179074194Ограничения есть. https://github.com/Amaimersion/2ch-helper/wiki/%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5#%D0%A1%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82Это уже от браузера зависит, не от расширения. Но в будущем я сделаю создание нескольких изображений, если в одно не влезает.Беру со StackOverflow:- Chrome:Maximum height/width: 32,767 pixelsMaximum area: 268,435,456 pixels (e.g., 16,384 x 16,384)- Firefox:Maximum height/width: 32,767 pixelsMaximum area: 472,907,776 pixels (e.g., 22,528 x 20,992)
>>179074150Да ветка и не нужна лол.Хронология и возможность выбора отдельных постов покрывает всё.
>>179074194>>179074312~300 постов у меня создаются, если больше, то уже может наебнуться. Алсо, расширение позволяет скачивать тред в формате MHTML
>>179064404 (OP)Не згаю все рнализуемо ли.1. Поиск по двачу по ключевым словам. А то бывает проебешь тред и хз чтоо делать.2. Сохранение поста с веткой ответов в удобном виде.3. Чтоб нормально проигрывалась вебм. У меня без звука играет и хз как в хроме фиксить.Все вроде.
>>179074626Кстати двачую поиск по двачу, а то тут хуйня которая половину не отображает.
>>179074703А где тут вообще поиск? В глаза долблюсь
>>179074752https://2ch.hk/b/ рядом с каталогом и трекером, но он говно
Посоны. Где почитать правмла досок? А то моча трет мои треды и хз почему. И можно ли куда то стукануть на мочу и обжаловать это?
>>179064404 (OP)Сделай так чтобы когда, мамка/жена/аллах заходил(и) в твою комнату, автоматически тригеррился режим NSFW. Не знаю как, но сделай.
Кукла лучшая, только в ней нельзя репортить посты. Если бы была был бы кайф.
>>179074831О. Спс
>>1790746261. Попробую2. Ты пробовал? Попробуй сейчас расширение, текущая версия выглядит удобной.3.1 открой chrome://flags3.2 найди параметр "New Media Controls";3.3 установи значение "disabled".
>>179075006Репортить посты можно и в стандартной версии. А это расширение имеет функционал, которого нет в кукле.
>>179074703Я не ОП, но примерно в программировании разбираюсь.Поиск скорее не нужно реализовывать, чем нужно.Тут 2 способа1) Использовать текущий поисковик, добавив поддержку одновременно нескольких ключевых слов. Работа будет заключаться в том, что по каждому ключевику собирается выдача из API, а потом сверяется, где присутствуют все ключевые слова одновременно.Для большого количества ключевых слов это будет работать медленно. И есть ограничения, наложенные изначальным поисковиком.Любое расширение функционала (допустим чтобы ключевые слова учитывались во всех вариантах написания слова) будет пиздец ресурсоёмким, такое на сервере надо делать, а не в браузере.2) Раз в N времени собирать всю базу тредов с сосача на отдельный сервер и написать собственный поисковик, который будет уметь всю хуйню, а через апи уже обращаться к своему серваку, который умеет искать всё как надо. Полагаю за бесплатно никто таким заниматься не будет. А рекламу особо не продашь, расширение же.Само собой, собирать все треды и парсить их через яваскрипт в браузере это пиздец.
>>179075006Ябеда-беда.
>>179075334Использую только в аниме разделе на тварях убивающих (давно убивших) раздел. В остальном за полную свободу.
>>179075125Может достаточно будет апи прикрутить, потому что тут он отображает максимум 50 постов.
Меня и обычная капча устраивает, лолДаже не нажимаю ни на что
>>179064404 (OP)Свой Вишмастер пилишь? Найс.
>>179075059Та я не подумал, что ты на комп пишешь.У меня ведройд и нет в флагс похожего пункта. Вот страдаю. Приходится скачивать и смотреть через галерею.
>>179075937А чего клиент не хочешь скачать?
>>179076000Он всратый. И неудобный для меня. Хром симпатичнее на мой взгляд и привычнее.
>>179076075А ты что пробовал-то?Дашчан очень даже удобный.Старый двачбраузер всратый немного, это да.
Хм. Я вот попробовал вспомнить чего мне не хватает, но понял что в функционале меня все устраивает.Алсо, после двачика доброчан и ычан пиздец какие неудобные. Я просто не могу там сидеть, так меня бесит их неудобность.
О, вспомнил! Единственная вещь, которая мне на доброчане нравится - их капча.Можешь встроить такую же?
>>179064404 (OP)Анон, то что ты делаешь охуенно, хотя мне такой функционал не особо нужен. Но вдруг ты мне поможешь. Ты не мог бы написать простенький скрипт(мне кажется, что это просто в сравнении с тем, что ты уже сделал), который добавит заголовки к тредам в /б? Во всех других досках есть заголовки, а б нету, меня это расстраивает. Конечно, в б и функции такой нет, чтобы его написать, но в тематиках, если поле с заголовком остается пустым, то заголовок берется или из первого абзаца или из первых пятидесяти знаков оппоста. Вот ты не мог бы такую штуку сделать, чтобы я просто вставил код в greasemonkey и оно бы работало?
>>179076474>>179076544Да, не очень удобно. Я хочу адаптировать это расширение под другие борды, но это пока в теории и точно не в ближайшее будущее.Не думаю, что получится что-то сделать с капчей. По крайней мере с текущими возможностями. Ладно, я возьму в планы это.
>>179065338>Это уже реализовано двачемКрайне хуево реализовано, надо заметить. Постоянно эти счетчики глючат, либо показывают новые ответы там где их нету, либо вообще сходят с ума. Иногда пишет, что на мой пост сотня ответов, хотя ничего подобного нет и непонятно как он там считал. А в доске с багами аж целую инструкцию запилили, как сбросить избранное, такая частая проблема оказалась.
>>179076544Капча к серваку же прикручена. Сервак формирует капчу и высылает её тебе. Сервер ждёт одного конкретного ответа.Капчу можно любую на фронте прикрутить, но сервер всё равно будет ждать ответ на свою капчу.
>>179067704Проиграл как ебанутый
>>179076942Сорри, не знал. Я у мамы тупой гуманитарий.
>>179076769Судя по всему, некоторые доски не поддерживают заголовки, поэтому отправлять их бессмысленно. Если устраивает, то могу сделать так, чтобы на место заголовка вставлялись первые N слов треда. Пойдет?
>>179076780>>179076942Алло.>>179076780> я возьму в планы этоНе бери в поаныголову!>>179076474> Алсо, после двачика доброчан и ычан пиздец какие неудобные. Я просто не могу там сидеть, так меня бесит их неудобность.Ну и что тебя бесит? Спамлист ИТТ обходишь небось!
>>179077170В б заголовок можно вписать, просто поля при создании треда нет. Уже тестил.
>>179077300Сервер обрабатывает? На фронте заголовки отображаются?
>>179077170Да, я именно это имел ввиду. Я пытался покопаться в скрипте двача, там есть малекий кусочек с комментарием, что он относится к генерации заголовка. Там написано, что берется 50 знаков. Вообще было бы идеально, если бы это было либо 50 знаков, либо первый абзац, в смысле первый кусок текста, до момента, как отправитель сам энтером не перешел на новую строку.
>>179077377https://2ch.hk/b/res/179077524.html
>>179077417Анон написал:>>179077300>>179077534Если сервер действительно способен обрабатывать, то прикручу форму, в которую можно вписывать заголовки, иначе просто сделаю добавление N слов/символов.Реализовано будет в текущем расширении. Если тебе нужен отдельный код, то напиши позже в телеге/гитхабе/треде.
>>179064404 (OP)Запили расширение для мелкоборд, добавляющее им костыли и делающее привычными как сосач, чтобы анон массово перекатывался
>>179077783В планах.
>>1790772181. Поиск не работает.2. Тред автоматически не обновляется.3. Скроллинга нет.4. Ответы на пост не показываются.
>>179077749Так мне не нужно отправлять заголовки, нужно просто чтобы он мне был виден и формировался именно в тредах других анонов, которые о заголовках и знать не знают. Мне это нужно для css своего, чтоб красиво было.
>>179064404 (OP)Полазил по твоему профилю и увидел репу с extjs. Не связываййся с этой хуйней, братишка. Будет очень грустно.
>>179078531Устраиваюсь на работу, хрша прислала тестовое задание, в котором требуется эта хрень. Почему хуйня? Я так понял, что это фреймворк на базе чего-то от Yahoo, который позволяет создавать по-быстрому интерфейсы и прочую инфраструктуру. Какие подводные, анончик?
>>179078407Анончик-кун, ты – эгоист! Если получится для всех, то сделаю для всех, иначе только локально. Но сделаю это точно. Так что следи.
>>179079052Почему эгоист, может кому-то тоже пригодится. Но смысл-то в том, чтобы любой тред, не важно кем он создан, отображался бы с заголовком. А от того, что некоторые аноны, из тех некоторых скачавших твое расширение будут постить заголовки, б вряд ли сильно преобразится. Я может криво изъясняюсь, просто. Смысл в том, чтобы любой кто поставит себе расширение в любом треде в б видел заголовок. Не важно, постили его или он сам создался. А постить все равно никто не будет весь сок именно в автоматическом отображении.
>>179079309Я понял тебя. Сделаю это. Нужен будет отдельный скрипт – напиши мне или сам перепиши.
>>179079432Спасибо тебе анон, всех благ тебе и долгих лет жизни.
>>179064404 (OP)бамп
>>179077901Ты что, без куклы сидишь? Для DC есть специальные скрипты, алло!
>>179077783Есть кукла.
>>179087919Где их взять?
>>179088548На DC.
>>179089667Где?http://www.freedollchan.org/scripts
>>179090736dobrochan
Анонче, хз тупой ли я, но с оперы ни в гугл ни в firefox расширение не качается.Залей на сайт расширений для оперы, если это возможноhttps://addons.opera.com/ru/extensions/?ref=page
>>179096178Хм, мне почему-то казалось, что опера может устанавливать расширения с гугл-маркета. Даже в голове всплывает момент, когда пару лет назад я скачивал расширения из гугл-маркета в оперу. Ладно, следующую версию залью в маркеты оперы. Сейчас можешь воспользоваться костылем – https://www.makeuseof.com/tag/how-to-install-google-chrome-extensions-in-opera-browser/
>>179064697Он пост и его ответы друг под дружкой поставит на картинку? Если так, то это очень круто.
>>179096624Нет, на данный момент вот так >>179074150Но это хорошая идея. Реализую ее в следующей версии.
Опчик, как обстоят дела с звук.уведомлениями об ответах?
Почему никто свою борду не запилит?
>>179064404 (OP)Нейросетка, которая будет определять скрывать пост, али нет. Сие по лучше уж будет чем RegExp.
>>179096778На данный момент этого нет. Будет в следующей версии.
>>179096778Это ты выше предлагал?
>>1790968563 пост в треде мой.>>179096833жду, надеюсь и верю сладкий мой
>>179096813Затратно по ресурсам. В теории можно скрывать пост, если он содержит ключевые слова, или даже по тому же RegExp, лол.
>>179096901Ты писал, что на дваче реализовано. Где включить?
Мне бы хотелось пиздатый темный фон заиметь, неутрон недостаточно темный и колхозный. Был бы век благодарен за стильный темным двач, в общем.
>>179096833А сможешь сделать так, чтобы это уведомление выскакивало в верхнем правом углу, как надпись "нет новых постов"
>>179096710Опера. Много раз протыкал кнопку "скриншот постов". Потом выделил галочками посты #2, #4, #5, и опять нажал "скриншот постов". Сохранил файл. Результат пикрелейтед. Ожидаемый результат: картинка с тремя постами, идущими друг за другом.Исправляй.
>>179097040ну ебана. Я не имел ввиду, что на сосаке реализовано со звук.уведомлением. Я про вкладку избранное говорил, где ты отслеживаешь тред и где появляются цифры, сколько там новых постов и сколько конкретно тебе ответило. Но оно там часто кривит
>>179096929Шизиков и политодаунов так легко не скроешь.У меня завалялся скрипт один, который по входным ланным пожет определить, что из себя представляют данные.Дескать самообучающийся алгоритм, можешь его использовати.function InductionMachine(){ this.memory=[] this.output_list=[] this.train=function(i,o) { var oo=false; this.memory.push({input:i,output:o}) for(i7=0;i7<this.output_list.length;i7++) { if(this.output_list[i7]==o) { oo=true } } if(oo==false) { this.output_list.push(o); } } this.run= function(i,o) { var p=0; var n=0; var prob=0; var probs=[]; var probs1=0; for(iii=0;iii<this.memory.length;iii++) { if(this.memory[iii].output==o) { for(i4=0;i4<i.length;i4++) { if(this.memory[iii].input[i4]==i[i4]) { p++ } else { n++ } } prob+=p/(p+n) n=0; p=0; } probs.push(prob); probs1+=prob; prob=0; } if(probs1<1) { return probs1; } else { var max=0; for(y=0;y<probs.length;y++) { if(probs[y]>max) { max=probs[y]; } } return max; } } this.saveLS=function() { var json= JSON.stringify(this.memory); var out=JSON.stringify(this.output_list); localStorage["json"]=json; localStorage["outList"]=out; console.log("Saved"); return json; } this.loadLS=function() { this.memory=JSON.parse(localStorage["json"]); this.output_list=JSON.parse(localStorage["outList"]); console.log("Loaded"); } this.saveFile=function() { var json=JSON.stringify({memory:this.memory,out_list:this.output_list}); var f= new File(json,"data.json"); saveAs(f); } this.loadFile=function(vr,elmnt) { var reader= new FileReader() reader.readAsText(elmnt.files[0]) reader.onload=function(){var json=JSON.parse(reader.result);vr.memory=json.memory;vr.output_list=json.out_list;} } this.run2=function(i) { var res=[]; var max2=0; var maxx; for(i5=0;i5<this.output_list.length;i5++) { res.push({per:this.run(i,this.output_list[i5]),o:this.output_list[i5]}); } for(i6=0;i6<res.length;i6++) { if(res[i6].per>max2) { max2=res[i6].per; maxx=res[i6].o; } } return maxx; }}/ FileSaver.js A saveAs() FileSaver implementation. 1.3.2 2016-06-16 18:25:19 By Eli Grey, http://eligrey.com License: MIT See https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md //global self //jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true //! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js /var saveAs = saveAs || (function(view) { "use strict"; // IE <10 is explicitly unsupported if (typeof view === "undefined" || typeof navigator !== "undefined" && /MSIE [1-9]\./.test(navigator.userAgent)) { return; } var doc = view.document // only get URL when necessary in case Blob.js hasn't overridden it yet , get_URL = function() { return view.URL || view.webkitURL || view; } , save_link = doc.createElementNS("http://www.w3.org/1999/xhtml", "a") , can_use_save_link = "download" in save_link , click = function(node) { var event = new MouseEvent("click"); node.dispatchEvent(event); } , is_safari = /constructor/i.test(view.HTMLElement) || view.safari , is_chrome_ios =/CriOS\/[\d]+/.test(navigator.userAgent) , throw_outside = function(ex) { (view.setImmediate || view.setTimeout)(function() { throw ex; }, 0); } , force_saveable_type = "application/octet-stream" // the Blob API is fundamentally broken as there is no "downloadfinished" event to subscribe to , arbitrary_revoke_timeout = 1000 40 // in ms , revoke = function(file) { var revoker = function() { if (typeof file === "string") { // file is an object URL get_URL().revokeObjectURL(file); } else { // file is a File file.remove(); } }; setTimeout(revoker, arbitrary_revoke_timeout); } , dispatch = function(filesaver, event_types, event) { event_types = [].concat(event_types); var i = event_types.length; while (i--) { var listener = filesaver["on" + event_types]; if (typeof listener === "function") { try { listener.call(filesaver, event || filesaver); } catch (ex) { throw_outside(ex); } } } } , auto_bom = function(blob) { // prepend BOM for UTF-8 XML and text/ types (including HTML) // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF if (/^\s(?:text\/\S|application\/xml|\S\/\S\+xml)\s;.charset\s=\sutf-8/i.test(blob.type)) { return new Blob([String.fromCharCode(0xFEFF), blob], {type: blob.type}); } return blob; } , FileSaver = function(blob, name, no_auto_bom) { if (!no_auto_bom) { blob = auto_bom(blob); } // First try a.download, then web filesystem, then object URLs var filesaver = this , type = blob.type , force = type === force_saveable_type , object_url , dispatch_all = function() { dispatch(filesaver, "writestart progress write writeend".split(" ")); } // on any filesys errors revert to saving with object URLs , fs_error = function() { if ((is_chrome_ios || (force && is_safari)) && view.FileReader) { // Safari doesn't allow downloading of blob urls var reader = new FileReader(); reader.onloadend = function() { var url = is_chrome_ios ? reader.result : reader.result.replace(/^data:[^;];/, 'data:attachment/file;'); var popup = view.open(url, '_blank'); if(!popup) view.location.href = url; url=undefined; // release reference before dispatching filesaver.readyState = filesaver.DONE; dispatch_all(); }; reader.readAsDataURL(blob); filesaver.readyState = filesaver.INIT; return; } // don't create more object URLs than needed if (!object_url) { object_url = get_URL().createObjectURL(blob); } if (force) { view.location.href = object_url; } else { var opened = view.open(object_url, "_blank"); if (!opened) { // Apple does not allow window.open, see https://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/WorkingwithWindowsandTabs/WorkingwithWindowsandTabs.html view.location.href = object_url; } } filesaver.readyState = filesaver.DONE; dispatch_all(); revoke(object_url); } ; filesaver.readyState = filesaver.INIT; if (can_use_save_link) { object_url = get_URL().createObjectURL(blob); setTimeout(function() { save_link.href = object_url; save_link.download = name; click(save_link); dispatch_all(); revoke(object_url); filesaver.readyState = filesaver.DONE; }); return; } fs_error(); } , FS_proto = FileSaver.prototype , saveAs = function(blob, name, no_auto_bom) { return new FileSaver(blob, name || blob.name || "download", no_auto_bom); } ; // IE 10+ (native saveAs) if (typeof navigator !== "undefined" && navigator.msSaveOrOpenBlob) { return function(blob, name, no_auto_bom) { name = name || blob.name || "download"; if (!no_auto_bom) { blob = auto_bom(blob); } return navigator.msSaveOrOpenBlob(blob, name); }; } FS_proto.abort = function(){}; FS_proto.readyState = FS_proto.INIT = 0; FS_proto.WRITING = 1; FS_proto.DONE = 2; FS_proto.error = FS_proto.onwritestart = FS_proto.onprogress = FS_proto.onwrite = FS_proto.onabort = FS_proto.onerror = FS_proto.onwriteend = null; return saveAs;}( typeof self !== "undefined" && self || typeof window !== "undefined" && window || this.content));// `self` is undefined in Firefox for Android content script context// while `this` is nsIContentFrameMessageManager// with an attribute `content` that corresponds to the windowif (typeof module !== "undefined" && module.exports) { module.exports.saveAs = saveAs;} else if ((typeof define !== "undefined" && define !== null) && (define.amd !== null)) { define("FileSaver.js", function() { return saveAs; });}
>>179097052Будет.
>>179097172Спасибо большое, если не наябываешь!
>>179097208Приклеилось, не смотри на пикрил
>>179097070Скорее всего будет в правом нижнем углу, стилизованная под browser-style. Но ничего насчет этого обещать не буду.
>>179097169Отправляти скрипт через Двач – идиотская затея.
>>179097225Ок. Все равно заебись, спасибки
>>179064404 (OP)На другие браузеры собираешься пилить? Соре, если вопрос был. Я только зашел, тред пока не читал, поэтому просто пишу первый назревший вопрос. Просто, думаю, тут многие пользуются оперой, как и я.
>>179064404 (OP)не плохо, анон)
>>179066500Сам иди
>>179097297Опера ведь на одной движке с хромом. Чтобы поставить это расширение с хром стора, поставь это расширение: https://addons.opera.com/ru/extensions/details/install-chrome-extensions/
Хотеть: звуковые уведомления но с хорошим звуком, без уебанства, темный стиль, фильтр трендов по IP их авторов то есть, чтобы треды от ip, на который я покажу пальцем, для меня не высвечивались и так же наоборот - фильтр "избранного" для тредов анонов, определяемым ip, с которых были созданы эти тренды. За последние два готов жеппу с квартирой продать, если это, конечно, в принципе возможно сделать.
>>179097052В чём проблема css поменять?
>>179097088Да, проблема есть. Однако у меня делает лишь немного неровно. Уведомление закрой. Алсо, попробуй несколько раз. Все разы неправильные?
>>179097511Я не хакер, чтоб такие пентаграммы взламывать
>>179097476>по IP их авторовТы модератор?
>>179097476> по IPКак это Вы себе представляете, сударь?
>>179097169Закинь, пожалуйста, на какой-нибудь pastebin. Я гляну.
>>179097545>>179097567Нет, но я и не требую, чтобы мне ip показывали. Просто чтоб я увидел какой-нибудь тренд и, поняв, что не хочу видеть больше тредов от этого человека, нажал куда-нибудь и больше треды мне именно от него не высвечивались. Извиняюсь, если хуйню несу, но если это возможно реализовать, то хотелось бы такого.
>>179097297Да, кроссплатформенность одна из целей. Для оперы будет в следующей версии. Сейчас официально доступно для Google Chrome и Mozilla Firefox. В теории браузеры на движке Chromium должны проглатывать расширение для Google Chrome. Опера в их числе.
>>179097304Спасибо
>>179097538Протестил варианты с уведомлением и без уведомления, с выходящим постом за рамки экрана, и без такого. Все варианты кривые. Вероятно, дело в браузере.
>>179097662> Нет, но я и не требую, чтобы мне ip показывали.Сударь, вы ничего не смыслите в программировании.Для того чтобы скрыть пост по IP нужно получить это IP; а как Вы поличите IP на АИБ? Десу.
>>179097538Алсо напрягает, что оно каждый раз просится сохранять в папку Загрузки, а не в ту, которую я перед этим сохранял.И меня интересует, а почему на твоём скриншоте 2 поста с чекбоксами в верхнем левом углу, а один без?
>>179097476>>179097662IP авторов обычным смертным нельзя видеть. Совсем. Никак. Даже если и как, то с динамическими айпи ты все равно не сможешь бороться.
>>179097577https://pastebin.com/GR1zXsSYСкрипт работает со скоростью света.Легко обучается.Я на нём простое изображения фигуры распознавал.
>>179097789>Сударь, вы ничего не смыслите в программированииВерно. Но нельзя ли сделать так, что ip получало расширение, не распространяясь информацией об этом ip мне? А если нет, то можно ли это провернуть как-то иначе без ip и вот этого всего вашего хацкинга, в котором я не разбираюсь?
>>179097741Напиши, пожалуйста, версию браузера и разрешение экрана.
>>179097842А можно ли тогда скрывать треды от определенных анонов иначе? Без ИП и вот этого всего?
>>179097662Придётся возвращаться на пикабу хз можно ли там блоуировать юзеров
Во вторых, для этого нужно официально лицензировать данное расширение у самого Абу, чтобы он сделал так, чтобы сервер передавал ему айпи постов.
Спасибо, товарищ майор, но нет.
>>179064404 (OP)> загружать файлы из тредаЭто уже есть в кукле, можно сохранить тред целиком а можно только файлы из него в архив.> отслеживать статистикуПоследняя вкладка "Инфо" в кукле.> скриншоты постов и тредаДефолтные ножницы из папки "Стандартные" в меню Пуск справляются с этим чуть лучше чем Prt ScВ итоге, ты хочешь придумать велосипед, или добавить что-то новое? Если второй вариант, то будет ли он конфликтовать с куклой? Если да, то отказываться от старого и проверенного скрипта ради сырого и неизвестного глупо.
>>179097794>просит сохранятьЭто уже зависит от твоих настроек браузера. Скрипт сохраняет в папку по умолчанию. Проверь настройки браузера.>2 поста с чекбоксами в верхнем левом углу, а один безСкрипт во время скриншота скрывает чекбоксы и меню опций. Вероятно, в опере это работает плохо (или из-за того, что я сейчас сижу на лоу-ноуте), поэтому они не успели скрыться.
>>179064404 (OP)Так есть же вишмастер уже
>>179097845Окей, спасибо.
>>179065400Ну ты лол
>>179097994Предлагай, что нужно добавить.>Дефолтные ножницы из папки "Стандартные" в меню Пуск справляются с этим чуть лучше чем Prt ScИ как, удобно?
>>179064404 (OP)Короче ОП такая мысля. Могу к тебе подскачить кабанчиком, обкашлять вопрос, но если ты не могеш, распишу сдесь.Нужна такая приблуда, чобы всякий раз, када я заходил на сасаку, она перенаправляла меня на CodeAcademy или типо того, ну или на толоку, хуй с ней, но не в этом замес.Кароч , чобы меня на сасаку не пускало до тех пор, пока я опред.кол-во заданий не выполню. Скажем 50 штукенций. И кароч, када я их выполню, я мог зайти на сосаку и меня бы вообщем встречало уведомление типо "Сегодня ты опять стал лучше пацаненок" или типо того. Чоб кароч стимул понимаешь суть вопроса?
>>179097882> провернуть как-то иначе без ipАбсолютно никак, г-н Аноним.
>>179097882>что ip получало расширениеНельзя. Посты приходят сервера. Клиенту ничего неизвестно, кроме IP сервера. >>179097895Нельзя. Борда-то анонимная! Если только по ключевым словам.
>>179097994>скриншотыВетку ответов удобно делать ножницами? Или CTRL + W? Или, наконец, с помощью Prt Sc?>добавить что-то новоеДобавить, конечно же. Я же говорю – пишите то, чего нет в кукле.>будет ли он конфликтовать с куклойТам нечему конфликтовать. Если только не сможет обрабатывать элементы, добавленные куклой. Но это я исправлю.
>>179097882Во первых, расширение работает на локальной машине, и если сервер будет передавать ему айпи постов, то это будет нарушением анонимности, так как даже если само расширение айпи не показывает, его можно всё равно посмотреть, поскольку оно было передано тебе. Хотя, можно передавать не само айпи, а некие псевдонимы, но всё равно, в таком случае можно будет понимать, что какие-то посты написаны одним человек, это плохо.Во вторых, для этого нужно официально лицензировать данное расширение у самого Абу, чтобы он сделал так, чтобы сервер передавал ему айпи постов.>>179097980Блять, ебучий тачпад, с третьего раза нормально отправить получилось.
>>179098064> И как, удобно?Вынес на нижнюю панель, 1 клик и я могу практически вырезать скриншот из скриншота, потому что "ножницы" замораживают изображение на экране позволяя тебе вырезать только то что нужно. Да, удобно.> что нужно добавить.Хуйзнает, тут уже есть всё что нужно для комфортного двачевания. Свистоперделки по типу звуковых оповещений об ответе не нужны, я считаю, но возможность заскринить тред целиком была бы неплохой, хоть я и не знаю, возможно ли это.
>>179098114Эх, что поделать... Ладно, пойду взламывать двач, получать права глав. админа, выкидывать абу нахуй, увольнять всех модеров, устанавливать сверхразумные ИИ и наказывать им наказывать плохих анонов в соответствии с правилами, самообучаясь параллельно этому; устанавливать диктатуру и через несколько месяцев выходить с новым легионом - круче прежнего - захватывать мир, излечивая его от рака! Ну, я пошел.
>>179098093Суть ясна, брат. Что-нибудь подобное придумаю.
>>179097889Opera 53.0. 1366x768>>179097998В том-то и дело, что при обычном сохранении файлов он запоминает каталог.
>>179098233> Ветку ответов удобно делать ножницами?Удобно, если там не больше чем влезает на экран. В противном случае просто склеиваешь потом в паинте/фш. В остальном флаг тебе в руки, можешь даже попробовать написать Степану и спросить советов мудрых, не соснув хуйца.
>>179098249>тред целикомБраузер накладывает ограничения на размер готового изображения. Огромные треды будут скриниться в несколько файлов. Однако текущая версия расширения может скринить треды на ~300 постов в один файл.
>>179098249Тебе дается возможность закринить всю ветку ответов одним кликом. >Свистоперделки по типу звуковых оповещений об ответе не нужны, я считаюА я считаю, что нужны. Сможешь выключить, если что. И целиком заскринить тред ты тоже можешь.
>>179098328Окей, буду тестить и исправлять. И все-таки проблема у тебя в настройках, т.к. у меня на опере сохраняет файлы без каких-либо вопрос про папку.
>>179098383> возможность закринить всю ветку ответов одним кликомХорошая возможность, соглашусь.>>179098382> может скринить треды на ~300 постов в один файлЭто тоже ахуенно, архивач не заменит но всё же.
>>179097994> Дефолтные ножницы Я единственный, у кого их нет?Приходится всегда printScreen(клавиша такая)+Paint пользоваться.
>>179098461Потестил с разными размерами окошка. Иногда почти попадало на сообщения. Однако, когда я выделяю посты в несколько строк, высота скриншота меньше, чем должна была бы быть.И оно у тебя всегда сохраняет без спроса в загрузки? Поставь в настройках галочку "Ask where to save each file before downloading", тогда Опера не сразу сохраняет в загрузки, а открывает диалог сохранения файла. Так вот с обычными скачиваниями она запоминает каталог, в который я сохранял в прошлый раз, и открывает в диалоге сразу его, и не надо по папкам шариться. А твоё расширение всегда открывает папку Загрузки, и надо менять каждый раз.
>>179074408Зачем делать отдельную опцию скачки всего треда, если в любом популчрном браузере страница сохраняется по нажатию ctrl+s?
>>179098685Поставь виндовс 10
>>179098833Говно неюзабельное.
>>179098816Потому что браузеры не сохраняют файлы по ссылкам. То есть, сохранятся превьюшки вебмок и картинок, но не сами вебмки и картинки.
>>179098866Тогда не ставь.
>>179098816Эта опция сохраняет в архивном формате веб-страницы, то есть единым файлом. Браузерная же опция позволяет скачивать страница + папка с файлами.
>>179098833Там их по моему вырезали, помимо прочих плюх которые остались в семёрочке.
>>179098915Ну да, несколько удобней
>>179098787Окей, сделаю "Ask where to save each file before downloading".Для работы с необычными размерами окна не рассчитано, да. Буду допиливать в будущем.
>>179098936На моих виндовс 10 с включёнными обновлениями ножницы есть.ножницы вырезали каламбурили не каламбур аха...
>>179099040Удачи.
>>179099040Радминов и майнеров встроить не забудь. Да и вообще, лучше бы ты вишмастер переизобрёл, а не для школьников из вбыдлятни этот тред создавал.
>>179099040>сделаю "Ask where to save each file before downloading".Стоп, может быть, ты не правильно меня понял. Этот чекбокс есть в настройках в Опере. Я предложил тебе поставить в нём галочку, чтобы добиться такого же поведения, как у меня.
Бля, двощ, сейчас пять утра, а я сижу и пиво пью.Мне скучно, побудь со мной.
>>179096575Так это не костыль, а официальное оперовское решение этого вопроса. Ну ок, официальный костыль.
>>1790991852 часа ночи, меня уже плавить начинает. Да, у меня такое же поведение. Загрузка происходит через API браузера, так что, возможно, я не смогу исправить это. Но также возможо (скорее всего), это исправимо через редактирование вызова API. Позже попытаюсь исправить это и напишу результат.
>>179099422Странно, что сама по себе Опера запоминает папки, а её апи нет.
>>179099485Может, это баг, и стоит им написать об этом.>>179099422>2 часа ночи, меня уже плавить начинает. Спать.Весёлой ночи.
>>179099370Я просто думал, что можно обойтись без официальных костылей:>Даже в голове всплывает момент, когда пару лет назад я скачивал расширения из гугл-маркета в оперу.Из-за этого даже тестить это не стал, лол.
И не забудь функцию удаления имён файлов у загружаемых файлов. Чтобы не приходилось куклу запускать ради этого.
>>179099485Возможно, что я что-то не указал, чтобы браузер запоминал. Сейчас не могу это проверить.>>179099534Да, если будет подозрение на баг, то напишу. Хотя такие явные баги исправляются еще на ранних этапах, так что, скорее всего, проблема в расширении.>Веселой ночиСпасибо.
>>179099670Окей, сделаю.
Так, пойду-ка я спать. Спасибо вам, анончики! Надеюсь, тред доживет до утра и я прочитаю ваши новые идеи. Спокойной ночи!
>>179065703не слушайте этого долбаёба. сначала html и css осильте, если их не осилите то в погромистах делать вам точно неча
>>179100072Html и css не программирование
>>179098274Удачи.
>>179098685Alt+PrintScr — снимок только текущего окна.
>>179107762это языки разметки, они проще чем погромирование, даун ты ёбаный. если человек разметку и её описание освоить не может то о каком погромировании речь идёт?
Братан, убери с постов width=100% и сделай возможность задавать ширину в пикселях. А сами посты чтобы по центру монитора выводились. Век не забуду.
>>179113539Так можно про что угодно говорить тогда.Философия проще, чем программирование, если человек философию освоить не может, то о каком программировании речь идёт?
>>179122638>задавать ширину в пикселях.Тогда часть контента будет обрезаться же. По центру сделаю.
>>179122638>>179124338По центру – это ты про скриншот, да?
>>179124376На сколько я понял, у него большое разрешение экрана и он хочет, чтобы посты были по центу, а не сбоку, там огромная часть пустует.Может это можно сделать через css, но я хз как.
>>179124459А, если про сам тред, то это с помощью CSS реализуемо, да. Сделаю.
>>179124553ОП, помоги мне понять, по какому принципу появляется надписать "Показать текст полностью". Длинна текста везде разная, устал голову ломать.
>>179123489пиздец даун, ты видимо из тех кто с нулевыми навыками зазубривает функции какого-то языка и потом говорит что он "программист" ты сказочный долбаёб
>>179128209Надо знать только синтаксис, остальное гуглится по мере надобности. Алсо не понял, к чему ты это написал.
>>179064404 (OP)123
>>179064404 (OP)Успехов тебе, опчик.Крутая хуевина.
>>179064404 (OP)Зачем таймаут через window вызываешь?
Успехов тебе, анонус.
>>179130693Чтобы все было хоть в каком-то namespace.
>>179129478>>179130753Спасибо!
>>179130817Да и стрелочные функции странно пишешь.setTimeout(() => resolve(), time)То же самое делает. А вообще нахуя resolve возвращать? Все же и так работает.https://codepen.io/platon517/pen/PaMygq
>>1791315431) setTimeout вызывается через window только потому, что это сразу позволяет увидеть, что функция не моя. Мне неудобно, когда все находится в одной namespace помойке;2) >странно пишешь.Не понял, что именно не так. Если ты из-за лишних строк, то, опять же, мне так удобно;3) функция не завершается после resolve/reject. return указывает на то, что функция завершается именно в этом месте. Здесь return не нужен, да, но в больших функциях это необходимо. А здесь просто соблюдаю общую конвенцию. https://codepen.io/anon/pen/zagMrJ?editors=1111https://stackoverflow.com/questions/32536049/do-i-need-to-return-after-early-resolve-reject