{"id":35193225,"url":"https://github.com/vpn-vendor/vpn","last_synced_at":"2026-04-16T15:02:11.238Z","repository":{"id":249957978,"uuid":"833032552","full_name":"vpn-vendor/vpn","owner":"vpn-vendor","description":"Автоматическая настройка сервера для VPN","archived":false,"fork":false,"pushed_at":"2025-12-21T18:39:20.000Z","size":647,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-31T22:56:46.872Z","etag":null,"topics":["openvpn","server","vpn","vpn-client","vpn-connections","vpn-gateway","vpn-manager","web-cabinet","web-panel","website","wireguard"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vpn-vendor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-07-24T08:15:13.000Z","updated_at":"2025-12-21T18:39:25.000Z","dependencies_parsed_at":"2025-01-08T20:23:48.070Z","dependency_job_id":"51564df4-3cd2-4fc1-8b55-4a0ea8c8e6d9","html_url":"https://github.com/vpn-vendor/vpn","commit_stats":null,"previous_names":["rostarc/vpn-setup-script","rostarc/vpn","vpn-vendor/vpn"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/vpn-vendor/vpn","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vpn-vendor%2Fvpn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vpn-vendor%2Fvpn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vpn-vendor%2Fvpn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vpn-vendor%2Fvpn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vpn-vendor","download_url":"https://codeload.github.com/vpn-vendor/vpn/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vpn-vendor%2Fvpn/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31891038,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T11:36:10.202Z","status":"ssl_error","status_checked_at":"2026-04-16T11:36:09.652Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["openvpn","server","vpn","vpn-client","vpn-connections","vpn-gateway","vpn-manager","web-cabinet","web-panel","website","wireguard"],"created_at":"2025-12-29T06:11:36.871Z","updated_at":"2026-04-16T15:02:11.233Z","avatar_url":"https://github.com/vpn-vendor.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n            \n            .^~!!!~.                                                             .J:                    \n           ?5777~!?P7 ..    .    ::    . ::           .    .   ::.   . .:.    .:.:@~   :::    . :.      \n          Y5.JY7YG ~\u0026.:B!  7G 7BJ?JG~ ~#J?JG~        :B7  7B.~5?7YY. PP??PY  7G??5@~ ~PJ?JP~ ~#YJ7      \n         ^\u0026.?#  P5 7B. ?#.:\u0026~ J#   YB !\u0026:  G5         7\u0026::#! \u00265!7?#^ BY  ~@:.@!  :\u0026~ \u0026?   Y# ~@^        \n         ^\u0026:~P??Y5?5^   5GGJ  ?\u0026~.:G5 !\u0026.  PP          YGGY  GP^:^^  #J  ^@: #Y.:?@~ GP:.^GY !@.        \n          JP7~~^^~.     .J?   J#7?J7  ^J.  7!          .JJ   .7???!  ?~  :J. :?J?!?: .7J??!  :J.        \n           :~!77!~            7P             :??????J^                                                  \n\u003ch1 align=\"center\"\u003eVPN Setup Script (v2.5.5)\u003c/h1\u003e\n\u003c/div\u003e\n\n---\n\n\u003e 🚀 **Автоматический VPN-шлюз \"Всё в одном\"**\n\u003e\n\u003e Этот скрипт превращает чистый сервер **Ubuntu 22.04 LTS** в полнофункциональный и безопасный VPN-шлюз с удобным веб-интерфейсом для управления и мониторинга. Идеальное решение для быстрой и стандартизированной настройки.\n\n---\n\n### ⚡️ Quick start ⚡️\n```bash\n wget https://raw.githubusercontent.com/vpn-vendor/vpn/main/vpn.sh -O vpn.sh \u0026\u0026 sudo bash vpn.sh\n```\n\n---\n\n### 🌟 Ключевые возможности\n\n* 🌐 **Универсальный сетевой шлюз**\n    - Поддерживает три типа подключения к интернету: **DHCP**, **Статический IP** и **PPPoE**. Автоматически настраивает локальную сеть с собственным **DHCP-сервером**.\n\n* 🛡️ **Непробиваемый Kill Switch**\n    - Весь трафик из локальной сети принудительно направляется через VPN-туннель. Если VPN-соединение обрывается, доступ в интернет для подключенных устройств блокируется, предотвращая утечки данных.\n\n* 🏳️ **Возможность раздачи белого интернета в локальную сеть**\n    - Весь трафик из локальной сети можно перенаправлять напрямую через вашего белого интернет провайдера благодаря выбору режима работы скрипта минуя VPN [БЕТА-ФУНКЦИЯ!].\n\n* 📊 **Веб-интерфейс с мониторингом**\n    - Устанавливается готовая веб-панель для управления VPN-конфигурациями (OpenVPN/WireGuard), мониторинга состояния системы (CPU, RAM, Disk) и отслеживания сетевой активности в реальном времени.\n\n* 🖥️ **Встроенный веб-терминал**\n    - Благодаря `shellinabox` вы получаете доступ к командной строке сервера прямо из браузера через веб-интерфейс.\n\n* 🤖 **Интеграция с Telegram**\n    - Настраивается Telegram-бот для получения уведомлений и управления основными службами сервера.\n\n* 🔌 **Автоматизация с USB**\n    - Скрипт умеет автоматически монтировать USB-накопители и копировать с них новую версию установочного скрипта `vpn.sh` в домашнюю директорию.\n\n* 🗑️ **Полное удаление**\n    - Встроенная функция для полного и чистого удаления всех установленных компонентов и возвращения системы к исходному состоянию.\n\n---\n\n### ⚠️ Важнейшие требования и предупреждения\n\n\u003e 🚨 **ВНИМАНИЕ!** Перед установкой, пожалуйста, убедитесь, что ваша система соответствует следующим критически важным требованиям:\n\n* **Операционная система**\n    * Скрипт разработан и протестирован **СТРОГО для Ubuntu 22.04 LTS** (Server или Desktop). Использование на других версиях или дистрибутивах приведет к ошибкам.\n    * *Известные конфликты:*\n        * **Ubuntu 20.04:** Отсутствуют необходимые версии Python-библиотек для Telegram-бота.\n        * **Ubuntu 24.04:** Не совпадают версии Python-библиотек для Telegram-бота из-за чего скрипт падает.\n        * **Linux Mint:** Возможны серьезные сбои в работе графической оболочки Cinnamon после первого перезапуска системы.\n\n* **Аппаратное обеспечение**\n    * Требуется как минимум **ДВЕ физические сетевые карты или порты в материнской плате (NIC)**: одна для подключения к интернету (WAN), другая — для локальной сети (LAN).\n\n* **Сетевое окружение**\n    * Для корректной работы DHCP-сервера (`isc-dhcp-server`) на момент установки к LAN-интерфейсу должен быть подключен хотя бы один клиент (ПК, ноутбук) или сетевой свитч. **Подключение только роутера к LAN-порту недостаточно** и вызовет ошибку.\n\n---\n\n### 🚀 Установка и Первый запуск\n\n1.  **Загрузка и запуск**\n    Подключитесь к вашему серверу по SSH и выполните следующую команду. Она скачает скрипт и запустит его с правами администратора:\n    ```bash\n    wget https://raw.githubusercontent.com/vpn-vendor/vpn/main/vpn.sh -O vpn.sh \u0026\u0026 sudo bash vpn.sh\n    ```\n    \u003e **Возможная проблема:** Если `wget` выдает ошибку, связанную с `HSTS`, выполните `rm -f ~/.wget-hsts` и повторите команду.\n\n2.  **Следуйте инструкциям**\n    * В главном меню выберите **\"1) Установить/Обновить/Починить VPN-сервер\"**.\n    * Скрипт предложит настроить сетевые интерфейсы. Выберите входящий (WAN) и выходящий (LAN) интерфейсы из списка.\n    * Укажите тип вашего интернет-подключения (DHCP, статика или PPPoE) и введите необходимые данные, если потребуется.\n\n3.  **Доступ к веб-интерфейсу**\n    * После успешной установки веб-интерфейс будет доступен в вашей **локальной сети** по IP-адресу сервера, например: `http://192.168.69.1/`\n    * **Логин и пароль** для доступа к сайту совпадают с логином и паролем пользователя от вашего сервера.\n\n---\n\n### ⚙️ Архитектура и Компоненты\n\nСкрипт устанавливает и настраивает комплекс программного обеспечения для создания полноценного шлюза.\n\n| Компонент              | Назначение                                             | Статус          |\n| ---------------------- | ------------------------------------------------------ | --------------- |\n| `OpenVPN / WireGuard`  | Клиенты для подключения к VPN-сервисам                 | Устанавливается |\n| `isc-dhcp-server`      | DHCP-сервер для раздачи IP-адресов в локальной сети    | Устанавливается |\n| `iptables-persistent`  | Файрвол для реализации Kill Switch и NAT               | Устанавливается |\n| `Apache2` + `PHP`      | Веб-сервер для работы панели управления                | Устанавливается |\n| `shellinabox`          | Веб-терминал, доступный через панель управления        | Устанавливается |\n| `Python3` + `pip`      | Основа для демонов мониторинга и Telegram-бота         | Устанавливается |\n| `net-tools`, `nload`   | Утилиты для диагностики и мониторинга сети             | Устанавливается |\n| `dnsmasq`              | Потенциально конфликтующий DNS/DHCP-сервер             | **Удаляется** |\n| `openvswitch-switch`   | Потенциально конфликтующий виртуальный коммутатор       | **Удаляется** |\n\n---\n\n### 🛠️ Устранение неполадок\n\n* **Проблема:** При установке возникает ошибка **\"isc-dhcp-server не запущен\"**.\n    * **Решение:** Убедитесь, что к вашему LAN-интерфейсу подключено активное устройство (ПК, ноутбук) или свитч. Перезапустите скрипт или перезагрузите сервер (`sudo reboot`) после подключения устройства к сети.\n\n* **Проблема:** После ручной настройки статического IP в Netplan пропал интернет.\n    * **Решение:** Убедитесь, что вы указали маску подсети в формате CIDR (например, `/24`), а не в виде `255.255.255.0`. Перезапустите скрипт и выполните настройку сети заново введя правильные данные.\n\n* **Проблема:** Веб-панель не может подключить загруженный `.ovpn` конфиг.\n    * **Решение:** Веб-интерфейс может быть несовместим с некоторыми сложными или нестандартными конфигурациями. Попробуйте использовать другой, более простой конфиг от вашего VPN-провайдера.\n\n---\n\n### 🗑️ Удаление\n\nСкрипт предусматривает полное и чистое удаление всех установленных пакетов, конфигураций и служб.\n\nДля удаления запустите скрипт повторно и выберите опцию **\"3) Удалить все настройки (Сброс до заводских)\"**.\n```bash\nsudo bash vpn.sh\n```\n\n---\n\n### 📄 История версий и Контакты\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eВерсия 2.5.5 (Текущая)\u003c/b\u003e\u003c/summary\u003e\n\n[+] Исправлено множество мелких багов почти в каждом методе.\n[+] Исправлены ошибки в комментариях.\n[+] Изменено главное меню до улучшенной версии.\n[+] Решена проблема с переполнением таблиц из-за которой каждые 3-4 часа появлялось \"кваканье\".\n[+] Каждый метод был оптимизирован под работу с VoIP, а так же изменено ядро.\n[+] Скрипт стал более отказоустойчивым за счет реагирования на ошибки.\n[+] Внедрен автовалидатор для ввода данных netplan.\n[+] Был внедрен FallbackDNS для надежности на случай проблем с провайдером.\n[+] Добавлена очистка дублей при повторных запусках скрипта.\n\u003c/details\u003e\n\n\u003cbr\u003e\n\n**Есть вопросы, предложения или требуется помощь?**\nСвяжитесь с нами в Telegram: [@vpn_vendor](https://t.me/vpn_vendor)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvpn-vendor%2Fvpn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvpn-vendor%2Fvpn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvpn-vendor%2Fvpn/lists"}