vitus_wagner: My photo 2005 (Default)
[personal profile] vitus_wagner

Я тут до недавнего времени использовал расширение FoxyProxy для того, чтобы оно определяло, ходить на какой-то сайт напрямую, или через прокси.

И всю дорогу меня раздражало неудобство синхронизации списка исключений. Оно там только через FireFox Sync синхронизируется. Поднять свой sync сервер теоретически можно, но практичеки это уйма геморроя и толпа уязвимостей. Администрировать замучаешься. Почему-то Mozilla Foundation ни слова в простоте не может. (GeoClue2 API у нее тоже чрезмерно навороченны. Чтобы тупо узнать текущие координаты нужно сделать пять DBus-вызовов).

Приходится экспортировать настройки в json-файл и над другом компьютере импортировать. А исключения-то добавляются довольно часть.

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

Но тут мне [personal profile] phd_ru и [personal profile] filin подсказали что у браузера есть встроенная функциональнсоть автоконфигурирования прокси. Которая не является расширением, а яявляется частью ядра браузера и существует как бы не со времен 3-го Netscape. И вообще предназначена для корпоративных сетей. в которых браузеры доверяют админу сети больше, чем не только пользователю, но и своему вендору.

Поэтому можно указать в настройках сети Automatic proxy configuration URL: file:///home/vitus/Sync/wpad.dat и оно будет честно груизть оттуда javascript-функцию, вычисляющую по URL и выдранному оттуда hostname (это для удобства писателей функции) нужную прокси. Еще и кнопочка Reload в настройках рядом с полем ввода URL есть.

Там есть еще разнообразные механизмы позволяющие браузеру автоматически найти в локальной сети wpad.dat, но нас они сейчас не интересуют. Нам важно, что работает схема file:, и файл на локальной файловой системе воспринимается как доверенный источник информации о прокси.

Уж текстовый-то файлы между компьютерами синхронизировать можно миллионом разных способов. Я в данном случае решил использовать SyncThing, благо у меня все равно есть каталог со всякой мелочевкой который синхронизируются SyncThing-ом между всеми моими компьютерами.

Одна сложноть - формат этого файла представляет собой код на javascript. Поэтому, редактируя этот файл легко все сломать. Так что я написал маленький html-файлик, содержащий <script src="wpad.dat" type="text/javascript"> и простенькую формочку куда можно ввести URL, а оно ее передаст в функцию FindProxyForURL и результат на страничке покажет.

Правда, есть одна небольшая тонкость - в том контексте в котором эта функция выполняется в случае proxy auto-config доступна куча полезных хелпер-функций, которых в контексте обычной веб-страницы нет. Но мне проще было напевать на эти функции и пользвоаться только методами джаваскриптовской строки, чем отказаться от удобного инструмента отладки.

Cама функция у меня получилась вида примерно

 function FindProxyForURL(url,host) 
 {
    for (domain of [...список доменов...])
       if (host==domain||host.endsWith("."+domain))
          return "DIRECT"
    if (host.startsWith("192.168.") || host == localhost) 
       return "DIRECT"
    return "SOCKS localhost:1080"
 }

В списке доменов там ru, рф, livejournal.com и те домены яндекса которые почему-то не в ru, а в net или st. Ну еще там gutenberg.org, потому что он очень нервно относится к хождению с адресов хостинговых датацентров.

Date: 2026-08-14 11:43 am (UTC)
phd_ru: (Default)
From: [personal profile] phd_ru
В Андроиде в настройках WiFi можно вписать прокси, в т.ч. URL PAC. Я пока не пробовал.

Сам андроидный Фокс прокси не умеет. Зато PAC умеет FoxyProxy! :-D

А свой PAC я генерирую Makefile'ом из шаблонов и простого списка доменов с помощью питоновского скрипта. Программы, которые генерируют программы.

Главный недостаток синхронизации файла PAC — в открытом браузере его надо обновлять руками через интерфейс. Это и раньше было муторно, а недавно мозилловцы запрятали этот интерфейс поглубже.

Date: 2026-08-15 03:05 pm (UTC)
phd_ru: (Default)
From: [personal profile] phd_ru
Я тоже не держу открытым браузер месяцами. Каждые 2-3 дня перезапуск. Но это именно перезапуск, в крайнем случае закрываю вечером и открываю утром. Так что у меня браузер не открыт только когда я сплю. Инструмент номер один всё-таки, и для работы, и для развлечений.

Date: 2026-08-15 04:40 pm (UTC)
phd_ru: (Default)
From: [personal profile] phd_ru
Столько мороки с перезапусками, а непонятно, ради чего. Я в одном окошке делаю логины и логауты, а потом в другом посещаю развлекательные сайты. Не делать же мне перезапуска браузера по 20-30 раз в день. Нет, это не мой способ использования браузера.

