@@ -104,7 +104,7 @@ |
||
| 104 | 104 | // Handle the error here, e.g. by logging it |
| 105 | 105 | $attempts++; |
| 106 | 106 | if ($attempts == $max_attempts) { |
| 107 | - // Reached max attempts, so throw an exception to indicate failure |
|
| 107 | + // Reached max attempts, so throw an exception to indicate failure |
|
| 108 | 108 | throw new Exception('Failed to retrieve data after ' . $max_attempts . ' attempts.'); |
| 109 | 109 | } |
| 110 | 110 | sleep(1); // Wait for 1 second before retrying |
@@ -377,7 +377,7 @@ |
||
| 377 | 377 | $final_data[$key]["time"] = convert_to_iran_time( |
| 378 | 378 | $matches[1][$key] |
| 379 | 379 | ); |
| 380 | - $config_number ++ ; |
|
| 380 | + $config_number ++ ; |
|
| 381 | 381 | } |
| 382 | 382 | } |
| 383 | 383 | } |
@@ -3,10 +3,10 @@ discard block |
||
| 3 | 3 | header("Content-type: application/json;"); |
| 4 | 4 | |
| 5 | 5 | function create_tehran_timestamp_tomorrow() { |
| 6 | - date_default_timezone_set('Asia/Tehran'); |
|
| 7 | - $dateTomorrow = new DateTime('tomorrow'); |
|
| 8 | - $timestampTomorrow = strtotime($dateTomorrow->format('Y-m-d H:i:s')); |
|
| 9 | - return $timestampTomorrow; |
|
| 6 | + date_default_timezone_set('Asia/Tehran'); |
|
| 7 | + $dateTomorrow = new DateTime('tomorrow'); |
|
| 8 | + $timestampTomorrow = strtotime($dateTomorrow->format('Y-m-d H:i:s')); |
|
| 9 | + return $timestampTomorrow; |
|
| 10 | 10 | } |
| 11 | 11 | |
| 12 | 12 | function isEvenLength($str) { |
@@ -22,7 +22,7 @@ discard block |
||
| 22 | 22 | function extract_names($input){ |
| 23 | 23 | foreach($input as $config){ |
| 24 | 24 | if ($config['tag'] !== ""){ |
| 25 | - $locationNames[] = $config['tag']; |
|
| 25 | + $locationNames[] = $config['tag']; |
|
| 26 | 26 | } |
| 27 | 27 | } |
| 28 | 28 | return $locationNames; |
@@ -45,9 +45,9 @@ discard block |
||
| 45 | 45 | "authenticated_length"=> true, |
| 46 | 46 | "packet_encoding"=> "", |
| 47 | 47 | "multiplex"=> array( |
| 48 | - "enabled"=> false, |
|
| 49 | - "protocol"=> "smux", |
|
| 50 | - "max_streams"=> 32 |
|
| 48 | + "enabled"=> false, |
|
| 49 | + "protocol"=> "smux", |
|
| 50 | + "max_streams"=> 32 |
|
| 51 | 51 | ) |
| 52 | 52 | ); |
| 53 | 53 | |
@@ -60,7 +60,7 @@ discard block |
||
| 60 | 60 | "utls"=> array( |
| 61 | 61 | "enabled"=> true, |
| 62 | 62 | "fingerprint"=> "chrome" |
| 63 | - ) |
|
| 63 | + ) |
|
| 64 | 64 | ); |
| 65 | 65 | } |
| 66 | 66 | |
@@ -150,7 +150,7 @@ discard block |
||
| 150 | 150 | if ( |
| 151 | 151 | !isEvenLength($decoded_vless["params"]["sid"]) && |
| 152 | 152 | !is_null($decoded_vless["params"]["sid"]) |
| 153 | - ) { |
|
| 153 | + ) { |
|
| 154 | 154 | return null; |
| 155 | 155 | } |
| 156 | 156 | } |
@@ -199,9 +199,9 @@ discard block |
||
| 199 | 199 | "server_port"=> intval($decoded_trojan['port']), |
| 200 | 200 | "password"=> $decoded_trojan['username'], |
| 201 | 201 | "multiplex"=> array( |
| 202 | - "enabled"=> false, |
|
| 203 | - "protocol"=> "smux", |
|
| 204 | - "max_streams"=> 32 |
|
| 202 | + "enabled"=> false, |
|
| 203 | + "protocol"=> "smux", |
|
| 204 | + "max_streams"=> 32 |
|
| 205 | 205 | ) |
| 206 | 206 | ); |
| 207 | 207 | |
@@ -224,14 +224,14 @@ discard block |
||
| 224 | 224 | "headers"=> array( |
| 225 | 225 | "Host"=> $decoded_trojan['params']["host"] |
| 226 | 226 | ) |
| 227 | - ), |
|
| 228 | - "grpc" => array( |
|
| 227 | + ), |
|
| 228 | + "grpc" => array( |
|
| 229 | 229 | "type" => $decoded_trojan['params']["type"], |
| 230 | 230 | "service_name" => $decoded_trojan['params']["serviceName"], |
| 231 | 231 | "idle_timeout" => "15s", |
| 232 | 232 | "ping_timeout" => "15s", |
| 233 | 233 | "permit_without_stream" => false |
| 234 | - ) |
|
| 234 | + ) |
|
| 235 | 235 | ); |
| 236 | 236 | if (isset($decoded_trojan['params']["type"])){ |
| 237 | 237 | if ($decoded_trojan['params']["type"] === "ws" || $decoded_trojan['params']["type"] === "grpc"){ |