-
Notifications
You must be signed in to change notification settings - Fork 0
Releases: ableinc/myip
Releases · ableinc/myip
v0.2.1
Read , lines 1 to 30
What's new in v0.2.1
New feature: --local
Show the local machine's IPv4 and IPv6 addresses without any network calls.
myip --local
myip --local --json
- Enumerates all active, non-loopback network interfaces
- Reports all non-link-local unicast IPv4 addresses and IPv6 addresses
- Prints
(none)for a family if no addresses are found --jsonoutputs{ "ipv4": [...], "ipv6": [...] }- Cannot be combined with
--detail,--weather,--unit, or--no-cache
Assets 3
v0.2.0
Read , lines 1 to 270
Read
Here are the release notes ready to paste into the GitHub release page:
What's New
This is the initial public release of myip — a fast, zero-dependency CLI tool for looking up your public IP address and local weather from the terminal.
Features
IP geolocation
- Displays your public IP address by default (single line, no noise)
--detailshows a full geolocation table: IP address, IP version, city, region, country, continent, latitude, longitude, ASN, and Cloudflare colo- Powered by the Cloudflare Radar API — no API key required
Weather
--weathershows current conditions at your detected IP location: temperature, feels like, humidity, weather code, wind speed, wind gusts, wind direction, pressure (MSL), surface pressure, precipitation, rain, showers, snowfall, and day/night status- Powered by the Open-Meteo API — no API key required
--unit celsiusor--unit fahrenheitto override the temperature unit- Fahrenheit is auto-detected for US, BS, BZ, KY, LR, PW, FM, and MH
Output formats
- Default: clean, aligned key/value table with coloured labels
--jsonoutputs pretty-printed JSON for--detail,--weather, or both combined
Local cache
- IP geolocation results are cached at
~/.myip/cachefor 30 minutes - Cache writes are atomic (write to
.tmpthen rename) --no-cachebypasses reading from and writing to the cache
Other
--versionprints the version and exits--helpprints usage, all flags, cache details, and examples- Version is embedded at build time via
-ldflags "-X main.version=$(VERSION)" - Zero external dependencies — stdlib only
Build
make build # builds ./myip at version 0.2.0
make build VERSION=x.y.zRequirements
- Go 1.23+
Assets 2
v1.0.1
Intelligent Caching System
- Local caching of IP addresses in ~/.myip_cache.json
- 1-hour cache validity - cached IPs are returned instantly if fetched within the last hour
- Independent caching for IPv4 and IPv6 addresses
- Cache bypass option with --no-cache flag for fresh lookups
- Automatic cache updates when fetching new IP addresses
Performance & Reliability
- 10-second timeout for HTTP requests to prevent hanging
- IP address validation to ensure returned values are valid
- Graceful error handling with meaningful error messages
- Zero external dependencies - uses only Go standard library
Technical Details
- Uses ipify.org API for IPv4/IPv6 lookups
- Cache stored as JSON in user's home directory
Assets 3
v1.0.0
- Smaller binary size (utilizing optimized build options)
- Uses arguments instead of options, replace -v option with v4 or v6 in-line arguments
Assets 4
v0.0.1 - myip
The initial release.