Обновить
1
0

Пользователь

Отправить сообщение

Удаленный файловый сервер, хранилище медиафайлов, бекапы. Связать две честные сетки.

Но, конечно, и так нормально. Интересуют просто максимальные возможности данного vpn. В сравнении с тем же wg.

У кого-то получилось добиться большей скорости клиент-сервер, чем 150-170 Мбит/с? Может скорость от клиентского приложения будет зависеть? Жаль на ios выбор особо нет

Там не один бинарник. Там несколько файлов. Проще собрать из исходников (на гитлаб есть инструкция), чем сюда прикреплять все файлы и писать куда их потом распихивать

Единственный минус этого впн - режет скорость больше, чем хотелось бы. Тестил между клиентом и впс, ocserv показал 150/170 мбит/с, wg и xtls-vless-reality - стабильно 300/300 мбит/с (максимум гт провайдера).

Интересно будет изучить настройки конфига, может какие-то параметры позволят догнать wg?)

Спасибо, разобрался. Все дело было в пути к файлу с данными авторизации в конфиге по умолчанию (было auth = "plain[passwd=./sample.passwd]", заменил на свой auth = "plain[passwd=/etc/ocserv/ocpasswd]").

Также пришлось повозиться, так как собирал из исходников крайнюю версию 1.2.3. В результате все файлы помещаются по нестандартным путям: в /usr/local/bin и / usr/local/sbin. Ну и в конфиге пришлось многое закомментить, иначе ругалось на а всякие дефолтные example.com. После этого на сертификаты тоже перестало ругаться!

В итоге завелось все. Сервер v1.2.3. На ios через Cisco Secure Client v5.0.02602 - с камуфляжем работает. На ПК (windows) с Cisco AnyConnect v4.10.07073 - тоже работяет с комуфляжем!

У меня на ios с AnyConnect не работает почему-то. Во-первых ругается на сертификат (от letsencrypt), во-вторых ни с камуфляжем, ни без него - ошибка на этапе ввода имени пользователя «Secure client. Не удалось установить подключение»

Исключать приложения на ios нельзя (на android можно). Есть в shadowrocket еще возможность по user-agent настраивать правила (поможет для приложений).

Здесь вам надо понимать суть правил маршрутизации - любой ресурс/сервис/приложение в конечном итоге ссылается на определенные домены/ip. Поэтому, например, если вы настроите блок для youtube.com - то ни в приложении, ни в браузере вы доступ к нему не получите (только надо учитывать, что у крупных сервисов могут использоваться десятки или сотни ip/доменов на которых работают сервисы и их части. Например: youtubego.in, youtubei.googleapis.com, youtubekids.com, и т.д.)

Для иви, кинопоиска и прочего - ищите списки доменов/ip и добавляйте в shadowrocket (как в моем примере можно). Но вы так же должны понимать, что настройка директа .ru доменов и geoip:ru - позволит вам заходить практически на любой российский сайт/сервис/приложение без проблем. Если хотите только эти конкретные сервисы настроить - опять же, ищите листы с их доменами/ip и добавляйте в конфиг

Зайдите в настройки конфигурационного файла: Config - default.conf. Долгий тап по файлу и выбираете Edit Plain Text. Удаляете все оттуда и вставляете этот код:

# Shadowrocket: 2023-11-20 14:01:58
[General]
bypass-system = true
skip-proxy = 192.168.0.0/16,10.0.0.0/8,172.16.0.0/12,localhost,*.local,captive.apple.com
tun-excluded-routes = 10.0.0.0/8, 100.64.0.0/10, 127.0.0.0/8, 169.254.0.0/16, 172.16.0.0/12, 192.0.0.0/24, 192.0.2.0/24, 192.88.99.0/24, 192.168.0.0/16, 198.51.100.0/24, 203.0.113.0/24, 224.0.0.0/4, 255.255.255.255/32, 239.255.255.250/32
dns-server = 8.8.8.8,8.8.4.4
fallback-dns-server = 
ipv6 = false
prefer-ipv6 = false
dns-fallback-system = false
dns-direct-system = false
icmp-auto-reply = true
always-reject-url-rewrite = false
private-ip-answer = true
# direct domain fail to resolve use proxy rule
dns-direct-fallback-proxy = true
# The fallback behavior when UDP traffic matches a policy that doesn't support the UDP relay. Possible values: DIRECT, REJECT.
udp-policy-not-supported-behaviour = REJECT

