Skip to content

2026.7.0

Latest

Choose a tag to compare

@SoFMeRight SoFMeRight released this 20 Jul 18:36
· 27 commits to main since this release

📦 release — v2026.7.0

Release type: stable • Commit: 65f643d

Security: 🛡️ ✅ Passed — no vulnerabilities found

Image Availability

Registry Image Tags
Docker Hub docker.io/hlhd/echoip 2026.7.0 latest
cr.pcfae.com cr.pcfae.com/hlhd/echoip 2026.7.0 latest
GitHub Container Registry ghcr.io/homelabhd/echoip 2026.7.0 latest
Digest pull commands & supply chain artifacts

docker.io/hlhd/echoip

docker pull docker.io/hlhd/echoip@sha256:9ef5aaf1e26ab3c44202e803d291daa2f3460474dba4e5c7e30393aff4bfc700

cr.pcfae.com/hlhd/echoip

docker pull cr.pcfae.com/hlhd/echoip@sha256:9ef5aaf1e26ab3c44202e803d291daa2f3460474dba4e5c7e30393aff4bfc700

ghcr.io/homelabhd/echoip

docker pull ghcr.io/homelabhd/echoip@sha256:9ef5aaf1e26ab3c44202e803d291daa2f3460474dba4e5c7e30393aff4bfc700

Highlights

  • Release 2026.7.0 — first HomeLabHD echoip release (env-configurable branding/theme over upstream mpolden/echoip)

Notable Changes

Features

  • brand: env-configurable branding/theme (icon, caption, footer, colors) with a leek default theme (SoFMeRight)
  • Adding test to main.go (Marcell Martini)
  • Remove if inside loop from String() (Marcell Martini)

Bug Fixes

  • build: bump golang builder 1.24.13 -> 1.25.12 to satisfy go.mod go 1.25.0 floor (SoFMeRight)

Refactoring

  • brand: prefix dark color overrides ECHOIP_COLOR_DARK_ so dark vars sort together (SoFMeRight)
  • brand: ship stock upstream default; leek theme is now an env recipe (SoFMeRight)

CI/CD

  • regenerate .gitlab-ci.yml to match current StageFreight render (SoFMeRight)
  • add StageFreight pipeline — build the hlhd/echoip image (dev on push, stable on tags) (SoFMeRight)

Maintenance

  • release: drop v-prefix from release image tags (CalVer 2026.M.MICRO) (SoFMeRight)
  • deps: update managed dependencies (stagefreight)
  • brand: bundle deployable leek assets (png + gif) into the image at /opt/echoip/assets (SoFMeRight)

