Русский | English
Автоматическая установка и управление прокси-сервером mita (серверная часть enfein/mieru) на VPS под Debian / Ubuntu / RHEL / Fedora / CentOS.
Вам нужно ввести только имена профилей, пароли и порты — всё остальное (установка, конфиг, служба, firewall, клиентские ссылки, QR-коды, бэкапы) скрипт делает сам.
curl -fsSL https://cdn.jsdelivr.net/gh/RikCost/mieru-script@main/install.sh | bash
После установки управление доступно командой mieru-manager.
- Управление
mitaофициальным.deb/.rpmпакетом (без ручной компиляции). - Для каждого пользователя можно выбрать, какие порты попадут в его ссылку (все / конкретные).
- Автоматическое определение внешнего IPv4 сервера.
- Интерактивный мастер первого запуска: порты → пользователи → ссылки.
- Единый файл состояния
/root/mieru/state.json(права600). - Генерация официальных клиентских ссылок
mieru://иmierus://настоящим клиентомmieru(скачивается в/root/mieru/bin, на работу сервера не влияет). - Клиентские конфиги (
*.json) и ссылки (*.txt) для каждого пользователя. - QR-код ссылки (по умолчанию из короткой
mierus://— так надёжнее сканируется; также сохраняется PNG вclients/<имя>.png). - Открытие/закрытие портов в
ufwиfirewalld. - Резервное копирование и восстановление конфигурации.
- Обновление
mitaи самогоmieru-manager. - Просмотр статуса, активного трафика пользователей и логов.
Сервер
mitaне хранит пароли в открытом виде — только хеш. Поэтому открытые пароли и источник истины для ссылок лежат в/root/mieru/state.json. Этот файл — секрет, не публикуйте его.
На VPS от root:
curl -fsSL https://cdn.jsdelivr.net/gh/RikCost/mieru-script@main/install.sh | bash
raw.githubusercontent.comможет отдавать из кэша устаревший файл (до ~5 минут). Установщик иmieru-manager self-updateсами берут свежую версию по SHA коммита, но самinstall.shлучше тянуть с jsDelivr.
Альтернатива через raw:
curl -fsSL https://raw.githubusercontent.com/RikCost/mieru-script/main/install.sh | bashИли скачайте и запустите вручную, чтобы видеть все сообщения:
curl -fsSL -o /tmp/install.sh https://cdn.jsdelivr.net/gh/RikCost/mieru-script@main/install.sh
bash /tmp/install.shСкрипт:
- поставит зависимости (
curl,jq,qrencode,openssl); - поставит и включит службу
mita; - определит внешний IP;
- запустит мастер: попросит порты и пользователей;
- применит конфиг, запустит прокси и покажет ссылки.
────────────────────────────────────────────────────────────────
MIERU MANAGER 2.2.0
────────────────────────────────────────────────────────────────
Сервер: 203.0.113.10
Mita: ● RUNNING
Юзеров: 3
Портов: 2
────────────────────────────────────────────────────────────────
1. Добавить пользователя 9. Показать все ссылки
2. Удалить пользователя 10. QR-код пользователя
3. Изменить пароль 11. Backup
4. Список пользователей 12. Восстановить backup
5. Добавить порт 13. Обновить mita
6. Удалить порт 14. Перезапустить mita
7. Список портов 15. Статус
8. Ссылка пользователя 16. Логи
17. Показать конфигурацию
0. Выход 18. Обновить mieru-manager
19. Порты пользователя (что попадёт в ссылку)
Запуск меню: mieru-manager (или sudo mieru-manager).
mieru-manager install # установить/перенастроить
mieru-manager status # статус, трафик
mieru-manager list-users # список пользователей
mieru-manager add-user ivan # добавить (пароль сгенерируется, все порты)
mieru-manager add-user ivan 'МойПароль' # добавить с паролем
mieru-manager add-user ivan 'Пароль' all # в ссылку — все порты сервера
mieru-manager add-user ivan 'Пароль' 1,3 # в ссылку — порты №1 и №3
mieru-manager add-user ivan 'Пароль' 443/tcp # в ссылку — только 443/TCP
mieru-manager set-user-ports ivan all # сменить набор портов в ссылке
mieru-manager set-user-ports ivan 8443/tcp,2012-2022/udp
mieru-manager delete-user ivan # удалить
mieru-manager passwd ivan # сменить пароль
mieru-manager list-ports # список портов
mieru-manager add-port 443 both # порт (tcp|udp|both)
mieru-manager add-port 2012-2022 both # диапазон портов
mieru-manager delete-port 2053 # удалить порт
mieru-manager delete-port 2012-2022 # удалить диапазон
mieru-manager links # все ссылки
mieru-manager links ivan # ссылки одного пользователя
mieru-manager qr ivan # QR (короткая mierus://)
mieru-manager qr ivan standard # QR стандартной mieru://
mieru-manager config # конфиг mita
mieru-manager restart # перезапустить
mieru-manager backup # резервная копия
mieru-manager restore /root/mieru/backups/... # восстановить
mieru-manager update # обновить mita
mieru-manager self-update # обновить mieru-manager
mieru-manager self-check # диагностика (tty, вывод)
mieru-manager logs # журнал mita/root/mieru/
├── state.json # ИСТИНА: пользователи, пароли, порты (600)
├── server_config.json # сгенерированный конфиг для mita (600)
├── manager.log # журнал действий
├── bin/mieru # клиент mieru (для генерации ссылок)
├── clients/
│ ├── ivan.txt # ссылки mieru:// и mierus://
│ └── ivan.json # клиентский конфиг (можно импортировать вручную)
└── backups/
└── 20260101_120000/
├── state.json
├── server_config.json
├── clients/
└── mita_describe_config.json
Права: каталог 700, файлы 600.
- Серверная часть mieru называется mita; конфиг ставится командой
mita apply config <file>, изменения только пользователей применяютсяmita reload, изменение портов требует перезапуска (mita stop+mita start). portBindingsпри применении заменяются целиком, поэтому порты всегда синхронизируются сstate.json. Поддерживаются как отдельные порты, так и диапазоны ("portRange": "2012-2022") — в меню и CLI можно вводить2012-2022.usersмержатся по имени, поэтому смена пароля — это повторное применение того же имени, а удаление делается командойmita delete user.- Ссылки генерирует настоящий клиент
mieruв изолированном временном$HOME, поэтому ссылки бит-в-бит совпадают с официальным форматом:mieru://...— стандартная ссылка (полный конфиг в base64);mierus://user:pass@host?port=...&protocol=...— простая ссылка.
- Если клиент
mieruнедоступен, простая ссылка собирается вручную, чтобы доступ не потерялся.
У каждого пользователя есть свой список портов. Он хранится в state.json
в поле users[].ports и влияет только на клиентскую ссылку/конфиг — в неё
попадут только эти порты.
# при добавлении (3-й аргумент) — «all», номера из `list-ports` или спецификации
mieru-manager add-user ivan 'Пароль' all
mieru-manager add-user ivan 'Пароль' 1,3
mieru-manager add-user ivan 'Пароль' 443/tcp,2012-2022/udp
# изменить потом
mieru-manager set-user-ports ivan all
mieru-manager set-user-ports ivan 8443/tcpВ меню — пункт 19. Порты пользователя: выбираете пользователя и отмечаете
порты номерами через запятую (Enter — все порты).
При удалении порта сервера он автоматически убирается и из списков пользователей. Если у пользователя не осталось ни одного порта, ему снова включаются все порты сервера (с предупреждением).
Важно: mita не привязывает пользователя к порту на сервере — любой пользователь может подключиться на любой слушающий порт. Ограничение набором портов действует только на стороне клиентской ссылки/конфига (клиент просто не знает о других портах). Если нужна жёсткая изоляция — заводите отдельных пользователей на отдельных серверах/портах.
- Windows / macOS / Linux / Android — https://github.com/enfein/mieru/releases
- Clash.Meta / mihomo поддерживают тип
mieru. - Ссылку можно импортировать командой
mieru import config <URL>.
Пример mihomo:
proxies:
- name: server1
type: mieru
server: 203.0.113.10
port: 443
transport: TCP
udp: true
username: ivan
password: "МойПароль"
multiplexing: MULTIPLEXING_HIGH
- name: server2
type: mieru
server: 203.0.113.10
port-range: 2012-2022
transport: TCP
udp: true
username: ivan
password: "МойПароль"
multiplexing: MULTIPLEXING_HIGHВ одной записи нельзя указывать одновременно
portиport-range.
- Debian 11+/Ubuntu 20.04+ или RHEL/CentOS/Fedora/Rocky.
- root-доступ.
- Открытые в облачном firewall порты (если VPS за NAT провайдера).
mieru-manager status # служба и трафик
mieru-manager logs # journalctl -u mita
mita describe config # текущий конфиг сервера
mita get connections # активные соединенияЧастые проблемы:
- Не видно списка пунктов меню — с PuTTY команда
clearиногда стирает экран. Очистка теперь отключена по умолчанию. Включить можно так:MIERU_CLEAR=1 mieru-manager. В самом меню нажмите?, чтобы перерисовать список. Полный список команд:mieru-manager help. - Скрипт «висит» после запуска через
curl | bash— скорее всего, VPS не может скачать файл сraw.githubusercontent.com. Проверьте:curl -v --connect-timeout 10 -o /dev/null https://raw.githubusercontent.com/RikCost/mieru-script/main/install.sh. Используйте зеркало jsDelivr (см. выше) или скачайтеinstall.shв файл и запустите. - Ничего не происходит после
[+] Устанавливаю зависимости— идётapt-get update(может ждать блокировку dpkg). Проверьте в другом окне:ps aux | grep -E 'apt|dpkg'иfuser -v /var/lib/dpkg/lock-frontend. - Ссылка не импортируется — проверьте, что клиент видит порт и протокол; время на клиенте и сервере должно совпадать (включите NTP).
- Порт не слушается —
ss -lntup | grep <порт>, проверьте облачный firewall. mita apply configне проходит —mita describe configпокажет текущее состояние; смотрите вывод ошибки.
state.json,clients/*содержат открытые пароли — держите их600.- Простая ссылка
mierus://содержит логин и пароль в открытом виде, стандартная — пароль в base64 (не шифрование). Ссылку нельзя публиковать. - Скрипт не отправляет пароли на сторонние сервисы.
MIT