Прежде всего, что ^ M
- это возврат каретки ( \ r
), а не перевод строки ( \ n
). \
- это снова что-то другое, оно нужно для выхода из новой строки, поэтому программы синтаксического анализа csv не будут рассматривать его как конец записи.
На самом деле у вас есть файл, созданный в Windows, где конец строки определяется как \ r \ n
, а не просто \ n
, как у вас на * nix. Я не могу быть уверен, если вы не дадите нам отрывок из своего фактического файла, но если вы увидите ^ M \
в vim
, за которым следует \
и затем новая строка, у вас, вероятно, есть \ r \\ n
в файле. Итак, попробуйте следующее:
perl -i -pe 's/\r\\\n/ /'g file
Проблема в том, что IP-пакеты, передаваемые на ваш локальный хост и с него, должны проходить через какой-то сетевой интерфейс. Если вы хотите перенаправить их куда-то, будь то VPN, SOCKS-прокси или что-то еще, они также должны проходить через сетевой интерфейс. А поскольку перемаршрутизация выполняется программно, этот сетевой интерфейс является интерфейсом tun/tap. Вы не можете получить доступ к VPN без него.
Что касается «обертывания программного обеспечения VPN оболочкой SOCKS», то это относится к неправильному концу. :Программное обеспечение VPN без проблем взаимодействует с другим концом туннеля VPN без прав root, это обычная сетевая связь.. И это будет та часть, которая обернута SOCKS.
Тем не менее, , вы можете создавать интерфейсы tun/tap без прав root, устанавливая разрешения на/dev/net/tun
(см. здесь ), для чего требуется право root один раз .
Насколько я знаю, вы также можете предварительно -создать именованный интерфейс tun/tap (, который снова требует прав root один раз ), а затем использовать его приложением без прав root.
Возможно, один из этих двух вариантов решит вашу проблему?