Other Changes

  • handle net/http as cli request (Rafal Jeczalik)
  • fix tags (Martin Polden)
  • remove broken multiarch image building (Martin Polden)
  • go mod tidy (Martin Polden)
  • configure dependabot (Martin Polden)
  • bump go version (Martin Polden)
  • Merge jobs as data is not shared between them (Martin Polden)
  • Build before deploying (Martin Polden)
  • Build and publish image once (Martin Polden)
  • Bump build image (Martin Polden)
  • Configure secrets (Martin Polden)
  • Configure GitHub Actions (Martin Polden)
  • Remove Heroku config (Martin Polden)
  • Add cross-compile target (Martin Polden)
  • Bump Go version (Martin Polden) ×2
  • Limit deploy to master branch (Martin Polden)
  • Update geoip download task to use basic auth (Christopher Chow)
  • deps: bump github.com/oschwald/geoip2-golang from 1.5.0 to 1.13.0 (dependabot[bot])
  • Reduce memory usage (Martin Polden)
  • Fix memory leak (Martin Polden)
  • Copy values (Martin Polden)
  • Reject non-option arguments (Martin Polden)
  • Remove go-flags (Martin Polden)
  • bump build image (Martin Polden)
  • do not consider registered country for EU check (Martin Polden)
  • fix license (Martin Polden)
  • clarify examples (Martin Polden)
  • make it easier to lookup a specific address (Martin Polden)
  • append '?ip=' to examples when set (Martin Polden)
  • adjust font size for ipv6 address (Martin Polden)
  • ensure that attribution is always shown (Martin Polden)
  • change headings (Martin Polden)
  • modernize design (Martin Polden)
  • Minor adjustments (Martin Polden)
  • fix test (Martin Polden)
  • use strings.Cut (Martin Polden)
  • stop using deprecated function (Martin Polden)
  • Include status in response (Martin Polden)
  • Return bad request for invalid requests (Martin Polden)
  • Log server errors (Martin Polden)
  • Indent JSON responses (Martin Polden)
  • Add support for profiling (Martin Polden)
  • Remove duplicated info (Martin Polden)
  • bump year (Martin Polden)
  • less whac-a-mole (Martin Polden)
  • fix url (Martin Polden)
  • use https instead of git protocol (Martin Polden)
  • fix checkfmt (Martin Polden)
  • Bump github.com/oschwald/geoip2-golang (Martin Polden) ×2
  • Fix multi-arch Docker build (mpolden#195) (Luca Zorzi)
  • Merge pull request mpolden#193 from Nextra/fix-ipv6 (Martin Polden)
  • Merge pull request mpolden#174 from Nextra/allow-ports (Martin Polden)
  • Merge pull request mpolden#192 from mpolden/dependabot/go_modules/github.com/oschwald/geoip2-golang-1.13.0 (Martin Polden)
  • Merge pull request mpolden#190 from christophersjchow/master (Martin Polden)
  • Merge pull request mpolden#189 from deovero/fix-table-css (Martin Polden)
  • Merge pull request mpolden#187 from rootmos/pr (Martin Polden)
  • Merge pull request mpolden#188 from deovero/use-full-width-without-sponsor (Martin Polden)
  • Merge pull request mpolden#162 from Alphakilo/master (Martin Polden)
  • Merge pull request mpolden#145 from ashleyprimo/master (Martin Polden)
  • Merge pull request mpolden#125 from marcellmartini/master (Martin Polden)
  • Merge pull request mpolden#141 from CosmicToast/patch-1 (Martin Polden)
  • Merge pull request mpolden#142 from mpolden/limit-deploy (Martin Polden)
  • Merge pull request mpolden#126 from leafcloudhq/master (Martin Polden)
  • New template (mpolden#121) (Thatcher)
  • Merge pull request mpolden#108 from Alphakilo/add-sri (Martin Polden)
  • http, cache: Track evictions (Martin Polden)
  • http, cache: Support cache resizing (Martin Polden)
  • http, cache: Expose cache stats (Martin Polden)
  • Merge pull request mpolden#102 from CosmicToast/httpie-go (Martin Polden)
  • index.html: move info about ?=ip query param to a central place (Maxim Baz)
  • Support getting information about another IP (mpolden#94) (Vincent Batts)
  • Use http:// with fetch example (mpolden#99) (Steven Honson)
  • Enable experimental flag for docker-ce (Maxim Baz)
  • Use another way to get latest docker on Travis (Maxim Baz)
  • Update Travis to newer Ubuntu to (hopefully) get docker v19 (Maxim Baz)
  • Make sure Travis is using latest docker version (Maxim Baz)
  • Updated Makefile to build multi-arch containers (mpolden#93) (Maka0)
  • Merge pull request mpolden#100 from snh/patch-2 (Martin Polden)
  • Do not cache user agent (mpolden#98) (Richard Tweed)
  • Merge pull request mpolden#95 from craSH/patch-1 (Martin Polden)
  • Add additional location fields (mpolden#84) (dshelikhov)
  • Merge pull request mpolden#89 from SuperSandro2000/docker-var (Martin Polden)
  • Update copyright year (Martin Polden) ×4
  • Merge pull request mpolden#87 from SuperSandro2000/override-image-name (Martin Polden)
  • Bump geoip2 (Martin Polden)
  • Implement response cache (Martin Polden)
  • Download GeoIP databases on startup (Martin Polden)
  • Require license key for GeoIP download (Martin Polden)
  • Created a dark theme for index.html (mpolden#71) (Willy Hsiao)
  • Use Go 1.13 in Docker build (Martin Polden)
  • Use Go 1.13 on Heroku (Martin Polden)
  • Remove unnecessary target (Martin Polden)
  • Merge pull request mpolden#70 from kevinschoon/useragent (Martin Polden)
  • Add Mikrotik as CLI client (mpolden#69) (Sam B)
  • Fix template (Martin Polden)
  • ASN database, part 2 (mpolden#67) (Niklas)
  • Add data attribution (Martin Polden)
  • Bump pure (Martin Polden) ×2
  • Remove unnecessary option (Martin Polden)
  • Build without cgo (Martin Polden)
  • Re-use Dockerfile when building on Travis (Martin Polden)
  • Push to Docker Hub from Travis (Martin Polden)
  • Fix invalid port response (Martin Polden)
  • change highest allowed tcp port to 65535 (Christian Korneck)
  • Merge pull request mpolden#63 from antonc42/patch-makefile (Martin Polden)
  • Reduce image size (Martin Polden)
  • Mention Docker image (Martin Polden)
  • Log if template is unreadable (Martin Polden)
  • Log valid URL when binding to all IPs (Martin Polden)
  • Stop using container-based Travis (Martin Polden)
  • Patch for a Map (mpolden#62) (Johann Richard)
  • Enable parallel build (Martin Polden)
  • Remove megacheck target (Martin Polden)
  • Tidy up modules (Martin Polden)
  • Differentiate between IsEU being false and unknown (Martin Polden)
  • Merge pull request mpolden#58 from maximbaz/add-dockerfile (Martin Polden)
  • Test /coordinates (Martin Polden)
  • Rename fields (Martin Polden)
  • Fix build (Martin Polden)
  • Added coordinates from City database (Mike Raunsbæk)
  • Remove megacheck from lint target (Martin Polden)
  • Use Go modules (Martin Polden)
  • Rename ipd -> echoip (Martin Polden)
  • Deploy to Heroku (Martin Polden)
  • Use Go stable when building (Martin Polden)
  • Use https when downloading databases (Martin Polden)
  • Add Heroku config (Martin Polden)
  • Add vendor config (Martin Polden)
  • Merge pull request mpolden#61 from rufoa/master (Martin Polden)
  • Simplify (Martin Polden) ×4
  • Update gitignore (Martin Polden) ×5
  • Handle multiple IPs in X-Forwarded-For (Martin Polden)
  • Exclude vendor in check-fmt target (Martin Polden)
  • Rename package database -> geo (Martin Polden)
  • Merge pull request mpolden#59 from maximbaz/add-health-endpoint (Martin Polden)
  • Update FAQ (Martin Polden) ×2
  • Add support for multiple trusted headers (Martin Polden)
  • Avoid printing nested diff (Martin Polden)
  • Merge pull request mpolden#56 from LucaTNT/white-background (Martin Polden)
  • Add format check and megacheck to build (Martin Polden)
  • Update readme (Martin Polden) ×11
  • Only allow a single matcher per route (Martin Polden)
  • Remove logrus (Martin Polden)
  • Replace gorilla/mux with own router (Martin Polden)
  • Remove map (Martin Polden)
  • Reword (Martin Polden)
  • Rename package (Martin Polden)
  • Fix IsEmpty (Martin Polden)
  • Remove unnecessary imports (Martin Polden)
  • Update template (Martin Polden)
  • Disable handlers for disabled features (Martin Polden)
  • Extract iputil package (Martin Polden)
  • Restructure (Martin Polden)
  • Move main to subpackage (Martin Polden)
  • Update database URLs (Martin Polden)
  • Rearrange columns (Martin Polden)
  • Collapse country examples (Martin Polden)
  • Patch for ISO and Map display (mpolden#45) (Johann Richard)
  • Add back IPv6 support (Martin Polden)
  • Revert "Update documentation" (Martin Polden)
  • Log URL on startup (Martin Polden)
  • Use request defined host in index template (Fabien Bochu)
  • Merge pull request mpolden#41 from udhos/master (Martin Polden)
  • Merge pull request mpolden#39 from zulln/patch-1 (Martin Polden)
  • No need to import io (Martin Polden)
  • Handle more invalid user agents (Martin Polden)
  • Extract useragent package (Martin Polden)
  • Fix import path (Martin Polden)
  • Update documentation (Martin Polden)
  • Fix GitHub links (Martin Polden)
  • Add FAQ (Martin Polden)
  • Use Open Sans font (Martin Polden)
  • Update badge link (Martin Polden)
  • Update import paths (Martin Polden)
  • Build latest minor version (Martin Polden)
  • Document /ip path (Martin Polden)
  • Send plain response for Accept: text/plain (Martin Polden)
  • Rename Handlers -> Router (Martin Polden)
  • Build Go 1.7 (Martin Polden)
  • Remove user agent check for non-root CLI handlers (Martin Polden)
  • Use logrus for logging (Martin Polden)
  • Use https link for v6.ifconfig.co (Martin Polden)
  • Include IP in decimal format (Martin Polden)
  • Follow golang convention for constants (Martin Polden)
  • Add support for ddclient (Martin Polden)
  • Use non-https link for v6 (Martin Polden)
  • Correct field order (Martin Polden)
  • Refactor (Martin Polden) ×2
  • Use https in links (Martin Polden)
  • Ensure hostname is unrooted (Martin Polden)
  • Remove ipFromRequest field (Martin Polden)
  • Do not trust X-Real-IP header by default (Martin Polden)
  • Distinguish IP from port (Martin Polden)
  • Remove CORS support (Martin Polden)
  • Use GitHub corners (Martin Polden)
  • Cleanup examples (Martin Polden)
  • Add support for city lookup (Martin Polden)
  • Refactor lookup methods (Martin Polden)
  • Add /json route (Martin Polden)
  • Update user agent regexp (Martin Polden)
  • Remove unused methods (Martin Polden)
  • Use correct method (Martin Polden)
  • Cleanup (Martin Polden) ×2
  • Update http command (Martin Polden)
  • Rewrite tests (Martin Polden)
  • Use responsive grid (Martin Polden)
  • Minor style changes (Martin Polden)
  • Close connection when testing port (Martin Polden)
  • Add country lookup as separate handler (Martin Polden)
  • Only display enabled features on web page (Martin Polden)
  • Implement port testing. Fixes mpolden#11 (Martin Polden)
  • Fix test (Martin Polden)
  • Change font (Martin Polden)
  • Add support for HTTPie. Fixes mpolden#13 (Martin Polden)
  • Rename (Martin Polden)
  • Merge pull request mpolden#12 from porjo/master (Martin Polden)
  • Remove unsupported Go versions from build (Martin Polden)
  • Merge pull request mpolden#10 from rjeczalik/master (Martin Polden)
  • Build 1.6 (Martin Polden)
  • Improve tests (Martin Polden)
  • Merge pull request mpolden#7 from twouters/hostname (Martin Polden)
  • Readd all handler (Martin Polden)
  • Improve error handling (Martin Polden)
  • Return error for unknown header (Martin Polden)
  • Add target for downloading GeoIP database (Martin Polden)
  • Make handlers public (Martin Polden)
  • Write response if error occurs (Martin Polden)
  • geoip2 doesn't work on tip (Martin Polden)
  • Use containers when building on Travis (Martin Polden)
  • Add badge (Martin Polden)
  • Add travis config (Martin Polden)
  • Update link (Martin Polden)
  • Update license (Martin Polden)
  • Rewrite (Martin Polden)
  • Remove unused Vagrant config (Martin Polden)
  • Remove unused Dockerfile (Martin Polden)
  • Fall back to registered country (Martin Polden)
  • Update Vagrant config (Martin Polden)
  • Default to user nobody inside container (Martin Polden)
  • Update Dockerfile (Martin Polden) ×2
  • Add license (Martin Polden)
  • Add docker to Vagrant box (Martin Polden)
  • Remove js (Martin Polden)
  • Implement GeoIP lookup. Fixes mpolden#1 (Martin Polden)
  • Add deps target (Martin Polden)
  • Less regexp please (Martin Polden)
  • Use salt for provisioning (Martin Polden)
  • Add Dockerfile (Martin Polden)
  • Fmt (Martin Polden)
  • Replace Bootstrap with Pure (Martin Polden)
  • Remove jQuery dep (Martin Polden)
  • Add Ansible provisioning of Vagrant env (Martin Polden)
  • Remove daemonize script (Martin Polden)
  • Add some tests (Martin Polden)
  • Add Vagrantfile (Martin Polden)
  • Make daemonize script more robust (Martin Polden)
  • Remove coffeescript bs (Martin Polden)
  • Bump dependencies (Martin Polden)
  • Fix domain typo (Martin Polden)
  • Add restart to daemonize script (Martin Polden)
  • Fix cleanup in daemonize script (Martin Polden)
  • Cloudflare love (Martin Polden)
  • Use CDN for assets (Martin Polden)
  • Fix style (Martin Polden)
  • Add JSON output (Martin Polden)
  • Use first element in header (Martin Polden)
  • Remove port (Martin Polden)
  • Don't use deprecated function (Martin Polden)
  • Add command switcher (Martin Polden)
  • Add Zepto 1.0rc1 (Martin Polden)
  • Close tag (Martin Polden)
  • Add makefile (Martin Polden)
  • Formatting (Martin Polden)
  • Add responsive css (Martin Polden)
  • Needs more red (Martin Polden)
  • Remove padding (Martin Polden)
  • Add support for / (Martin Polden)
  • Serve assets (Martin Polden)
  • Add Bootstrap 2.2.1 (Martin Polden)
  • Remove redundant styling (Martin Polden)
  • Merge branch 'master' of /home/martin/git/ifconfig (Martin Polden)
  • Add GitHub link and styles (Martin Polden)
  • Add wrapper script for daemonize (Martin Polden)
  • Parse IP address to net.IP (Martin Polden)
  • Read X-Real-IP header if set (Martin Polden)
  • Ignore server binary (Martin Polden)
  • Render HTML template if User-Agent is a regular browser (Martin Polden)
  • Add basic HTML template (Martin Polden)
  • Initial implementation (Martin Polden)
  • Add README (Martin Polden)
  • add hostname lookup (Thomas Wouters)
  • Include both IPv4 and IPv6 links (Ian Bishop)
  • Link to IPv4 page from IPv6 page (Ian Bishop)
  • Added a lacking period (Linus Särud)
  • Example for bat - https://github.com/astaxie/bat (udhos)
  • Added explicit white background color in the CSS (Luca Zorzi)
  • Add /health endpoint (Maxim Baz)
  • use big int for decimal IP rather than uint64 (rufo)
  • Rename to echoip, update to Go 1.11 (Maxim Baz)
  • Add Dockerfile (Maxim Baz)
  • changed env var in makefile to builtin var (antonc42)
  • return parsed and raw user agent (Kevin)
  • Allow overriding image name (Sandro Jäckel)
  • Allow overriding docker command (Sandro Jäckel)
  • Update README.md to include -C/--cache-size (Ian Gallagher)
  • Include a link to bat (Steven Honson)
  • add cli detection for httpie-go (Chloe Kudryavtsev)
  • introduce subresource integrity (Niklas)
  • Fixed table width on mobile and dark buttons (Thatcher Peskens)
  • Fixed a display issue for long ipv6 addresses and port input on mobile (Thatcher Peskens)
  • add xh to the list of cli utilities (Chloe Kudryavtsev)
  • Merge branch 'mpolden:master' into master (Marcell Martini)
  • Update README.md to include information regarding MaxMind Geo DB (Ashley Primo)
  • update docs (Alphakilo)
  • implement /asn-org endpoint (Alphakilo)
  • Use available width when sponsor is disabled (DeoVero Server)
  • Respond with 204 on HEAD / requests (Gustav Behm)
  • Fix for values in info-table being cut off on Webkit (DeoVero Server)
  • Move port tests to separate section (Valentin Grünbacher)
  • Allow request IP candidates to contain ports (Valentin Grünbacher)
  • SplitHostPort only if initial parse fails (Valentin Grünbacher)
  • Add IPv6 test cases (Valentin Grünbacher)
  • update geolocation data instructions (Martin Polden)
  • fix badge (Martin Polden)
  • Use go install (Martin Polden)

Security

🛡️ ✅ Passed — no vulnerabilities found

Full changelog
  • [65f643d] drop v-prefix from release image tags (CalVer 2026.M.MICRO) (SoFMeRight)
  • [d23c12a] regenerate .gitlab-ci.yml to match current StageFreight render (SoFMeRight)
  • [ab2c8de] prefix dark color overrides ECHOIP_COLOR_DARK_ so dark vars sort together (SoFMeRight)
  • [255f851] bump golang builder 1.24.13 -> 1.25.12 to satisfy go.mod go 1.25.0 floor (SoFMeRight)
  • [890dbc0] ship stock upstream default; leek theme is now an env recipe (SoFMeRight)
  • [5db00a6] update managed dependencies (stagefreight)
  • [da028a0] add StageFreight pipeline — build the hlhd/echoip image (dev on push, stable on tags) (SoFMeRight)
  • [fd85c9e] bundle deployable leek assets (png + gif) into the image at /opt/echoip/assets (SoFMeRight)
  • [2fa7031] env-configurable branding/theme (icon, caption, footer, colors) with a leek default theme (SoFMeRight)
  • [746db5e] fix tags (Martin Polden)
  • [389f78f] Fix multi-arch Docker build (mpolden#195) (Luca Zorzi)
  • [c3394af] fix test (Martin Polden)
  • [45fcf0c] do not consider registered country for EU check (Martin Polden)
  • [eea38da] fix license (Martin Polden)
  • [847f3d7] update geolocation data instructions (Martin Polden)
  • [d48ea2b] clarify examples (Martin Polden)
  • [277d12d] make it easier to lookup a specific address (Martin Polden)
  • [05cbd8b] append '?ip=' to examples when set (Martin Polden)
  • [5d8515a] adjust font size for ipv6 address (Martin Polden)
  • [2942b5f] less whac-a-mole (Martin Polden)
  • [0405a55] use strings.Cut (Martin Polden)
  • [737c770] stop using deprecated function (Martin Polden)
  • [52af26c] bump year (Martin Polden)
  • [970b8a2] ensure that attribution is always shown (Martin Polden)
  • [ef7c6de] change headings (Martin Polden)
  • [42e1d96] modernize design (Martin Polden)
  • [a90ace4] Merge pull request mpolden#193 from Nextra/fix-ipv6 (Martin Polden)
  • [22ad092] Merge pull request mpolden#174 from Nextra/allow-ports (Martin Polden)
  • [861f17b] remove broken multiarch image building (Martin Polden)
  • [f8c0566] bump build image (Martin Polden)
  • [1d10940] fix url (Martin Polden)
  • [a668ecf] use https instead of git protocol (Martin Polden)
  • [392444c] Merge pull request mpolden#192 from mpolden/dependabot/go_modules/github.com/oschwald/geoip2-golang-1.13.0 (Martin Polden)
  • [108fb90] Merge pull request mpolden#190 from christophersjchow/master (Martin Polden)
  • [394310c] Merge pull request mpolden#189 from deovero/fix-table-css (Martin Polden)
  • [58a4e10] go mod tidy (Martin Polden)
  • [02da343] fix badge (Martin Polden)
  • [5d62802] configure dependabot (Martin Polden)
  • [da29f99] bump go version (Martin Polden)
  • [0720d24] fix checkfmt (Martin Polden)
  • [5e929a2] Merge pull request mpolden#187 from rootmos/pr (Martin Polden)
  • [93f592e] Merge pull request mpolden#188 from deovero/use-full-width-without-sponsor (Martin Polden)
  • [d84665c] Merge pull request mpolden#162 from Alphakilo/master (Martin Polden)
  • [31b161f] Merge pull request mpolden#145 from ashleyprimo/master (Martin Polden)
  • [b2859dc] Merge pull request mpolden#125 from marcellmartini/master (Martin Polden)
  • [ffa6674] Merge jobs as data is not shared between them (Martin Polden)
  • [2899ca8] Build before deploying (Martin Polden)
  • [7b98b93] Merge pull request mpolden#141 from CosmicToast/patch-1 (Martin Polden)
  • [67f5a9e] Merge pull request mpolden#142 from mpolden/limit-deploy (Martin Polden)
  • [70c9a8c] Use go install (Martin Polden)
  • [92a434d] Bump github.com/oschwald/geoip2-golang (Martin Polden)
  • [4024add] Build and publish image once (Martin Polden)
  • [8374778] Bump build image (Martin Polden)
  • [711ea53] Configure secrets (Martin Polden)
  • [4f071cd] Configure GitHub Actions (Martin Polden)
  • [994c252] Merge pull request mpolden#126 from leafcloudhq/master (Martin Polden)
  • [98f9efb] Minor adjustments (Martin Polden)
  • [ab8f904] New template (mpolden#121) (Thatcher)
  • [762f454] Include status in response (Martin Polden)
  • [86b68bd] Return bad request for invalid requests (Martin Polden)
  • [a4808f1] Log server errors (Martin Polden)
  • [0d35942] Reject non-option arguments (Martin Polden)
  • [cd687f6] Indent JSON responses (Martin Polden)
  • [d6d4322] Merge pull request mpolden#108 from Alphakilo/add-sri (Martin Polden)
  • [832f365] http, cache: Track evictions (Martin Polden)
  • [b7ed233] http, cache: Support cache resizing (Martin Polden)
  • [ceaff84] http, cache: Expose cache stats (Martin Polden)
  • [df49848] Reduce memory usage (Martin Polden)
  • [bd8b1c7] Fix memory leak (Martin Polden)
  • [971c0e1] Copy values (Martin Polden)
  • [6878f54] Add support for profiling (Martin Polden)
  • [fed1ffa] Remove duplicated info (Martin Polden)
  • [0caa587] Remove go-flags (Martin Polden)
  • [702c1f1] Remove Heroku config (Martin Polden)
  • [11ad75c] Add cross-compile target (Martin Polden)
  • [fe68795] Merge pull request mpolden#102 from CosmicToast/httpie-go (Martin Polden)
  • [eb6d590] index.html: move info about ?=ip query param to a central place (Maxim Baz)
  • [edbb0b6] Support getting information about another IP (mpolden#94) (Vincent Batts)
  • [5377bff] Use http:// with fetch example (mpolden#99) (Steven Honson)
  • [bcb1b11] Enable experimental flag for docker-ce (Maxim Baz)
  • [dc50a4c] Use another way to get latest docker on Travis (Maxim Baz)
  • [430d0db] Update Travis to newer Ubuntu to (hopefully) get docker v19 (Maxim Baz)
  • [767b032] Make sure Travis is using latest docker version (Maxim Baz)
  • [cd07ed6] Updated Makefile to build multi-arch containers (mpolden#93) (Maka0)
  • [ab71fac] Merge pull request mpolden#100 from snh/patch-2 (Martin Polden)
  • [d576730] Do not cache user agent (mpolden#98) (Richard Tweed)
  • [1f140df] Merge pull request mpolden#95 from craSH/patch-1 (Martin Polden)
  • [226209d] Add additional location fields (mpolden#84) (dshelikhov)
  • [2fe2f07] Merge pull request mpolden#89 from SuperSandro2000/docker-var (Martin Polden)
  • [2b0842d] Update copyright year (Martin Polden)
  • [ce031f0] Merge pull request mpolden#87 from SuperSandro2000/override-image-name (Martin Polden)
  • [e67f493] Bump geoip2 (Martin Polden)
  • [78116f6] Implement response cache (Martin Polden)
  • [66719b9] Download GeoIP databases on startup (Martin Polden)
  • [4974f93] Require license key for GeoIP download (Martin Polden)
  • [1d478b5] Created a dark theme for index.html (mpolden#71) (Willy Hsiao)
  • [c821c5c] Use Go 1.13 in Docker build (Martin Polden)
  • [4add220] Use Go 1.13 on Heroku (Martin Polden)
  • [c113173] Remove unnecessary target (Martin Polden)
  • [9538023] Merge pull request mpolden#70 from kevinschoon/useragent (Martin Polden)
  • [fb5fac9] Add Mikrotik as CLI client (mpolden#69) (Sam B)
  • [4ce6452] Fix template (Martin Polden)
  • [7fbc2e1] ASN database, part 2 (mpolden#67) (Niklas)
  • [5a28ed6] Add data attribution (Martin Polden)
  • [6bfe773] Bump pure (Martin Polden)
  • [27fa828] Remove unnecessary option (Martin Polden)
  • [3a91baa] Build without cgo (Martin Polden)
  • [99f9556] Re-use Dockerfile when building on Travis (Martin Polden)
  • [fd7e13c] Push to Docker Hub from Travis (Martin Polden)
  • [c9fe291] Bump Go version (Martin Polden)
  • [58fd8a6] Fix invalid port response (Martin Polden)
  • [b4b6207] change highest allowed tcp port to 65535 (Christian Korneck)
  • [fcaa244] Merge pull request mpolden#63 from antonc42/patch-makefile (Martin Polden)
  • [c623168] Reduce image size (Martin Polden)
  • [14f1a0c] Mention Docker image (Martin Polden)
  • [ddc4d9e] Log if template is unreadable (Martin Polden)
  • [f341727] Log valid URL when binding to all IPs (Martin Polden)
  • [4bfaf67] Stop using container-based Travis (Martin Polden)
  • [cba0928] Patch for a Map (mpolden#62) (Johann Richard)
  • [e5c8310] Enable parallel build (Martin Polden)
  • [83e4566] Remove megacheck target (Martin Polden)
  • [3901eb7] Tidy up modules (Martin Polden)
  • [8433521] Differentiate between IsEU being false and unknown (Martin Polden)
  • [7f538ca] Merge pull request mpolden#58 from maximbaz/add-dockerfile (Martin Polden)
  • [823af68] Test /coordinates (Martin Polden)
  • [3e1d442] Rename fields (Martin Polden)
  • [de54d88] Fix build (Martin Polden)
  • [a6b0a95] Bump github.com/oschwald/geoip2-golang (Martin Polden)
  • [ac4a9de] Added coordinates from City database (Mike Raunsbæk)
  • [b821b1e] Remove megacheck from lint target (Martin Polden)
  • [fefe371] Use Go modules (Martin Polden)
  • [988f3fd] Rename ipd -> echoip (Martin Polden)
  • [bc5e1ae] Deploy to Heroku (Martin Polden)
  • [68479cc] Use Go stable when building (Martin Polden)
  • [f601732] Use https when downloading databases (Martin Polden)
  • [c32aeda] Add Heroku config (Martin Polden)
  • [2fbc25d] Add vendor config (Martin Polden)
  • [3048066] Merge pull request mpolden#61 from rufoa/master (Martin Polden)
  • [a9c0587] Simplify (Martin Polden)
  • [569c2f3] Update gitignore (Martin Polden)
  • [33a8516] Handle multiple IPs in X-Forwarded-For (Martin Polden)
  • [122fd3d] Exclude vendor in check-fmt target (Martin Polden)
  • [059db63] Rename package database -> geo (Martin Polden)
  • [3497e6e] Merge pull request mpolden#59 from maximbaz/add-health-endpoint (Martin Polden)
  • [2b72ea6] Update FAQ (Martin Polden)
  • [91f0c17] Add support for multiple trusted headers (Martin Polden)
  • [e282ac2] Avoid printing nested diff (Martin Polden)
  • [61ac577] Merge pull request mpolden#56 from LucaTNT/white-background (Martin Polden)
  • [266f337] Add format check and megacheck to build (Martin Polden)
  • [2b22328] Update readme (Martin Polden)
  • [184676b] Simplify (Martin Polden)
  • [b01bddb] Only allow a single matcher per route (Martin Polden)
  • [0554969] Remove logrus (Martin Polden)
  • [1efde17] Replace gorilla/mux with own router (Martin Polden)
  • [5ff72de] Remove map (Martin Polden)
  • [3f1e267] Update gitignore (Martin Polden)
  • [686eb84] Reword (Martin Polden)
  • [8940a3c] Update readme (Martin Polden)
  • [d49f1f7] Simplify (Martin Polden)
  • [5d43f17] Rename package (Martin Polden)
  • [1fdaa8f] Fix IsEmpty (Martin Polden)
  • [8b1d263] Remove unnecessary imports (Martin Polden)
  • [da3502d] Update template (Martin Polden)
  • [148451b] Simplify (Martin Polden)
  • [215cce2] Disable handlers for disabled features (Martin Polden)
  • [8112536] Extract iputil package (Martin Polden)
  • [35061bf] Restructure (Martin Polden)
  • [7362c90] Update copyright year (Martin Polden)
  • [ddb1aa2] Move main to subpackage (Martin Polden)
  • [a7ff603] Update database URLs (Martin Polden)
  • [b3e0079] Rearrange columns (Martin Polden)
  • [64bb0e5] Collapse country examples (Martin Polden)
  • [c195bae] Patch for ISO and Map display (mpolden#45) (Johann Richard)
  • [9f839c5] Add back IPv6 support (Martin Polden)
  • [a4f26e0] Revert "Update documentation" (Martin Polden)
  • [11c5b86] Update readme (Martin Polden)
  • [e3aeb87] Log URL on startup (Martin Polden)
  • [20f3685] Use request defined host in index template (Fabien Bochu)
  • [7145e04] Merge pull request mpolden#41 from udhos/master (Martin Polden)
  • [e730322] Merge pull request mpolden#39 from zulln/patch-1 (Martin Polden)
  • [cd16d7e] Update FAQ (Martin Polden)
  • [c51470d] No need to import io (Martin Polden)
  • [f644b0b] Handle more invalid user agents (Martin Polden)
  • [0cd84ad] Extract useragent package (Martin Polden)
  • [6fa3c34] Fix import path (Martin Polden)
  • [803697b] Update readme (Martin Polden)
  • [81b7c71] Update documentation (Martin Polden)
  • [a838be0] Fix GitHub links (Martin Polden)
  • [01b37bb] Add FAQ (Martin Polden)
  • [7f02886] Use Open Sans font (Martin Polden)
  • [6f23c2a] Bump pure (Martin Polden)
  • [debf126] Update badge link (Martin Polden)
  • [e8e322e] Update import paths (Martin Polden)
  • [53e28ee] Build latest minor version (Martin Polden)
  • [73e5d42] Document /ip path (Martin Polden)
  • [3cc33c8] Update copyright year (Martin Polden)
  • [faf2f62] Send plain response for Accept: text/plain (Martin Polden)
  • [4a9710d] Update readme (Martin Polden)
  • [b1b3fbb] Rename Handlers -> Router (Martin Polden)
  • [d560f61] Build Go 1.7 (Martin Polden)
  • [2495b38] Remove user agent check for non-root CLI handlers (Martin Polden)
  • [36fba6f] Use logrus for logging (Martin Polden)
  • [c766838] Use https link for v6.ifconfig.co (Martin Polden)
  • [6a92028] Include IP in decimal format (Martin Polden)
  • [cfb86fe] Follow golang convention for constants (Martin Polden)
  • [6e1ad53] Add support for ddclient (Martin Polden)
  • [3df93d1] Use non-https link for v6 (Martin Polden)
  • [c628a5b] Correct field order (Martin Polden)
  • [2c5f4e0] Refactor (Martin Polden)
  • [c8db493] Use https in links (Martin Polden)
  • [74e6f4d] Ensure hostname is unrooted (Martin Polden)
  • [73fd32f] Remove ipFromRequest field (Martin Polden)
  • [3134de8] Do not trust X-Real-IP header by default (Martin Polden)
  • [270ffec] Distinguish IP from port (Martin Polden)
  • [9d8a541] Remove CORS support (Martin Polden)
  • [0d390d0] Use GitHub corners (Martin Polden)
  • [e4bf08d] Update readme (Martin Polden)
  • [65d9d8c] Cleanup examples (Martin Polden)
  • [8f71576] Add support for city lookup (Martin Polden)
  • [8027c55] Refactor lookup methods (Martin Polden)
  • [7d23fe9] Add /json route (Martin Polden)
  • [26fdb23] Update user agent regexp (Martin Polden)
  • [5e2c675] Remove unused methods (Martin Polden)
  • [837a32d] Use correct method (Martin Polden)
  • [7ffaf5e] Cleanup (Martin Polden)
  • [ed29f49] Update http command (Martin Polden)
  • [a2d26b2] Rewrite tests (Martin Polden)
  • [c6aad1b] Use responsive grid (Martin Polden)
  • [abcae5f] Minor style changes (Martin Polden)
  • [4664693] Close connection when testing port (Martin Polden)
  • [55d72fd] Add country lookup as separate handler (Martin Polden)
  • [95b5b76] Only display enabled features on web page (Martin Polden)
  • [100131e] Update readme (Martin Polden)
  • [3988df7] Update copyright year (Martin Polden)
  • [4edbd3c] Implement port testing. Fixes mpolden#11 (Martin Polden)
  • [6e09b06] Fix test (Martin Polden)
  • [67e2205] Change font (Martin Polden)
  • [5ad48ad] Add support for HTTPie. Fixes mpolden#13 (Martin Polden)
  • [f442078] Refactor (Martin Polden)
  • [b156182] Rename (Martin Polden)
  • [f70690f] Merge pull request mpolden#12 from porjo/master (Martin Polden)
  • [aab394d] Remove unsupported Go versions from build (Martin Polden)
  • [72100d8] Merge pull request mpolden#10 from rjeczalik/master (Martin Polden)
  • [16cbfb2] Build 1.6 (Martin Polden)
  • [fa32c7f] Improve tests (Martin Polden)
  • [0438314] Merge pull request mpolden#7 from twouters/hostname (Martin Polden)
  • [ccd3c7a] Readd all handler (Martin Polden)
  • [255826d] Improve error handling (Martin Polden)
  • [891312f] Return error for unknown header (Martin Polden)
  • [ef39911] Add target for downloading GeoIP database (Martin Polden)
  • [5d4f6b3] Make handlers public (Martin Polden)
  • [042f0d9] Write response if error occurs (Martin Polden)
  • [6ceb6be] geoip2 doesn't work on tip (Martin Polden)
  • [bad8699] Use containers when building on Travis (Martin Polden)
  • [7986dd9] Add badge (Martin Polden)
  • [293969c] Add travis config (Martin Polden)
  • [566cb26] Update link (Martin Polden)
  • [3babba7] Update license (Martin Polden)
  • [83af3b1] Update readme (Martin Polden)
  • [40df3e5] Rewrite (Martin Polden)
  • [8ac17bf] Remove unused Vagrant config (Martin Polden)
  • [3f9cbe7] Remove unused Dockerfile (Martin Polden)
  • [6dbeb50] Fall back to registered country (Martin Polden)
  • [b8ee0c2] Update Vagrant config (Martin Polden)
  • [d04d80d] Default to user nobody inside container (Martin Polden)
  • [a76d242] Update Dockerfile (Martin Polden)
  • [796a134] Update gitignore (Martin Polden)
  • [9d03813] Add license (Martin Polden)
  • [65ffd03] Update Dockerfile (Martin Polden)
  • [13d0408] Add docker to Vagrant box (Martin Polden)
  • [558ee43] Remove js (Martin Polden)
  • [a038e34] Implement GeoIP lookup. Fixes mpolden#1 (Martin Polden)
  • [f54275a] Add deps target (Martin Polden)
  • [78f4ed3] Less regexp please (Martin Polden)
  • [e16e9a7] Cleanup (Martin Polden)
  • [959c0a8] Use salt for provisioning (Martin Polden)
  • [bea550f] Add Dockerfile (Martin Polden)
  • [26f53ce] Fmt (Martin Polden)
  • [e7356db] Replace Bootstrap with Pure (Martin Polden)
  • [9455df2] Remove jQuery dep (Martin Polden)
  • [a67a47a] Add Ansible provisioning of Vagrant env (Martin Polden)
  • [1370524] Remove daemonize script (Martin Polden)
  • [cd49f9d] Add some tests (Martin Polden)
  • [f3ce17f] Add Vagrantfile (Martin Polden)
  • [ad6155e] Make daemonize script more robust (Martin Polden)
  • [57a1716] Remove coffeescript bs (Martin Polden)
  • [ca93e68] Bump dependencies (Martin Polden)
  • [128ccd6] Fix domain typo (Martin Polden)
  • [e963029] Add restart to daemonize script (Martin Polden)
  • [a200325] Fix cleanup in daemonize script (Martin Polden)
  • [a1ac299] Cloudflare love (Martin Polden)
  • [43f3dd3] Use CDN for assets (Martin Polden)
  • [dc7132d] Fix style (Martin Polden)
  • [fabbf68] Add JSON output (Martin Polden)
  • [0f33287] Use first element in header (Martin Polden)
  • [a03c16d] Remove port (Martin Polden)
  • [ad0992e] Don't use deprecated function (Martin Polden)
  • [fecf0b9] Update gitignore (Martin Polden)
  • [e7c3e3d] Add command switcher (Martin Polden)
  • [3d9a800] Add Zepto 1.0rc1 (Martin Polden)
  • [aca46e8] Close tag (Martin Polden)
  • [a3a2b08] Add makefile (Martin Polden)
  • [0b2a970] Formatting (Martin Polden)
  • [9535d64] Add responsive css (Martin Polden)
  • [5b937c2] Needs more red (Martin Polden)
  • [ea97662] Remove padding (Martin Polden)
  • [17551cb] Add support for / (Martin Polden)
  • [f1d987d] Serve assets (Martin Polden)
  • [98e914c] Add Bootstrap 2.2.1 (Martin Polden)
  • [68b801d] Remove redundant styling (Martin Polden)
  • [eb6a763] Merge branch 'master' of /home/martin/git/ifconfig (Martin Polden)
  • [773752c] Update readme (Martin Polden)
  • [5a420a3] Add GitHub link and styles (Martin Polden)
  • [65734e5] Update readme (Martin Polden)
  • [28cba59] Add wrapper script for daemonize (Martin Polden)
  • [f17c3bf] Update gitignore (Martin Polden)
  • [459032d] Parse IP address to net.IP (Martin Polden)
  • [f1a8819] Read X-Real-IP header if set (Martin Polden)
  • [dc96c77] Ignore server binary (Martin Polden)
  • [f0bed47] Render HTML template if User-Agent is a regular browser (Martin Polden)
  • [afebbf0] Add basic HTML template (Martin Polden)
  • [0297203] Initial implementation (Martin Polden)
  • [ef1f965] Add README (Martin Polden)
  • [2ebb04f] Update readme (Martin Polden)
  • [3d14ea6] add hostname lookup (Thomas Wouters)
  • [5cd09f5] handle net/http as cli request (Rafal Jeczalik)
  • [4cfccfd] Include both IPv4 and IPv6 links (Ian Bishop)
  • [2b340fc] Link to IPv4 page from IPv6 page (Ian Bishop)
  • [d58f146] Added a lacking period (Linus Särud)
  • [12b13d6] Example for bat - https://github.com/astaxie/bat (udhos)
  • [ca311fe] Added explicit white background color in the CSS (Luca Zorzi)
  • [12bc12f] Add /health endpoint (Maxim Baz)
  • [6d915d0] use big int for decimal IP rather than uint64 (rufo)
  • [3cd9b9e] Rename to echoip, update to Go 1.11 (Maxim Baz)
  • [1171909] Add Dockerfile (Maxim Baz)
  • [e1e6dba] changed env var in makefile to builtin var (antonc42)
  • [155c1a5] return parsed and raw user agent (Kevin)
  • [8ad1d73] Allow overriding image name (Sandro Jäckel)
  • [5fcd174] Allow overriding docker command (Sandro Jäckel)
  • [1647deb] Update README.md to include -C/--cache-size (Ian Gallagher)
  • [8acb3b5] Include a link to bat (Steven Honson)
  • [7ad9af3] add cli detection for httpie-go (Chloe Kudryavtsev)
  • [5794131] introduce subresource integrity (Niklas)
  • [6e46503] Fixed table width on mobile and dark buttons (Thatcher Peskens)
  • [7b849f7] Fixed a display issue for long ipv6 addresses and port input on mobile (Thatcher Peskens)
  • [ae2bbd8] Bump Go version (Martin Polden)
  • [2b630f0] Limit deploy to master branch (Martin Polden)
  • [073e19b] add xh to the list of cli utilities (Chloe Kudryavtsev)
  • [11fc656] Merge branch 'mpolden:master' into master (Marcell Martini)
  • [a4d13ad] Adding test to main.go (Marcell Martini)
  • [08fdacc] Remove if inside loop from String() (Marcell Martini)
  • [0fbe52b] Update README.md to include information regarding MaxMind Geo DB (Ashley Primo)
  • [44ce088] update docs (Alphakilo)
  • [dcefd6f] implement /asn-org endpoint (Alphakilo)
  • [046f304] Use available width when sponsor is disabled (DeoVero Server)
  • [b405df2] Respond with 204 on HEAD / requests (Gustav Behm)
  • [80d9d6c] Fix for values in info-table being cut off on Webkit (DeoVero Server)
  • [a214630] Update geoip download task to use basic auth (Christopher Chow)
  • [f895ed9] bump github.com/oschwald/geoip2-golang from 1.5.0 to 1.13.0 (dependabot[bot])
  • [b6a8b3d] Move port tests to separate section (Valentin Grünbacher)
  • [a85ff0d] Allow request IP candidates to contain ports (Valentin Grünbacher)
  • [fa0811e] SplitHostPort only if initial parse fails (Valentin Grünbacher)
  • [4f828ae] Add IPv6 test cases (Valentin Grünbacher)