mirror of
https://github.com/EvgenyNerush/easy-xray.git
synced 2025-12-13 21:35:03 +03:00
add Docker
This commit is contained in:
57
README.ru.md
57
README.ru.md
@@ -25,6 +25,8 @@ VLESS-Reality) не шифрует уже зашифрованный https-тр
|
||||
|
||||
### Как использовать на VPS
|
||||
|
||||
#### Linux
|
||||
|
||||
Для начала нужно арендовать VPS сервер вне региона с цензурой (или попросить друзей заграницей сделать это). После на сервер нужно
|
||||
установить [jq](https://jqlang.github.io/jq/) и `openssl` - их можно найти в репозиторияx практически всех популярных Linux дистрибутивов.
|
||||
Затем скачайте `easy-xray` (всю директорию целиком), сделайте исполняемым файл `ex.sh` и запустите нужную команду. Используйте `./ex.sh
|
||||
@@ -41,6 +43,61 @@ sudo ./ex.sh install
|
||||
будет должным образом установлен, а xray - запущен с ним. Настало время раздать конфиги пользователям! Для многих графических клиентов
|
||||
удобно использовать конфиги в виде ссылок, которые можно сгенерировать командой `./ex.sh link user_config_file.json`.
|
||||
|
||||
#### Docker
|
||||
|
||||
Скрипт `ex.sh` написан прежде всего для использования в системе с systemd, однако может быть использован и в Docker. Для этого скачайте
|
||||
директорию `easy-xray` (из ветки main) и соберите образ Docker, используя файл `Dockerfile`; ключ -t задаёт тег, например
|
||||
`ximage`:
|
||||
|
||||
```
|
||||
curl -L https://codeload.github.com/EvgenyNerush/easy-xray/tar.gz/main | tar -xz
|
||||
cd easy-xray-main # обратите внимание на `-main` !!
|
||||
docker build -t ximage ./
|
||||
```
|
||||
|
||||
Обычно пользовательские приложения не могут использовать порты ниже 1024, однако для того, чтобы замаскировать xray сервер под обычный
|
||||
вебсайт, мы должны использовать порты 80 и 443. Поэтому для начала на хосте нужно разрешить пользовательским приложениям использовать порты,
|
||||
начиная с 80-го (эту команду, возможно, придётся выполнять после каждой перезагрузки системы):
|
||||
|
||||
```
|
||||
sudo sysctl -w net.ipv4.ip_unprivileged_port_start=80
|
||||
```
|
||||
|
||||
Также нужно разрешить не-залогиненному пользователю выполнять долгоживущие сервисы. Иначе после выхода пользователя с сервера контейнер
|
||||
может перестать работать:
|
||||
|
||||
```
|
||||
sudo loginctl enable-linger your_username
|
||||
```
|
||||
|
||||
Теперь можно запустить docker контейнер в интерактивном режиме (флаги `-i -t`), пробрасывая порты 80 и 443 от хоста к контейнеру:
|
||||
|
||||
```
|
||||
docker run -it --name xcontainer -p 80:80 -p 443:443 ximage
|
||||
```
|
||||
|
||||
В интерактивном режиме можно установить и сконфигурировать xray так же, как и в обычной системе, кроме последнего шага - копировать
|
||||
серверный конфиг в директорию xray и перезапускать xray через systemctl нет смысла. Сообщения об отсутствии systemd можно
|
||||
просто проигнорировать. Xray можно запустить с серверным конфигом вручную:
|
||||
|
||||
```
|
||||
./ex.sh install
|
||||
xray -c conf/config_server.json
|
||||
```
|
||||
|
||||
После запуска xray можно отсоединиться от контейнера, используя *Ctrl+p затем Ctrl+q*. Если нужно снова присоединиться к контейнеру, можно
|
||||
использовать `docker attach xcontainer` (после этого нужно нажать *Ctrl+c*, чтобы завершить работающий xray), или можно воспользоваться
|
||||
командой `docker exec -it xcontainer bash` для запуска ещё одной сессии. Для того, чтобы скопировать конфиг-файлы из контейнера на хост,
|
||||
сначала нужно узнать Id контейнера:
|
||||
|
||||
```
|
||||
docker ps -a
|
||||
docker cp 123abc456def:/easy-xray/conf ./
|
||||
```
|
||||
|
||||
Команду `./ex.sh link conf_file` можно использовать на любом компьютере с Linux, если на нём хранятся конфиг-файлы. Работающий xray для этой
|
||||
команды не нужен.
|
||||
|
||||
### Клиенты
|
||||
|
||||
#### Linux
|
||||
|
||||
Reference in New Issue
Block a user