Skip to content

vpnside-proxy/php-vpn-proxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHP-Proxy Project on www.vpnside.com

This is an HTTP/HTTPS proxy script that forwards requests to a different server and returns the response. The Proxy class uses PSR7 request/response objects as input/output and Guzzle to process the actual HTTP request. The implementation of the script: https://www.vpnside.com/proxy

Installation

Install using composer:

composer require vpnside-proxy/proxy

Here is Example

The following example creates a request object based on the current browser request and forwards it to www.vpnside.com. The RemoveEncodingFilter removes the encoding headers from the original response so that the current web server can set these correctly.

use Proxy\Proxy;
use Proxy\Adapter\Guzzle\GuzzleAdapter;
use Proxy\Filter\RemoveEncodingFilter;
use Zend\Diactoros\ServerRequestFactory;

// Create a PSR7 request based on the current browser request.
$request = ServerRequestFactory::fromGlobals();

// Create a guzzle client
$guzzle = new GuzzleHttp\Client();

// Create the proxy instance
$proxy = new Proxy(new GuzzleAdapter($guzzle));

// Add a response filter that removes the encoding headers.
$proxy->filter(new RemoveEncodingFilter());

// Forward the request and get the response.
$response = $proxy->forward($request)->to('https://www.vpnside.com');

// Output response to the browser.
(new Zend\Diactoros\Response\SapiEmitter)->emit($response);

How to set Filters

You can apply filters to the requests and responses using the middleware strategy:

$response = $proxy
	->forward($request)
	->filter(function ($request, $response, $next) {
		// Manipulate the request object.
		$request = $request->withHeader('User-Agent', 'FishBot/1.0');

		// Call the next item in the middleware.
		$response = $next($request, $response);

		// Manipulate the response object.
		$response = $response->withHeader('X-Proxy-Foo', 'Bar');

		return $response;
	})
	->to('http://ecovibz.com');

https://ecovibz.com

About

A php-proxy-vpnside script with https and post supported by

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages