Bug 57101 - Некорректная работа с настроенным в системе socks proxy
Summary: Некорректная работа с настроенным в системе socks proxy
Status: CLOSED DUPLICATE of bug 44960
Alias: None
Product: Branch p11
Classification: Unclassified
Component: yandex-browser-stable (show other bugs)
Version: unspecified
Hardware: x86_64 Linux
: P5 major
Assignee: qa-team@altlinux.org
QA Contact: qa-p11@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-12-02 22:47 MSK by michael
Modified: 2025-12-16 10:44 MSK (History)
1 user (show)

See Also:


Attachments
Дамп трафика взаимодействия с прокси на интерфейсе lo (8.48 KB, application/x-pcapng)
2025-12-02 22:47 MSK, michael
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description michael 2025-12-02 22:47:38 MSK
Created attachment 20239 [details]
Дамп трафика взаимодействия с прокси на интерфейсе lo

При помощи "Параметры системы" настраиваю socks proxy в разделе "Использовать заданные параметры": 127.0.0.1 3128. Остальные поля пустые. После применения получаю следующие конфиги:
d========; for c in /etc/xdg/kioslaverc /etc/sysconfig/network .config/kioslaverc; do cat $c; echo $d; done
[Proxy Settings]
NoProxyFor=
Proxy Config Script=
ProxyType=0
ReversedException=false
ftpProxy=ftp://127.0.0.1 3128
httpProxy=http://127.0.0.1 3128
httpsProxy=http://127.0.0.1 3128
socksProxy=socks://127.0.0.1 3128
=======
# When set to no, this may cause most daemons' initscripts skip starting.
NETWORKING=yes

# Used by hotplug/pcmcia/ifplugd scripts to detect current network config
# subsystem.
CONFMETHOD=etcnet

# Used by rc.sysinit to setup system hostname at boot.
HOSTNAME=satellite

# This is used by ALTLinux ppp-common to decide if we want to install
# nameserver lines into /etc/resolv.conf or not.
RESOLV_MODS=yes
HTTP_PROXY=
HTTPS_PROXY=
FTP_PROXY=
NO_PROXY=
=======
ProxyUrlDisplayFlags=8

[Proxy Settings]
ProxyType=0
ftpProxy=
httpProxy=
httpsProxy=
socksProxy=socks://127.0.0.1 3128
=======

Создаю socks proxy:
ssh -ND 3128 127.0.0.1

Далее из браузеров, например, yandex/chromium иду на сайт http://fsb.ru

Ожидаю:
Ресурс корректно загружается, трафик идет через прокси

Получаю:
Ресурс не открывается, трафик идет через прокси, но видимо не как socks, а как http

PS
Также пробовал настраивать через "Центр управления системой", по всякому, результат один(
Если подключаюсь к прокси делая настройку непосредственно в браузере, то все хорошо, трафик идет через прокси, сайты открываются корректно.
Comment 1 Sergey V Turchin 2025-12-03 11:01:49 MSK
(Ответ для michael на комментарий #0)
> cat $c; echo $d
?
Comment 2 michael 2025-12-03 11:48:01 MSK
> cat $c; echo $d

?

Это это тело цикла for c in и перечисляются конфиги, для которых я делаю cat, $d это визуальный разделитель между конфигами =======.
А вот ниже полный скрипт одной командой (строкой) терминала, который приниует 3 конфига, чтобы было понятно как применилась настройка прокси:)
d========; for c in /etc/xdg/kioslaverc /etc/sysconfig/network .config/kioslaverc; do cat $c; echo $d; done
Comment 3 Sergey V Turchin 2025-12-03 12:03:45 MSK
А не проще 
echo $c; cat $с
? Иначе бегать глазами и искать, что откуда.
Comment 4 michael 2025-12-03 13:45:03 MSK
Да без разницы, но визуально имя файла плохо разделяет текст разных конфигов 
И всегда можно сделать лучше
printf "%s\n%s" "$(echo -e '\n'${c}'\n'======)" "$(cat ${c})"
Но зачем?)
Comment 5 Sergey V Turchin 2025-12-03 13:49:09 MSK
Значит, yandex/chromium не читает настройки, а должен.
Comment 6 Белая Алёна 2025-12-03 15:15:05 MSK
Добрый день, уточните, пожалуйста, несколько моментов. 
1. Вывод команды:
$ cat /etc/os-release
2. Какие действия проводились до настройки прокси через socks? Содержимое файлов выглядит так, будто до socks настраивался прокси по http. 
3. Если до socks настраивались другие способы прокси, то попробуйте через Параметры системы заново настроить прокси по следующим шагам: 
1. Установить радиокнопку "Не использовать прокси сервер" -> "Применить"
2. Удалить файлы /etc/xdg/kioslaverc,  ~/.config/kioslaverc,
3. Установить радиокнопку  "Использовать заданные параметры" и заново указать параметры socks -> Применить 
4. Запустить прокси и попробовать открыть сайт
Начнет ли работать? 
Подробнее - #44960
4. При настройке через ЦУС параметры прокси не работают до перезахода в сеанс: #44987. Попробуйте перезайти в сеанс после настройки параметров через ЦУС и проверить, работает ли прокси.
Comment 7 Белая Алёна 2025-12-15 16:41:21 MSK
Закрываю в связи с тем, что нет ответа
Comment 8 michael 2025-12-15 20:41:50 MSK
Не так быстро) У меня было мало времени.
[user@test-socks ~]$ cat /etc/os-release
NAME="ALT"
VERSION="11.1"
ID=altlinux
VARIANT="Workstation K"
VARIANT_ID=kworkstation
LOGO="alt-distro-logo"
VERSION_ID=11.1
PRETTY_NAME="ALT Workstation K 11.1 (Nemorosa)"
ANSI_COLOR="1;33"
CPE_NAME="cpe:/o:alt:kworkstation:11"
BUILD_ID="ALT 11.1"
ALT_BRANCH_ID="p11"
HOME_URL="https://www.basealt.ru/"
BUG_REPORT_URL="https://bugs.altlinux.org/"
DOCUMENTATION_URL="https://docs.altlinux.org/"
SUPPORT_URL="https://support.basealt.ru/"



