Skip to content

CloudFlowr/IPsaur

Repository files navigation

IPsaur

IPsaur is a simple self-hosted IP and network bandwidth checker based on Deno.

Demo

Try IPsaur at https://ipsaur.deno.dev/.

Buy me a coffee

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 :)

Buy Me A Coffee

Features

  • 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

Setup

  1. Install Deno as described here.

  2. Clone the repository

git clone https://github.com/CloudFlowr/IPsaur
cd IPsaur
  1. Review config.ts file.

  2. Run IPsaur using command:

deno run --allow-net --allow-read --allow-env ./main.ts

Usage

Browser

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.

Screenshot

You can copy results to clipboard or generate a share URL.

Screenshot

Then open the Share URL on another computer:

Screenshot

cURL

IPsaur supports output to cURL.

curl https://ipsaur.deno.dev/

Screenshot

Shared URL can be also opened in cURL:

curl https://ipsaur.deno.dev/s?eyJpcCI6IjE2My4xMTYuMTc4LjI5IiwidWEiOiJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTIwLjAuMC4wIFNhZmFyaS81MzcuMzYiLCJudCI6eyJydHQiOjEzMiwiZGwiOnsic3oiOjMwMDAwMCwidCI6ODAsInJ0IjoxLCJzIjozMDAwMDAwMH0sInVsIjp7InN6IjozMDAwMDAsInQiOjExNywicnQiOjgxLCJzIjoyOTYyOTYzMH19LCJzdHUiOiIyMDI0LTAxLTIxVDEyOjI0OjM2LjY3N1oiLCJidHUiOiIyMDI0LTAxLTIxVDEyOjI0OjM5LjYwNloiLCJidGwiOiJTdW4gSmFuIDIxIDIwMjQgMTM6MjQ6MzkgR01UKzAxMDAgKENlbnRyYWwgRXVyb3BlYW4gU3RhbmRhcmQgVGltZSkiLCJjIjoiIiwiZSI6IiJ9

Screenshot

Output formatting

IP address only

To receive your IP addresss only just use /ip handler

curl https://ipsaur.deno.dev/ip

JSON

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

YAML

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

Built with

IPsaur uses the following libraries:

License

This project is licensed under the MIT license.

See LICENSE for more information.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published