[Rule]
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/Whatsapp/Whatsapp.list,PROXY
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/Telegram/Telegram.list,DIRECT
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/VK/VK.list,DIRECT
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/Yandex/Yandex.list,DIRECT
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/Google/Google.list,DIRECT
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/YouTube/YouTube.list,DIRECT
DOMAIN-SUFFIX,xn--80aswg,DIRECT
DOMAIN-SUFFIX,xn--c1avg,DIRECT
DOMAIN-SUFFIX,xn--80asehdb,DIRECT
DOMAIN-SUFFIX,xn--p1acf,DIRECT
DOMAIN-SUFFIX,xn--p1ai,DIRECT
DOMAIN-SUFFIX,su,DIRECT
DOMAIN-SUFFIX,ru,DIRECT
GEOIP,RU,DIRECT
# LAN
IP-CIDR,192.168.0.0/16,DIRECT
IP-CIDR,10.0.0.0/8,DIRECT
IP-CIDR,172.16.0.0/12,DIRECT
IP-CIDR,127.0.0.0/8,DIRECT
# Final
FINAL,PROXY

[Host]
localhost = 127.0.0.1

Сохраняете, затем включаете роутинг: Home - Global Routing - Config.

PS: в моем конфиге проксируется все кроме:

.ru доменов;

.su доменов;

доменов типа .рф, .сайт, .онлайн и т.д.;

RU сайтов по geoip;

сервисов: Google, Yandex, WhatsApp, Telegram, VK, YouTube

Спасибо за наводку. Нашел еще очень полезный пример конфигов xray и nginx для разруливания по SNI:

https://github.com/chika0801/Xray-examples/tree/main/VLESS-XTLS-uTLS-REALITY/nginx_sni_shunting

В итоге настроил маскировку в reality под собственный сайт на одном сервере с xray. Разницы в скорости серфинга или уменьшение задержки не заметил (по сравнению с microsoft.com в качестве dest)

Подскажите, как можно измерить latency моего подключения xray для сравнения вариантов?

Подсказали конфиг на гите:

{
  "dns": {
    "servers": [
      {
        "address": "127.0.0.1",
        "port": 53
      }
    ]
  },
  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "rules": [
      {
        "type": "field",
        "inboundTag": ["dns-in"],
        "outboundTag": "dns-out"
      },
      // your other rules here
    ]
  },
  "inbounds": [
    {
      "port": 53,
      "tag": "dns-in",
      "protocol": "dokodemo-door",
      "settings": {
        "address": "127.0.0.1",
        "port": 53,
        "network": "tcp,udp"
      }
    },
    // your other inbounds here
  ],
  "outbounds": [
    {
      "tag": "dns-out",
      "protocol": "dns",
      "settings": {
        "network": "tcp,udp",
        "address": "127.0.0.1",
        "port": 53
      }
    },
    // your other outbounds here
  ]
}

Я по этому образцу откорректировал свой конфиг (x-ui от alireza0). При такой настройке x-ray запускается, но клиенты без интернета:

