Aggiunta script per istanza invidious casuale
This commit is contained in:
parent
6dc94a53af
commit
29ee9da116
|
@ -0,0 +1,3 @@
|
|||
# Script generici
|
||||
|
||||
Raccolta di script generici in vari linguaggi.
|
|
@ -0,0 +1,41 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Semplice script PHP che reindirizza a una istanza Invidious casuale
|
||||
*/
|
||||
|
||||
|
||||
// Recupero JSON
|
||||
$lista = file_get_contents('https://api.invidious.io/instances.json?pretty=1&sort_by=type,users');
|
||||
|
||||
// Verifica se il contenuto è in formato JSON
|
||||
if (isJson($lista)) {
|
||||
$istanze = json_decode($lista, true);
|
||||
|
||||
// Recupero lista per tipologia, per utilizzare solo quelle in https (non onion)
|
||||
$istanze_per_tipo = [];
|
||||
|
||||
foreach ($istanze as $indice => $istanza) {
|
||||
if ($istanza[1]['type'] == 'https') {
|
||||
$istanze_per_tipo[] = $istanza[0];
|
||||
}
|
||||
}
|
||||
|
||||
// selezione lista casuale
|
||||
$indirizzo_casuale = $istanze_per_tipo[ rand(0, count($istanze_per_tipo)-1) ];
|
||||
|
||||
header('Location: https://'.$indirizzo_casuale);
|
||||
exit();
|
||||
}
|
||||
|
||||
// Se il JSON non è valido o il server non risponde...??
|
||||
else {
|
||||
exit();
|
||||
}
|
||||
|
||||
|
||||
// Funzione per la verifica del formato JSON
|
||||
function isJson($string) {
|
||||
json_decode($string);
|
||||
return json_last_error() === JSON_ERROR_NONE;
|
||||
}
|
Loading…
Reference in New Issue