OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
firebase
/
vendor
/
google
/
grpc-gcp
/
cloudprober
/
grpc_gpc_prober
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
08/12/2024 10:35:19 AM
rwxr-xr-x
📄
firestore_probes.php
779 bytes
08/12/2024 10:34:01 AM
rw-r--r--
📄
prober.php
2.64 KB
08/12/2024 10:34:01 AM
rw-r--r--
📄
spanner_probes.php
10.27 KB
08/12/2024 10:34:01 AM
rw-r--r--
📄
stackdriver_util.php
1.58 KB
08/12/2024 10:34:02 AM
rw-r--r--
Editing: prober.php
Close
<?php chdir(dirname(__FILE__)); require '../vendor/autoload.php'; // require_once '../Google/Cloud/Firestore/V1beta1/FirestoreClient.php'; // require_once '../Google/Cloud/Spanner/V1/SpannerClient.php'; $firestore_probes = require './firestore_probes.php'; $spanner_probes = require './spanner_probes.php'; require './stackdriver_util.php'; $_OAUTH_SCOPE = 'https://www.googleapis.com/auth/cloud-platform'; $_FIRESTORE_TARGET = 'firestore.googleapis.com:443'; $_SPANNER_TARGET = 'spanner.googleapis.com:443'; use Google\Auth\ApplicationDefaultCredentials; use Google\Cloud\Firestore\V1beta1\FirestoreGrpcClient; use Google\Cloud\Spanner\V1\SpannerGrpcClient; function getArgs(){ $options = getopt('',['api:','extension:']); return $options; } /* function secureAuthorizedChannel($credentials, $request, $target, $kwargs){ $metadata_plugin = $transport_grpc->AuthMetadataPlugin($credentials, $request); $ssl_credentials = Grpc\ChannelCredentials::createSsl(); $composit_credentials = $grpc->composite_channel_credentials($ssl_credentials, $google_auth_credentials); return $grpc_gcp->secure_channel($target, $composit_credentials, $kwargs); } function getStubChannel($target){ $res = $auth->default([$_OAUTH_SCOPE]); $cred = $res[0]; return secureAuthorizedChannel($cred, Request(), $target); }*/ function executeProbes($api){ global $_OAUTH_SCOPE; global $_SPANNER_TARGET; global $_FIRESTORE_TARGET; global $spanner_probes; global $firestore_probes; $util = new StackdriverUtil($api); $auth = Google\Auth\ApplicationDefaultCredentials::getCredentials($_OAUTH_SCOPE); $opts = [ 'credentials' => Grpc\ChannelCredentials::createSsl(), 'update_metadata' => $auth->getUpdateMetadataFunc(), ]; if($api == 'spanner'){ $client = new SpannerGrpcClient($_SPANNER_TARGET, $opts); $probe_functions = $spanner_probes; } else if($api == 'firestore'){ $client = new FirestoreGrpcClient($_FIRESTORE_TARGET, $opts); $probe_functions = $firestore_probes; } else{ echo 'grpc not implemented for '.$api; exit(1); } $total = sizeof($probe_functions); $success = 0; $metrics = []; # Execute all probes for given api foreach ($probe_functions as $probe_name => $probe_function) { try{ $probe_function($client, $metrics); $success++; } catch(Exception $e){ $util->reportError($e); } } if($success == $total){ $util->setSuccess(True); } $util->addMetrics($metrics); $util->outputMetrics(); if($success != $total){ # TODO: exit system exit(1); } } function main(){ $args = getArgs(); executeProbes($args['api']); } main();