Ник Пост Дата
soulja(Serano)

Настраивал ли кто нибудь маршрутизацию на клиенте Nekoray? GitHub - MatsuriDayo/nekoray: Qt based cross-platform GUI proxy configuration manager (backend: sing-box)
В поле direct выставляю geoip:ru но эффекта нет, проксируется. Прописал CIDR, все равно проксируется. Поделитесь, кто настраивал роутинг на нем. Спасибо!

2023-10-10T11:57:44.281Z
0ka(0ka)

а где проверяете? на яндексе работает Яндекс.Интернетометр — проверка скорости интернета

2023-10-10T13:18:52.645Z
0ka(0ka)

можно еще сделать “custom route (global)”

{
    "rules": [
        {
            "domain_suffix": [
                ".ru"
            ],
            "outbound": "direct"
        }
    ]
}

2023-10-10T13:22:23.841Z
soulja(Serano)

На интернетометре тоже проверял. Попробую ещё раз кастом правила, первый раз не сработало.

2023-10-10T13:25:25.073Z
0ka(0ka)

прога кривая, отказался от неё и сделал конфиг для чистого sing-box, переустановите и сделайте всё с 0, может поможет

2023-10-10T13:26:20.466Z
soulja(Serano)

Возможно что кривая, у меня мак и xray + xtls reality. Ничего кроме неё не нашёл

2023-10-10T13:33:24.479Z
soulja(Serano)

Такой формат прога отказалась принимать. Но есть момент со стандарт правилами, при использовании в режиме прокси, в режиме tun сработало.

2023-10-10T15:14:30.349Z
Uporoty(Uporoty)

Убедитесь, что в конфигурации Nekoray включен sniffing (sniff result for routing или как-то так).

И да, сниппет, который скинули выше - он для использования Nekobox (с ядром Sing-box), а не Nekoray (там ядро X-ray).

2023-10-30T18:11:26.944Z
0ka(0ka)

nekoray при запуске спрашивает ядро

2023-10-30T19:14:56.384Z
Uporoty(Uporoty)

Да, если выбрать XRay, то он так и остаётся Nekoray, а если выбрать Sing-box, то он перезапускается уже как Nekobox. У них отличаются некоторые окна в интерфейсе, и, само собой, ядро.
То, что вы вбиваете в “Custom JSON” передается напрямую в конфиг, у ядер разные синтаксисы конфигов, и логично, что то, что работает с Sing-box скорее всего не заработает с XRay и наоборот.

2023-10-30T19:21:47.214Z
0ka(0ka)

с xray явно не заработает, даже не запустится конфиг

2023-10-30T19:28:20.568Z
soulja(Serano)

Спасибо за ответы, попробую завтра

2023-10-30T19:29:47.696Z
soulja(Serano)

По умолчанию был установлен, но это не сработало

2023-10-31T17:13:32.555Z
Kisliy(Андрей)

Установил Nekoray на sing-box, прочитав из статьи о блокировках, что

“Правила по суффиксам Nekobox не умеет, но их умеет sing-box в его основе, поэтому жмем “Custom” и прописываем”

С суффиксами правила работают - я проверил, но вот с доменами никак не получается фильтровать :roll_eyes:
Вбил такое в JSON:

{
    "rules": [
        {
            "domain": [
                "yandex.com",
                "google.com",
                "yahoo.com",
                "bing.com",
                "tineye.com",
                "duckduckgo.com",
                "youtube.com",
                "apple.com",
                "vk.com",
                "icq.com",
                "livejournal.com",
                "live.com",
                "login.live.com"
            ],
            "outbound": "direct"
        }
    ]
}

Или с доменами Nekobox вообще не работает? :face_with_monocle:

2024-05-01T21:23:02.313Z
0ka(0ka)

зачем проксировать только корневые домены? у ваших сайтов полно доменов типа mail.yandex.com, accounts.google.com,… оставьте domain_suffix (это не избавит от проблемы наличия доменов типа yastatic.net в сервисах яндекса и т.д., но если не критично, то можно забить, в противном случае делайте исключения по подсетям яндекса, гугла,…). И читайте официальный мануал, он не лучший, но с правилами типа как у вас там вроде проблем нет Route Rule - sing-box

