Как удалить определенный символ, если он находится между двумя границами

Во-первых, на той же вкладке «Сеть» окна «Настройки» убедитесь, что флажок «Выбирать случайный порт каждый раз при запуске передачи» не установлен. Также проверьте, какой порт прослушивания установлен. Номер порта по умолчанию — 51413.

В брандмауэре разрешите указанный выше номер порта TCP. Поскольку вы используете firewalld, вы можете разрешить порт 51413, разрешив названную службу «клиент передачи -».

Если ваш маршрутизатор поддерживает NAT -PMP или если вы настроили маршрутизатор с ручной переадресацией портов, это все, что вам нужно! Передача теперь будет работать с вашим брандмауэром.

NAT -PMP доступен на маршрутизаторах Apple. Так же он есть на любом толково написанном роутере с последней версией открытого MiniUPnPd. Это прекрасно работает на маршрутизаторах OpenWRT :-).

Или, если вам нужна поддержка IPv6 (текущей версии IP :-), просто притворитесь, что я сказал NAT -PCP вместо NAT -PMP.

В противном случае вы, вероятно, использовали переадресацию портов uPnP. Это проблема, извините.Если вы не хотите вручную настраивать переадресацию портов на своем маршрутизаторе, на этой странице есть несколько возможных способов:Брандмауэр Fedora с UPnP?

Ужасные способы разрешить uPnP, которые вам не следует использовать

1. служба firewalld "upnp -клиент"

firewalldимеет именованную службу «клиент upnp -». Разрешение этой службы может позволить Transmission работать. Но разрешение этой службы означает, что злоумышленник может обойти брандмауэр для любого UDP-порта, если он осуществляет передачу с UDP-порта 1900.

Служба firewalldдля «клиента upnp -» определяется с помощью . Это отличается от , который используется в большинстве определений службы firewalld. По этому поводу есть заявление об отказе от ответственности в скобках, но интерфейс firewalldне показывает его.

$ cat /usr/lib/firewalld/services/upnp-client.xml 


  UPnP Client
  Universal Plug and Play client for auto-configuration of network routers (use only in trusted zones).
  

2. миниссдпд

В предыдущей версии Debian при установке Transmission автоматически устанавливался minissdpd. Передача может использовать minissdpdдля получения ответов uPnP, и это лучше работает с брандмауэром. Если вы разрешите UDP-порт 1900 в брандмауэре, Transmission сможет настроить перенаправление портов uPnP.

Проблема в том, что minissdpd представляет большую угрозу безопасности.

minissdpdнеобходимо настроить со списком имен сетевых интерфейсов, на которых он должен работать. Debian предложит список по умолчанию. Обязательно внимательно проверьте это, если у вас есть несколько возможных сетевых интерфейсов, например. как Wi -Fi, так и проводной Ethernet.

После запуска minissdpdне забудьте разрешить UDP-порт 1900 в брандмауэре, а затем перезапустите передачу.

Я заметил, что этот подход не работает в Fedora Linux. minissdpdнедоступен в Fedora, и Fedora не создает Transmission с поддержкой libminiupnp.

-1
01.12.2020, 19:18
1 ответ

С помощью sedвы можете сделать:

sed -E ':a s/("text":"[^"]*)"(.*)(","user")/\1\2\3/;ta' infile
  • первая захваченная группа, содержащая "text":", за которой следует любой символ, кроме двойной кавычки[^"]*
  • одиночная первая увиденная двойная кавычка
  • вторая захваченная группа содержит что-либо после указанного выше(.*)
  • третья захваченная группа ","user".
  • :a s/find/replace/; taперейти к метке a, если замена прошла успешно; при каждом повторе мы удаляем найденную одиночную кавычку "и возвращаем все остальное (три захваченные группы)
1
18.03.2021, 22:45

Теги

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