mirror of
https://github.com/gnh1201/caterpillar.git
synced 2025-09-05 17:31:03 +00:00
Update index.php
This commit is contained in:
parent
be5496aa16
commit
0bfc39a5e9
|
@ -18,6 +18,8 @@ define("ALLOW_LOAD_INSECURE_SCRIPT", true);
|
||||||
define("DEFAULT_USER_AGENT", 'php-httpproxy/' . PHP_HTTPPROXY_VERSION . ' (Server; PHP ' . phpversion() . '; Caterpillar Proxy)');
|
define("DEFAULT_USER_AGENT", 'php-httpproxy/' . PHP_HTTPPROXY_VERSION . ' (Server; PHP ' . phpversion() . '; Caterpillar Proxy)');
|
||||||
define("RELAY_ALLOW_METHODS", ""); // e.g., GET,POST
|
define("RELAY_ALLOW_METHODS", ""); // e.g., GET,POST
|
||||||
define("RELAY_PROXY_PASS", ""); // e.g., https://example.org
|
define("RELAY_PROXY_PASS", ""); // e.g., https://example.org
|
||||||
|
define("RELAY_IMAGE_FILE_EXTENSIONS", ".png,.gif,.jpg");
|
||||||
|
define("RELAY_STATIC_FILE_EXTENSIONS", ".js,.css");
|
||||||
|
|
||||||
error_reporting(E_ALL);
|
error_reporting(E_ALL);
|
||||||
ini_set("display_errors", 0);
|
ini_set("display_errors", 0);
|
||||||
|
@ -632,17 +634,38 @@ foreach($user_agents as $key) {
|
||||||
$is_httpproxy = (strpos(implode("", $user_agents), "php-httpproxy/") === 0);
|
$is_httpproxy = (strpos(implode("", $user_agents), "php-httpproxy/") === 0);
|
||||||
if (!$is_httpproxy) {
|
if (!$is_httpproxy) {
|
||||||
$relay_allow_methods = explode(',', strtoupper(RELAY_ALLOW_METHODS));
|
$relay_allow_methods = explode(',', strtoupper(RELAY_ALLOW_METHODS));
|
||||||
|
$relay_image_file_extensions = explode(',', strtolower(RELAY_IMAGE_FILE_EXTENSIONS));
|
||||||
|
$relay_static_file_extensions = explode(',', strtolower(RELAY_STATIC_FILE_EXTENSIONS));
|
||||||
|
|
||||||
if (in_array($_SERVER['REQUEST_METHOD'], $relay_allow_methods)) {
|
if (in_array($_SERVER['REQUEST_METHOD'], $relay_allow_methods)) {
|
||||||
$url = RELAY_PROXY_PASS . $_SERVER['REQUEST_URI'];
|
$proxy_url = RELAY_PROXY_PASS . $_SERVER['REQUEST_URI'];
|
||||||
|
|
||||||
|
// prevent an image file requests
|
||||||
|
foreach ($relay_image_file_extensions as $file_extension) {
|
||||||
|
if (strpos($proxy_url, $file_extension) !== false) {
|
||||||
|
exit("data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA=");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// prevent an static file requests
|
||||||
|
foreach ($relay_static_file_extensions as $file_extension) {
|
||||||
|
if (strpos($proxy_url, $file_extension) !== false) {
|
||||||
|
exit("");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$result = relay_fetch_url(array(
|
$result = relay_fetch_url(array(
|
||||||
"url" => $url
|
"url" => $proxy_url
|
||||||
));
|
));
|
||||||
if ($result['success']) {
|
if ($result['success']) {
|
||||||
exit($result['result']['data']);
|
$response = str_replace(RELAY_PROXY_PASS, sprintf("%s://%s", $_SERVER['REQUEST_SCHEME'], $_SERVER['HTTP_HOST']), $result['result']['data']);
|
||||||
|
exit($response);
|
||||||
} else {
|
} else {
|
||||||
exit($url . " is down.");
|
http_response_code(500);
|
||||||
|
exit($proxy_url . " is down.");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
http_response_code(500);
|
||||||
exit("Not allowed method");
|
exit("Not allowed method");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user