2023-02-23 21:24:35 +01:00
|
|
|
{% extends "base.html" %}
|
2023-02-18 22:16:09 +01:00
|
|
|
{% import "helpers.html" as helper %}
|
2023-02-24 00:01:51 +01:00
|
|
|
{% import "links.html" as links %}
|
2023-02-23 21:24:35 +01:00
|
|
|
|
|
|
|
{% block title %}{{ data.result.address }}{% endblock %}
|
|
|
|
{% block og_title %}Lookup {{ data.result.address }}{% endblock %}
|
|
|
|
{% block h1 %}Lookup <code>{{ data.result.address }}</code>{% endblock %}
|
|
|
|
|
|
|
|
{% block og_path %}/ip/{{ data.result.address }}{% endblock %}
|
|
|
|
|
|
|
|
{% block content %}
|
2023-02-18 22:16:09 +01:00
|
|
|
{% set r = data.result %}
|
|
|
|
<section>
|
|
|
|
<h2>Network Information</h2>
|
|
|
|
<dl>
|
2023-02-24 00:42:15 +01:00
|
|
|
<dt>Type of Address</dt>
|
2023-02-25 16:17:34 +01:00
|
|
|
<dd>{{ helper::ip_info(ip_info=r.ip_info) }}</dd>
|
2023-02-18 22:16:09 +01:00
|
|
|
{% if r.hostname %}
|
2023-02-24 00:42:15 +01:00
|
|
|
<dt>Hostname</dt>
|
2023-02-23 21:24:35 +01:00
|
|
|
<dd>{{ helper::dig(extra=extra, name=r.hostname) }}</dd>
|
2024-04-21 00:00:04 +02:00
|
|
|
{% elif r.reverse_dns_disabled_for_privacy %}
|
|
|
|
<dt>Hostname</dt>
|
2024-04-21 00:24:13 +02:00
|
|
|
<dd>Lookup disabled by default: {{ helper::ip(ip=r.address, extra=extra, text="enable", with_self_lookup=true)}}</dd>
|
2023-02-18 22:16:09 +01:00
|
|
|
{% endif %}
|
|
|
|
{% if r.asn %}
|
2023-02-24 00:42:15 +01:00
|
|
|
<dt><abbr="Autonomous System Number">ASN</abbr></dt>
|
2023-02-18 22:16:09 +01:00
|
|
|
<dd>AS{{r.asn.asn}}</dd>
|
2023-02-24 00:42:15 +01:00
|
|
|
<dt>AS Name</dt>
|
2023-02-18 22:16:09 +01:00
|
|
|
<dd>{{ r.asn.name }}</dd>
|
|
|
|
{% endif %}
|
2023-02-25 16:41:36 +01:00
|
|
|
</dl>
|
2023-02-24 00:01:51 +01:00
|
|
|
{% block other_ip_button %}{% endblock %}
|
2023-02-18 22:16:09 +01:00
|
|
|
</section>
|
|
|
|
{% if r.location %}
|
|
|
|
<section>
|
|
|
|
<h2>Geolocation</h2>
|
2024-08-06 19:17:37 +02:00
|
|
|
{% if extra.geo_attribution_html %}
|
|
|
|
<dl>
|
|
|
|
{{ helper::place_dl(place=r.location.continent, label="Continent") }}
|
|
|
|
{{ helper::place_dl(place=r.location.country, label="Country") }}
|
|
|
|
{% if r.location.country.iso_code | default(value="") != r.location.registered_country.iso_code | default(value="") %}
|
|
|
|
{{ helper::place_dl(place=r.location.registered_country, label="Registered in") }}
|
|
|
|
{% endif %}
|
|
|
|
{% if r.location.country.iso_code | default(value="") != r.location.represented_country.iso_code | default(value="")%}
|
|
|
|
{{ helper::place_dl(place=r.location.represented_country, label="Represents") }}
|
|
|
|
{% endif %}
|
|
|
|
{% if r.location.subdivisions %}
|
|
|
|
{% for sd in r.location.subdivisions %}
|
|
|
|
{{ helper::place_dl(place=sd, label="Subdivision", iso_code_prefix=r.location.country.iso_code|default(value="")) }}
|
|
|
|
{% endfor %}
|
|
|
|
{% endif %}
|
|
|
|
{{ helper::place_dl(place=r.location.city, label="City") }}
|
|
|
|
{% if r.location.postal_code %}
|
|
|
|
<dt>Postal Code</dt>
|
|
|
|
<dd>{{r.location.postal_code}}</dd>
|
|
|
|
{% endif %}
|
|
|
|
{% if r.location.time_zone %}
|
|
|
|
<dt>Timezone</dt>
|
|
|
|
<dd>{{r.location.time_zone}}</dd>
|
|
|
|
{% endif %}
|
|
|
|
{% if r.location.accuracy %}
|
|
|
|
<dt>Accuracy</dt>
|
|
|
|
<dd>~{{r.location.accuracy}}km</dd>
|
|
|
|
{% endif %}
|
|
|
|
{% if r.location.coordinates %}
|
|
|
|
<dt>Coordinates</dt>
|
|
|
|
<dd><a target="_blank" href="{{ links::map_link(lat=r.location.coordinates.lat, lon=r.location.coordinates.lon)}}">lat: {{r.location.coordinates.lat}}, lon: {{r.location.coordinates.lon}}</a></dd>
|
|
|
|
{% endif %}
|
|
|
|
</dl>
|
|
|
|
<p><small>{{extra.geo_attribution_html | safe}}</small></p>
|
|
|
|
{% else %}
|
|
|
|
<p><strong style="font-size: 2em">Please configure the <code>geo_attribution_html</code> key in the template extra configuration!</strong></p>
|
|
|
|
<p>The geolocation information will then become visible.</p>
|
|
|
|
{% endif %}
|
2023-02-18 22:16:09 +01:00
|
|
|
</section>
|
|
|
|
{% endif %}
|
2023-02-23 21:24:35 +01:00
|
|
|
{% block extra_content %}{% endblock %}
|
2023-02-24 00:01:51 +01:00
|
|
|
<section>
|
|
|
|
<h2>Other Services</h2>
|
|
|
|
{{ links::ip_address_links(address=r.address)}}
|
|
|
|
{% if r.asn %}
|
|
|
|
{{ links::asn_links(asn=r.asn.asn, org_name=r.asn.name) }}
|
|
|
|
{% endif %}
|
|
|
|
</section>
|
2023-02-25 16:17:34 +01:00
|
|
|
|
|
|
|
<section>
|
2023-04-29 13:05:48 +02:00
|
|
|
<h2>Programmatic Lookup</h2>
|
2023-02-25 16:17:34 +01:00
|
|
|
<p>If you want to look up this IP-Address Information in another program that is okay as long as you are civil about it … (ratelimit)</p>
|
|
|
|
<h3>How?</h3>
|
|
|
|
<p>You can choose between the <code>html</code>, <code>text</code> and <code>json</code> format.</p>
|
2023-04-29 13:05:48 +02:00
|
|
|
<p>An example of an URL could be: <code>{{ extra.base_url }}/ip/1.2.3.4?format=json</code></p>
|
2023-02-25 16:17:34 +01:00
|
|
|
<p>To look up your IP-Address as json: <code>{{ extra.base_url }}/?format=json</code></p>
|
|
|
|
</section>
|
|
|
|
|
2023-02-23 21:24:35 +01:00
|
|
|
{% endblock %}
|
2023-02-18 22:16:09 +01:00
|
|
|
|