diff --git a/ipapi/cm-template.yaml b/ipapi/cm-template.yaml new file mode 100644 index 0000000..e8d9ae8 --- /dev/null +++ b/ipapi/cm-template.yaml @@ -0,0 +1,169 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: html-template +data: + index.html: | + + +
+ +{{ .IP }}
+ $ http {{ .Host }}/country + {{ .Country }} + + $ http {{ .Host }}/country-iso + {{ .CountryISO }}+ {{ end }} + {{ if .City }} +
+ $ http {{ .Host }}/city + {{ .City }}+ {{ end }} + {{ if .ASN }} +
+ $ http {{ .Host }}/asn + {{ .ASN }} + {{ if .ASNOrg }}+
Looks like you're with {{ .ASNOrg }}
+ {{ end }} + {{ end }} ++ $ http {{ .Host }}/json + {{ .JSON }}+ {{ if .Port }} +
+ {{ .Host }} + {{ .Host }}/ip + {{ .Host }}/json + {{ .Host }}/country + {{ .Host }}/country-iso + {{ .Host }}/city + {{ .Host }}/asn + {{ .Host }}/coordinates + {{ .Host }}/port/$number ++ {{ end }} +
{{ .IP }}
Multiple command line HTTP clients are supported, + including curl, httpie, GNU + Wget + and fetch.
++$ curl {{ .Host }} +{{ .IP }} + +$ http -b {{ .Host }} +{{ .IP }} + +$ wget -qO- {{ .Host }} +{{ .IP }} + +$ fetch -qo- https://{{ .Host }} +{{ .IP }} + +$ bat -print=b {{ .Host }}/ip +{{ .IP }}+{{ if .Country }} +
+$ http {{ .Host }}/country +{{ .Country }} + +$ http {{ .Host }}/country-iso +{{ .CountryISO }}+{{ end }} +{{ if .City }} +
+$ http {{ .Host }}/city +{{ .City }}+{{ end }} +{{ if .ASN }} +
+$ http {{ .Host }}/asn +{{ .ASN }} +{{ if .ASNOrg }}+
Looks like you're with {{ .ASNOrg }}
+{{ end }} +{{ end }} ++$ http {{ .Host }}/json +{{ .JSON }}+
Setting the Accept: application/json
header also works as expected.
Always returns the IP address including a trailing newline, regardless of user agent.
++$ http {{ .Host }}/ip +{{ .IP }}+{{ if .Port }} +
+$ http {{ .Host }}/port/8080 +{ + "ip": "{{ .IP }}", + "port": 8080, + "reachable": false +}+{{ end }} +
As of 2018-07-25 it's no longer possible to force protocol using
+ the v4 and v6 subdomains. IPv4 or IPv6 still can be forced
+ by passing the appropiate flag to your client, e.g curl -4
+ or curl -6
.
+ Yes, as long as the rate limit is respected. The rate limit is in + place to ensure a fair service for all. +
++ Please limit automated requests to 1 request per minute. No + guarantee is made for requests that exceed this limit. They may be + rate-limited, with a 429 status code, or dropped entirely. +
+ +Yes, the source code and documentation is available on GitHub.
+