просмотр локального хоста через туннель ssh socks не работает

ОП был очень близок к редактированию /usr/share/i18n/locales/iso14651_t1_common, но хитрость не в том удалить строку

<U002E> IGNORE;IGNORE;IGNORE;<U002E> # 47.

, а изменить его на

<U002E> <RES-1>;IGNORE;IGNORE;<U002E> # 47.

Почему это работает

Операторы IGNOREуказывают, что точка (, также известная как точка, или символ<U002E>)будут игнорироваться при упорядочении слов в алфавитном порядке. Чтобы ваши точечные файлы шли первыми, измените IGNOREна символ сортировки, который стоит перед всеми остальными символами. Символы сопоставления определяются строками типа

collating-symbol <something-inside-angle-brackets>

и упорядочены по появлению строки

<something-inside-angle-brackets>

В моей копии iso14651_t1_commonпервым -символом сортировки является <RES-1>, который появляется в строке 3458. Если ваш файл отличается, используйте тот символ сортировки, который упорядочен первым.

Подробная информация об упорядочении символов с помощью LC _COLLATE

<U002E>имеет три оператора IGNORE, потому что буквы можно сравнивать несколько раз в случае равенства. Чтобы понять это,рассмотрим нижний регистр aи верхний регистр A(, которые являются частью группы символов, которые на самом деле сравниваются четыре раза):

<U0061> <a>;<BAS>;<MIN>;IGNORE # 198 a
<U0041> <a>;<BAS>;<CAP>;IGNORE # 517 A

Наличие нескольких раундов сравнения позволяет группировать вместе файлы, начинающиеся с «a» и «A», поскольку оба сравниваются как <a>во время первого прохода, а следующая буква определяет порядок. Если все следующие буквы одинаковы (, например. a.txtи A.txt), третий проход поставит a.txtпервым, потому что символ сортировки для строчных букв <MIN>появляется в строке 3467 перед символом сортировки для прописных букв<CAP>(в строке 3488 ).

Реализация этого изменения

Если вы хотите, чтобы точка стояла первой каждый раз, когда программа упорядочивает буквы, используя LC_COLLATE, вы можете изменить iso14651_t1_common, как описано выше, и перестроить файл местоположения. Но если вы хотите сделать это изменение только с на lsи без root-доступа, вы можете скопировать исходные файлы локали в другой каталог перед их изменением.

Что я сделал

Мой язык по умолчанию en _US, поэтому я скопировал en_US, iso14651_t1и iso14651_t1_commonв $HOME/path/to/new/locales. Там я внес вышеупомянутое изменение в iso14651_t1_commonи переименовал en_USв en_DOTFILE. Затем я скомпилировал локаль en _DOTFILE с

localedef -i en_DOTFILE -f UTF-8 -vc $HOME/path/to/new/locales/en_DOTFILE.UTF-8

Чтобы заменить порядок lsпо умолчанию, создайте сценарий BASH с именемls:

#!/bin/bash
LOCPATH=$HOME/path/to/new/locales LANG=en_DOTFILE.UTF-8 ls "$@"

сохраните его где-нибудь перед /usr/binна вашем пути и сделайте его исполняемым с помощью chmod +x ls.

4
26.07.2019, 16:36
3 ответа

Измените network.proxy.allow_hijacking_localhostна true в about:settings.

2
27.01.2020, 21:02

Я столкнулся с той же проблемой, и я решил ее, используя хром с --прокси -обойти -параметр списка, установленный следующим образом:

google-chrome --proxy-server=socks://127.0.0.1:9999 --proxy-bypass-list='<-loopback>'

Я нашел это решение здесь:

https://superuser.com/questions/1441133/google-chrome-ignorning-localhost-for-socks5-proxy

0
27.01.2020, 21:02

Пробовали ли вы также заполнять поле HTTP-прокси?

Я заметил, что при использовании одного из моих IP-адресов VPS для туннелирования через это поле также было заполнено вместе с socks. Однако я проверил свой видимый общедоступный IP-адрес, и он действительно показал IP-адрес моего VPS.

0
27.01.2020, 21:02

Теги

Похожие вопросы