<?php // debug error_reporting(E_ALL); ini_set('display_errors', true); require 'src/Weheartwebsites/autoload.php'; use Weheartwebsites\SOCKS5\Client as SOCKS5Client; use Weheartwebsites\SOCKS5\Methods\None as AuthNone; $socks_client = new SOCKS5Client('127.0.0.1'); $socks_client->addMethod(new AuthNone()); //$socks_client->setTunnelDNS(true); $request = ['GET / HTTP/1.1', 'Host: curlmyip.com', 'Connection: close']; try { $socks_client->connect(); $socks_client->connectTo('curlmyip.com', 80); var_dump(fwrite($socks_client->socket, implode("\r\n", $request) . "\r\n\r\n")); $head = $body = $buffer = null; $is_header = true; // I know this is shitty, but just for a quick demonstration.... while (true) { $buffer = fgets($socks_client->socket); if ($buffer === false) { usleep(200000); continue; } if ($is_header) { $head .= $buffer; if (substr($head, -4) == "\r\n\r\n") { $is_header = false; // get rest bytes $head = rtrim(str_replace("\r\n", "\n", $head));