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