Т.е. у вас при полном сканировании показывает 2 (два) сокс5 порта?
А если некобокс принудительно остановить, сканирование уже не находит ни одного сокс порта?
А если вернуть некобокс (можно даже скан сделать до активации впн и после), то снова показывает 2 сокс порта?
У меня при запущенном некобоксе и активном впн - показывает только тот порт сокс5, который прописан в настройках (но его вроде заблочили же роутингом). Но порт 1 (как минимум именно сокс).
upd: насчет рула для блока сокс5 - проверил, да, работает (причем выше мы обсуждали, что если в конце идет блок всего, то вроде как сокс-рул не нужен, но у меня ппочему-то при выключении этого правила пустило curl, черех сокс. Т.о. я оставил и рул для блока сокса5)
В комментариях видел вопросы о ханипоте для таких вот шпионах, которые могли бы ломиться в сокс5 или tun0 без спроса.
Можно попробовать сделать максимально топорно.
Сразу скажу, что в моем случае, если приложение (например termux) ломилось принудительно в tun0, то в логах некобокса оно фигурировало как app_name=android.
Так вот.
Создадим новый профиль, ведущий в http прокси (в нашем случае, его не будет, но ничто не мешает например на vps поднять http сервер на каком-то порте, логировать запрос и обрывать соединение прост).
Добавить профиль - Ручные настройки - HTTP. Назвать "honeypot", сервер 127.0.0.1, порт 1234
Добавить новое правило (после RULE2, которое про список аппов, но ДО блока) { “package_name”: [ “android” ] } и внизу, где outbound (в UI) выбрать наш профиль "honeypot" из п.1
Теперь, если выполнить в термуксе (или др. приложении) сетевой запрос (допустим curl 2ip.io --interface tun0) то он упадет с ошибкой и появится в логах некобокса. Примерно так (запросы в 2ip.io и ya.ru)
ERROR[0161] [635963556 9ms] connection: open connection to 188.40.167.81:80 using outbound/http[g-34]: dial tcp 127.0.0.1:1234: connect: connection refused ERROR[0173] [3829107112 10ms] connection: open connection to 5.255.255.242:443 using outbound/http[g-34]: dial tcp 127.0.0.1:1234: connect: connection refused
Нагуглить по ip инфу не трудно, хоть что-то. А вот если в качестве ханипота реально иметь простой http сервак и логировать, наверное можно интересного наловить.
Ну можно предположить, что его наличие - это как микро оптимизация: пришёл от сокс? Иди сразу в окно! (чтобы не тратиться на логику сверки аппов на след. правиле)
Никто ничего не хранит. Через него делается запрос на "свой (ркн) подставной сервер в европе" и уже тот сервер видит откуда уши торчат с каким ip запрос приходит, паля выходной адрес
А что за адрес такой ? На вид, это какая-то газета в EU.
К вопросу о подписках, тут пришли некоторые мыли, я их изложил на гитхабе.
https://github.com/MatsuriDayo/NekoBoxForAndroid/issues/1153#issuecomment-4217113284
Т.е. у вас при полном сканировании показывает 2 (два) сокс5 порта?
А если некобокс принудительно остановить, сканирование уже не находит ни одного сокс порта?
А если вернуть некобокс (можно даже скан сделать до активации впн и после), то снова показывает 2 сокс порта?
У меня при запущенном некобоксе и активном впн - показывает только тот порт сокс5, который прописан в настройках (но его вроде заблочили же роутингом). Но порт 1 (как минимум именно сокс).
upd: насчет рула для блока сокс5 - проверил, да, работает (причем выше мы обсуждали, что если в конце идет блок всего, то вроде как сокс-рул не нужен, но у меня ппочему-то при выключении этого правила пустило curl, черех сокс. Т.о. я оставил и рул для блока сокса5)
Если скучно, то можно продолжить.
В комментариях видел вопросы о ханипоте для таких вот шпионах, которые могли бы ломиться в сокс5 или tun0 без спроса.
Можно попробовать сделать максимально топорно.
Сразу скажу, что в моем случае, если приложение (например termux) ломилось принудительно в tun0, то в логах некобокса оно фигурировало как app_name=android.
Так вот.
Создадим новый профиль, ведущий в http прокси (в нашем случае, его не будет, но ничто не мешает например на vps поднять http сервер на каком-то порте, логировать запрос и обрывать соединение прост).
Добавить профиль - Ручные настройки - HTTP. Назвать "honeypot", сервер 127.0.0.1, порт 1234
Добавить новое правило (после RULE2, которое про список аппов, но ДО блока)
{ “package_name”: [ “android” ] } и внизу, где outbound (в UI) выбрать наш профиль "honeypot" из п.1
Теперь, если выполнить в термуксе (или др. приложении) сетевой запрос (допустим
curl2ip.io--interface tun0) то он упадет с ошибкой и появится в логах некобокса.Примерно так (запросы в 2ip.io и ya.ru)
ERROR[0161] [635963556 9ms] connection: open connection to 188.40.167.81:80 using outbound/http[g-34]: dial tcp 127.0.0.1:1234: connect: connection refusedERROR[0173] [3829107112 10ms] connection: open connection to 5.255.255.242:443 using outbound/http[g-34]: dial tcp 127.0.0.1:1234: connect: connection refusedНагуглить по ip инфу не трудно, хоть что-то.
А вот если в качестве ханипота реально иметь простой http сервак и логировать, наверное можно интересного наловить.
В этом случае, кстати, проба через "termux+curl (tun0)" получает не ошибку, а ip провайдера.
Что может быть лучше (при желании прикинуться шлангом, пропуская пробу вместо блокировки с ошибкой)
В разных ветка на 4pda нашел мысли, как это починить.
Суть в том, что в изначальном рецепте нужно изменить 2 вещи:
правило 3 (block которое) нужно заменить на direct
{ "ip_cidr": ["0.0.0.0/0", "::/0"], "outbound": "direct" }список приложений в Настройках (НЕ! роутинге) выключить совсем, т.е. НЕ использовать
Итого:
per-app в настройках выключен
[правило про socks - по желанию, у себя оставил]
per-app в роутинге(!) включен, он идет в outbound = proxy
все, что не сдетектилось (по app-name) в шагах выше - идет в outbound = direct
т.е. вместо блокировки нецелевого трафика, мы его кидаем в direct (подписки по идее заработают)
Тут я не подскажу, т.к. не пользуюсь системой подписок.
Могу предположить, что NekoBox нужно аналогично завайтлистить (в руле?).
(правда сходу не уверен, не будет ли какой-нибудь рекурсии...в голове сложно прокрутить)
Всё верно.
Ну можно предположить, что его наличие - это как микро оптимизация: пришёл от сокс? Иди сразу в окно! (чтобы не тратиться на логику сверки аппов на след. правиле)
:)
Опечаточки у меня немного:
Создать рул (правило)
все аппы (приложения)
Думаю, суть понятна, а там может кто нормальный гайд напишет.
Никто ничего не хранит. Через него делается запрос на "свой (ркн) подставной сервер в европе" и уже тот сервер видит
откуда уши торчатс каким ip запрос приходит, паля выходной адресТак спасёт?
https://habr.com/ru/articles/1020080/comments/#comment_29792770
Ну, в моем случае это NekoBox.
Я правильно понимаю, что тут я пришел к тому же подходу, что и вы?
https://habr.com/ru/articles/1020080/comments/#comment_29792770
Т.е. сводится к тому, что в рулах надо продублировать конфиг для аппов.
(а ну да, конфиг в спойлере же выше нашел)
И т.е. получается, что проблема решена?
Так, а давай вот что.
NekoBox, нужно в роутинг добавить 3 правила.
То, что для сокс выше описано.
{ "inbound": ["mixed-in", "socks-in"], "outbound": "block" }Создать пул, в нем продублировать все пары, что выбрали в настройках для per-app
И третье, последнее по порядку - это глобальный тупик. В него вписать кастомный конфиг
Я вроде попробовал через консоль выполнить curl 2ip.io --interface tun0
И перестало показывать ip vpn выхода.
Вместо этого пишет
curl: (7) Failed to connect to 2ip.io port 80 after 133 ms: Could not connect to server
Т.е. то, что из аппов не перечислено в руле #2 - не пробивается, даже если лезет в tun0 явно.
В обсуждении issue в репе NekoBox упомянули (тов. sou1jacker) такой вариант (чтобы хотя бы сокс5 "завернуть").
Routes -> Create new -> Custom configuration
POC при тесте реально упёрся в блок.
22-00
Рота, отбой!
Я так понимаю, скоро ждать разбор приложений упомянутых платформ на предмет вшивости (как недавно тыкали палкой в телегу и мах)
Там по ссылке в конце:
Контролиролируемая "утечка" для прогрева :)
Эм..
https://habr.com/ru/articles/1009474/