You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have searched the existing issues, it does not exist.
Describe the new feature you would like
it would be so mush better if you add country flags instead of an icon when displaying the ip address of the machine this help users know their ip address especially helpful when using proxy or vpn
@aymnart hi, is it still actual?
before implementing let's check via dirty hack - is it comfortable with flags?
if yes, then can share PR with implementing emoji_* type, we will catch this emoji_* type in extension.js, so finally it will be without network icon, just flag as icon
add new file ~/.local/share/gnome-shell/extensions/Vitals@CoreCoding.com/helpers/utils.js
/*
Conv ISO country code ('US', 'TH', 'KZ', 'RU', 'UK', 'UA' etc) to Emoji Flag
*/
export function getFlagEmoji(countryCode) {
if (!countryCode || countryCode.length !== 2) return '🌐';
const codePoints = countryCode
.toUpperCase()
.split('')
.map(char => 127397 + char.charCodeAt(0));
return String.fromCodePoint(...codePoints);
}
edit ~/.local/share/gnome-shell/extensions/Vitals@CoreCoding.com/sensors.js
2.1) add in the import block
import * as HelpersUtils from './helpers/utils.js';
I've just googled and used 2 first links
not sure that's good idea, what if 2k-3k Vitals' users will turn on Public IP and owner of site will decide to turn it off or monetize?
MyIP is free to use, you don't need an account you can just start calling us.1
Are there any limitations?
You are free to call the service multiple times a day, however we do rate-limit and will throttle you if you call us too often. Under such circumstances you will recieve a 429 response code and are expected to backoff for a while. We also reserve the right to ban you for an unspecified amount of time if you abuse our services.2
still waiting @aymnart feedback - @aymnart could you test firstly (please check message above - there is code blocks) due having colored flag in top panel make my eyes bloody, maybe it's useless and no need 🙏
WORKS FINE
I think it will be useful for people who use VPN a lot and switch between countries, this will provide a visual indicator, instead of just an IP address.
I think it would be better remove the icon and just replace it with flag,
and also, when I switch countries, the IP wont update, until I manually refresh:
@corecoding hi Chris, would it be possible to add the country code to the IP response? like == {"IPv4":"171.6.237.217", "countryCode":"TH"}.
it seems the response handled by Apache, you could delegate this to your reverse proxy HAProxy/NGINX for better performance and easier geo-ip integration
dudes https://github.com/sapics/ip-location-db provide go-ip databases on GitHub that doesn't require a maxmind login, they provide both mmdb and csv formats
also you could change the endpoint like to https://corecoding.com/myip (so in the future reverse proxy also will return ipv6)
Activity
azadevlab commentedon Feb 25, 2026
@aymnart hi, is it still actual?
before implementing let's check via dirty hack - is it comfortable with flags?
if yes, then can share PR with implementing emoji_* type, we will catch this emoji_* type in extension.js, so finally it will be without network icon, just flag as icon
~/.local/share/gnome-shell/extensions/Vitals@CoreCoding.com/helpers/utils.js~/.local/share/gnome-shell/extensions/Vitals@CoreCoding.com/sensors.js2.1) add in the import block
2.2) replace/update
_refreshIPAddress(callback)blockazadevlab commentedon Feb 25, 2026
@corecoding hi, would it be possible to include the country code in the API response as well, due nowadays it returns?-
corecoding commentedon Feb 26, 2026
I could probably add country to my API - but I am curious, is the api4.my-ip.io API free?
azadevlab commentedon Feb 26, 2026
I've just googled and used 2 first links
not sure that's good idea, what if 2k-3k Vitals' users will turn on Public IP and owner of site will decide to turn it off or monetize?
https://www.my-ip.io/faq
still waiting @aymnart feedback - @aymnart could you test firstly (please check message above - there is code blocks) due having colored flag in top panel make my eyes bloody, maybe it's useless and no need 🙏
aymnart commentedon Feb 27, 2026
WORKS FINE
I think it will be useful for people who use VPN a lot and switch between countries, this will provide a visual indicator, instead of just an IP address.
I think it would be better remove the icon and just replace it with flag,
and also, when I switch countries, the IP wont update, until I manually refresh:
Screencast.From.2026-02-27.13-49-44.mp4
@azadevlab thanks for this.
azadevlab commentedon Apr 1, 2026
@corecoding hi Chris, would it be possible to add the country code to the IP response? like == {"IPv4":"171.6.237.217", "countryCode":"TH"}.
it seems the response handled by Apache, you could delegate this to your reverse proxy HAProxy/NGINX for better performance and easier geo-ip integration
dudes https://github.com/sapics/ip-location-db provide go-ip databases on GitHub that doesn't require a maxmind login, they provide both mmdb and csv formats
also you could change the endpoint like to https://corecoding.com/myip (so in the future reverse proxy also will return ipv6)
just imho, ofc up to you
corecoding commentedon Apr 5, 2026
@azadevlab Thank you for the reminder. Country code has been added.
corecoding commentedon Apr 5, 2026
@azadevlab Please note that if it doesn't detect your country, an empty value will be sent.
azadevlab commentedon Apr 6, 2026
Chris, fantastic, thank you so much
corecoding commentedon Apr 8, 2026
Can we try replacing the cloud icon next to Public IP with the country flag? instead of putting it between Public IP and the IP itself.
azadevlab commentedon Apr 11, 2026
@corecoding @aymnart here you're :)
#537
@aymnart Aymen, please could you close Issue once MR will be approved and merged? 🙏
aymnart commentedon Apr 11, 2026
@azadevlab thank you so mush for this, issue closed.