├── .github └── FUNDING.yml ├── replit.nix ├── .replit ├── LICENSE ├── README.md └── warp_generator.sh /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | custom: ['https://boosty.to/notmalware/donate'] 2 | -------------------------------------------------------------------------------- /replit.nix: -------------------------------------------------------------------------------- 1 | { pkgs }: { 2 | deps = [ 3 | pkgs.bash 4 | pkgs.wireguard-tools 5 | pkgs.jq 6 | pkgs.bashInteractive 7 | pkgs.nodePackages.bash-language-server 8 | pkgs.coreutils 9 | pkgs.curl 10 | pkgs.qrencode 11 | ]; 12 | } -------------------------------------------------------------------------------- /.replit: -------------------------------------------------------------------------------- 1 | run = "bash warp_generator.sh" 2 | entrypoint = "warp_generator.sh" 3 | modules = ["bash"] 4 | 5 | hidden = [".config"] 6 | 7 | [nix] 8 | channel = "stable-24_05" 9 | 10 | [languages.bash] 11 | pattern = "**/*.sh" 12 | syntax = "bash" 13 | 14 | [deployment] 15 | run = ["bash", "warp_generator.sh"] 16 | deploymentTarget = "cloudrun" -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 MALWARE 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Сгенерируйте конфиг Cloudflare WARP для AmneziaVPN 2 | Этот bash скрипт сгенерирует конфиг Cloudflare WARP для AmneziaVPN. 3 | 4 | Не стоит выполнять его локально, так как РКН заблокировал запросы для получения конфига. Вместо этого лучше выполнять на удалённых серверах. 5 | 6 | ## Вариант 1: Aeza Terminator 7 | 1. Заходим на https://terminator.aeza.net 8 | 2. Выбираем **`debian`** 9 | 3. Вставляем команду (Shift + Insert): 10 | ```bash 11 | bash <(wget --inet4-only -qO- https://raw.githubusercontent.com/ImMALWARE/bash-warp-generator/main/warp_generator.sh) 12 | ``` 13 | 4. После того, как конфиг сгенерируется, копируем его, либо скачиваем файлом по ссылке и импортируем в AmneziaVPN!👍 14 | 15 | ## Вариант 2: pad.ws 16 | 1. Заходим на https://pad.ws 17 | 2. Continue with Google 18 | 3. В окне Dashboard, если будет кнопка Start, нажмите на неё 19 | 4. Terminal 20 | 5. Вставляем команду (Shift + Insert): 21 | ```bash 22 | bash <(wget --inet4-only -qO- https://raw.githubusercontent.com/ImMALWARE/bash-warp-generator/main/warp_generator.sh) 23 | ``` 24 | 6. После того, как конфиг сгенерируется, копируем его, либо скачиваем файлом по ссылке и импортируем в AmneziaVPN!👍 25 | 26 | ## Вариант 3: Replit 27 | 1. Тыкаем сюда: [![Run on Repl.it](https://repl.it/badge/github/replit/upm)](https://replit.com/new/github/ImMALWARE/bash-warp-generator) 28 | 2. Создаём аккаунт 29 | 3. Нажимаем кнопку **`Run`** вверху 30 | 4. После того, как конфиг сгенерируется, копируем его, либо скачиваем файлом по ссылке и импортируем в AmneziaVPN!👍 31 | 32 | ## Вариант 4: GitHub Codespaces 33 | 1. Переходим по ссылке: https://github.com/ImMALWARE/bash-warp-generator/codespaces 34 | 2. Вводим учётные данные GitHub (потребуется авторизация, если вы не вошли в аккаунт) 35 | 3. Нажимаем **`Create codespace on main`** 36 | 4. Дожидаемся, пока среда загрузится (может занять 10–30 секунд) 37 | 5. В терминале (внизу экрана) вводим команду (Shift + Insert): 38 | ```bash 39 | bash warp_generator.sh 40 | ``` 41 | 6. После того, как конфиг сгенерируется, копируем его, либо скачиваем файлом по ссылке и импортируем в AmneziaVPN!👍 42 | 7. После завершения можно **удалить codespace**: 43 | - Переходим в https://github.com/ImMALWARE/bash-warp-generator/codespaces 44 | - Нажимаем на три точки → **Delete** 45 | *GitHub удаляет Codespaces автоматически через некоторое время бездействия, но лучше удалить сразу.* 46 | 47 | ## Что-то не получается? 48 | Напишите в чат: https://t.me/immalware_chat 49 | -------------------------------------------------------------------------------- /warp_generator.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | clear 4 | mkdir -p ~/.cloudshell && touch ~/.cloudshell/no-apt-get-warning # Для Google Cloud Shell, но лучше там не выполнять 5 | echo "Установка зависимостей..." 6 | apt update -y && apt install sudo -y # Для Aeza Terminator, там sudo не установлен по умолчанию 7 | sudo apt-get update -y --fix-missing && sudo apt-get install wireguard-tools jq wget qrencode -y --fix-missing # Update второй раз, если sudo установлен и обязателен (в строке выше не сработал) 8 | 9 | priv="${1:-$(wg genkey)}" 10 | pub="${2:-$(echo "${priv}" | wg pubkey)}" 11 | api="https://api.cloudflareclient.com/v0i1909051800" 12 | ins() { curl -s -H 'user-agent:' -H 'content-type: application/json' -X "$1" "${api}/$2" "${@:3}"; } 13 | sec() { ins "$1" "$2" -H "authorization: Bearer $3" "${@:4}"; } 14 | response=$(ins POST "reg" -d "{\"install_id\":\"\",\"tos\":\"$(date -u +%FT%T.000Z)\",\"key\":\"${pub}\",\"fcm_token\":\"\",\"type\":\"ios\",\"locale\":\"en_US\"}") 15 | 16 | clear 17 | id=$(echo "$response" | jq -r '.result.id') 18 | token=$(echo "$response" | jq -r '.result.token') 19 | response=$(sec PATCH "reg/${id}" "$token" -d '{"warp_enabled":true}') 20 | peer_pub=$(echo "$response" | jq -r '.result.config.peers[0].public_key') 21 | #peer_endpoint=$(echo "$response" | jq -r '.result.config.peers[0].endpoint.host') 22 | client_ipv4=$(echo "$response" | jq -r '.result.config.interface.addresses.v4') 23 | client_ipv6=$(echo "$response" | jq -r '.result.config.interface.addresses.v6') 24 | 25 | conf=$(cat <<-EOM 26 | [Interface] 27 | PrivateKey = ${priv} 28 | S1 = 0 29 | S2 = 0 30 | Jc = 120 31 | Jmin = 23 32 | Jmax = 911 33 | H1 = 1 34 | H2 = 2 35 | H3 = 3 36 | H4 = 4 37 | MTU = 1280 38 | I1 = 39 | Address = ${client_ipv4}, ${client_ipv6} 40 | DNS = 1.1.1.1, 2606:4700:4700::1111, 1.0.0.1, 2606:4700:4700::1001 41 | 42 | [Peer] 43 | PublicKey = ${peer_pub} 44 | AllowedIPs = 0.0.0.0/0, ::/0 45 | Endpoint = 162.159.192.1:500 46 | EOM 47 | ) 48 | 49 | echo -e "\n\n\n" 50 | [ -t 1 ] && echo "########## НАЧАЛО КОНФИГА ##########" 51 | echo "${conf}" 52 | [ -t 1 ] && echo "########### КОНЕЦ КОНФИГА ###########" 53 | 54 | echo -e "\nОтсканируйте QR код конфигурации с помощью приложения AmneziaVPN на смартфон:\n" 55 | echo "$conf" | qrencode -t utf8 56 | echo -e "\n" 57 | conf_base64=$(echo -n "${conf}" | base64 -w 0) 58 | echo "Скачать конфиг файлом: https://immalware.vercel.app/download?filename=WARP.conf&content=${conf_base64}" 59 | echo "Импортируйте конфиг в приложение AmneziaVPN! Приложение AmneziaWG не поддерживает этот формат!" 60 | echo -e "\n" 61 | echo "Что-то не получилось? Есть вопросы? Пишите в чат: https://t.me/immalware_chat" 62 | --------------------------------------------------------------------------------