python script для включения openvpn
Написал вот такой скрипт, он работает но требуются права sudo для запуска openvpn, вопрос таков, есть ли какой-либо способ запуска openvpn без ввода пароля sudo, но с правами sudo. Скрипт этот нужен для работы другой программы, которая также написана на python.
import requests, os, sys, subprocess, time, random, signal def onVpn(): path = getFile('/home/kirill1/workspace/vpn/conf.ovpn') with open(path, "a") as myfile: myfile.write("\nscript-security 2\nup /etc/openvpn/update-resolv-conf\ndown /etc/openvpn/update-resolv-conf") myfile.close() process = subprocess.Popen(['sudo','openvpn', '--auth-nocache', '--config', path]) print(process.pid) time.sleep(90) with open("/home/kirill1/workspace/vpn/log.log", "r") as log: if log.read().find('Initialization Sequence Completed') != -1: return [process, True] else: return [process, False] def offVpn(process): print(process) print(process.pid) process.kill() pid = process.pid + 1 print(pid) while process.poll() != 0: time.sleep(1) return pr = onVpn() print(pr) time.sleep(10) offVpn(pr[0]) print('finish')
kirill568
30.10.19 17:40:02 MSK
VPN сервер, создание VPN подключения
Запустить из питона программу или батник/скрипт, который в свою очередь запустит vpn-клиента, поднимет туннельные интерфейсы и т.д. и т.п. А если найдёте системные вызовы для этого и как вызывать их из питона, то будет ещё лучше.
5 июл 2022 в 2:34
если подключаемся средствами ОС, то какой ОС?
2 ноя 2022 в 7:16
а так то щас как напишу впн сервер и клиента на питоне — тут на часик делов то
2 ноя 2022 в 7:19
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Можно использовать requests
import requests proxies = resp = requests.get('http://example.com', proxies=proxies )
Отслеживать
ответ дан 25 июн 2018 в 7:59
3,169 2 2 золотых знака 22 22 серебряных знака 44 44 бронзовых знака
Это решение для получения страницы из кода, я имел в виду создание постоянного подключения к vpn посредством ОС.
25 июн 2018 в 8:22
@JediKnight, а нафиг в этой схеме питон?
11 апр 2022 в 23:07
Попробуй через http.server:
import http.server import urllib PORT = 9097 class MyProxy(http.server.SimpleHTTPRequestHandler): def do_GET(self): url=self.path[1:] self.send_response(200) self.end_headers() self.copyfile(urllib.urlopen(url), self.wfile) httpd = socketserver.ForkingTCPServer(('', PORT), MyProxy) print ("Now serving at", str(PORT)) httpd.serve_forever()```
Как использовать VPN в программе на Python?
Написал программу для скачивания новостей с сайта (requests + bs4). Один сайт меня не пускает, хотя через Zenmate VPN в Хроме захожу. Что сделать, чтобы сайт был доступен программе?
- Вопрос задан более трёх лет назад
- 2707 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 1
Укротитель питонов
Если речь идёт именно о VPN, то python и будет через него соединяться с целями.
А сайт, который не пускает, вероятно, смотрит на User-Agent, видит там что-то типа «python-requests» и поступает с ним так, как положено поступать с ботами. Попробуйте подменить UserAgent для чистоты эксперимента.
Инструкция: как настроить и запустить собственный VPN-сервер за 15 минут, даже если вы не разбираетесь в программировании
Заботитесь о безопасности и анонимности в сети? Тогда лучше не полагайтесь на сторонние VPN-сервисы — запустите свой. Здесь найдете короткую инструкцию.
Материал предоставлен Нуру Набиевым, нашим подписчиком
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На фоне новых законов о регулировании трафика все больше людей начинают волноваться о своей конфиденциальности в сети. Однако это не означает, что вы должны платить большие деньги VPN-сервисам и туннелировать весь ваш интернет-трафик через незнакомые VPN-серверы. В этой статье я расскажу о создании собственного VPN-сервера за 15 минут.
VPN не делает вас анонимным пользователем интернета
Так что же такое тогда VPN и для чего она нужна? В этой части статьи я кратко расскажу о функции VPN, а далее разберемся с настройкой собственного сервера.
Каждый раз, когда вы подключаете свой компьютер или смартфон к VPN-серверу, вы устанавливаете зашифрованный туннель между вашим устройством и этим сервером. Никто не может видеть, какие данные передаются внутри этого туннеля, даже ваш провайдер.
И все же, это не делает вас анонимным пользователем. Вы просто перекладываете риск на тот самый туннель VPN, а компания, которая предоставляет VPN-сервис, может видеть весь ваш интернет-трафик. Такие компании могут продавать ваши данные в рекламных целях.
Вот почему я не рекомендую подписываться на незнакомые вам VPN-сервисы и еще и платить им — третьи лица могут продавать ваши данные налево и направо.
В качестве примечания, многие сайты теперь полагаются на HTTPS для установления безопасного соединения между вашим браузером и веб-сайтом, который вы используете. Вы должны устанавливать расширение HTTPS везде и использовать его при любой возможности.
Но VPN-сервисы могут быть и полезны. Иногда вы не можете получить доступ к веб-сайту из общедоступной сети, так как он заблокирован. Например, если вы находитесь в Китае, то вам придется использовать VPN, чтобы иметь доступ к своей учетной записи Gmail.
Инструкция: настраиваем и запускаем собственный VPN-сервер
Нам подойдет Algo VPN — набор скриптов, которые позволят нам настроить VPN в облаке за очень короткое время, даже если вы не очень разбираетесь в программировании.
Я создал VPN-сервер на DigitalOcean, это сервер Scaleway в связке с Amazon Web Services. Через пару минут после этого я уже смог подключиться ко всем этим VPN-сетям с моего Mac и iPhone.
Algo VPN автоматизирует процесс установки VPN, поэтому вам не нужно устанавливать соединение SSH с сервером и запускать сложные командные строки.
Для начала, вы должны подписаться на облачного провайдера (в данном случае это DigitalOcean) и запустить мастер настройки Algo VPN на вашем терминале. Я подробно опишу процесс установки позже, однако он может измениться после публикации этого поста. Все объявления можете найти в официальном репозитории GitHub.
В DigitalOcean нам не нужно создавать и настраивать собственный сервер. Algo VPN позаботится об этом для нас, так как он использует API DigitalOcean для создания сервера и установки всего необходимого для VPN.
В конце установки вы получите несколько файлов на локальном жестком диске. Например, в macOS двойной щелчок на профиле конфигурации добавит VPN-сервер к вашим сетевым настройкам и подключит вас к вашему VPN-серверу. Вам не нужно устанавливать VPN-клиент, он работает изначально на macOS и iOS.
Подробная инструкция со скриптами
1. Создайте учетную запись на хостинг-провайдере DigitalOcean.
Algo поддерживает DigitalOcean (наиболее доверенный), Amazon EC2, Google Compute Engine, и Microsoft Azure.
2. Загрузите Algo VPN на свой локальный компьютер.
Содержимое архива разархивируйте в отдельную директорию.
3. Установите зависимости с командной строкой на этой странице.
Откройте терминал. Интерпретатор python, который вы используете для развертывания Algo, должен быть второй версии. cd в algo-master директорию (где вы разархивировали Algo), далее:
Для macOS:
$ python -m ensurepip --user $ python -m pip install --user --upgrade virtualenv
Для Linux (deb-based):
$ sudo apt-get update && sudo apt-get install build-essential libssl-dev libffi-dev python-dev python-pip python-setuptools python-virtualenv –y
Более подробная информация для каждой ОС содержится в официальной документации.
4. Установите остальные зависимости Algo для вашей операционной системы.
Используя то же окно терминала, что и на предыдущем шаге, выполните команду ниже:
$ python -m virtualenv env && source env/bin/activate && python -m pip install -r requirements.txt
В macOS вам может быть предложено установить cc , установите его, если это так.
5. Укажите пользователей, которых вы хотите создать.
Откройте config.cfg в вашем любимом текстовом редакторе, после чего укажите пользователей в списке users .
6. Начинайте развертывание.
Вернитесь к своему терминалу. В директории Algo запустите ./algo и следуйте инструкциям. Существует несколько дополнительных функций. Эти дополнительные функции более подробно описаны в ROLES.md (на GitHub).
На этом все! Подробную инструкцию вы сможете найти в официальном репозитории GitHub.
Одноразовые VPN
Запуск собственного VPN-сервера не означает, что вы будете в полной безопасности в Интернете. Еще раз, вы переносите ваш риск на туннель к провайдеру облачного хостинга.
Если вы используете Algo VPN для Microsoft Azure, Роскомнадзор или АНБ может запрашивать у Microsoft дополнительную информацию о вас, если они посчитают это необходимым. Не забывайте, что у Microsoft есть ваша платежная информация.
Но в Algo VPN есть возможность настроить одноразовые VPN. Вы можете загрузить новый VPN-сервер и подключиться к этой VPN всего за несколько минут. Как только вы закончите, вы можете просто удалить свой экземпляр и сделать вид, что этот VPN-сервер никогда не существовал.
Это намного дешевле, чем подписка на услугу VPN, оплата которой стоит около 0,006 долл. США за час использования или даже меньше. И вы получите гораздо лучшую производительность, так как вы не будете передавать свой VPN-сервер другим пользователям VPN. Я добился удивительных сетевых характеристик от моего сервера AWS VPN:
Хотя Algo VPN упрощает настройку VPN-сервера на DigitalOcean, AWS, Microsoft Azure и Google Cloud, он отлично справится и на самом маленьком облачном сервере под Ubuntu.
UPD от 13 апреля 2018 г.
Ещё более быстрый способ развёртывания собственного VPN:
- Заходим на DigitalOcean и регистрируемся по этой ссылке (да, она реферальная, но вы получите 10 долларов на счёт);
- Затем заходим сюда и логинимся через DO;
- В итоге скрипт соберёт дроплет с VPN и после установки предоставит вам все необходимые настройки.
Готово, можно пользоваться!