2024-05-01T23:18:49.747Z
Kisliy(Андрей)

Пока не заблокированы, смысл гонять тот же трафик ютуба в обход?

Согласен, может это и более палевно даже, один комп а страница и статистика с двух разных ip приходят :face_in_clouds:

Спасибо, но всё-равно не работает, идёт в обход:

правила
{
    "route": {
        "rules": [
            {
                "domain": [
                    "yandex.com",
                    "google.com",
                    "yahoo.com",
                    "bing.com",
                    "tineye.com",
                    "duckduckgo.com",
                    "youtube.com",
                    "apple.com",
                    "vk.com",
                    "icq.com",
                    "livejournal.com",
                    "live.com",
                    "login.live.com"
                ],
                "outbound": "direct"
            }
        ]
    }
}

2024-05-02T07:39:14.481Z
0ka(0ka)

ничего не понял, вы хотите гонять ютуб через прокси или нет? по логике надо в обход прокси. Сами видео на домене googlevideo.com с сотней субдоменов, поэтому ставьте domain_suffix.

сниффинг включен? лог в info и смотрите видно ли там ваши домены и куда направляются

2024-05-02T11:45:52.516Z
Kisliy(Андрей)

Да.

Верно, в обход прокси.
Domain_suffix на удивление сработал, повозится правда пришлось, ну да ладно, главное работает. Спасибо! :+1:

Оставлю здесь код, может кто тоже мучается с этим:

Правила от Kisliy :)
{
    "rules": [
        {
            "domain_keyword": [
                "habr.com"
            ],
            "outbound": "proxy"
        },
        {
            "domain_keyword": [
                "yandex.com",
                "google.com",
                "yahoo.com",
                "bing.com",
                "tineye.com",
                "duckduckgo.com",
                "youtube.com",
                "apple.com",
                "vk.com",
                "icq.com",
                "livejournal.com",
                "microsoft.com",
                "live.com",
                "login.live.com",
                "tradingview.com"
            ],
            "outbound": "direct"
        },
        {
            "domain_suffix": [
                ".ru",
                ".su",
                ".by",
                ".рф"
            ],
            "outbound": "direct"
        },
        {
            "geoip": [
                "private",
                "ru",
                "by"
            ],
            "outbound": "direct"
        }
     ]
}

2024-05-02T20:02:47.585Z
0ka(0ka)

geoip это база данных стран и их айпи адресов, в вашем правиле ru - russia, by - belarus, стран su, рф в официальной базе не существует.
geosite это база данных сервисов, например steam, названий ru, su, by, рф в официальной базе не существует.

2024-05-02T20:14:32.139Z
Kisliy(Андрей)

Да уж, перебор вышел :see_no_evil:
Сейчас подправлю.

2024-05-02T20:27:15.555Z
0ka(0ka)

пробуйте эти правила

{
    "domain_keyword": [
        "google",
		"yandex",
		"yastatic",
		"dzen",
		"yahoo",
		"microsoft"
    ],
    "outbound": "direct"
},	
{
    "domain_suffix": [
        ".ru",
		".su",
		".by",
		".рф",
		"vk.com",
		"youtube.com",
		"gstatic.com"
    ],
    "outbound": "direct"
}

и имейте ввиду что geoip может содержать много ошибок, хотя может быть вы с ними никогда и не столкнётесь.
ru, su домены тоже могут быть заблокированы ркном.

2024-05-02T20:47:00.544Z
Kisliy(Андрей)

Ваши правила выглядят пологичнее, спасибо добавил себе.

Уже завёл отдельный “белый” список для таких :wink:

2024-05-03T01:06:38.492Z
A.g(A.g)

Есть вопрос по маршрутизации и правилам. Не понимаю, как должно работать.

На сервере по рекомендациям заблокирован выход на ru. По идее, если на клиенте в tun-режиме прописано правило:

    {
        "domain_suffix": [
            ".ru"
        ],
        "outbound": "direct"
    },

то я должен нормально попадать на тот же яндекс, но не могу.

Как должно быть и что я упустил?

2024-11-08T18:32:06.685Z
rewhat

попробуйте мой конфиг:

Спойлер
{
  "log": {
    "level": "warning",
    "timestamp": true
  },
  "dns": {
    "servers": [
      {
        "tag": "local-dns",
        "address": "local",
        "detour": "direct-out"
      },
      {
        "tag": "yandex-doh",
        "address": "https://77.88.8.8",
        "detour": "direct-out"
      },
      {
        "tag": "cloudflare-doh",
        "address": "https://1.1.1.1/dns-query",
        "detour": "proxy"
      },
	  {
		"tag": "adguard-doh",
        "address": "https://dns.adguard-dns.com/dns-query",
		"address_resolver": "cloudflare-doh",
        "detour": "proxy" 
	  }
    ],
    "rules": [
      {
        "geoip": "ru",
        "server": "yandex-doh",
        "outbound": "direct-out"
      },
      {
        "geosite": "category-ru",
        "server": "yandex-doh",
        "outbound": "direct-out"
      },
      {
        "domain_suffix": [".ru", ".su", ".xn--p1ai"],
        "server": "yandex-doh",
        "outbound": "direct-out"
      }
    ],
    "final": "cloudflare-doh",
    "strategy": "prefer_ipv4"
  },
  "inbounds": [
    {
      "type": "direct",
      "tag": "direct-in"
    },
    {
      "type": "tun",
      "tag": "tun-in",
      "interface_name": "vpn-tun",
      "auto_route": true,
      "strict_route": true,
      "inet4_address": "172.18.0.1/30",
      "stack": "system",
      "sniff": true,
      "sniff_timeout": "300ms",
      "domain_strategy": "prefer_ipv4"
    }
  ],
  "outbounds": [
    {
      "type": "vless",
      "tag": "proxy",
      "server": "XXXXXXXXXXXXXXXXXXX",
      "server_port": 123456,
      "uuid": "XXXXXXXXXXXXXXXXXXX",
      "flow": "xtls-rprx-vision",
      "tls": {
        "enabled": true,
        "server_name": "XXXXXXXXXXXXXXXXXXX",
        "utls": {
          "enabled": true,
          "fingerprint": "firefox"
        },
        "reality": {
          "enabled": true,
          "public_key": "XXXXXXXXXXXXXXXXXXX",
          "short_id": "XXXXXXXXXXXXXXXXXXX"
        }
      },
      "packet_encoding": ""
    },
    {
      "type": "direct",
      "tag": "direct-out"
    },
    {
      "type": "block",
      "tag": "block-out"
    },
    {
      "type": "dns",
      "tag": "dns-out"
    }
  ],
  "route": {
    "geoip": {
      "download_detour": "proxy"
    },
    "geosite": {
      "download_detour": "proxy"
    },
    "rules": [
      {
        "protocol": "dns",
        "outbound": "dns-out"
      },
      {
        "geoip": "private",
        "outbound": "direct-out"
      },
      {
        "geosite": "category-ru",
        "outbound": "direct-out"
      },
      {
        "geoip": "ru",
        "outbound": "direct-out"
      },
      {
        "domain_suffix": [".ru", ".su", ".xn--p1ai"],
        "outbound": "direct-out"
      },
      {
        "geosite": "category-ads-all",
        "outbound": "block-out"
      },
      {
        "protocol": "bittorrent",
        "outbound": "direct-out"
      },
      {
        "process_name": [
          "GoogleDriveFS.exe",
          "YandexDisk2.exe",
          "qbittorrent.exe",
          "steam.exe",
          "steamservice.exe",
          "steamwebhelper.exe",
          "Code.exe",
          "wslservice.exe",
          "Adguard.exe",
          "AdguardSvc.exe",
          "Docker Desktop.exe",
          "com.docker.build.exe",
          "com.docker.backend.exe",
          "com.docker.build.exe",
          "com.docker.dev-envs.exe"
        ],
        "outbound": "direct-out"
      }
    ],
    "final": "proxy",
    "auto_detect_interface": true
  }
}

У меня всё работает как надо. Если у вас не сработает, то хз.

2024-11-08T18:41:24.233Z
A.g(A.g)

Спасибо, посмотрел конфиг.

Но на самом деле то ли баг был, то ли в конфигах что-то насралося. Снёс всё и с чистого листа настроил, теперь работает.

2024-11-08T19:37:48.422Z