Ноутбук я вообще редко выключаю, я его в сон кладу или в гибернацию. Никакого расхода электричества, а все программы остаются запущенными.

Date: 2026-08-16 10:27 am (UTC)
phd_ru: (Default)
From: [personal profile] phd_ru
И открытых вкладок у меня не бывает сотнями. Максимум десяток, и я их за полчаса-час прочитываю и закрываю.

У меня 4 постоянные вкладки в браузере на десктопе — Telegram, WhatsApp, Mattermost (рабочий чат) и индекс моих часто посещаемых страниц, развлекательных и рабочих. Перед перезапуском я их тоже закрываю. Все остальные вкладки временные и редко открываются больше, чем на час.

Date: 2026-08-17 02:12 pm (UTC)
phd_ru: (Default)
From: [personal profile] phd_ru
Подними глаза повыше, на самый верх темы. Там написано proxy auto-config. У меня все мессенджеры ходят через прокси, определяемые PAC. Telegram и WhatsApp в Амстердам, Mattermost и Yandex.Chat в Россию. А для отдельных приложений придётся пускать default route в VPN, чего не хочется делать, особенно для Yandex.Messenger.

И не все приложения существуют, про WhatsApp ты сам сказал.

А что такое tray? У меня нет никакого tray.

Date: 2026-08-17 03:24 pm (UTC)
phd_ru: (Default)
From: [personal profile] phd_ru
> Ну у приложения telegram есть своя настройка прокси.

Я так понимаю, T-Proxy? У меня такого нет. У меня есть прокси HTTP и SOCKS5.

> …корпоративный мессенжер, который надо пускать через корпоративную VPN

У нас есть корпоративный VPN, и я им иногда пользуюсь. Но вот как раз MM доступен без VPN.

> …скорее всего через эту VPN у тебя и многое другое ходит

Не, не ходит. Просто по причине отсутствия. У меня есть браузер и два десятка терминалов rxvt; я человек анти-GUI-шный, я юниксоид и предпочитаю shell-скрипты, командную строку, TUI и web-интерфейсы (в порядке убывания моего одобрения). Аудиплеер, видеоплеер, регулятор громкости и LibreOffice доступа к сети не требуют.

> так что с началом рабочего дня все равно ее подниать придется. Но default route ему в VPN все равно не нужно, ему туда нужен route до конкретного корпоративного mattermost-сервера.

Для каждого приложения мессенджера отдельный маршрут? Для MM один, для Yandex.Chat другой, неизвестно какой? Нет, спасибо, не надо.

> tray это такая удобная штука, маленькая выделенная область на экране, куда умеют сворачиваться в иконки некоторые приложения

Понятно, виндузятина. У меня нет ни tray, ни соответствующих приложений.

> У меня там кроме телеграма торчит прогноз погоды, wpa-gui

И этот человек говорит, что у него нет сотни вкладок. Есть, просто они раскиданы между браузером и треем! :-D

> управляющая wifi-соединениями управлялка блютусом

У меня для этого shell-скрипты. Те, которые я запускаю раз в неделю, я так и запускаю из командной строки. Те, которые я запускаю несколько раз в день (управление яркостью монитора и громкостью звука) переехали в менюшку fvwm2 и на горячие клавиши xbindkeys.

> и менеджер нотификаций (с которым впрочем, умеют взаимодействовать не только приложения, но и веб-страницы).

Демон уведомлений у меня есть. Показывает уведомления от приложений в браузере. Но своего интерфейса у него нет, а счётчики уведомлений показываются в заголовках вкладок в браузере.

Date: 2026-08-18 09:39 am (UTC)
phd_ru: (Default)
From: [personal profile] phd_ru
> У программы telegram-desktop есть меню настроек, и в нем раздел proxy, где можно выбрать и http, и socks прокси.

Буду знать, спасибо.

> Ну маршруты все равно определяются не для приложений, а для хостов. Маршрут у тебя будет не "для приложения yandex messenger", а "для сервера yandex.messenger".

Я не знаю, где у Yandex.Messenger сервер. И он наверняка не один, и регулярно меняется. А маршрутизация идёт по IP, не по именам. В общем нет, слишком сложно, и требует частого вмешательства.

> И после этого ты утверждаешь что браузер у тебя основной рабочий инструмент?

В этом смысле у меня вряд ли есть какой-то один-единственный рабочий инструмент. Shell, командная строка, скрипты, TUI файловый менеджер mc, TUI редактор vim, графические браузеры Fox и Chromium, TUI браузер links2. fvwm2 с менюшкой, в которую я постоянно что-то добавляю; пейджер (миниатюры открытых окон на 12 виртуальных десктопах); панель быстрого запуска приложений.

