cURL через OpenVPN или PPTP

Есть ли способ выполнить запросы cURL через VPN, такие как OpenVPN или PPTP?

Я знаю, что я могу использовать прокси-сервер, но VPN отличается.

cURL просто использует сетевой стек операционной системы и не реализует TCP (или протоколы более низкого уровня).

Поэтому он отлично работает, когда операционная система настроена на маршрутизацию сетевой связи через виртуальный адаптер, независимо от того, как этот адаптер реализован.

EDIT: ИЮЛЬ 2013

Я получил несколько писем по этому поводу, поэтому я завернул все это в блог-постер: http://www.georgiecasey.com/2013/07/26/how-to-use-overplay-and-other-vpns-as- а-завиток-прокси /


Да, но сначала вы должны настроить VPN на отдельный интерфейс, чтобы весь ваш сервер не использовал VPN. Я не эксперт OpenVPN, но я сделал это с помощью dev чтобы указать виртуальное сетевое устройство TUN / TAP: dev proxy1 . Дополнительная информация на странице руководства OpenVPN.

Затем используйте эту строку кода PHP в своих сценариях.

 curl_setopt($ch, CURLOPT_INTERFACE, "proxy1"); 

Я сделал это, чтобы я мог использовать все IP-адреса overplay.net для очистки файлов на моем сервере. Эти IP-адреса часто меняются, поэтому у меня есть cronjob, который вытащил zip-файл IP-адресов, создал файл конфигурации OpenVPN для каждого IP-адреса, запустил каждую VPN и поместил все IP-адреса и имена интерфейсов в таблицу DB. Затем мои скрипты просто вытащили из базы данных случайные имена интерфейсов и использовали это в curl. Работал.