Skip to content

Al3xanderMakunin/utils

 
 

Repository files navigation

ru-remna-utils

Утилиты для автоматизации настройки VPN-серверов — Remnawave, WireGuard, Xray и других.

License: MIT Python 3.10+ Code style: ruff


Утилиты

Автоматическая смена публичного IP на Yandex Cloud

Крутит IP-адреса виртуальных машин до попадания в вайтлист russia-mobile-internet-whitelist. Поддерживает параллельную обработку нескольких инстансов и несколько префиксов IP.

Возможности:

  • Параллельная обработка нескольких VM
  • Фильтрация по нескольким IP-префиксам (--prefix 51.250 158.160)
  • Кросс-платформенная поддержка (Windows, macOS, Linux)
  • Ошибки API не тратят счётчик попыток
python3 yacloud-ip-roller/roll_ip.py --instance-id <VM_ID>

# несколько инстансов с фильтром по префиксу
python3 yacloud-ip-roller/roll_ip.py \
  --instance-id <ID1> <ID2> \
  --prefix 51.250 158.160 \
  --attempts 2000

Настройка Linux-сервера под VPN одной командой

CLI-утилита для автоматизации настройки Debian/Ubuntu серверов. Устанавливает и конфигурирует всё необходимое для работы VPN-панелей.

Сервисы

Сервис Что делает
swap Создаёт swap-файл (2 ГБ по умолчанию)
sysctl BBR + оптимизация TCP/сети
ssh Hardening SSH: отключение паролей, ограничение попыток
ufw Файрвол с правилами для VPN-портов
fail2ban Защита от брутфорс-атак
docker Docker + Docker Compose
autoupdate Автоматические security-обновления
traffic Инструменты мониторинга (vnstat, iftop, nethogs)
uv Быстрый менеджер пакетов Python
pip install -e .

# настроить всё
sudo vps-setup setup-all

# посмотреть план без выполнения
sudo vps-setup setup-all --dry-run

# статус
sudo vps-setup status --all

# конкретный сервис
sudo vps-setup apply ufw

Конфигурация через ~/.config/vps-setup/config.toml (опционально):

[general]
ssh_port = 2222
swap_size_gb = 4
timezone = "Europe/Moscow"
vpn_ports = [443, 51820, 80]

Требования

  • Python 3.10+
  • Debian 11+ / Ubuntu 20.04+ (для vps-setup)
  • Yandex Cloud CLI установлен (для yacloud-ip-roller)

Контрибуция

  1. Создайте issue с описанием идеи
  2. Форкните репозиторий
  3. Создайте ветку: git checkout -b feature/название
  4. Внесите изменения, проверьте через ruff check .
  5. Откройте PR

Инструменты разработки:

pip install ruff pre-commit
pre-commit install
ruff check .
ruff format .

Участники


Поддержка


Лицензия

MIT — подробности в LICENSE.

About

Утилиты для автоматизации настройки серверов.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%