Linkclump Plus
Linkclump Plus (алсо Линкламп Плюс, Сборщик ссылок, Убийца мышек, Лассо для вкладок) — костыль для Корпорации Добра и её зонда под названием Chrome. Сабж представляет собой браузерное расширение, позволяющее анонимусу, обременённому 100500 вкладками, открывать 10, 20 или даже 100 ссылок за 1 клик, просто обводя их прямоугольной рамочкой на экране. Является форком форка (sic!), воскресшим из пепла после того, как жадный до оперативной памяти Google решил помножить на 0 все старые расширения ради Великой Цели и принудительного перехода на анально-огороженный Manifest V3.
If I had to find my laptop among a 100 lost ones, it would be pretty simple because mine would be the 1 with 1000 open tabs in Chrome.
Hold my beer... So 1 of the best tools for this purpose is LinkClump... Can you open 30 links in 1 click?
Суть[править]
Представь себе, олдфаг, что тебе нужно открыть 50 картинок на имиджборде, 30 профилей на сайте знакомств, 100 ссылок на результаты поиска в Google или 9000 тредов на Reddit. В 1-м случае ты будешь кликать средним колесиком мыши 50 раз, рискуя заработать туннельный синдром запястья, стереть сустав указательного пальца в пыль и сломать микропереключатель на своей китайской мышке за 3 доллара. Во 2-м случае ты просто ставишь сабж, зажимаешь клавишу Z, тянешь правую или левую кнопку мыши по экрану, и поверх сайта рисуется магическая пунктирная рамка произвольного цвета. Как только ты отпускаешь кнопку, браузер сходит с ума и мгновенно высирает 50 новых вкладок, подвешивая твой 2-ядерный процессор на долгие 15 секунд, а кулер начинает выть, как турбина Боинга 747 при взлете. Профит!
Как это работает на пальцах[править]
- Зажимаешь кнопку (по дефолту — правую кнопку мыши, но линуксоиды и маководы могут страдать по-своему, назначая левую или среднюю).
- Тащишь мышь по диагонали через весь экран.
- Скрипт высчитывает координаты и рисует цветной прямоугольник прямо поверх верстки.
- Все ссылки (теги a с атрибутом href), попавшие в зону поражения этого прямоугольника, помечаются рамочками поменьше.
- Отпускаешь кнопку — и скрипт собирает урлы в массив, очищает от дубликатов, а затем либо открывает их в новых вкладках, либо в новом окне, либо сохраняет в закладки, либо тупо копирует в буфер обмена в 7 разных форматах.
Настройки для гиков и задротов[править]
Сабж имеет вырвиглазное меню настроек, написанное с использованием древней магии jQuery, в котором можно зависнуть на 2 часа, пытаясь подогнать инструмент под свои извращенные нужды.
- Smart Select (Умный выбор) — попытка тупого скрипта угадать, где нужная ссылка с контентом, а где мусорный элемент интерфейса. Работает в 80 процентах случаев, в остальных 20 — открывает тебе 5 ссылок на Главную, Контакты, Политику конфиденциальности и Отказ от ответственности. Скрипт просто ищет теги заголовков рядом со ссылкой. Если нашел — значит, ссылка важная. Гениально и убого одновременно.
- Filter links — можно вписать стоп-слова. Например, исключить ссылки, в которых есть слово javascript:. Или наоборот, открывать только те ссылки, в которых есть слово boobs. Настройка для тех, кто знает, чего хочет от этой жизни.
- Delay — задержка между открытиями в секундах. Если у тебя 1 гигабайт оперативки, ставь задержку в 3 секунды, иначе браузер сделает харакири от нехватки памяти, а операционная система уйдет в глубокий своп. Если у тебя 64 гигабайта — ставь 0 и смотри, как интерфейс превращается в кашу из сотен фавиконок.
- Close tab time — встроенный таймер смерти для вкладок. Можно настроить так, чтобы вкладка закрывалась сама через 10 секунд. Идеально для накрутки просмотров на порносайтах или бездумного парсинга.
- Настройка цвета рамочки и размера шрифта счетчика ссылок. По умолчанию стоит 16 пикселей, но можно выкрутить до 64, чтобы цифры было видно даже из соседней комнаты. Толщину шрифта можно задать от 1 до 1000. Кому нужен шрифт с толщиной 1000? Наверное, слепым кротам.
Истоки проблемы[править]
На заре интернета, когда деревья были большими, а модемы издавали звуки спаривающихся дельфинов на скорости 56 килобит в секунду, люди открывали по 1 странице за 1 раз. Internet Explorer 6 не знал, что такое вкладки. Каждая ссылка открывалась в новом окне, засирая панель задач Windows XP до состояния нечитаемой синей полосы.
Потом пришел Opera, а за ним Firefox, и принесли божественное откровение — вкладки. Юзеры поняли, что можно открыть 1 страницу, накликать на ней 10 ссылок средней кнопкой мыши, и они загрузятся в фоне, пока ты читаешь основной текст. Это была революция. Потребление информации выросло на 300 процентов.
Но аппетиты росли. На имиджбордах появились треды с сотнями картинок. На торрент-трекерах — списки из 1000 раздач. На Reddit — бесконечные ленты дерьма. Кликать средним колесом 100 раз подряд стало физически больно. Врачи зафиксировали всплеск туннельного синдрома среди школьников и офисного планктона. Правый клик, Открыть в новой вкладке — 2 действия. Клик колесом — 1 действие. Но когда действий 100 — это уже работа на галерах.
Так появились расширения-лассо. 1-м был легендарный Snap Links для Firefox. Потом появился Multi Links. Когда гегемония огнелиса пала под натиском Chrome, потребовался аналог для движка Blink. Им и стал оригинальный Linkclump.
История болезни[править]
Эпоха 1: Оригинал[править]
Жил-был на просторах GitHub кодер под ником benblack86. В дремучем 2010 году он запилил расширение Linkclump, которое стало лютым вином. Более 100000 юзеров установили его и радовались жизни. Сабж работал на базе Manifest V2, который позволял разработчикам делать с браузером почти всё, что угодно. Можно было лазить в историю, инжектить скрипты на любые страницы, перехватывать запросы и творить черную магию.
Оригинал жил долго и счастливо, накопив 4000 отзывов в магазине расширений и рейтинг 4.6 из 5. Быдлокодеры добавляли фичи, чинили мелкие баги, расширение обросло жирком и стало стандартом де-факто для массового парсинга. Но ничто не вечно под луной. К 2021 году разработчик благополучно забил на обновления, исходники покрылись виртуальным мхом, баги множились как кролики весной, а новые версии браузера всё чаще плевались варнингами в консоль.
Эпоха 2: Убийство API[править]
В 1 далеко не прекрасный день Google заявил: Мы заботимся о вашей безопасности и приватности! Поэтому мы выпиливаем Manifest V2. Теперь все расширения должны работать на Manifest V3, который кастрирует функционал в 3 раза, убивает блокировщики рекламы, запрещает фоновым страницам жить дольше 30 секунд, зато никто не украдет вашу историю браузера (кроме нас, разумеется, ведь мы продаем контекстную рекламу).
Наступила паника. Старый Linkclump, плотно завязанный на постоянный фоновый процесс, был приговорен к мучительной смерти. Расширение просто удалили бы из магазина. И тогда на сцену вышел некто wvanderp. Он форкнул репозиторий, переписал гниющий код под новые требования Google, заменил нормальный Background Page на ублюдочный Service Worker, который постоянно засыпает, и назвал свое детище linkclump-ng (где ng видимо означает next generation, хотя по факту это no good).
Расширение выжило, но, как это часто бывает с форками опенсорса, автор быстро потерял интерес, набрал жалкие 18 звезд на GitHub, не выпустил ни 1 релиза в нормальный магазин и ушел в закат, оставив репозиторий в состоянии Read-only archive в 11-м месяце 2025 года. Пользователи остались у разбитого корыта, пытаясь собрать расширение из исходников через командную строку, что для среднестатистической HR-девочки из LinkedIn равносильно сборке адронного коллайдера на кухне.
Эпоха 3: Воскрешение[править]
Когда linkclump-ng начал подавать признаки явной клинической смерти, из пучин интернета вынырнул анонимус с ником from-es. Он посмотрел на этот зоопарк мертвых форков, сплюнул и решил сделать свой форк с блэкджеком и плюшками. Так на свет появился Linkclump Plus.
Афтар взялся за дело с маниакальным упорством современного фронтендера. Он обновил все зависимости, перевел сборку с устаревшего webpack на модный молодежный фреймворк WXT, прикрутил строгую типизацию TypeScript (теперь код состоит из типов на 40 процентов, а логики на 12), и запилил кучу мелких, но безумно важных для аутистов фиксов. Например, добавил настройку толщины шрифта (от 1 до 1000) и возможность сделать цвет счетчика ссылок таким же, как цвет рамки. Инновации, которые мы заслужили!
Драмы, трагедии и баги[править]
История этого расширения — это не просто история куска кода, это летопись борьбы простого юзера с идиотскими решениями мегакорпораций и криворукостью веб-мастеров.
Великая фиолетовая проблема (Март 2025 года)[править]
В начале 3-го месяца 2025 года Google выкатил обновление Chromium, которое сломало психику тысячам пользователей и вызвало массовое возгорание пердаков на всех IT-форумах.
Суть такова: испокон веков браузеры красили посещенные ссылки в фиолетовый цвет (используя CSS псевдокласс :visited). Это было гениально и просто. Это позволяло анонимусу на Reddit, двачах или Пикабу визуально видеть, какие треды он уже читал, а какие — нет. Но параноики из консорциума W3C и Корпорация Добра решили, что это — страшная утечка приватности. Теоретически, злоумышленник мог загрузить на свой фишинговый сайт 10000 невидимых ссылок на популярные ресурсы (от порнохаба до сайтов клиник по лечению геморроя) и с помощью хитрого JavaScript проверить, какие из них браузер отрисовал фиолетовыми, тем самым узнав историю браузера жертвы (так называемая Side-channel attack, атака по сторонним каналам).
Google решил проблему радикально и по-ублюдски: он внедрил фичу под названием Partitioning: visited links history (Разделение истории посещенных ссылок). Теперь ссылка становится фиолетовой ТОЛЬКО если ты кликнул по ней, находясь на ТОМ ЖЕ самом сайте и в ТОМ ЖЕ самом фрейме (используется так называемый тройной ключ: URL ссылки, top-level site, frame origin). То есть история кликов изолируется для каждого отдельного сайта.
И тут начался кромешный ад. Юзеры Linkclump Plus, Imagus и прочих расширений внезапно обнаружили, что ссылки, открытые через скрипт расширения (а не прямым физическим кликом левой кнопки мыши), остаются синими! Они плодили по 100 вкладок с порно или смешными котами, читали их, закрывали, возвращались на главную страницу, а ссылки всё ещё светились девственно синим цветом, как будто туда никто никогда не заходил. У людей ломался паттерн потребления контента. Они открывали те же самые ссылки по 2-му кругу, теряли время, злились и шли писать гневные посты на Reddit.
Костыли для возвращения фиолетовых ссылок[править]
Как водится в мире опенсорса, спасение утопающих — дело рук самих утопающих. Было найдено 2 пути обхода этой анальной гугловской огороженности:
- Путь 1-й: Флаги браузера (работало недолго).
Нужно было зайти в скрытые настройки chrome://flags/, вбить в поиск слово partition, найти 2 скрытых параметра: Partition the Visited Link Database и Partition the Visited Link Database, including self-links, после чего выставить их в значение Disabled и перезагрузить браузер. Счастье длилось недолго. Google не был бы Google, если бы не выпилил эти флаги наглухо в версии 142. Юзеры снова взвыли.
- Путь 2-й: Ярлыки и параметры командной строки.
Для юзеров Microsoft Edge (который под капотом суть тот же Chromium, только с телеметрией от Билла Гейтса) и обычного Chrome анонимус нашел хардкорное решение через параметры запуска. Нужно было кликнуть правой кнопкой мыши по ярлыку браузера на рабочем столе, зайти в Свойства и в поле Target (Объект) дописать магическое заклинание огромной длины: --disable-features=PartitionVisitedLinkDatabase,PartitionVisitedLinkDatabaseWithSelfLinks При запуске браузера с этого ярлыка фиолетовые ссылки возвращались. Но стоило открыть браузер кликом по ссылке из мессенджера — и магия пропадала. Костыль эпичных масштабов.
Баг 1080px[править]
Еще 1 эпичный баг, с которым сталкивались пользователи расширения, был связан с позиционированием рамки выделения. Казалось бы, что сложного — нарисовать прямоугольник от точки А до точки Б, где точка А — это координаты нажатия мыши (event.pageX, event.pageY), а точка Б — координаты отпускания.
Но в дело вступили современные фронтенд-разработчики — верстальщики за еду, которые не знают, как работает потоковая модель документа. Если такой Вася-быдлокодер создавал сайт и прописывал тегу body фиксированную ширину, например width: 1080px; и выравнивание по центру (margin: 0 auto;), то происходил пространственно-временной разрыв.
При попытке юзера выделить ссылки, курсор мыши находился в 1-м месте, а визуальная красная пунктирная рамка рисовалась в 100 пикселях левее или правее от него! Скрипт расширения сходил с ума, пытаясь высчитать абсолютные координаты относительно документа, который был искусственно сжат стилями.
Как автор расширения решил эту проблему? Никак! Он развел руками, написал в официальном файле README.md целый раздел Known Issues (Известные проблемы) и на полном серьезе предложил юзерам лечить этот рак подорожником — ставить ЕЩЕ ОДНО расширение (называется Stylus) и вручную переопределять CSS стили на каждом проблемном сайте!
Вдумайтесь в эту потрясающую архитектуру современности: чтобы 1 расширение (Сборщик ссылок) работало нормально, юзер должен поставить 2-е расширение (Стилер), в котором он должен написать кастомный CSS-код, который сбросит ширину у тега body (width: initial !important;) и перенесет эту ширину на вложенные теги header, main и footer. То есть конечный пользователь должен выполнять работу верстальщика сайта и работу автора расширения одновременно. Это WIN.
Целевая аудитория[править]
HR-шлюхи и рекрутеры[править]
Основной контингент. Типичная HR-девочка в LinkedIn или на HeadHunter вводит в поиск запрос. Поиск выдает ей 50 страниц резюме. Вместо того чтобы вдумчиво читать каждое, она зажимает клавишу Z, выделяет на странице все 30 профилей и открывает их в фоновых вкладках. Для них Linkclump — это инструмент выживания. Без него их наращенные ногти отвалились бы от постоянного клацанья по левой кнопке мыши, а колесико мыши Apple Magic Mouse стерлось бы до микросхем.
Анонимусы, сойбои и комеры с Reddit[править]
Завсегдатаи имиджборд и разделов Reddit, состоящих из 1 сплошного визуального контента. Когда анонимус заходит в тред, где выложили пак из 100 картинок (легальных или не очень), он не будет кликать на каждую. Он выделяет весь тред красной рамочкой Linkclump, и браузер мгновенно открывает 100 полноразмерных изображений. Затем анонимус просто переключает вкладки с помощью горячих клавиш (Ctrl+Tab), сохраняя нужные картинки.
SEO-шаманы, спамеры и арбитражники[править]
Темные рыцари интернета. Для них сабж — это инструмент для парсинга поисковой выдачи Google, Яндекс или Bing. Они вбивают запрос, открывают 100 результатов на 1 странице, выделяют все ссылки Linkclump-ом, но не открывают их в браузере (потому что браузер сдохнет), а КОПИРУЮТ в буфер обмена (выбрав в настройках формат URLs only). Затем этот список из 100 ссылок вставляется в какой-нибудь зловещий софт типа Xrumer или A-Parser для дальнейшего прогона, спама комментариями или анализа обратных ссылок.
Конкуренты[править]
- Snap Links — праотец жанра. Изначально написан для Firefox. Был настолько популярен, что о нем писали в бумажных журналах про компьютеры (да, школьник, когда-то были такие журналы). Отличался зеленой рамочкой. В итоге заглох, оброс багами и умер в муках, когда Firefox перешел на движок Quantum (WebExtensions API).
- Multi Links — еще 1 старичок. Умел всё то же самое, но имел более перегруженный интерфейс настроек. Умер от старости и несовместимости.
- FoxySpider — не совсем лассо, скорее паук. Выкачивал все ссылки со страницы в отдельную галерею. Для любителей скачивать интернет на дискету.
- Imagus / Hover Zoom — не прямые конкуренты, но часто используются в связке. Позволяют увеличивать картинку при наведении курсора на миниатюру. В итоге юзеру даже не нужно ничего кликать и обводить — он просто водит мышкой по экрану, а картинки всплывают сами. Но если нужно сохранить 100 ссылок в текстовый файл, они бесполезны.