В итоге я у себя починил и нашел шаги воспроизведения, сделал на новой системе.

По умолчанию конфиги:
[user@test-socks ~]$ d========; for c in /etc/xdg/kioslaverc /etc/sysconfig/network .config/kioslaverc; do cat $c; echo $d; done
cat: /etc/xdg/kioslaverc: Нет такого файла или каталога
=======
# When set to no, this may cause most daemons' initscripts skip starting.
NETWORKING=yes

# Used by hotplug/pcmcia/ifplugd scripts to detect current network config
# subsystem.
CONFMETHOD=etcnet

# Used by rc.sysinit to setup system hostname at boot.
HOSTNAME=test-socks

# This is used by ALTLinux ppp-common to decide if we want to install
# nameserver lines into /etc/resolv.conf or not.
RESOLV_MODS=yes
=======
cat: .config/kioslaverc: Нет такого файла или каталога
=======

Шаги:
1. Делаю настройку прокси через "Центр управления системой" 127.0.0.1:3128, применяю:
[user@test-socks ~]$ d========; for c in /etc/xdg/kioslaverc /etc/sysconfig/network .config/kioslaverc; do cat $c; echo $d; done
[Proxy Settings]
NoProxyFor=
Proxy Config Script=
ProxyType=1
ReversedException=false
ftpProxy=ftp://127.0.0.1 3128
httpProxy=http://127.0.0.1 3128
httpsProxy=http://127.0.0.1 3128
socksProxy=socks://127.0.0.1 3128
=======
# When set to no, this may cause most daemons' initscripts skip starting.
NETWORKING=yes

# Used by hotplug/pcmcia/ifplugd scripts to detect current network config
# subsystem.
CONFMETHOD=etcnet

# Used by rc.sysinit to setup system hostname at boot.
HOSTNAME=test-socks

# This is used by ALTLinux ppp-common to decide if we want to install
# nameserver lines into /etc/resolv.conf or not.
RESOLV_MODS=yes
HTTP_PROXY=http://127.0.0.1:3128
HTTPS_PROXY=http://127.0.0.1:3128
FTP_PROXY=http://127.0.0.1:3128
NO_PROXY=""
=======
cat: .config/kioslaverc: Нет такого файла или каталога
=======

2. Потом отменяю настройки, сделанные в предыдущем шаге, т.е. очищаю поля и снова нажимаю применить:
[user@test-socks ~]$ d========; for c in /etc/xdg/kioslaverc /etc/sysconfig/network .config/kioslaverc; do cat $c; echo $d; done
[Proxy Settings]
NoProxyFor=
Proxy Config Script=
ProxyType=0
ReversedException=false
ftpProxy=ftp://127.0.0.1 3128
httpProxy=http://127.0.0.1 3128
httpsProxy=http://127.0.0.1 3128
socksProxy=socks://127.0.0.1 3128
=======
# When set to no, this may cause most daemons' initscripts skip starting.
NETWORKING=yes

