Комментарии 93
Спасибо за статью!
подправил конфиг бриджа, иначе не работает{
"reverse": {
"bridges": [
{
"tag": "bridge",
"domain": "reverse.hellohabr.com"
}
]
},
"outbounds": [
{
"protocol": "shadowsocks",
"settings": {
"servers": [
{
"address": "....",
"port": 5555,
"method": "2022-blake3-aes-128-gcm",
"password": "..."
}
]
},
"tag": "outgoing"
},
{
"protocol": "freedom",
"tag": "direct"
},
{
"protocol": "blackhole",
"tag": "block"
}
],
"routing": {
"rules": [
{
"type": "field",
"inboundTag": ["bridge"],
"domain": ["full:reverse.hellohabr.com"],
"outboundTag": "outgoing"
},
{
"type": "field",
"inboundTag": ["bridge"],
"outboundTag": "direct"
}
]
}
}
если на хабре была бы номинация "Автор года", то уважаемый определенно её достоин. Спасибо!
До выпила статьи осталось: 3...2...1
Кстати, да, спасибо за напоминание. Хотел бы сохранить PDF'ки статей, но вдруг у Хабра есть годное зеркало даже для удалённых статей?
Изменения в пользовательском соглашении и политике конфиденциальности на сервисах Хабра:
https://habr.com/ru/companies/habr/articles/487528/
https://account.habr.com/info/agreement/
https://company.habr.com/ru/
"Если ранее управление сервисом осуществлялось российской компанией ООО «Хабр», то теперь за бразды правления взялась наша головная компания — Habr Blockchain Publishing Ltd, зарегистрированная и действующая в юрисдикции и по законам Республики Кипр и Европейского Союза."
можно в личку ссылку на сайт, где это можно потом почитать, когда начнут вырезать на сайте полезную информацию?)
p.s. Или тут, потом будет, в зависимости от региона IP-адреса как на joyreactor плашка вылезать "Контент на территории РФ запрещен"?))
Это не поможет, если госорган попросит удалить статью физически из сервера для всез - либо придёт бан всему домену. Дешевле (до определенного предела) выполнять требования местного царька, если его рыночек приносит хороший доход.
предположим ситуацию, в которой хабр удаляет (именно удаляет, а не блокирует) ваши статьи "про это" - тогда вас где-то еще почитать можно будет? есть какая-то запасная площадка?
Подскажите, вы видели, что в Иране vless reality определяется и на данный момент не работает? Легко гуглится по соответствующему запросу. Что думаете по этому поводу?
Можно скачать приложение для заметок, по типу Obsidian, и туда копировать эти статьи. А заметки бекапить куда нибудь. Там можно удобно и скрины и блоки кода сохранять.
Вопрос, зачем так усложнять жизнь, если можно использовать тот же netbird, где не нужен внешний сервер или белый ип, только поставь и авторизуй клиентов, а на том же одноплатнике в довесок можно поставить любой VPN сервер и подключаться через канал netbird. Аналоги есть и даже можно на своем сервере netbird подгять. Поясните для чего мучиться с настройкой всего этого?
с недетектируемыми протоколами Shadowsocks-2022
Смотрим п.49.
А где в таблице основные vpn протоколы для блокирования-то? Openvpn, wireguard, ikev2, gre, l2tp, sstp, pptp? Или их блочить будут по-умолчанию? Или пункт 23 - это про них (но тогда почему только в РФ)?
нет, п. 23 - это название приложения из гугл плея, в предыдущей статье была ссылка
Что-то мне кажется, что п.23 - это как раз все vpn протоколы в ... И именно протоколы, а не сервера, и куда они бегут (внутри периметра или за) будет не важно. Ровно как в мае и августе.
Просьба не путать обычный ShadowSocks и ShadowSocks-2022 — это очень разные протоколы. С SS-2022 можно даже в Китае обходить блокировки, если грамотно это всё дерьмо настроить и уметь бегать быстрее полисменов.
Мой провайдер блокирует все трафик кроме Телеграмм, Инстаграма, Фейсбук, Вотсап, можно ли как то обойти эти ограничении, с помощью этой прокси?
Полагаю статью стоит скачать, а то не все сейчас долговечное долговечно
Есть ли разница, что я гоню во vless xtls-rprx-vision? К примеру с просым подключениям к сайтам всё ок, но будут ли палиться идущие внутри wireguard/ssh/??? ?
Будет ли рабочей такая схема подключения: между linux машинами cloak(vless | wg(всё ~локальное)), а на android vless(tls | любые обращения в локалку wg).
Поднять на дроиде и cloak, и vless как я понимаю, будет запарно, тк это нужны два vpn подключения.
Похоже, что "палятся" внутренние соединения :( Вот прямо сейчас бьюсь с "неожиданно" упавшим openvpn соединением (tcp на нестандартный порт). Сразу после начала handshake такому соединению стал приходить reset.
Поднял, по наставлениям уважаемого @Deleted-user xray на обоих концах (с "flow": "xtls-rprx-vision"). Проверил. Как обычная socks прокся для браузера работает замечательно. Но при попытке заправить туда соединение от openvpn (с помощью параметра socks-proxy) получаю "те же яйца, вид в профиль" - reset на handshake. Насколько я понял то, что написано в https://habr.com/ru/articles/731608 - шифрованные соединения заново не шифруются, значит openvpn трафик идёт as is, а значит, DPI может его распознать и порубать чисто по шаблонам.... Что с этим можно сделать пока не понимаю. В конфигах есть параметр encryption, но во всех примерах он стоит в "none", и что туда вообще можно подставить - пока не понятно...
Спасибо за подсказки, на досуге поэкспериментирую... В XRay логах было как раз то, что я наблюдал воочию - установление соединения и его разрыв. А т.к. цель у меня была практическая, то в итоге я удовлетворился установкой Cloak - с ним всё заработало "как из пушки" (даже udp+tap, хотя везде написано, что это не поддерживается, или поддерживается экспериментально).
А возможно ли на том же XRAY или чёмто ином из современного настроить подключение через обычный socks5 ?
PS: Через Proxifier тот же nekoray/nekobox работает, но вот как бы обойтись без этого костыля ?
Я про случай когда nekobox как клиент стороннего удаленного ss сервера.
но вот что-то не пойму (я только разбираюсь с этим софтом) как построить цепочку, или как задать профиль с socks5 сервером как outbound для всех других профилей (чтоб можно было быстро переключать)
PS: когда nekobox подключается к ss через промежуточный socks5
Бгагодарю, с цепочкой все получилось. Понятно и логично.
Но я надеялся что существует иной вариант настройки. Задать некое правило (роутинг, outbound, или как оно еще может называться) чтобы весь выходной трафик клиента Nekobox к серверу ss/vless/etc выпускать через постоянный socks5 адрес.
При этом профили (Active Server) с SS подключениями иметь возможность переключать через интерфейс Nekobox что называется одним кликом. А не править цепочки через меню редактирования....
PS: если тут нельзя, может знаете альтернативу Nekoray/Nekobox с таким функционалом ?
Спасибо за статью!
подправил конфиг бриджа, иначе не работает{
"reverse": {
"bridges": [
{
"tag": "bridge",
"domain": "reverse.hellohabr.com"
}
]
},
"outbounds": [
{
"protocol": "shadowsocks",
"settings": {
"servers": [
{
"address": "....",
"port": 5555,
"method": "2022-blake3-aes-128-gcm",
"password": "..."
}
]
},
"tag": "outgoing"
},
{
"protocol": "freedom",
"tag": "direct"
},
{
"protocol": "blackhole",
"tag": "block"
}
],
"routing": {
"rules": [
{
"type": "field",
"inboundTag": ["bridge"],
"domain": ["full:reverse.hellohabr.com"],
"outboundTag": "outgoing"
},
{
"type": "field",
"inboundTag": ["bridge"],
"outboundTag": "direct"
}
]
}
}
а как проверить, что север и сервис замаскировался корректно?
попробовать без vpn зайти на ip_адрес_сервера:443 и должен открыться условный сайт майкрософта?
если http://xx.xxx.xxx.xxx:443 то браузер пишет что соединение сброшено
если https://xx.xxx.xxx.xxx:443 то браузер ругается на сертификат и при нажатии продолжить открывается какая то заглушка с картинкой "not found"
Спасибо за цикл статей. Но вот немного не могу понять одного. Везде вроде пишут что VMESS используют шифрование, но в то же время это не впн а прокси.
Когда там используется шифрование?
Если на телефоне поднимаем такого соединение, провайдер видит что там летает или нет? Это же не впн туннель.
Случилась странная проблема после настройки
Настроил Vless-Reality через 3x-ui, все заработало, начал тестировать скорость, и на сервере на интерфейсе eth0 увидел скорость 950мбит/с (Но на клиенте 100 мбит максимум по тарифу), и параллельно xray выжрал всю RAM.
В чем может быть проблема ?
Нет, только xtls с reality, либо с TLS, запамятовал как точно оно называется, со своим сертификатом. Vless На 443 порту, для теста запускал еще на 8443, ибо 443 был занят, ситуация аналогичная была
Скриншот
На 443 порту в одном случае висел openconnect, но я его не отключал, проверял просто на 8443 порту. На другом сервере поставил на 443 и встретил то, что на скриншоте выше.
И еще ради интереса взял чистый vds, и установил туда подчистую, тоже на 443 порт. RAM на чистом сервере не выжирал, но перегрузка на сетевом интерфейсе все ровно была, только не такая высокая, порядка 400 мбит/с.
Оффтоп:outline ведет себя также, странные аномальные перегрузки на интерфейсе, только оперативную память не жрет, зато сжирает почти 5 гбит/с траффика, и только на выход. Он вроде как раз на Shadowsocks
Да, только что купленный, с дебианом 12м на борту. Хостер тот же, hetzner в моем случае
Но ведь такое происходит только при проверке скорости, в условном спидтесте. Но кстати, в копилку к вашей версии, иногда я замечаю скачки на eth0 до каких то аномальных значений. Но это происходит редко. Обычно такое твориться только при тесте скорости.
Заметил еще перегрузки на интерфейсе зависят от параметров net.ipv4.tcp_rmem и net.ipv4.tcp_wmem. Больше от первого, чем от второго. На системных настройках, без моих правок, сеть грузится на 300/400 мбит/с, на моих под гигабит
На графике скачки это как раз замеры скорости, а скачут они от редактирования переменных, которые выше
График
Спасибо, уважаемый автор за ваши труды!
Могли бы Вы сделать пошаговую инструкцию по настройке реверс-прокси, не совсем понятно как это сделать, если есть vps с 3x-ui и одноплатник на armbian в локалке.
Создал клиента на vps в 3x-ui
Установил xRay на bridge
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ installПрописал конфиг на bridge
{
"reverse": {
"bridges": [
{
"tag": "bridge",
"domain": "reverse.hellohabr.com"
}
]
},
"outbounds": [
{
"protocol": "shadowsocks",
"settings": {
"servers": [
{
"address": "xxx.xxx.xxx.xxx",
"port": 34862,
"method": "2022-blake3-aes-256-gcm",
"password": "BTbEg8DduZthSx/nZx7nEyZjTjIuxw1bhV0VrL0/s98="
}
]
},
"tag": "outgoing"
},
{
"protocol": "freedom",
"tag": "direct"
},
{
"protocol": "blackhole",
"tag": "block"
}
],
"routing": {
"rules": [
{
"type": "field",
"inboundTag": ["bridge"],
"domain": ["full:reverse.hellohabr.com"],
"outboundTag": "outgoing"
},
{
"type": "field",
"inboundTag": ["bridge"],
"outboundTag": "direct"
}
]
}
}
При запуске xRay на bridge выдает ошибку
root@armbian:~# journalctl -u xray
Journal file /var/log/journal/84152d3d1a5b70e8a8566df06569a60c/system.journal is truncated, ignoring file.
Dec 07 12:30:12 armbian systemd[1]: [?] /etc/systemd/system/xray.service:7: Special user nobody configured, this is not>
Dec 07 12:30:12 armbian systemd[1]: Started xray.service - Xray Service.
Dec 07 12:30:12 armbian xray[6688]: Xray 1.8.4 (Xray, Penetrates Everything.) Custom (go1.21.0 linux/arm64)
Dec 07 12:30:12 armbian xray[6688]: A unified platform for anti-censorship.
Dec 07 12:30:12 armbian xray[6688]: 2023/12/07 12:30:12 [Info] infra/conf/serial: Reading config: /usr/local/etc/xray/c>
Dec 07 12:30:12 armbian xray[6688]: 2023/12/07 12:30:12 [Warning] core: Xray 1.8.4 started
Dec 07 12:30:13 armbian systemd[1]: [?] /etc/systemd/system/xray.service:7: Special user nobody configured, this is not>
Dec 07 15:29:47 armbian systemd[1]: Stopping xray.service - Xray Service...
Dec 07 15:29:47 armbian systemd[1]: xray.service: Deactivated successfully.
Dec 07 15:29:47 armbian systemd[1]: Stopped xray.service - Xray Service.
Dec 07 15:29:47 armbian systemd[1]: xray.service: Consumed 3.841s CPU time.
Dec 07 15:29:47 armbian systemd[1]: Started xray.service - Xray Service.
Dec 07 15:29:47 armbian xray[8313]: Xray 1.8.4 (Xray, Penetrates Everything.) Custom (go1.21.0 linux/arm64)
Dec 07 15:29:47 armbian xray[8313]: A unified platform for anti-censorship.
Dec 07 15:29:47 armbian xray[8313]: 2023/12/07 15:29:47 [Info] infra/conf/serial: Reading config: /usr/local/etc/xray/c>
Dec 07 15:29:47 armbian xray[8313]: Failed to start: main: failed to load config files: [/usr/local/etc/xray/config.jso>
Dec 07 15:29:47 armbian systemd[1]: xray.service: Main process exited, code=exited, status=23/n/a
Dec 07 15:29:47 armbian systemd[1]: xray.service: Failed with result 'exit-code'.
Dec 07 15:37:30 armbian systemd[1]: Started xray.service - Xray Service.
Dec 07 15:37:30 armbian xray[8360]: Xray 1.8.4 (Xray, Penetrates Everything.) Custom (go1.21.0 linux/arm64)
Dec 07 15:37:30 armbian xray[8360]: A unified platform for anti-censorship.
Dec 07 15:37:30 armbian xray[8360]: 2023/12/07 15:37:30 [Info] infra/conf/serial: Reading config: /usr/local/etc/xray/c>
Dec 07 15:37:30 armbian xray[8360]: 2023/12/07 15:37:30 [Warning] core: Xray 1.8.4 started
Не могу победить Kitty, не переносит выводимый текст на другую строчку, поэтому всё не копируется :(
/conf/serial: failed to read config file at line 16 char 19 > invalid character '.' after object key:value pair
Ругается на точку в IP адресе, я так понял
Так, ладно, конфиг буду переписывать, хотя скопипастил отсюда :)
А как настроить 3x-ui, куда вставлять настройки сервера ("portal")?
Или на vps лучше поставить голый xray без оболочки?
Какой-то абсурд, удалил все из конфига, оставил {}, а все равно xray не стартует. Путь к конфигу проверил /usr/local/etc/xray/config.json.
На всякий случай еще раз скрипт запустил:
bash -c "$(curl -L https://raw.githubusercontent.com/XTLS/Xray-install/046d9aa2432b3a6241d73c3684ef4e512974b594/install-release.sh)" @ install --version 1.8.6
Ошибка та же:
failed to read config file at line 16 char 19 > invalid character '.' after object key:value pair
Посмотрите, что может быть не так с конфигом, bridge похоже не подключается к portal.
И еще вопрос, как посмотреть логи xray?
{
"reverse": {
"bridges": [
{
"tag": "bridge",
"domain": "reverse.hellohabr.com"
}
]
},
"outbounds": [
{
"type": "vless",
"server": "000.000.000.000",
"server_port": 443,
"uuid": "09346f9c-ad02-4f8c-8b8e-bc7a3b92cc50",
"flow": "xtls-rprx-vision",
"tls": {
"enabled": true,
"server_name": "www.microsoft.com",
"utls": {
"enabled": true,
"fingerprint": "chrome"
},
"reality": {
"enabled": true,
"public_key": "Z9hU9PU0OLdn1YOUSWsH2B_g8mbm0ZuPH_NHl7VC7SE",
"short_id": "7e1b81daf28055e1"
}
},
"packet_encoding": "",
"tag": "outgoing"
},
{
"protocol": "freedom",
"tag": "direct"
},
{
"protocol": "blackhole",
"tag": "block"
}
],
"routing": {
"rules": [
{
"type": "field",
"inboundTag": [
"bridge"
],
"domain": [
"full:reverse.hellohabr.com"
],
"outboundTag": "outgoing"
},
{
"type": "field",
"inboundTag": [
"bridge"
],
"outboundTag": "direct"
}
]
}
}
Я запускал на SS-2022 а сейчас на VLESS не работает.
Я про эти логи, как их посмотреть?
xray[1856216]: 11.11.11.11:10457 accepted 22.22.22.22:443 [incoming -> portal]
xray[1856216]: proxy/shadowsocks_2022: tunnelling request to tcp:reverse.hellohabr.com:0
xray[1856216]: app/dispatcher: taking detour [portal] for [tcp:reverse.hellohabr.com:0]
xray[1856216]: common/mux: dispatching request to udp:reverse.internal.v2fly.org:0
xray[1856216]: [33.33.33.33]:63786 accepted reverse.hellohabr.com:0 [incoming -> portal]
Спасибо!
при загрузке конфига такую ошибку выдает:
Failed to start: main: failed to load config files: [/usr/local/etc/xray/config.json] > infra/conf: failed to parse to outbound detour config. > infra/conf: unknown config id:
xray.service: Main process exited, code=exited, status=23/n/a
Взял из sing-box, который на телефоне стоит, видимо что-то не то сделал :)
Понял, буду разбираться! :)
Спасибо! VLESS настроил доступ к локальной сети бриджа, в глобал через бридж не могу выйти!
Как настроить правила на портале, чтобы весь трафик шел в глобал через портал, а на определенные IP и домены через бридж?
вот такая ошибка в логах, проблема в DNS?
[Info] app/proxyman/outbound: failed to process outbound traffic > proxy/freedom: failed to open connection to tcp:8.8.8.8:443 > common/retry: [dial tcp 8.8.8.8:443: i/o timeout dial tcp 8.8.8.8:443: connect: no route to host dial tcp 8.8.8.8:443: i/o timeout] > common/retry: all retry attempts failed
Пробую правила на портале прописать, чтобы 2ip.ru шел через бридж. Не работаю, что делаю не так?
"routing": {
"rules": [
{
"type": "field",
"domain": ["2ip.ru"],
"outboundTag": "portal"
}
]
}
Похоже я тут сам с собой разговариваю и надоел :))), но спросить больше негде!
Я все настроил, через VLESS от клиента через портал на бридж ходит трафик, глобал и локалка доступна через бридж.
Начал разбираться с роутингом, хочу сделать так, чтобы только определенные домены и ip адреса шли через бридж, все остальное шло через портал в глобал.
Например, хочу чтобы 192.168.5.1 шел в бридж, в конфиге портала прописываю:
"routing": {
"rules": [
{
"type": "field",
"inboundTag": [
"incoming"
],
"ip":"192.168.5.1",
"outboundTag": "portal"
}
]
}
Но доступа к 192.168.5.1 на клиенте не получаю. В логах бриджа пусто, в логах портала следующее:
IP:13262 accepted tcp:192.168.5.1:80 [incoming -> portal] email: ***
Подскажите, что делаю не так?
Есть два vps европейский и российский , хочется попасть на заблокированый европейский контент , как настроить этот reverse proxy через веб интерфейс?
XRay (с VLESS/XTLS): проброс портов, реверс-прокси, и псевдо-VPN