По состоянию на 2019 год не существует связанного приложения, которое делает все, что делает проксификатор, и разработчик проксификатора в настоящее время не желает портировать приложение на Linux, вместо этого вы можете использовать разные приложения для каждой функции проксификатора, я работаю над этим, чтобы объединить все это в одном приложении, но результат проекта немного далек. вот различные решения для каждой необходимой функции:
Блокировка сети для приложения
Вот подробный список решений для этой цели
Маршрут по ip
Linux таблицу маршрутизации можно использовать для добавления правил в таблицу маршрутизации и, таким образом, для маршрутизации диапазона ip/ip -
Маршрут по домену
Комбинация sniproxy и DNS-сервера может выполнять эту работу (это также поддерживает socks и может быть легко настроено)SNI -SSL -Прокси и Unbound(на гитхабе)
Маршрут по приложению (прокси)
Proxybound может выполнить эту работу
Маршрутизация по приложениям (интерфейсы)
В этом ответе перечислены различные решения для этой цели.
Просмотр и мониторинг сетевого трафика
Сеть -Наблюдатель или Наблюдатель -TCP -Вид выполнит задание
По умолчанию tail -f
считывает 10 последних строк, а затем переходит к последующим. Вы можете использовать -n
, чтобы переопределить этот номер, поэтому tail -n0 -f
начинается с текущего конца, игнорируя любое более раннее содержимое, а затем следует новые изменения.
Обратите внимание, что если вы запустите:
start tomcat in some way
tail -n0 -f logfile | grep -q
вы полагаетесь на то, что tomcat будет достаточно медленным, чтобы tail
успел запуститься до того, как tomcat напишет строку, говорящую о том, что он запущен. Обычно это может быть так, но сценарий можно запланировать так, чтобы была произвольно -длительная задержка перед tail
запуском. Так что, действительно, вы должны как-то устроить так, чтобы tail
стартовал первым.
Я мог представить что-то подобное, но не уверен:
tail -n0 -f logfile | grep -q &
pid=$!
start tomcat in some way
wait "$pid"
Кроме того, есть небольшая проблема, заключающаяся в том, что хотя grep -q
завершает работу в тот момент, когда видит совпадающую строку, это еще не приводит к выходу tail
. tail
завершит работу только тогда, когда увидит, что канал закрыт, и это происходит только тогда, когда он снова попытается записать в канал, когда в следующий раз в файле появятся новые данные.
Конечно, если файл постоянно заполняется новыми записями, это произойдет достаточно скоро.