You can now use ipinfo.io access token

This commit is contained in:
adolfintel 2019-04-20 08:37:52 +02:00
parent 91ddb8686d
commit 7f17622d5b
3 changed files with 12 additions and 3 deletions

2
doc.md
View file

@ -41,6 +41,8 @@ Later we'll see how to use the test without PHP, and how to configure the teleme
__Important:__ keep all the files together; all paths are relative to the js file __Important:__ keep all the files together; all paths are relative to the js file
__Important:__ If you expect to serve more than ~500 tests per day, you will need to sign up to [ipinfo.io](https://ipinfo.io) and edit `getIP_ipInfo_apikey.php` to set your access token.
__Important:__ Make sure PHP is allowed to write to the directory where you're installing the speedtest because getIP.php needs to create a cache file to improve performance. __Important:__ Make sure PHP is allowed to write to the directory where you're installing the speedtest because getIP.php needs to create a cache file to improve performance.
## Basic usage ## Basic usage

View file

@ -65,12 +65,16 @@ function distance($latitudeFrom, $longitudeFrom, $latitudeTo, $longitudeTo) {
$dist = sin($latitudeFrom * $rad) * sin($latitudeTo * $rad) + cos($latitudeFrom * $rad) * cos($latitudeTo * $rad) * cos($theta * $rad); $dist = sin($latitudeFrom * $rad) * sin($latitudeTo * $rad) + cos($latitudeFrom * $rad) * cos($latitudeTo * $rad) * cos($theta * $rad);
return acos($dist) / $rad * 60 * 1.853; return acos($dist) / $rad * 60 * 1.853;
} }
function getIpInfoTokenString(){
require "getIP_ipInfo_apikey.php";
if(empty($IPINFO_APIKEY)) return "";
return "?token=".$IPINFO_APIKEY;
}
if (isset($_GET["isp"])) { if (isset($_GET["isp"])) {
$isp = ""; $isp = "";
$rawIspInfo=null; $rawIspInfo=null;
try { try {
$json = file_get_contents("https://ipinfo.io/" . $ip . "/json"); $json = file_get_contents("https://ipinfo.io/" . $ip . "/json".getIpInfoTokenString());
$details = json_decode($json, true); $details = json_decode($json, true);
$rawIspInfo=$details; $rawIspInfo=$details;
if (array_key_exists("org", $details)){ if (array_key_exists("org", $details)){
@ -94,7 +98,7 @@ if (isset($_GET["isp"])) {
if(file_exists($locFile)){ if(file_exists($locFile)){
require $locFile; require $locFile;
}else{ }else{
$json = file_get_contents("https://ipinfo.io/json"); $json = file_get_contents("https://ipinfo.io/json".getIpInfoTokenString());
$details = json_decode($json, true); $details = json_decode($json, true);
if (array_key_exists("loc", $details)){ if (array_key_exists("loc", $details)){
$serverLoc = $details["loc"]; $serverLoc = $details["loc"];

3
getIP_ipInfo_apikey.php Normal file
View file

@ -0,0 +1,3 @@
<?php
$IPINFO_APIKEY=""; //put your token between the quotes if you have one
?>