Warning
Как и оригинальный проект, этот также не стремится быть "волшебной таблеткой" от всего, а лишь является удобным инструментом для развёртывания zapret в Docker
zapret от bol-van, собранный в Docker контейнер c shadowsocks для подключения к контейнеру.
Изначально предназначался для маршрутизации в него доменов/подсетей Discord из sing-box и модификации очереди nfqueue
в режиме nfqws
, чтобы не затрагивать основную сеть.
Для удобного управления сборкой, запуском, остановкой, обновления и просмотра логов через Makefile на основной системе потребуется make
и git
. После первой сборки можно использовать docker compose
вместо make
.
Во всех популярных дистрибутивах оба устанавливаются через пакетный менеджер. Пара примеров:
# Ubuntu/Debian
sudo apt install make git
# Fedora
sudo dnf install make git
# Arch Linux
sudo pacman -S make git
Для других дистрибутивов можно найти название пакета на pkgs.org
Для начала нужно клонировать репозиторий и перейти в его директорию:
git clone https://github.com/vernette/ss-zapret
cd ss-zapret
После этого нужно создать .env
файл (за основу можно взять .env.example
) и отредактировать его. Используйте свой любимый текстовый редактор:
cp .env.example .env
nano .env
Warning
Обязательно измените пароль для shadowsocks и, при желании, другие переменные окружения
Теперь можно собрать образ и запустить его:
make build
make up
Для внесения изменений в конфиг (а также для использования blockcheck.sh
) можно войти в контейнер:
docker exec -it ss-zapret sh
cd zapret
По-умолчанию копируется дефолтный конфиг для zapret
, в котором изначально отключены все режимы. Для включения нужного режима (TPWS, TPWS_SOCKS, NFQWS) откройте конфиг и включите нужный режим, выставив ему 1
вместо 0
, например NFQWS_ENABLE=1
:
nano /opt/zapret/config
Note
После внесения изменений в конфиг нужно перезапустить контейнер командами make down
и make up
В итоге мы получаем контейнер с zapret и запущенным shadowsocks, к которому вы можете подключиться с помощью клиента shadowsocks, или направить туда необходимые сайты через панель (3x-ui, marzban, etc).
Все команды, для управления контейнером через make
:
Команда | Описание |
---|---|
make build |
Собрать образ |
make up |
Запустить контейнер |
make down |
Остановить контейнер |
make logs |
Просмотреть логи контейнера |
make update |
Обновить версию zapret (если такая есть) в .env файле. После этого нужно будет вновь собрать образ |
Чтобы использовать свой конфиг для zapret
, нужно раскомментировать блок volumes
в docker-compose.yml
и положить конфиг с названием config
в корневую директорию (где лежит docker-compose.yml
).
Также по-умолчанию копируется custom.d скрипт для Discord. При желании вы можете отключить его, просто закомментировав строчку в Dockerfile
.
На данный момент проект находится в очень сыром состоянии, поэтому я буду рад любой помощи в его улучшении.
Если у вас есть идеи для улучшения скрипта, вы нашли баг или хотите предложить новую функциональность - не стесняйтесь создавать issues или отправлять pull requests.
- Разобраться, почему не работают голосовые чаты в Discord