{
  "api": {
    "services": [
      "HandlerService",
      "LoggerService",
      "StatsService"
    ],
    "tag": "api"
  },
  "dns": {
    "servers": [
      {
        "address": "127.0.0.1",
        "port": 53
      }
    ]
  },
  "fakeDns": null,
  "inbounds": [
    {
      "listen": null,
      "port": 53,
      "protocol": "dokodemo-door",
      "settings": {
        "address": "127.0.0.1",
        "network": "tcp,udp",
        "port": 53
      },
      "sniffing": null,
      "streamSettings": null,
      "tag": "dns-in"
    },
    {
      "listen": "127.0.0.1",
      "port": 62789,
      "protocol": "dokodemo-door",
      "settings": {
        "address": "127.0.0.1"
      },
      "sniffing": null,
      "streamSettings": null,
      "tag": "api"
    },
    {
      "listen": null,
      "port": 443,
      "protocol": "vless",
      "settings": {
        "clients": [
          {
            "email": "111",
            "flow": "xtls-rprx-vision",
            "id": "111"
          },
          {
            "email": "222",
            "flow": "xtls-rprx-vision",
            "id": "222"
          },
          {
            "email": "333",
            "flow": "xtls-rprx-vision",
            "id": "333"
          },
          {
            "email": "444",
            "flow": "xtls-rprx-vision",
            "id": "444"
          }
        ],
        "decryption": "none",
        "fallbacks": []
      },
      "sniffing": {
        "destOverride": [
          "http",
          "tls",
          "quic",
          "fakedns"
        ],
        "enabled": true
      },
      "streamSettings": {
        "network": "tcp",
        "realitySettings": {
          "dest": "www.microsoft.com:443",
          "maxClient": "",
          "maxTimediff": 0,
          "minClient": "",
          "privateKey": "000",
          "serverNames": [
            "microsoft.com",
            "www.microsoft.com"
          ],
          "settings": {
            "fingerprint": "firefox",
            "publicKey": "000",
            "serverName": "",
            "spiderX": "/"
          },
          "shortIds": [
            "111",
            "222",
            "333",
            "444"
          ],
          "show": false,
          "xver": 0
        },
        "security": "reality",
        "tcpSettings": {
          "acceptProxyProtocol": false,
          "header": {
            "type": "none"
          }
        }
      },
      "tag": "inbound-443"
    }
  ],
  "log": {
    "loglevel": "warning"
  },
  "outbounds": [
    {
      "protocol": "dns",
      "settings": {
        "address": "127.0.0.1",
        "network": "tcp,udp",
        "port": 53
      },
      "tag": "dns-out"
    },
    {
      "protocol": "freedom",
      "settings": {
        "domainStrategy": "AsIs"
      }
    },
    {
      "protocol": "blackhole",
      "settings": {},
      "tag": "blocked"
    }
  ],
  "policy": {
    "levels": {
      "0": {
        "statsUserDownlink": true,
        "statsUserUplink": true
      }
    },
    "system": {
      "statsInboundDownlink": true,
      "statsInboundUplink": true
    }
  },
  "reverse": null,
  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "rules": [
      {
        "inboundTag": [
          "dns-in"
        ],
        "outboundTag": "dns-out",
        "type": "field"
      },
      {
        "inboundTag": [
          "api"
        ],
        "outboundTag": "api",
        "type": "field"
      }
    ]
  },
  "stats": {},
  "transport": null
}

Может еще какие-то особенности для клиента есть?

В appstore приобретал. Через мтс.

Поставьте streisand - очень неплохой клиент! И бесплатный.

Такая же ерунда часто бывает. Запускаю подключение, перехожу по порядку на 3 разные сайта dns leak test - на последнем 100% уже сброшено подключение. Перешел на shadowrocket и straisend

А, вот вы о чем)

Я пока не проверял этот вариант. Так, идея просто, надо думать

На данный момент на MaxMind Geolite2 невозможно зарегистрироваться с российских ip. Даже через прокси или впн. За меня регался знакомый из сша, вводил мои данные, мою почту. В итоге мне на почту пришло письмо с подтверждением регистрации

map $ssl_preread_server_name $sni_name {
www.microsoft.com reality; #сайт под который маскируемся
mydomain.com site1; #свой же сайт
sub.mydomain.com site2; #субдомен своего сайта
default reality;
}
upstream reality {
server 127.0.0.1:8443;
}
upstream site1 {
server 127.0.0.1:8444;
}
upstream site2 {
server 127.0.0.1:8445;
}
server {
listen 443 reuseport;
proxy_pass $sni_name;
ssl_preread on;
}

Вот более наглядно. Здесь меняете mydomain.com и sub.mydomain.com на свои значения. www.microsoft.com - адрес для xray reality, его можете оставить (но тогда и в самом x-ray такой же должен быть). Все порты, кроме 443 меняйте на свое усмотрение

