IPsaur is a simple self-hosted IP and network bandwidth checker based on Deno.
Try IPsaur at https://ipsaur.deno.dev/.
Whether you use this project, have learned something from it, or just like it, please consider supporting it by buying me a coffee, so I can dedicate more time on open-source projects like this :)
- Self-hosted on your premises (can be VM/Docker container/Lambda/etc.)
- Small memory footprint (~200MB)
- Uses MaxMind/DB-IP GeoLocation DBs
- Includes simple network bandwidth tester
- Test results can be copied to clipboard
- Test results can be shared with others as URL. Results are not persisted anywhere.
- Results can be received from server in json or yaml format
-
Install Deno as described here.
-
Clone the repository
git clone https://github.com/CloudFlowr/IPsaur
cd IPsaur
-
Review
config.ts
file. -
Run IPsaur using command:
deno run --allow-net --allow-read --allow-env ./main.ts
If you reach the IPsaur using web browser it will open a web page with IP address details and will perform the Network Bandwidth Test.
You can copy results to clipboard or generate a share URL.
Then open the Share URL on another computer:
IPsaur supports output to cURL.
curl https://ipsaur.deno.dev/
Shared URL can be also opened in cURL:
curl https://ipsaur.deno.dev/s?eyJpcCI6IjE2My4xMTYuMTc4LjI5IiwidWEiOiJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTIwLjAuMC4wIFNhZmFyaS81MzcuMzYiLCJudCI6eyJydHQiOjEzMiwiZGwiOnsic3oiOjMwMDAwMCwidCI6ODAsInJ0IjoxLCJzIjozMDAwMDAwMH0sInVsIjp7InN6IjozMDAwMDAsInQiOjExNywicnQiOjgxLCJzIjoyOTYyOTYzMH19LCJzdHUiOiIyMDI0LTAxLTIxVDEyOjI0OjM2LjY3N1oiLCJidHUiOiIyMDI0LTAxLTIxVDEyOjI0OjM5LjYwNloiLCJidGwiOiJTdW4gSmFuIDIxIDIwMjQgMTM6MjQ6MzkgR01UKzAxMDAgKENlbnRyYWwgRXVyb3BlYW4gU3RhbmRhcmQgVGltZSkiLCJjIjoiIiwiZSI6IiJ9
To receive your IP addresss only just use /ip
handler
curl https://ipsaur.deno.dev/ip
Add http header Content-Type: text/json
or Content-Type: application/json
curl https://ipsaur.deno.dev -H 'Content-Type: text/json'
Or use handler /json
curl https://ipsaur.deno.dev/json
Add http header Content-Type: text/yaml
or Content-Type: application/yaml
curl https://ipsaur.deno.dev -H 'Content-Type: text/yaml'
Or use handler /yaml
curl https://ipsaur.deno.dev/yaml
IPsaur uses the following libraries:
This project is licensed under the MIT license.
See LICENSE for more information.