# Used by hotplug/pcmcia/ifplugd scripts to detect current network config
# subsystem.
CONFMETHOD=etcnet

# Used by rc.sysinit to setup system hostname at boot.
HOSTNAME=test-socks

# This is used by ALTLinux ppp-common to decide if we want to install
# nameserver lines into /etc/resolv.conf or not.
RESOLV_MODS=yes
HTTP_PROXY=
HTTPS_PROXY=
FTP_PROXY=
NO_PROXY=
=======
cat: .config/kioslaverc: Нет такого файла или каталога
=======

3. Далее делаю настройку прокси через "Параметры системы" - wifi и сеть - прокси сервер - использовать заданные параметры. И здесь я сталкиваюсь тоже с некой проблемой. Видимо сюда подтягиваются настройки из общего конфига /etc/xdg/kioslaverc, но мне не нужны все типы прокси, поэтому я удаляю все кроме socks, нажимаю применить, но оно не применяется, это видно по пользовательскому конфигу, который создается пустой, но с ProxyType=1:
[user@test-socks ~]$ d========; for c in /etc/xdg/kioslaverc /etc/sysconfig/network .config/kioslaverc; do cat $c; echo $d; done
[Proxy Settings]
NoProxyFor=
Proxy Config Script=
ProxyType=0
ReversedException=false
ftpProxy=ftp://127.0.0.1 3128
httpProxy=http://127.0.0.1 3128
httpsProxy=http://127.0.0.1 3128
socksProxy=socks://127.0.0.1 3128
=======
# When set to no, this may cause most daemons' initscripts skip starting.
NETWORKING=yes

# Used by hotplug/pcmcia/ifplugd scripts to detect current network config
# subsystem.
CONFMETHOD=etcnet

# Used by rc.sysinit to setup system hostname at boot.
HOSTNAME=test-socks

# This is used by ALTLinux ppp-common to decide if we want to install
# nameserver lines into /etc/resolv.conf or not.
RESOLV_MODS=yes
HTTP_PROXY=
HTTPS_PROXY=
FTP_PROXY=
NO_PROXY=
=======
[Proxy Settings]
ProxyType=1
ftpProxy=
httpProxy=
httpsProxy=
=======

Тогда я меняю порт, применяю и меняю обратно на нужный, получаю нормальный .config/kioslaverc:
[user@test-socks ~]$ d========; for c in /etc/xdg/kioslaverc /etc/sysconfig/network .config/kioslaverc; do cat $c; echo $d; done
[Proxy Settings]
NoProxyFor=
Proxy Config Script=
ProxyType=0
ReversedException=false
ftpProxy=ftp://127.0.0.1 3128
httpProxy=http://127.0.0.1 3128
httpsProxy=http://127.0.0.1 3128
socksProxy=socks://127.0.0.1 3128
=======
# When set to no, this may cause most daemons' initscripts skip starting.
NETWORKING=yes

# Used by hotplug/pcmcia/ifplugd scripts to detect current network config
# subsystem.
CONFMETHOD=etcnet

# Used by rc.sysinit to setup system hostname at boot.
HOSTNAME=test-socks

# This is used by ALTLinux ppp-common to decide if we want to install
# nameserver lines into /etc/resolv.conf or not.
RESOLV_MODS=yes
HTTP_PROXY=
HTTPS_PROXY=
FTP_PROXY=
NO_PROXY=
=======
ProxyUrlDisplayFlags=8

[Proxy Settings]
ProxyType=1
ftpProxy=
httpProxy=
httpsProxy=
socksProxy=socks://127.0.0.1 3128

4. Пробую пользоваться интернетом из браузеров, получаю ошибку, типа "сайт/ресурс не отправил данные". В данной ситуации не помогает ни перезагрузка, ни перелогин и т.п.

Видимо проги используют настройки из /etc/xdg/kioslaverc, хотя там ProxyType=0, вроде как выключен, если зачистить поля отвечающие за прокси, то все начинает работать через прокси из .config/kioslaverc
Comment 9 Белая Алёна 2025-12-16 10:44:39 MSK
Больше спасибо за подробное исследование! 

Полагаю, что это все же дубликат #44960, только выполненный наоборот, сначала заданы настройки через ЦУС, затем через параметры KDE (в указанном багрепорте сначала настройки задаются через параметры KDE, затем через ЦУС). 
Эта информация будет полезна мейнтейнеру пакета.

*** This bug has been marked as a duplicate of bug 44960 ***