📦 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
?=ipquery 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-orgendpoint (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?=ipquery 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-orgendpoint (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)