Конфиг работает.

Но клиенты с ios все равно не проходят тест на утечку ip. Shadowsocks, foXray и Streisand - везде одинаково. В настройках этих приложений указывал дес сервер 127.0.0.1 и 8.8.8.8 - без разницы.

Точно верхний блок в inbounds?

В x-ui такой конфиг выдает ошибку:

Failed to start: main: failed to load config files: [bin/config.json] > infra/conf: failed to load inbound detour config. > infra/conf: unknown config id: dns

{
  "api": {
    "services": [
      "HandlerService",
      "LoggerService",
      "StatsService"
    ],
    "tag": "api"
  },
  "dns": null,
  "fakeDns": null,
  "inbounds": [
    {
      "listen": null,
      "port": 0,
      "protocol": "dns",
      "settings": null,
      "sniffing": null,
      "streamSettings": null,
      "tag": "dns"
    },
    {
      "listen": "127.0.0.1",
      "port": 55555,
      "protocol": "dokodemo-door",
      "settings": {
        "address": "127.0.0.1"
      },
      "sniffing": null,
      "streamSettings": null,
      "tag": "api"
    },
    {
      "listen": null,
      "port": 8443,
      "protocol": "vless",
      "settings": {
        "clients": [
          {
            "email": "111",
            "flow": "xtls-rprx-vision",
            "id": "11111111"
          },
          {
            "email": "222",
            "flow": "xtls-rprx-vision",
            "id": "22222222"
          },
          {
            "email": "333",
            "flow": "xtls-rprx-vision",
            "id": "33333333"
          }
        ],
        "decryption": "none",
        "fallbacks": []
      },
      "sniffing": {
        "destOverride": [
          "http",
          "tls",
          "quic",
          "fakedns"
        ],
        "enabled": true
      },
      "streamSettings": {
        "network": "tcp",
        "realitySettings": {
          "dest": "www.microsoft.com:443",
          "maxClient": "",
          "maxTimediff": 0,
          "minClient": "",
          "privateKey": "00000000",
          "serverNames": [
            "microsoft.com",
            "www.microsoft.com"
          ],
          "settings": {
            "fingerprint": "firefox",
            "publicKey": "00000000",
            "serverName": "",
            "spiderX": "/"
          },
          "shortIds": [
            "xxx",
            "yyy",
            "zzz"
          ],
          "show": false,
          "xver": 0
        },
        "security": "reality",
        "tcpSettings": {
          "acceptProxyProtocol": false,
          "header": {
            "type": "none"
          }
        }
      },
      "tag": "inbound-8443"
    }
  ],
  "log": {
    "loglevel": "warning"
  },
  "outbounds": [
    {
      "protocol": "freedom",
      "settings": {}
    },
    {
      "protocol": "blackhole",
      "settings": {},
      "tag": "blocked"
    }
  ],
  "policy": {
    "levels": {
      "0": {
        "statsUserDownlink": true,
        "statsUserUplink": true
      }
    },
    "system": {
      "statsInboundDownlink": true,
      "statsInboundUplink": true
    }
  },
  "reverse": null,
  "routing": {
    "domainStrategy": "AsIs",
    "rules": [
      {
        "inboundTag": [
          "api"
        ],
        "outboundTag": "api",
        "type": "field"
      },
      {
        "outboundTag": "dns",
        "port": 53,
        "type": "field"
      }
    ]
  },
  "stats": {},
  "transport": null
}

Спасибо, попробую!

Но не понятно, что тогда в настройках днс клиента указывать? В том же Straisand или Shadowrocket необходимо dns вписать в настройках

Дело в том, что у меня не DoH. Как ниже написал ТС, при режиме Прокси - все днс запросы по умолчанию идут через системный днс моего впс. Но, естественно, мне нужен tun режим с моими правилами роутинга.

О, кстати отличная идея. На этом же впс у сеня есть свои сервисы/сайты за веб сервером. Главные условия tls 1.3 и h2 - не проблема. И тогда на свой же домен на этом впс можно ссылаться в Reality - так еще и задержка будет минимальная!)

1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность