Merge pull request #4 from EvgenyNerush/test

v 1.0
This commit is contained in:
Evgenii Nerush 2023-12-23 23:13:03 +03:00 committed by GitHub
commit 78418726a4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
27 changed files with 1247 additions and 368 deletions

3
.gitignore vendored
View file

@ -1,2 +1 @@
config_*.json
config_*.json.backup
figs/*.kra

14
HiddifyNG.en.md Normal file
View file

@ -0,0 +1,14 @@
[HiddifyNG in Google Play](https://play.google.com/store/apps/details?id=ang.hiddify.com&pcampaignid=web_share)
Copy config in a form of a link. Open Hiddify app, click Clipboard button, enter any name for a group (e.g. xray), press Confirm. Then click
Configs (on the bottom), you should see "easy-xray" with your server ip. Go to Settings, Custom rules, direct URL or IP section, and paste
the content of `misc/customgeo4hiddify.txt` as plain text. Save, then click to connect/start.
![](figs/hiddify-1.jpg)
![](figs/hiddify-2.jpg)
![](figs/hiddify-3.jpg)
![](figs/hiddify-4.jpg)

16
Nekoray.ru.md Normal file
View file

@ -0,0 +1,16 @@
[Релизы Nekoray (см. Assets)](https://github.com/MatsuriDayo/nekoray/releases)
Выбираем ядро xray, добавляем профиль (конфиг-ссылка), настраиваем маршруты (копируем из `misc/customgeo4nekoray.txt`), выбираем режим
системного прокси, и запускаем!
![](figs/nekoray-1.jpg)
![](figs/nekoray-2.jpg)
![](figs/nekoray-3.jpg)
![](figs/nekoray-4.jpg)
![](figs/nekoray-5.jpg)
![](figs/nekoray-6.jpg)

149
README.md
View file

@ -1,61 +1,140 @@
# easy-xray
*Script for Linux which makes XRay installation and configuration easy*
*Script for Linux which makes XRay management easy*
(todo) [Readme in Russian](README.ru.md)
[Readme in Russian](README.ru.md) [(todo) Readme in Chinese](README.cn.md)
(todo) [Readme in Chinese](README.cn.md)
[XRay (aka ProjectX)](https://xtls.github.io/en/) is a frontier solution to circumvent the internet censorship. XRay allows to guide traffic
through a server (VPS) outside the region of censorship as a proxie, but connection to xray server looks for authorities as a typical
connection to a regular website. Attempts to detect VPN such as [active probing](https://ensa.fi/active-probing/) or blocking by the rule
"all except https" are eliminated by XRay. Also, XRay server can be configured to open only foreign websites, thus preventing detection by
the code on domestic websites. As a proxy, XRay has no need to encrypt already encrypted https traffic, hence CPU load is low. XRay doesn't
need to keep the connection alive, and users don't need to manually reconnect to it time-to-time. Also users don't need to turn a client off
to go to most domestic websites.
[XRay (aka ProjectX)](https://xtls.github.io/en/) is a frontier solution to surpass the internet censorship. It can work as a server and as
a client allowing to guide traffic through a VPS outside the region of censorship. XRay configuration can be confusing for a newcomer,
so, here is a script which helps to
![xray-schematic: traffic to foreign websites goes through vps, traffic to domestic sites goes directly from pc](figs/xray-schematic.png)
- install/upgrade/remove XRay and geodata
Besides of its plusses, configuration and management of XRay server is quite sophisticated. So, here is a script which helps to do it. It
can
- install/upgrade/remove XRay
- generate credentials and server/client configs
- add/delete users to the configs
- and more
### How to use on VPS
First you need a Linux server (VPS) with [jq](https://jqlang.github.io/jq/) and `openssl` installed, they can be found in repositories of
almost all popular Linux distributions. Then download whole `easy-xray` folder to the VPS, make the script `ex.sh` executable, and run a
desired command with it. Use `./ex.sh help` to see the list of all available commands and `./ex.sh install` to start interactive prompt
that installs and configures XRay.
First, make the script `ex.sh` executable, then run a desired command with it. Use `./ex.sh help` to see the list of all available commands
and `./ex.sh install` to start interactive prompt which installs and configures XRay.
```
$ chmod +x ex.sh
$ ./ex.sh help
$ sudo ./ex.sh install
chmod +x ex.sh
./ex.sh help
sudo ./ex.sh install
```
### Prerequisites
Now you have `conf` folder with server and client configs and some user configs. Server config is properly installed and XRay is running.
Time to share configs or *links* with users! To generate config in the link form, use `./ex.sh link user_config_file.json`.
For manipulations with configs, [jq](https://jqlang.github.io/jq/) is needed, it can be found in repositories of almost all popular Linux
distributions.
### Clients
### How it works
#### Linux
With current configs, XRay creates a tunnel between the client (your laptop, phone etc.) and the server (your VPS). The tunnel uses VLESS
[Reality](https://github.com/XTLS/REALITY/blob/main/README.en.md) protocol that obfuscates traffic and in our case imitates
[grpc](https://en.wikipedia.org/wiki/GRPC). For the censor the tunnel looks like a usual connection to a site. The server responds to https
requests as some popular site thus it is not suspicious for an active probing. On the client side *XRay* creates http/https and socks
proxies which can be used by your Telegram or web browser like this:
XRay itself can be a client, besides plenty of GUI clients that are available for other popular operating systems (see below). You can
manually install XRay with [official script](https://github.com/XTLS/Xray-install) and manually copy `customgeo.dat` to
`/usr/local/share/xray/` or just install them both with `sudo ./ex.sh install` command. Then, copy client config from the server and run:
![browser proxy: http/https proxy 127.0.0.1 at port 801, socks v5 host 127.0.0.1 at port 800](browser-proxy-settings.png)
```
sudo cp config_client_username.json /usr/local/etc/xray/config.json
sudo systemctl start xray
```
Note that there is no additional encryption layer in VLESS; using it you rely on the encryption that the browser (Telegram app etc.) makes.
Note also that for current client config, traffic to .cn, .ru, .by and .ir sites goes directly from the client, see
[here](https://github.com/EvgenyNerush/coherence-grabber) for details. This makes your server much less attention-grabbing and suspicious,
but your connection less anonymous.
or
### Other clients
```
sudo xray run -c config_client_username.json
```
For Windows, MacOS or Android you can try Nekobox, v2rayNG or ? (TODO): tests and config generation for them.
In the current configuration, on the client side XRay creates http/https and socks5 proxies on your PC which can be used by your Telegram
app or Web browser like this:
### Futher reading
![browser proxy: http/https proxy 127.0.0.1 at port 801, socks v5 host 127.0.0.1 at port 800](figs/browser-proxy-settings.png)
Template configs contain comments and links and are good start to find another interesting Xray configuration options.
To check that traffic to domestic and foreing sites goes by different ways, visit, for example,
[whatismyip.com](https://www.whatismyip.com/) and [2ip.ru](https://2ip.ru/). They should show different IP addressess.
### Acknowledgements
#### Windows
[This article (in Russian)](https://habr.com/ru/articles/731608/) helped me to install *XRay* for the first time.
Use [Nekoray (Nekobox)](https://github.com/MatsuriDayo/nekoray) client that releases can be found on [this
page](https://github.com/MatsuriDayo/nekoray/releases). Choose one of Assets, for instance `nekoray-3.26-2023-12-09-windows64.zip`, download
then unzip it and run Nekoray. The following configuration is [quite easy (RU)](Nekoray.ru.md).
#### MacOS
Use XRay:
```
brew install xray
cp customgeo.dat /usr/local/share/xray/ # not yet tested
sudo xray -config=config_client_username.json
```
#### Android
For many mobile applications it is enough to paste a client config in a link form from the buffer, and add customgeo in an appropriate form
(see `misc` dir) to somethere like `Settings/Routing/Custom rules/Direct URL`. Tested applications are listed below.
Use [V2RayNG](https://play.google.com/store/apps/details?id=com.v2ray.ang&pcampaignid=web_share),
[HiddifyNG](https://play.google.com/store/apps/details?id=ang.hiddify.com&pcampaignid=web_share) or [Hiddify
Next](https://play.google.com/store/apps/details?id=app.hiddify.com&pcampaignid=web_share). They are very similar to each other, here are
some instructions for [V2RayNG (RU)](V2RayNG.ru.md) and [HiddifyNG (EN)](HiddifyNG.en.md).
#### iOS
Use [Straisand](https://apps.apple.com/us/app/streisand/id6450534064). Its configuration is very similar to that of V2Ray and Hiddify (see
above). Manual copy-paste from json config file is also possible. (customgeo not yet tested)
#### Others
[Here](https://github.com/xtls/xray-core) you can find an additional list of clients.
### Tor
Most of GUI clients are based on xray core, but do not fully support its configuration, that is crutial for Tor. To use
[TorBrowser](https://www.torproject.org/download/) in this case, use bridges. To get a bridge, send a letter to bridges@torproject.org, then
copy symbols after `obfs4` and paste them to TorBrowser bridge settings.
### Bittorrent
Bittorent protocol is blocked in the current configuration. Using bittorent on a VPS can lead to a ban from VPS provider.
### What else
#### Hints
To choose a good `serverName` (your VPS will mimic this website), you can use [RealiTLScanner](https://github.com/XTLS/RealiTLScanner). This
tool scans ip addresses near your server (do it not from your VPS!) and show names found at port 443. With `nmap -T4 hostname` you can check
that only ports 80 and 443 are open on hosts of the found websites (as in the configurations of template configs). It is also good to move
ssh on your VPS to a port beyond 1024. It can be done in `/etc/ssh/sshd_config`. Check twice that VPS is available at your new port before
you comment Port 22!
```
#Port 22
Port 43210
```
#### Links
Template configs contain comments and links and are a good start to find another interesting Xray configuration options.
See [this link](https://github.com/EvgenyNerush/coherence-grabber) for details on how `customgeo` files are generated.
[This article (in Russian)](https://habr.com/ru/articles/731608/) helped me to install XRay for the first time.
The template configs are based on these [gRPC](https://github.com/XTLS/Xray-examples/tree/main/VLESS-gRPC-REALITY)
and [XTLS](https://github.com/XTLS/Xray-examples/tree/main/VLESS-TCP-XTLS-Vision-REALITY) examples.
[XRay config reference](https://xtls.github.io/en/config/) is brilliant and helped me much.
Configs for [gRPC](https://github.com/XTLS/Xray-examples/tree/main/VLESS-gRPC-REALITY)
and [XTLS](https://github.com/XTLS/Xray-examples/tree/main/VLESS-TCP-XTLS-Vision-REALITY) on that the template configs are based.

148
README.ru.md Normal file
View file

@ -0,0 +1,148 @@
# easy-xray
*XRay - это просто*
[(EN)](README.md) [(CN(todo))](README.cn.md)
[XRay (aka ProjectX)](https://xtls.github.io/en/) - современное решение для обхода интернет-цензуры. Он - как прокси - позволяет проводить
трафик через сервер (VPS) за пределами региона с цензурой, при этом подключение к серверу XRay выглядит как подключение к обычному сайту.
Попытки обнаружения VPN, такие как активное зондирование [(active probing)](https://ensa.fi/active-probing/) или блокировка по правилу
«блокируем все протоколы, кроме https», для XRay не страшны. Кроме того, сервер XRay можно настроить на открытие только "зарубежных"
веб-сайтов, что предотвращает попытки обнаружения туннеля сайтами "домашнего" региона. XRay (в случае использования протокола
VLESS-Reality) не шифрует уже зашифрованный https-трафик, поэтому нагрузка на процессор невелика. XRay не нужно поддерживать соединение, и
пользователям не нужно время от времени повторно подключаться к нему вручную. При правильной настройке клиента пользователям не нужно
отключаться от сервера, чтобы перейти на большинство веб-сайтов "домашнего" региона.
![схема: трафик до зарубежных сайтов идёт через сервер, а до домашних сайтов - напрямую с ПК](figs/xray-schematic.png)
Помимо плюсов, у XRay есть и недостатки - например, сложная настройка и администрирование, что стало мотивацией для создания этого
репозитория и скрипта `ex.sh`. Этот скрипт поможет
- установить/обновить/удалить XRay
- генерировать учетные данные и конфигурации сервера/клиента
- добавлять/удалять пользователей
- и т. д.
### Как использовать на VPS
Для начала нужно арендовать VPS сервер вне региона с цензурой (или попросить друзей заграницей сделать это). После на сервер нужно
установить [jq](https://jqlang.github.io/jq/) и `openssl` - их можно найти в репозиторияx практически всех популярных Linux дистрибутивов.
Затем скачайте `easy-xray` (всю директорию целиком), сделайте исполняемым файл `ex.sh` и запустите нужную команду. Используйте `./ex.sh
help` для получения списка всех команд и короткой справки по ним. Для установки и настройки xray используйте `./ex.sh install` - эта команда
предложит вам ввести ip-адрес вашего сервера, адрес сайта, под который ваш сервер будет маскироваться, и имена пользователей.
```
chmod +x ex.sh
./ex.sh help
sudo ./ex.sh install
```
В результате у вас появится директория `conf` с серверным конфигом, основным клиентским конфигом и конфигами пользователей. Серверный конфиг
будет должным образом установлен, а xray - запущен с ним. Настало время раздать конфиги пользователям! Для многих графических клиентов
удобно использовать конфиги в виде ссылок, которые можно сгенерировать командой `./ex.sh link user_config_file.json`.
### Клиенты
#### Linux
Для подключения к XRay-серверу существуют клиенты с графическим интерфейсом, но о них чуть позже. На Linux удобно использовать сам XRay в
качестве клиента. XRay можно установить вручную, используя [официальный скрипт](https://github.com/XTLS/Xray-install), после чего
скопировать `customgeo.dat` в `/usr/local/share/xray/`. Другой вариант установить XRay и `customgeo.dat` - воспользоваться командой `sudo
./ex.sh install`. Затем нужно скопировать клиентский конфиг с сервера и выполнить
```
sudo cp config_client_username.json /usr/local/etc/xray/config.json
sudo systemctl start xray
```
или
```
sudo xray run -c config_client_username.json
```
XRay с текущим клиентским конфигом создаёт локальные http/https и socks5 прокси, которые могут быть прописаны в настройки Телеграма или
браузера примерно так:
![прокси в браузере: http/https прокси 127.0.0.1 порт 801, socks5 хост 127.0.0.1 порт 800](figs/browser-proxy-settings.png)
Чтобы проверить, что трафик до "зарубежных" и "домашних" сайтов идёт разными путями, зайдите на
[whatismyip.com](https://www.whatismyip.com/) и [2ip.ru](https://2ip.ru/). Они должны показать разные ip-адреса и локации.
#### Windows
Используйте [Nekoray (Nekobox)](https://github.com/MatsuriDayo/nekoray) - клиент с графическим интерфейсом. Релизы для Windows можно найти
на [этой странице](https://github.com/MatsuriDayo/nekoray/releases) в разделе Assets. Выберите и скачайте, например,
`nekoray-3.26-2023-12-09-windows64.zip`, затем распакуйте и запустите. Дальнейшее конфигурирование [описано здесь](Nekoray.ru.md).
#### MacOS
Используйте сам XRay:
```
brew install xray
cp customgeo.dat /usr/local/share/xray/ # not yet tested
sudo xray -config=config_client_username.json
```
#### Android
Для многих мобильных клиентов вся настройка заключается в том, что нужно вставить конфиг-ссылку из буфера обмена, а после добавить сайты из
customgeo в подходящей форме (см. директорию `misc`) в "прямые" маршруты (в `Settings/Routing/Custom rules/Direct URL` или что-то подобное).
Приложения, которые были протестированы, перечислены ниже.
Скачайте из Google Play [V2RayNG](https://play.google.com/store/apps/details?id=com.v2ray.ang&pcampaignid=web_share),
[HiddifyNG](https://play.google.com/store/apps/details?id=ang.hiddify.com&pcampaignid=web_share) или [Hiddify
Next](https://play.google.com/store/apps/details?id=app.hiddify.com&pcampaignid=web_share). Они очень похожи друг на друга, здесь есть
инструкции для [V2RayNG](V2RayNG.ru.md) и [HiddifyNG (EN)](HiddifyNG.en.md).
#### iOS
Используйте [Straisand](https://apps.apple.com/us/app/streisand/id6450534064). Конфигурирование аналогично тому, что описано для V2Ray или
Hiddify (см. выше). Customgeo - ещё не протестирован.
#### Другие
[Здесь](https://github.com/xtls/xray-core) можно найти дополнительный список клиентов.
### Tor
В случае использования XRay в качестве клиента с текущей конфигурацией не должно возникнуть проблем. Однако большинство графических
клиентов, хотя в качестве ядра используют xray, не дают полного доступа к его конфигурации. Из-за этого
[Torbrowser](https://www.torproject.org/download/) не всегда может работать "из коробки". Если подключиться к сети Tor не удаётся,
попробуйте использовать мост (специальный промежуточный сервер между вами и сетью Tor). Чтобы получить мост, отправьте письмо с любым
текстом на bridges@torproject.org, затем вставьте из ответного письма символы после `obfs4` в настройки моста в Torbrowser.
### Bittorrent
Bittorent протокол блокируется в текущих настройках - использование bittorrent может привести к бану со стороны VPS провайдера.
### Что ещё?
#### Советы
Для того, чтобы выбрать сайт, который будет видеть на вашем сервере цензор в случае атаки active probing (`serverName` в конфигах), можно
воспользоваться утилитой [RealiTLScanner](https://github.com/XTLS/RealiTLScanner). Она может просканировать адреса, близкие к вашему серверу
(делайте это с домашнего компьютера, а не с сервера!), и показать имена сайтов на них. С помощью команды `nmap -T4 hostname` можно
проверить, что на выбранном вами сервере открыты только порты 80 и 443 (как в настройках xray здесь). Также неплохо выбрать далёкий порт для
ssh вместо 22-го, если на выбранном вами сайте этот порт не открыт. Дважды проверьте, что по выбранному вами порту ssh вы можете зайти на
сервер - только после этого закрывайте порт 22.
```
#Port 22
Port 43210
```
#### Ссылки
Шаблонные конфиг-файлы для сервера и клиента (`template_config_*.json`) содержат много комментариев, которые могут помочь в создании своей
собственной конфигурации клиента и сервера.
Шаблонные конфиги сделаны на основе этих [двух](https://github.com/XTLS/Xray-examples/tree/main/VLESS-gRPC-REALITY) [примеров](https://github.com/XTLS/Xray-examples/tree/main/VLESS-TCP-XTLS-Vision-REALITY).
[Описание всех возможных полей XRay конфигов (EN)](https://xtls.github.io/en/config/) очень подробное и хорошо помогает.
[Здесь](https://github.com/EvgenyNerush/coherence-grabber) детали того, как собраны сайты для доступа напрямую, прописанные в `customgeo`.
[Эта статья](https://habr.com/ru/articles/731608/) помогла мне установить XRay в первый раз.

11
V2RayNG.ru.md Normal file
View file

@ -0,0 +1,11 @@
[V2RayNG в Google Play](https://play.google.com/store/apps/details?id=com.v2ray.ang&pcampaignid=web_share)
Конфиг-ссылку нужно скопировать и добавить в приложение ("+" справа вверху, далее импорт профиля из буфера обмена).
Для нормальной работы российских сайтов нужно скопировать содержимое `misc/customgeo4hiddify.txt` в пользовательские правила (прямые).
![](figs/v2ray-1.jpg)
![](figs/v2ray-2.jpg)
![](figs/v2ray-3.jpg)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

View file

@ -1,30 +1,53 @@
 
COHERENCE-EXTRA lenta.com
Ô
COHERENCE-EXTRA habr.comhabrastorage.org lenta.com
rugldn.net
ru yastatic.net
ru
yandex.net
rumycdn.me
ruavito.st
ru gismeteo.st
ru gismeteo.net
ruozonusercontent.com
ru gismeteo.st
ru
by  gismeteo.net
ru
byozonusercontent.com
ru mradx.net
ru aestatic.net
ru
alicdn.com
ru!rambler.pushwoosh.com
ruvk.com
ru! pushwoosh.com
ru
byvk.com
ru
by userapi.com
ru otm-r.com
ru2gis.com
ruchampionat.com
ru rus-tv.su
ru kpcdn.net
rukp.house
rukp.kg
rukaspersky-labs.com
ruqq.com
ru kpcdn.net
ru
bykp.house
ru
bykp.kg
ru
bykaspersky-labs.com
ru yadro.com
ru boosty.to
ru eaglecdn.com
rulivejournal.com
rulivejournal.net
ruedc.sale
ru
by"stellarlabs.ai
ru
by myminsk.com
by#sputniknews.com
ru
by$sputnikglobe.com
ru
by digikala.com
irbale.ai
ru
irqq.com
cn gtimg.com
cn zhihu.com
cn geetest.com

942
ex.sh

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

BIN
figs/hiddify-1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
figs/hiddify-2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
figs/hiddify-3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

BIN
figs/hiddify-4.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

BIN
figs/nekoray-1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

BIN
figs/nekoray-2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

BIN
figs/nekoray-3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

BIN
figs/nekoray-5.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
figs/nekoray-6.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

BIN
figs/v2ray-1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
figs/v2ray-2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

BIN
figs/v2ray-3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

BIN
figs/xray-schematic.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View file

@ -0,0 +1,89 @@
geosite:cn,
domain:cn,
domain:xn--fiqs8s,
domain:xn--fiqz9s,
domain:xn--55qx5d,
domain:xn--io0a7i,
domain:ru,
domain:xn--p1ai,
domain:by,
domain:xn--90ais,
domain:ir,
domain:habr.com,
domain:habrastorage.org,
domain:lenta.com,
domain:gldn.net,
domain:yastatic.net,
domain:yandex.net,
domain:mycdn.me,
domain:avito.st,
domain:gismeteo.st,
domain:gismeteo.net,
domain:ozonusercontent.com,
domain:mradx.net,
domain:aestatic.net,
domain:pushwoosh.com,
domain:vk.com,
domain:userapi.com,
domain:otm-r.com,
domain:2gis.com,
domain:championat.com,
domain:rus-tv.su,
domain:kpcdn.net,
domain:kp.house,
domain:kp.kg,
domain:kaspersky-labs.com,
domain:yadro.com,
domain:boosty.to,
domain:eaglecdn.com,
domain:livejournal.com,
domain:livejournal.net,
domain:edc.sale,
domain:stellarlabs.ai,
domain:myminsk.com,
domain:sputniknews.com,
domain:sputnikglobe.com,
domain:digikala.com,
domain:bale.ai,
domain:qq.com,
domain:gtimg.com,
domain:zhihu.com,
domain:geetest.com,
domain:zhimg.com,
domain:126.net,
domain:163.com,
domain:25ku.com,
domain:sohu.com,
domain:bcebos.com,
domain:ifengimg.com,
domain:taobao.com,
domain:bdstatic.com,
domain:ad-survey.com,
domain:ifeng.com,
domain:alicdn.com,
domain:jd.com,
domain:aliapp.org,
domain:aliyun.com,
domain:iqiyi.com,
domain:mgtv.com,
domain:iqiyipic.com,
domain:hdslb.com,
domain:360buyimg.com,
domain:bilibili.com,
domain:alibaba.com,
domain:xiami.com,
domain:yinyuetai.com,
domain:ctrip.com,
domain:tripcdn.com,
domain:c-ctrip.com,
domain:fliggy.com,
domain:qyerstatic.com,
domain:baidu.com,
domain:mafengwo.net,
domain:meituan.com,
domain:dianping.com,
domain:bdimg.com,
domain:chuimg.com,
domain:autonavi.com,
domain:amap.com,
domain:mmstat.com,

View file

@ -0,0 +1,89 @@
geosite:cn
domain:cn
domain:xn--fiqs8s
domain:xn--fiqz9s
domain:xn--55qx5d
domain:xn--io0a7i
domain:ru
domain:xn--p1ai
domain:by
domain:xn--90ais
domain:ir
domain:habr.com
domain:habrastorage.org
domain:lenta.com
domain:gldn.net
domain:yastatic.net
domain:yandex.net
domain:mycdn.me
domain:avito.st
domain:gismeteo.st
domain:gismeteo.net
domain:ozonusercontent.com
domain:mradx.net
domain:aestatic.net
domain:pushwoosh.com
domain:vk.com
domain:userapi.com
domain:otm-r.com
domain:2gis.com
domain:championat.com
domain:rus-tv.su
domain:kpcdn.net
domain:kp.house
domain:kp.kg
domain:kaspersky-labs.com
domain:yadro.com
domain:boosty.to
domain:eaglecdn.com
domain:livejournal.com
domain:livejournal.net
domain:edc.sale
domain:stellarlabs.ai
domain:myminsk.com
domain:sputniknews.com
domain:sputnikglobe.com
domain:digikala.com
domain:bale.ai
domain:qq.com
domain:gtimg.com
domain:zhihu.com
domain:geetest.com
domain:zhimg.com
domain:126.net
domain:163.com
domain:25ku.com
domain:sohu.com
domain:bcebos.com
domain:ifengimg.com
domain:taobao.com
domain:bdstatic.com
domain:ad-survey.com
domain:ifeng.com
domain:alicdn.com
domain:jd.com
domain:aliapp.org
domain:aliyun.com
domain:iqiyi.com
domain:mgtv.com
domain:iqiyipic.com
domain:hdslb.com
domain:360buyimg.com
domain:bilibili.com
domain:alibaba.com
domain:xiami.com
domain:yinyuetai.com
domain:ctrip.com
domain:tripcdn.com
domain:c-ctrip.com
domain:fliggy.com
domain:qyerstatic.com
domain:baidu.com
domain:mafengwo.net
domain:meituan.com
domain:dianping.com
domain:bdimg.com
domain:chuimg.com
domain:autonavi.com
domain:amap.com
domain:mmstat.com

View file

@ -7,8 +7,42 @@
"loglevel": "warning",
"dnsLog": false
},
// Turns on traffic statistics, see https://xtls.github.io/en/config/stats.html#statsobject
// and https://xtls.github.io/en/config/policy.html#policyobject
// and special "api" tag below
"stats": {
},
"policy": {
"levels": {
// default level
"0": {
"statsUserUplink": true,
"statsUserDownlink": true
}
},
"system": {
"statsOutboundUplink": true,
"statsOutboundDownlink": true
}
},
// enables API interface https://xtls.github.io/en/config/api.html#apiobject
"api": {
"tag": "api",
"services": [ "StatsService" ]
},
// client-side inbound configuration
"inbounds": [
// gRPC API inbound, used to get statistics
{
"listen": "127.0.0.1",
"port": 8080,
"protocol": "dokodemo-door",
"settings": {
"address": "127.0.0.1"
},
"tag": "api"
},
// socks proxy
{
"tag": "socks",
"port": 800,
@ -20,14 +54,16 @@
"destOverride": [
"http",
"tls"
]
],
"routeOnly": true
},
// settings of inbound `protocol` (see above)
// settings of inbound "protocol" (see above)
"settings": {
"auth": "noauth",
"udp": true
}
},
// http/https proxy
{
"tag": "http",
"port": 801,
@ -40,9 +76,9 @@
"http",
"tls"
],
"routeOnly": false
"routeOnly": true
},
// settings of inbound `protocol` (see above)
// settings of inbound "protocol" (see above)
"settings": {
"auth": "noauth",
"udp": true
@ -105,6 +141,13 @@
"routing": {
"domainStrategy": "AsIs",
"rules": [
{
"type": "field",
"inboundTag": [
"api"
],
"outboundTag": "api"
},
{
"type": "field",
"domain": [

View file

@ -7,11 +7,41 @@
"loglevel": "warning",
"dnsLog": false
},
// Turns on traffic statistics, see https://xtls.github.io/en/config/stats.html#statsobject
// and https://xtls.github.io/en/config/policy.html#policyobject
// and special "api" tag below
"stats": {
},
"policy": {
"levels": {
// default level
"0": {
"statsUserUplink": true,
"statsUserDownlink": true
}
},
"system": {
"statsOutboundUplink": true,
"statsOutboundDownlink": true
}
},
// enables API interface https://xtls.github.io/en/config/api.html#apiobject
"api": {
"tag": "api",
"services": [ "StatsService" ]
},
// Forward each inbound connections to corresponding `outboundTag`. If no rules match,
// the traffic is sent out by the first outbound in `outbounds` section.
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"inboundTag": [
"api"
],
"outboundTag": "api"
},
{
"type": "field",
"port": "80",
@ -64,6 +94,16 @@
},
// server-side inbound configuration
"inbounds": [
// gRPC API inbound, used to get statistics
{
"listen": "127.0.0.1",
"port": 8080,
"protocol": "dokodemo-door",
"settings": {
"address": "127.0.0.1"
},
"tag": "api"
},
// main inbound, clients connect to it
{
"listen": "0.0.0.0",
@ -117,9 +157,9 @@
"enabled": true,
"destOverride": [
"http",
"tls",
"quic"
]
"tls"
],
"routeOnly": true
}
},
// extra inbound; its main purpose is to get fallback to "dest" at port 80. Many regular websites
@ -176,9 +216,9 @@
"enabled": true,
"destOverride": [
"http",
"tls",
"quic"
]
"tls"
],
"routeOnly": true
}
}
],