mirror of
https://github.com/Slava-Shchipunov/awg-openwrt.git
synced 2026-03-14 01:13:09 +00:00
fix: fix install script and update README (#52)
* fix: fix install script * docs: update README.md * feat: add make_latest param to Release job * docs: fix username
This commit is contained in:
1
.github/workflows/build-module.yml
vendored
1
.github/workflows/build-module.yml
vendored
@@ -198,3 +198,4 @@ jobs:
|
||||
with:
|
||||
files: awgrelease/*.ipk
|
||||
tag_name: v${{ matrix.build_env.tag }}
|
||||
make_latest: false
|
||||
|
||||
65
README.md
65
README.md
@@ -1,17 +1,17 @@
|
||||
# Автоматическая настройка AmneziaWG для OpenWRT версии 23.05.0 и более новых
|
||||
Для автоматической настройки рекомендую использовать [скрипт](https://github.com/itdoginfo/domain-routing-openwrt) от пользователя itdog. Этот скрипт позволяет автоматически скачать нужные пакеты из собранных здесь и настроить [точечный обход блокировок по доменам](https://habr.com/ru/articles/767464/).
|
||||
# Пакеты amneziawg для роутеров с прошивкой OpenWRT
|
||||
|
||||
Если же вам нужно только установить пакеты, я добавил скрипт amneziawg-install - он автоматически скачает пакеты из этого репозитория под ваше устройство (только для стабильной версии OpenWRT), а также предложит сразу настроить интерфейс с протоколом AmneziaWG. Если пользователь согласится, нужно будет ввести параметры конфига, которые запросит скрипт. При этом скрипт создаст интерфейс, настроит для него правила фаерволла, а также **включит перенаправление всего траффика через тунель AmneziaWG** (установит в настройках Peer галочку Route Allowed IPs).
|
||||
## Автоматическая настройка AmneziaWG для OpenWRT версии 23.05.0 и более новых
|
||||
1) Если ваш роутер обладает достаточным объмом доступной RAM, рекомендую воспользоваться скриптом, описанным ниже, только для установки нужных пакетов, а для точечной маршрутизации траффика в туннель использовать podkop от пользователя [@itdog](https://github.com/itdog) - тут в [документации](https://podkop.net/docs/tunnels/awg_settings/) описан процесс настройки
|
||||
|
||||
2) Если вам нужно только установить пакеты, я добавил скрипт amneziawg-install - он автоматически скачает пакеты из этого репозитория под ваше устройство (только для стабильной версии OpenWRT), а также предложит сразу настроить интерфейс с протоколом AmneziaWG. Если пользователь согласится, нужно будет ввести параметры конфига, которые запросит скрипт. При этом скрипт создаст интерфейс, настроит для него правила фаерволла, а также **включит перенаправление всего траффика через тунель AmneziaWG** (установит в настройках Peer галочку Route Allowed IPs).
|
||||
Для запуска скрипта подключитесь к роутеру по SSH, введите команду и следуйте инструкциям на экране:
|
||||
```
|
||||
sh <(wget -O - https://raw.githubusercontent.com/Slava-Shchipunov/awg-openwrt/refs/heads/master/amneziawg-install.sh)
|
||||
```
|
||||
AWG 2.0 пока не влит в мастер, поэтому можно установить из фиче ветки (при настройке скриптом параметры S3, S4 и все I параметры нужно будет ввести вручную через luci или в /etc/config/network, позже доработаю скрипт):
|
||||
```
|
||||
sh <(wget -O - https://raw.githubusercontent.com/Slava-Shchipunov/awg-openwrt/refs/heads/feat/awg-2.0/amneziawg-install.sh)
|
||||
```
|
||||
|
||||
# Сборка пакетов для всех устройств, поддерживающих OpenWRT
|
||||
3) Кроме того для автоматической настройки также можно использовать [скрипт](https://github.com/itdoginfo/domain-routing-openwrt) от пользователя [@itdog](https://github.com/itdog). Этот скрипт позволяет автоматически скачать нужные пакеты из собранных здесь и настроить [точечный обход блокировок по доменам](https://habr.com/ru/articles/767464/). Подойдёт, если у вас слабый роутер с недостаточным объёмом RAM для установки podkop-a и зависимостей
|
||||
|
||||
## Сборка пакетов для всех устройств, поддерживающих OpenWRT
|
||||
В репозиторий добавлен скрипт, который парсит данные о поддерживаемых платформах со страницы OpenWRT и автоматически запускает сборку пакетов AmneziaWG для всех устройств.
|
||||
На данный момент я собрал пакеты для всех устройств для OpenWRT версий:
|
||||
1) [23.05.0](https://github.com/Slava-Shchipunov/awg-openwrt/releases/tag/v23.05.0)
|
||||
@@ -32,7 +32,7 @@ sh <(wget -O - https://raw.githubusercontent.com/Slava-Shchipunov/awg-openwrt/re
|
||||
|
||||
## Выбор пакетов для своего устройства
|
||||
В соответствии с пунктом [Указываем переменные для сборки](https://github.com/itdoginfo/domain-routing-openwrt/wiki/Amnezia-WG-Build#%D1%83%D0%BA%D0%B0%D0%B7%D1%8B%D0%B2%D0%B0%D0%B5%D0%BC-%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B4%D0%BB%D1%8F-%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B8)
|
||||
определить `target` и `subtarget` вашего устройства. Далее перейти на страницу релиза, соответствующего вашей версии OpenWRT, затем поиском по странице (Ctrl+F) найти 3 пакета, название которых оканчивается на `target_subtarget.ipk`, соответствующие вашему устройству.
|
||||
определить `target` и `subtarget` вашего устройства. Далее перейти на страницу релиза, соответствующего вашей версии OpenWRT, затем поиском по странице (Ctrl+F) найти 3 пакета, название которых оканчивается на `target_subtarget.ipk`, соответствующие вашему устройству. Для версии AWG 2.0 также доступен пакет русификации luci-i18n-amneziawg-ru
|
||||
|
||||
## Как запустить сборку для всех поддерживаемых устройств
|
||||
1) Создать форк этого репозитория
|
||||
@@ -43,21 +43,40 @@ sh <(wget -O - https://raw.githubusercontent.com/Slava-Shchipunov/awg-openwrt/re
|
||||
6) Ввести Release title
|
||||
7) Нажать внизу зеленую кнопку Publish release
|
||||
|
||||
Для публичных репозиториев Github предоставляет неограниченное по времени использование раннеров, у меня запускалось до 20 параллельных джоб. Каждая джоба выполняется около 2 часов, общее время на сборку около 10 часов.
|
||||
В случае возникновения ошибок в одной джобе, будут отменены все незавершенные - в этом случае на вкладке Actions можно выбрать неудавшийся запуск и нажать Re-run failed jobs
|
||||
Для публичных репозиториев Github предоставляет неограниченное по времени использование раннеров, у меня запускалось до 20 параллельных джоб. Каждая джоба выполняется около 10-15 минут, общее время на сборку около 60 минут.
|
||||
|
||||
## Сборка пакетов под определенную платформу
|
||||
Как запустить сборку пакетов для определенной платформы можно посмотреть в [инструкции на вики](https://github.com/itdoginfo/domain-routing-openwrt/wiki/Amnezia-WG-Build). Сборка под одно устройство займет около 2 часов.
|
||||
Как запустить сборку пакетов AWG 1.0 для определенной платформы можно посмотреть в [инструкции на вики](https://github.com/itdoginfo/domain-routing-openwrt/wiki/Amnezia-WG-Build). Сборка под одно устройство займет около 2 часов.
|
||||
|
||||
# Automatic configuration of AmneziaWG for OpenWRT version 23.05.0 and newer
|
||||
For automatic configuration, I recommend using the [script](https://github.com/itdoginfo/domain-routing-openwrt) from the user itdog. This script allows you to automatically download the necessary packages from those collected here and configure [point-by-point bypass of blocking by domains](https://habr.com/ru/articles/767464/) (instructions in Russian).
|
||||
AWG 2.0 можно собрать под определённую платформу следующим образом:
|
||||
1) Создать форк этого репозитория
|
||||
2) Переключиться на вкладку Actions и включить Github actions (по умолчанию для форков они выключены)
|
||||
3) Слева в списке экшенов выбрать экшен Create Release on Tag
|
||||
4) Справа нажать кнопку Run workflow
|
||||
5) В открывшемся списке указать версию Openwrt (например, 24.10.3), список target, разделенных запятыми (например, stm32,ramips), список subtarget, разделенных запятыми (например, stm32mp1,mt7621). Сборка будет произведена только для существующих пар target/subtarget
|
||||
6) Нажать зеленую кнопку Run workflow
|
||||
Сборка под одно устройство займет около 10-15 минут. При этом должен создаться релиз с указанной версией OpenWRT
|
||||
|
||||
If you only need to install packages, I added the amneziawg-install script - it will automatically download packages from this repository for your device (only for the stable version of OpenWRT), and also offer to immediately configure the interface with the AmneziaWG protocol. If the user agrees, you will need to enter the config parameters that the script will request. The script will create an interface, configure firewall rules for it, and also **enable redirection of all traffic through the AmneziaWG tunnel** (check the Route Allowed IPs box in the Peer settings).
|
||||
## 🙏 Благодарности
|
||||
|
||||
Огромное спасибо за помощь в сборке пакетов AWG 2.0:
|
||||
|
||||
- [@kozhini](https://github.com/kozhini) и [@this-username-has-been-taken](https://github.com/this-username-has-been-taken) — ~~у которых я позаимствовал код Makefile-ов~~ чьим примером я вдохновлялся🙃
|
||||
- [@Kot-nikot](https://github.com/Kot-nikot) и [@Onotot](https://github.com/Onotot) — за полезные материалы и подсказки🤝
|
||||
- [@ygurov](https://github.com/ygurov) - за [имплементацию](https://github.com/amnezia-vpn/amneziawg-linux-kernel-module/pull/88) awg 2.0 для модуля ядра 💪
|
||||
- А также всем, кто приносил полезные примеры в личку и в [ишью](https://github.com/Slava-Shchipunov/awg-openwrt/issues/39), отписывались в комменты к PR с имплементацией о возникших багах и проблемах ❤️
|
||||
|
||||
## Automatic configuration of AmneziaWG for OpenWRT version 23.05.0 and newer
|
||||
1) If your router has enough available RAM, I recommend using the script described below only to install the necessary packages, and use podkop from user [@itdoginfo](https://github.com/itdoginfo) for selective traffic routing into the tunnel - the setup process is described in the [documentation](https://podkop.net/docs/tunnels/awg_settings/)
|
||||
|
||||
2) If you only need to install packages, I added the amneziawg-install script - it will automatically download packages from this repository for your device (only for the stable version of OpenWRT), and also offer to immediately configure the interface with the AmneziaWG protocol. If the user agrees, you will need to enter the config parameters that the script will request. The script will create an interface, configure firewall rules for it, and also **enable redirection of all traffic through the AmneziaWG tunnel** (check the Route Allowed IPs box in the Peer settings).
|
||||
To run the script, connect to the router via SSH, enter the command and follow the instructions on the screen:
|
||||
```
|
||||
sh <(wget -O - https://raw.githubusercontent.com/Slava-Shchipunov/awg-openwrt/refs/heads/master/amneziawg-install.sh)
|
||||
```
|
||||
|
||||
3) In addition, for automatic configuration you can also use the [script](https://github.com/itdoginfo/domain-routing-openwrt) from user [@itdoginfo](https://github.com/itdoginfo). This script allows you to automatically download the necessary packages from those collected here and configure [point-by-point bypass of blocking by domains](https://habr.com/ru/articles/767464/) (instructions in Russian). Suitable if you have a weak router with insufficient RAM to install podkop and its dependencies
|
||||
|
||||
# Building packages for all devices that support OpenWRT
|
||||
A script has been added to the repository that parses data on supported platforms from the OpenWRT page and automatically starts building AmneziaWG packages for all devices.
|
||||
At the moment I have collected packages for all devices for OpenWRT versions:
|
||||
@@ -81,7 +100,7 @@ In the future, when new OpenWRT releases are released, releases with AmneziaWG p
|
||||
A github action is configured in the repository, which runs every 4 hours and checks the [snapshots page](https://downloads.openwrt.org/snapshots/targets/) of the OpenWRT website. At the same time, if a snapshot with a newer kernel version is found for some platform, the package build for this platform is launched, and the new files replace the old ones. In order to save resources and speed up the build process, packages are built only for popular platforms, which are specified in the `SNAPSHOT_SUBTARGETS_TO_BUILD` array in the index.js file.
|
||||
|
||||
## Selecting packages for your device
|
||||
In accordance with the paragraph [Specify variables for builds](https://github.com/itdoginfo/domain-routing-openwrt/wiki/Amnezia-WG-Build#%D1%83%D0%BA%D0%B0%D0%B7%D1%8B%D0%B2%D0%B0%D0%B5%D0%BC-%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B4%D0%BB%D1%8F-%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B8) (instructions in Russian) determine `target` and `subtarget` of your device. Then go to the release page corresponding to your OpenWRT version, then search the page (Ctrl+F) to find 3 packages whose names end in `target_subtarget.ipk` corresponding to your device.
|
||||
In accordance with the paragraph [Specify variables for builds](https://github.com/itdoginfo/domain-routing-openwrt/wiki/Amnezia-WG-Build#%D1%83%D0%BA%D0%B0%D0%B7%D1%8B%D0%B2%D0%B0%D0%B5%D0%BC-%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B4%D0%BB%D1%8F-%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B8) (instructions in Russian) determine `target` and `subtarget` of your device. Then go to the release page corresponding to your OpenWRT version, then search the page (Ctrl+F) to find 3 packages whose names end in `target_subtarget.ipk` corresponding to your device. For AWG 2.0 version, Russian localization package luci-i18n-amneziawg-ru is also available
|
||||
|
||||
## How to run a build for all supported devices
|
||||
1) Create a fork of this repository
|
||||
@@ -92,8 +111,16 @@ In accordance with the paragraph [Specify variables for builds](https://github.c
|
||||
6) Enter Release title
|
||||
7) Click the green Publish release button at the bottom
|
||||
|
||||
For public repositories, Github provides unlimited use of runners, I had up to 20 parallel jobs running. Each job takes about 2 hours, the total build time is about 10 hours.
|
||||
If errors occur in one job, all unfinished ones will be canceled - in this case, you can select the failed launch on the Actions tab and click Re-run failed jobs
|
||||
For public repositories, Github provides unlimited use of runners, I had up to 20 parallel jobs running. Each job takes about 10-15 minutes, the total build time is about 60 minutes.
|
||||
|
||||
## Building packages for a specific platform
|
||||
You can see how to start building packages for a specific platform in the [wiki instructions](https://github.com/itdoginfo/domain-routing-openwrt/wiki/Amnezia-WG-Build) (instructions in Russian). Building for one device will take about 2 hours.
|
||||
You can see how to start building AWG 1.0 packages for a specific platform in the [wiki instructions](https://github.com/itdoginfo/domain-routing-openwrt/wiki/Amnezia-WG-Build) (instructions in Russian). Building for one device will take about 2 hours.
|
||||
|
||||
AWG 2.0 can be built for a specific platform as follows:
|
||||
1) Create a fork of this repository
|
||||
2) Switch to the Actions tab and enable Github actions (they are disabled for forks by default)
|
||||
3) On the left in the list of actions, select the Create Release on Tag action
|
||||
4) On the right, click the Run workflow button
|
||||
5) In the opened list, specify the OpenWRT version (for example, 24.10.3), a list of targets separated by commas (for example, stm32,ramips), a list of subtargets separated by commas (for example, stm32mp1,mt7621). The build will be performed only for existing target/subtarget pairs
|
||||
6) Click the green Run workflow button
|
||||
Building for one device will take about 10-15 minutes. A release with the specified OpenWRT version should be created
|
||||
|
||||
@@ -18,6 +18,24 @@ install_awg_packages() {
|
||||
PKGPOSTFIX="_v${VERSION}_${PKGARCH}_${TARGET}_${SUBTARGET}.ipk"
|
||||
BASE_URL="https://github.com/Slava-Shchipunov/awg-openwrt/releases/download/"
|
||||
|
||||
# Определяем версию AWG протокола (2.0 для OpenWRT >= 23.05.6 и >= 24.10.3)
|
||||
AWG_VERSION="1.0"
|
||||
MAJOR_VERSION=$(echo "$VERSION" | cut -d '.' -f 1)
|
||||
MINOR_VERSION=$(echo "$VERSION" | cut -d '.' -f 2)
|
||||
PATCH_VERSION=$(echo "$VERSION" | cut -d '.' -f 3)
|
||||
|
||||
if [ "$MAJOR_VERSION" -gt 24 ] || \
|
||||
[ "$MAJOR_VERSION" -eq 24 -a "$MINOR_VERSION" -gt 10 ] || \
|
||||
[ "$MAJOR_VERSION" -eq 24 -a "$MINOR_VERSION" -eq 10 -a "$PATCH_VERSION" -ge 3 ] || \
|
||||
[ "$MAJOR_VERSION" -eq 23 -a "$MINOR_VERSION" -eq 5 -a "$PATCH_VERSION" -ge 6 ]; then
|
||||
AWG_VERSION="2.0"
|
||||
LUCI_PACKAGE_NAME="luci-proto-amneziawg"
|
||||
else
|
||||
LUCI_PACKAGE_NAME="luci-app-amneziawg"
|
||||
fi
|
||||
|
||||
printf "\033[32;1mDetected AWG version: $AWG_VERSION\033[0m\n"
|
||||
|
||||
AWG_DIR="/tmp/amneziawg"
|
||||
mkdir -p "$AWG_DIR"
|
||||
|
||||
@@ -69,57 +87,60 @@ install_awg_packages() {
|
||||
fi
|
||||
fi
|
||||
|
||||
if opkg list-installed | grep -q luci-proto-amneziawg; then
|
||||
echo "luci-proto-amneziawg already installed"
|
||||
# Проверяем оба возможных названия пакета
|
||||
if opkg list-installed | grep -q "luci-proto-amneziawg\|luci-app-amneziawg"; then
|
||||
echo "$LUCI_PACKAGE_NAME already installed"
|
||||
else
|
||||
LUCI_APP_AMNEZIAWG_FILENAME="luci-proto-amneziawg${PKGPOSTFIX}"
|
||||
DOWNLOAD_URL="${BASE_URL}v${VERSION}/${LUCI_APP_AMNEZIAWG_FILENAME}"
|
||||
wget -O "$AWG_DIR/$LUCI_APP_AMNEZIAWG_FILENAME" "$DOWNLOAD_URL"
|
||||
LUCI_AMNEZIAWG_FILENAME="${LUCI_PACKAGE_NAME}${PKGPOSTFIX}"
|
||||
DOWNLOAD_URL="${BASE_URL}v${VERSION}/${LUCI_AMNEZIAWG_FILENAME}"
|
||||
wget -O "$AWG_DIR/$LUCI_AMNEZIAWG_FILENAME" "$DOWNLOAD_URL"
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "luci-proto-amneziawg file downloaded successfully"
|
||||
echo "$LUCI_PACKAGE_NAME file downloaded successfully"
|
||||
else
|
||||
echo "Error downloading luci-proto-amneziawg. Please, install luci-proto-amneziawg manually and run the script again"
|
||||
echo "Error downloading $LUCI_PACKAGE_NAME. Please, install $LUCI_PACKAGE_NAME manually and run the script again"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
opkg install "$AWG_DIR/$LUCI_APP_AMNEZIAWG_FILENAME"
|
||||
opkg install "$AWG_DIR/$LUCI_AMNEZIAWG_FILENAME"
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "luci-proto-amneziawg installed successfully"
|
||||
echo "$LUCI_PACKAGE_NAME installed successfully"
|
||||
else
|
||||
echo "Error installing luci-proto-amneziawg. Please, install luci-proto-amneziawg manually and run the script again"
|
||||
echo "Error installing $LUCI_PACKAGE_NAME. Please, install $LUCI_PACKAGE_NAME manually and run the script again"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Ask about Russian localization
|
||||
printf "\033[32;1mУстанавливаем пакет с русской локализацией? Install Russian language pack? (y/n) [n]: \033[0m\n"
|
||||
read INSTALL_RU_LANG
|
||||
INSTALL_RU_LANG=${INSTALL_RU_LANG:-n}
|
||||
# Устанавливаем русскую локализацию только для AWG 2.0
|
||||
if [ "$AWG_VERSION" = "2.0" ]; then
|
||||
printf "\033[32;1mУстанавливаем пакет с русской локализацией? Install Russian language pack? (y/n) [n]: \033[0m\n"
|
||||
read INSTALL_RU_LANG
|
||||
INSTALL_RU_LANG=${INSTALL_RU_LANG:-n}
|
||||
|
||||
if [ "$INSTALL_RU_LANG" = "y" ] || [ "$INSTALL_RU_LANG" = "Y" ]; then
|
||||
if opkg list-installed | grep -q luci-i18n-amneziawg-ru; then
|
||||
echo "luci-i18n-amneziawg-ru already installed"
|
||||
else
|
||||
LUCI_I18N_AMNEZIAWG_RU_FILENAME="luci-i18n-amneziawg-ru${PKGPOSTFIX}"
|
||||
DOWNLOAD_URL="${BASE_URL}v${VERSION}/${LUCI_I18N_AMNEZIAWG_RU_FILENAME}"
|
||||
wget -O "$AWG_DIR/$LUCI_I18N_AMNEZIAWG_RU_FILENAME" "$DOWNLOAD_URL"
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "luci-i18n-amneziawg-ru file downloaded successfully"
|
||||
opkg install "$AWG_DIR/$LUCI_I18N_AMNEZIAWG_RU_FILENAME"
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "luci-i18n-amneziawg-ru installed successfully"
|
||||
else
|
||||
echo "Warning: Error installing luci-i18n-amneziawg-ru (non-critical)"
|
||||
fi
|
||||
if [ "$INSTALL_RU_LANG" = "y" ] || [ "$INSTALL_RU_LANG" = "Y" ]; then
|
||||
if opkg list-installed | grep -q luci-i18n-amneziawg-ru; then
|
||||
echo "luci-i18n-amneziawg-ru already installed"
|
||||
else
|
||||
echo "Warning: Russian localization not available for this version/platform (non-critical)"
|
||||
LUCI_I18N_AMNEZIAWG_RU_FILENAME="luci-i18n-amneziawg-ru${PKGPOSTFIX}"
|
||||
DOWNLOAD_URL="${BASE_URL}v${VERSION}/${LUCI_I18N_AMNEZIAWG_RU_FILENAME}"
|
||||
wget -O "$AWG_DIR/$LUCI_I18N_AMNEZIAWG_RU_FILENAME" "$DOWNLOAD_URL"
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "luci-i18n-amneziawg-ru file downloaded successfully"
|
||||
opkg install "$AWG_DIR/$LUCI_I18N_AMNEZIAWG_RU_FILENAME"
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "luci-i18n-amneziawg-ru installed successfully"
|
||||
else
|
||||
echo "Warning: Error installing luci-i18n-amneziawg-ru (non-critical)"
|
||||
fi
|
||||
else
|
||||
echo "Warning: Russian localization not available for this version/platform (non-critical)"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
printf "\033[32;1mSkipping Russian language pack installation.\033[0m\n"
|
||||
fi
|
||||
else
|
||||
printf "\033[32;1mSkipping Russian language pack installation.\033[0m\n"
|
||||
fi
|
||||
|
||||
rm -rf "$AWG_DIR"
|
||||
@@ -162,6 +183,17 @@ configure_amneziawg_interface() {
|
||||
read -r -p "Enter H3 value (from [Interface]):"$'\n' AWG_H3
|
||||
read -r -p "Enter H4 value (from [Interface]):"$'\n' AWG_H4
|
||||
|
||||
# AWG 2.0 новые параметры
|
||||
if [ "$AWG_VERSION" = "2.0" ]; then
|
||||
read -r -p "Enter S3 value (from [Interface]) [optional, leave blank to skip]:"$'\n' AWG_S3
|
||||
read -r -p "Enter S4 value (from [Interface]) [optional, leave blank to skip]:"$'\n' AWG_S4
|
||||
read -r -p "Enter I1 value (from [Interface]) [optional, leave blank to skip]:"$'\n' AWG_I1
|
||||
read -r -p "Enter I2 value (from [Interface]) [optional, leave blank to skip]:"$'\n' AWG_I2
|
||||
read -r -p "Enter I3 value (from [Interface]) [optional, leave blank to skip]:"$'\n' AWG_I3
|
||||
read -r -p "Enter I4 value (from [Interface]) [optional, leave blank to skip]:"$'\n' AWG_I4
|
||||
read -r -p "Enter I5 value (from [Interface]) [optional, leave blank to skip]:"$'\n' AWG_I5
|
||||
fi
|
||||
|
||||
uci set network.${INTERFACE_NAME}=interface
|
||||
uci set network.${INTERFACE_NAME}.proto=$PROTO
|
||||
uci set network.${INTERFACE_NAME}.private_key=$AWG_PRIVATE_KEY_INT
|
||||
@@ -178,6 +210,17 @@ configure_amneziawg_interface() {
|
||||
uci set network.${INTERFACE_NAME}.awg_h3=$AWG_H3
|
||||
uci set network.${INTERFACE_NAME}.awg_h4=$AWG_H4
|
||||
|
||||
# Устанавливаем новые параметры для AWG 2.0 (только если они заданы)
|
||||
if [ "$AWG_VERSION" = "2.0" ]; then
|
||||
[ -n "$AWG_S3" ] && uci set network.${INTERFACE_NAME}.awg_s3=$AWG_S3
|
||||
[ -n "$AWG_S4" ] && uci set network.${INTERFACE_NAME}.awg_s4=$AWG_S4
|
||||
[ -n "$AWG_I1" ] && uci set network.${INTERFACE_NAME}.awg_i1=$AWG_I1
|
||||
[ -n "$AWG_I2" ] && uci set network.${INTERFACE_NAME}.awg_i2=$AWG_I2
|
||||
[ -n "$AWG_I3" ] && uci set network.${INTERFACE_NAME}.awg_i3=$AWG_I3
|
||||
[ -n "$AWG_I4" ] && uci set network.${INTERFACE_NAME}.awg_i4=$AWG_I4
|
||||
[ -n "$AWG_I5" ] && uci set network.${INTERFACE_NAME}.awg_i5=$AWG_I5
|
||||
fi
|
||||
|
||||
if ! uci show network | grep -q ${CONFIG_NAME}; then
|
||||
uci add network ${CONFIG_NAME}
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user