Направьте Emacs-w3m через его собственную обёртку SOCKS
Дайте внешнему процессу w3m отдельный маршрут Proxychains, не оборачивая весь сеанс Emacs.
Emacs-w3m запускает внешний исполняемый файл w3m. В Linux это удобное место, чтобы применить маршрут SOCKS только к этому браузеру.
При уже настроенных Proxychains-NG и динамически слинкованном w3m исполняемая обёртка может содержать:
#!/bin/sh
exec proxychains4 -f "$HOME/.config/proxychains/w3m.conf" /usr/bin/w3m "$@"
Используйте фактический путь к w3m и укажите именованную конфигурацию Proxychains. Пример с одним прокси имеет такой вид:
strict_chain
proxy_dns
[ProxyList]
socks5 127.0.0.1 1080
Пример предполагает, что на этом локальном порту уже работает слушатель SOCKS5. Сделайте обёртку исполняемой и выберите её до загрузки emacs-w3m:
(setq w3m-command
(expand-file-name "~/.local/bin/w3m-via-proxy"))
Если вы следуете модели инициализации из руководства, перезапустите Emacs после изменения команды. Взятое в кавычки "$@" сохраняет границы аргументов, которые передаёт emacs-w3m, а exec оставляет запущенный процесс обёрнутым браузером.
Этот маршрут касается перехватываемых TCP-соединений внешнего процесса. Он не меняет EWW, библиотеку URL и не связанные с ними загрузки пакетов Emacs. Двоичный файл w3m, который не может загрузить библиотеку Proxychains, требует другого поддерживаемого способа маршрутизации.