Я нашел самый быстрый способ поднять свой независимый и бесплатный VPN
Сразу оговорка, платить придётся только за хостинг.
1️⃣ Покупаем сервер где-то на просторах интернета. Конечно же сервер должен находиться за пределами страны. Например я закупился на https://eurohoster.org/ (не реклама). Проверяйте лимиты по трафику, в идеале - без ограничений.
2️⃣ Ставим docker
sudo apt install docker.io
Если удобней с DockerCompose то ставим и его
sudo apt install docker-compose
3️⃣ Ставим WG-EASY
Самый простой способ поднять сервис WireGuard c WebUI это проект wg-easy
Код и документация здесь
https://github.com/weejewel/wg-easy
Запускаем контейнер:
https://github.com/weejewel/wg-easy#2-run-wireguard-easy
Для тех кто с DockerCompose, забираем файл здесь:
https://gist.github.com/paulwinex/be87f79687b96786098ec8fa6a8e251c
В обоих случаях потребуется поменять две переменные:
WG_HOST - внешний статичный IP вашего сервера
PASSWORD - придумайте пароль для WEB UI
Остальные параметры указаны ниже на странице github https://github.com/weejewel/wg-easy#options
4️⃣ Ставим клиента
Все доступные клиенты здесь
https://www.wireguard.com/install/
Есть возможность добавить клиента в Network Manager для управления подключением через UI. Установка зависит от вашей системы, ищите мануалы в сети, их много.
https://github.com/max-moser/network-manager-wireguard
Скрипт установки для RasperryPi
https://gist.github.com/paulwinex/c2c4090f19dbe8bd1253c5744f3f06e1
ЗЫ. Конечно же это не "самый простой" и далеко не единственный способ. А просто тот, который использую я сам.
#offtop#linux
https://code.tutsplus.com/tutorials/behavior-driven-development-in-python--net-26547
Behavior-Driven Development (which we will now refer to as "#BDD") follows on from the ideas and principles introduced in #Test-Driven Development. The key points of writing tests before code really apply to BDD as well. The idea is to not only test your code at the granular level with unit tests, but also test your application end to end, using acceptance tests. We will introduce this style of testing with the use of the Lettuce testing framework.
http://pythonhosted.org/behave/
behave is behaviour-driven development, Python style.
Behavior-driven development (or #BDD) is an agile software development technique that encourages collaboration between developers, #QA and non-technical or business participants in a software project. We have a page further describing this philosophy.
behave uses tests written in a natural language style, backed up by Python code.
Once you’ve installed behave, we recommend reading the
tutorial first and then
feature test setup,
behave API and
related software (things that you can combine with behave)
finally: how to use and configure the behave tool.
https://pypi.python.org/pypi/pytest-bdd
#BDD library for the py.test runner
#pytest-bdd implements a subset of Gherkin language for the automation of the project requirements testing and easier behavioral driven development.
Unlike many other BDD tools it doesn’t require a separate runner and benefits from the power and flexibility of the #pytest. It allows to unify your unit and functional #tests, easier continuous integration server configuration and maximal reuse of the tests setup.
Pytest fixtures written for the #unit_test s can be reused for the setup and actions mentioned in the feature steps with dependency injection, which allows a true BDD just-enough specification of the requirements without maintaining any context object containing the side effects of the Gherkin. imperative declarations.