Больше всего времени я провожу в Fox, mc и vim.

> Поэтому стоит подумать как бы хотя бы часть тех операций которые приходится делать в браузере, перетащить в командную строку.

Я это делаю, когда надо автоматизировать массовую или рутинную работу. Или избежать иметь дел с GUI. Скажем, я запускаю аудиоплеер, но плейлист в него не загружаю из его интерфейса; иду в mc и нажимаю Enter на плейлисте, и shell-скрипт загружает плейлист в плеер.

Торрент-файл в клиент я загружаю программой командной строки transmission-remote. Но как там торренты скачиваются и раздаются — смотрю в браузере. Во-первых, интерфейс красивее. Во-вторых, в transmission-remote очень неудобный интерфейс для манипулирования уже загруженными торрентами. Скажем, хочу я первой серии повысить приоритет, чтобы быстрее скачать и начать смотреть — это удобнее делать в web-интерфейсе. Но это не массовая работа, тут мало что можно автоматизировать.

Date: 2026-08-16 05:44 pm (UTC)
yurikhan: (Default)
From: [personal profile] yurikhan

У меня в браузере сотни вкладок, с характерным временем жизни в недели и месяцы. Мой стиль работы — весь контекст, точнее, все контексты, желательно сохранять столь долго, сколько они потенциально нужны, в виде, максимально пригодном для немедленной работы, насколько этого позволяют вычислительные ресурсы.

Проблема поиска нужной вкладки решается двумя способами.

  • Первый — они не все 300+ в одном окне, а в десятках окон на нескольких воркспейсах (виртуальных рабочих столах). То есть вкладка, нужная в контексте одной из квартальных задач, находится в окне, лежащем на столе этой задачи.
  • Второй — при наборе в адресной строке чего угодно, намекающего на существующую вкладку, Firefox предлагает среди кандидатов переключение в неё. Есть настройка, регулирующая, как именно: переключиться в то окно, где она, или притащить её в «сюда».

Идею «не иметь в браузере табов, а держать всё табами оконного менеджера» я думал. В ней есть некое изящество. Но это не масштабируется, прям вообще, топ-левел окно — это очень дорого. В терминах, неожиданно, видеопамяти.

Date: 2026-08-17 12:55 pm (UTC)
yurikhan: (Default)
From: [personal profile] yurikhan

Так эта стоимость никуда не девается, она intrinsic complexity. Её базовая форма — «папки → закладки + рабочий чатик → каналы → треды → ссылки из сообщений + рабочий багтрекер → проекты → тикеты + рабочая вики → спейсы → статьи + …».

Группировка «рабочие столы → окна → группы табов → табы» — это кэш решения множества задач «мне нужна вон та страница, где же там была ссылка на неё?». А кроме того, она даёт возможность держать в группе также окна терминала, редактора кода и других инструментов (при условии, что я способен закодить их переоткрытие на нужном столе).

Date: 2026-08-17 01:59 pm (UTC)
yurikhan: (Default)
From: [personal profile] yurikhan

если ты их выгрузил из глоовы. то зачем тебе их окна на экране? Только от неумения это состояние где-то сжатым образом зафиксировать.

Так у меня их и нет на экране. Они на воркспейсе, который не смаплен в физический output.

Фиксирование состояния сжатым образом ведёт к задержкам на декомпрессию, тем бо́льшим, чем плотнее сжатие.

Ну вот практический пример. Я работаю над тикетом, набросал код, запустил, работает, закоммитил, отправил на ревью. Завтра с этого ревью прилетят вопросы, мне надо будет над ними подумать, поменять реализацию, запустить, работает, закоммитить, следующая итерация. А пока я взял другую задачу из совсем другого края кодовой базы, завёл под неё отдельный worktree на диске (благо файлуха умеет copy-on-write) и стол. Да, это переключение контекстов, нет, я не могу его избежать, поэтому я его оптимизирую, чтоб машинная его часть вмещалась в 100–1000 миллисекунд, потому что если будет больше, то человеческая часть пойдёт втыкать в отвлекающую фиготу.

Date: 2026-08-16 06:30 pm (UTC)
stiv_sigmal: (Default)
From: [personal profile] stiv_sigmal
Для фаерфокса минимум два расширения, организующих древовидный список вкладок. Со сворачиванием узлов, разумеется. Одно из этих расширений притом ещё и деревья может переключать, организуя разные рабочие пространства. Не говоря о том, что есть и поиск вкладок.
Так что вполне легко организовать сотни и тысячи вкладок и удобно между ними ориентироваться.

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

August 2026

S M T W T F S
       1
2 34 5678
9 1011 1213 14 15
16 17 1819202122
23242526272829
3031     

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 18th, 2026 01:10 pm
Powered by Dreamwidth Studios