[HN Gopher] Shortest URLs on the Internet ___________________________________________________________________ Shortest URLs on the Internet Author : jamespwilliams Score : 222 points Date : 2022-09-11 17:10 UTC (5 hours ago) (HTM) web link (jameswillia.ms) (TXT) w3m dump (jameswillia.ms) | daniel-cussen wrote: | dehrmann wrote: | Any FTP urls? I'm sure there are protocols with shorter schemes, | but FTP is still semi-supported. | mtmail wrote: | No longer supported by Firefox, Edge or Chrome | https://www.zdnet.com/article/now-firefox-has-dropped-suppor... | thrdbndndn wrote: | Honestly, never expect browsers to support them to begin with | anyway. | | Any semi-serious FTP users use dedicated clients. | dehrmann wrote: | Still works on IE! Why my Windows 10 installation has an | unsupported copy of IE is another question. | heydemo wrote: | I love hacker news for this type of insightfully researched | light-hearted tech trivia. | TimLeland wrote: | Check out the URL Shortener T.LY. It's one of the shortest domain | that allows you to create short links that I know of. | | >> https://t.ly/ | daqnal wrote: | That one is cool. Another similar one: | | > >>https://s.id/ | Aachen wrote: | Tough competitor! I think dro.pm wins by one character because | the URIs are shorter, at least on days where I didn't post it | to HN. And that can be used for pastes and file hosting | directly. The caveat being that it expires; it's meant as | something you can write on a whiteboard on a conference or pass | over the phone easily without needing to send a random URL to | someone via chat, sms, or email or something. | edent wrote: | You can also use Unicode ligatures to make URls which _look_ | shorter. | | From that list, you could use http:// cm. / - that's U+339D if HN | mangles it. | | I wrote it up at https://shkspr.mobi/blog/2020/08/buying-a- | single-character-d... | [deleted] | [deleted] | ttctciyf wrote: | You don't need the http:// for pn. (At least in firefox on my | laptop) pn./ suffices. | chrismorgan wrote: | We're talking about the URLs, not what you can type in the | address bar to access them. | dn3500 wrote: | http://ai is an interesting case. It was there from the early | days of the web, back when you could type "ai" into the mozilla | url bar and it would take you there. Today firefox "helps" you | out and changes what you typed into something else because it | knows better than you do what web site you want. | | It's run by a character named Vince Cate who moved to Anguilla to | protest taxes or something. He was from the US and gave up his US | citizenship. He talked the Anguilla government into letting him | set up its internet infrastructure for them. | ktpsns wrote: | You still can type "ai." (including the dot, excluding the | quotation) in your browser. Works in firefox (tested in 104), | however does not work in Chrome (tested in Chromium 105). | camoufleur wrote: | "http://ai." works in Chrome | Chilko wrote: | Does not work in Edge. | epuixrk wrote: | well obviously, he meant without the protocol at the | beginning | jbkkd wrote: | Doesn't work on Chrome on Android | 867-5309 wrote: | working here. latest chrome, android 12 | kccqzy wrote: | You need a slash for it to work in Chrome: "ai./" and "ai/" | both work in Chrome (obviously without quotes.) | [deleted] | teloli wrote: | Amazing, instead of "ping 1.1" I can now use "ping ai" and save | one character. What a great world we live in. | thewebcount wrote: | It's interesting that Anguilla is the ai domain. I didn't know | that! It's also a nice little island to take a trip to if you | want to go somewhere that's not too touristy. Beautiful beaches, | and at least last time I was there, they didn't allow cruise | ships. So it ended up being a beautiful and quiet getaway. They | do, however, drive on the left side of the road, but with North | American cars, so it's a little odd driving there at first! | tpmx wrote: | http://dk used to work at one point in time, IIRC. (It was some | nic.dk thing, I think.) | gsich wrote: | https://l.de | [deleted] | vesinisa wrote: | All the domains have an invalid TLS certificate. Now, it would be | very interesting to see the process for actually obtaining a | valid certificate for one of these. Anyone know if there are | reasons one could not be obtained? | [deleted] | notpushkin wrote: | I think these weren't meant to run on the apex domains, so | nobody even bothered getting a certificate. Would be | interesting to try and get one, I agree. | themoonisachees wrote: | Cool to know, i guess. | | TIL that dotless record on newer gTLDs is forbidden, which | explains my age-old question: "if google holds google., why are | they only using it on domains.google? Surely having the url | https://google would be desirable for the folks in marketing?". | The answer is that they can't possibly because the ban was added | precisely because of this. | KMnO4 wrote: | Google actually serves a bunch of pages through their TLD: | | https://en.wikipedia.org/wiki/.google | varun_ch wrote: | Google Search is actually a useful way to find sites on a | TLD: | | https://www.google.com/search?q=site%3Agoogle | https://www.google.com/search?q=site%3Agle | https://www.google.com/search?q=site%3Agoog | bdn_ wrote: | This works with DuckDuckGo as well: | https://news.ycombinator.com/item?id=32473643 | | You can combine the exclusion `-` syntax with this as well. | If you want to find different sites on the TLD `.test` but | only URLs on `home.test` are being shown, you can use this | search: | | site:test -site:home.test | judge2020 wrote: | I think it's obvious that they use their TLD, just not via a | root A record, so resources aren't loaded via | https://google/some.js | varun_ch wrote: | It's not really the same, but Microsoft has | https://www.microsoft/ as a redirect to their .com, which | causes some weird side effects in Chrome's omnibox, because it | automatically adds the www subdomain: | https://imgur.com/a/2cVxnYf | fennecfoxen wrote: | I used to have an email address with a three-letter username | @eh.net, which was actually surprisingly annoying to use. If you | ever gave the address to someone they'd be very confused at how | short it is. | zfxfr wrote: | From my experience if you give people any email address with a | custom domain people will usually be confused and ask you to | repeat even if it's very clear and easy to remember. Last time | i gave my mail which is something like :myname@LLL.fr i was | asked : are you sure ? | AviationAtom wrote: | I usually get: "@gmail.com?" | | "No, no. Not everyone has to use Gmail!" | cldellow wrote: | I had to deal with an accountant to get advice on how to file | taxes after the sale of a private company. | | They needed information from a third party. I gave the | accountant the third party's email address, | firstname@lastname.co. | | The transaction was taking a while to get resolved. After | repeated followups, the accountant finally told me that he | was having a hard time getting a hold of the third party. Was | I sure that their address was firstname@lastname.com? | | Like... what the heck. We're all corresponding over email. | You could have literally clicked the email address in the | email that I sent you. But instead, somehow you've mangled it | and are confused that it doesn't work? | | That was instructive for me. .com TLDs only going forward! | axiolite wrote: | It would be great if someone with an ultra-short URL could run | one of the "what's my IP address" sites on it, like: | | ifconfig.co | | ifconfig.pm | | ifconfig.show | | ipaddr.in | | ipconfig.io | | They return plain-text IP address to curl/wget, while serving up | a more detailed web page to other web browsers. | notpushkin wrote: | I like to use eth0.me for this purpose. Short and memorable. | snvzz wrote: | Interestingly, in my lan: | | dig ai @ googledns works | | dig ai @ unbound works (DoT cloudflare behind) | | dig ai @ dnsmasq NXDOMAIN (openwrt, forwards to unbound) | | Thus something's up with openwrt (22.03.0 release) dnsmasq, or | dnsmasq in general. | londons_explore wrote: | This explains why many home users can't connect - a lot of home | broadband routers use dnsmasq internally. | easrng wrote: | Try "ai." | hemmert wrote: | I love short URLs! I found quite a lot are available for .cx | (which is the Christmas Islands), so I got https://fh.cx for | myself a couple of years ago. | _def wrote: | I like them too. I used to own wu.gl but couldn't justify the | 50$/year just for fun | jonatron wrote: | Although it's nowhere near as short as ai , I like bl.uk | peanut_worm wrote: | pn was the only one that worked on my iPhone. Pretty cool, I am | surprised its not used for anything major | kypro wrote: | http://ai. resolves for me, but http://ai doesn't. Is http://ai | invalid or is that just my DNS? | proactivesvcs wrote: | Both resolve for me on my Android phone but neither on my Linux | desktops, unless I specify a DNS resolver. Curious! | epuixrk wrote: | omg i always wanted to know that, everyone i had asked in the | past either shrugged or said it was impossible | megous wrote: | Shortest address is http://1 Not on the internet, though. Just on | the network. | | Kinda surprised Linux routes 0.0.0.1 to my router, when used as a | destination address. Might be fun to use it as a local redirector | whitout having to do any DNS shenanigans. | | Edit: yep, it works | Aachen wrote: | Shorter: ftp://1 | | Anyone knows a shorter protocol name that is widely | supported/known? | vesinisa wrote: | Both Chrome and Firefox have actually recently removed | support for ftp:// for security reasons. | zzo38computer wrote: | It may be, but that does not disqualify it being "shortest | URLs on the internet", I think. However, maybe it should | not count if there is not a FTP server at that address, | though. | megous wrote: | ws://1 | Nextgrid wrote: | I think on Windows machines you can use `\\\\` to access a | machine via SMB, so `\\\1` would be the shortest if you're | happy with Windows-only. | easrng wrote: | //1 turns into file:///1 everywhere AFAIK | zzo38computer wrote: | But "//1" is not a full URL, and any URL with "file:" is | not "on the Internet". | amelius wrote: | None of these links work (Firefox 104 on Linux). | alana314 wrote: | they do for me on FF 104 on mac. | bdn_ wrote: | At one point of time, `http://to` resolved to a "It works!" page | [1]. I've always thought it would be cool to have a URL shortener | with links such as `https://to/library` or something similar. Oh, | how much fun running your own TLD would be... | | [1] https://web.archive.org/web/20150319211308/http://to/ | infinityio wrote: | unfortunately, it seems like ICANN rules prevent this for new | gTLDs | TakeBlaster16 wrote: | I bought the punycode domain {emoji_rabbit}.to (i.e. "hop to") | intending to build a url shortner. But I never did anything | with it and let it expire. And now it doesn't seem like .to | even lets you buy emoji domains anymore. I kind of wish I had | held on to it. | bdn_ wrote: | I can confirm that emoji domains for `.to` are still | supported, I believe most of them are taken by now, though. | You can use https://register.to to check. | TakeBlaster16 wrote: | Huh, looks like you're right. I distinctly remember getting | an error for emoji domains but not normal ones. I might | have made an incorrect assumption from that. Either way | I've accepted I'm never getting that domain back. | blep_ wrote: | It _was_ a link shortener for a while! I used to use it. | | It appears to have been archived in Japanese, but: | https://web.archive.org/web/20120103092225/http://to/ | 1vuio0pswjnm7 wrote: | I have run custom TLDs at home for many years. Not sure I would | call it "fun" but it does put into perspective "ICANN" and the | "domain name business". | | People who discuss the internet publicly generally assume that | a TLD implies renting out large numbers of domains to the | public. IMO, that is only one potential use. | Minor49er wrote: | Many years ago, there used to be http://www.tk/. They would let | you register free domains (which I think technically were | actually subdomains, but I'm really not sure). You could point | these to anywhere online and it would maintain your | [whatever].tk URL in the address bar. I remember hosting some | pages on Geocities and using .tk to make it look "authentic" | since it appeared to be self-hosted, which was 1337. | | It seems that the service now redirects to a site called | Freenom where you can still get .tk names, but they appear to | be priced based on the length and whether or not the domain | contains known words or phrases (though some free ones are | apparently still available if you don't mind having a gibberish | name) | shpx wrote: | At Google and many other tech companies, internal machines are | configured to have go/<whatever> work just like you describe. | Looks like someone even made a whole company around it | | https://www.golinks.com/blog/go-links-history/ | Macha wrote: | A problem with this approach is browsers love to resolve it | to http://go.com, so Disney may be getting a feed of what | Googlers are interested in. | hn_go_brrrrr wrote: | I mean, have fun? You're gonna get most stuff like go/thor- | design or go/zanzibar. It's not as if go links are go/our- | disney+-competitor. | seedless-sensat wrote: | I have found Chrome more willing to resolve go/foo as a web | search. As a result, the Google autocomplete suggestions | for terms like "go/m" are pretty amusing | rnestler wrote: | Interestingly there are also several go/foo | autocompletions on Duckduckgo :) | rwiggins wrote: | I can't speak for anywhere else, but I'm pretty sure Google | uses a Proxy Auto Config script for go links, which should | prevent that from happening in most cases. | | Disclosure: I work for Google. | dhosek wrote: | They had this at Chase when I worked there. As I recall | discoverability was a problem though. | isatty wrote: | Not just go, but lots of our internal stuff can be resolved | that way. m/ c/ etc. you can get this for yourself by setting | search domains. | RockRobotRock wrote: | Intel had that when I worked there | otagekki wrote: | I had worked at a bank as an IT professional and it works | wonders, until the browser tries to be smart and attempts a | Google search | johnasmith wrote: | I wrote myself a Chrome extension that does this, using | http://l/foo style links, and using Chrome's sync to share | across devices. Works well enough but limited to desktops. | | Some large orgs maintain internal shorteners, like http://go | links at Google. | georgyo wrote: | Using DHCP to send a DNS search path can make this work | across a lan, which is how it works in most work | environments. | | If you set your dns search path to example.com then http://go | would resolve to go.example.com which could be your link | shortner. | bdn_ wrote: | I recall seeing go link stickers around Google's Mountain | View campus in the early 2010s! That was the first time I had | seen something done like that, "overriding" an entire TLD | zone (not that `.go` is in use, anyway) to serve custom | content. | | Do you happen to know how Google, or any other places, do | this? I assume a custom DNS resolver being forced on clients | through a network could do this, or maybe hosts files for | each machine. | knome wrote: | You don't need to override a top-level domain. If you have | the company DNS specify a search domain of the company | owned website, you can just have the "go.<company-website>" | available on the internal DNS. whenever someone enters | go/whatever into a webbrowser, it will then resolve "go" | into that internal "go.<whatever>" server. | jzelinskie wrote: | What's the name of your extension? I've been using | https://www.trot.to/go-links for this and it's nice to know I | could scale it out to my company if I wanted, but I'd prefer | something that didn't depend on a service for my personal | usage. | perryizgr8 wrote: | At a previous employer, we used an internal link shortener that | went like http://go/whatever. Very user friendly. | grishka wrote: | Say Google without saying Google. These URLs sometimes leak | into the public internet, and there's especially lots of them | in AOSP and Chromium code. | knome wrote: | Google is not the only company doing this, though ex- | googlers may have spread it around initially. | badrabbit wrote: | aka.ms is short but probably not thr shortest, but I would say it | is the shortest most popular url possibly. For those who don't | know, that is MS's link shortner for official URLs | inglor wrote: | It's also used quite extensively internally for company wide | resources. Any employee can create aka.ms urls, here is one for | your comment: https://aka.ms/AAhztyq | jonas-w wrote: | What a flex. Can you also specify a custom link? | | Like aka.ms/mango or aka.ms/inglor? | remram wrote: | TLDR It's http://ai (or http://ai./) and a few other 2-letter | TLDs. Doesn't seem to work on my Android phone but works from | another machine. | rilut wrote: | Works on pixel 6 pro and pixel 4a | bbu wrote: | Also doesn't work on my iPhone. | frizlab wrote: | Works on iOS, but the final dot (after the ai) MUST be there. | So it must be exactly: " http://ai. " | | EDIT: It will also depend on your DNS server apparently. I | use Cloudflare's. | theragra wrote: | Works on pixel6 | remram wrote: | I see, it must be a problem with my DNS provider then not my | device. | progval wrote: | Close second: http://1.1 | derefr wrote: | Why does 1.1 resolve to 1.0.0.1? I don't recall this being in | any of the documents about CIDRs. Are browsers implicitly | mapping IPv4 addresses temporarily into IPv6 addresses during | parsing, such that "1.1" becomes "1::1", and then gets IPv6 | abbreviated-form expansion applied to it? | eesmith wrote: | I'm also curious. Especially since curl 7.64.1 (Release-Date: | 2019-03-27, on macOS) says: % curl | 'http://1.1/' error code: 1003 | | while curl 7.85.0 (Release-Date: 2022-08-31, on FreeBSD) | says: % curl 'http://1.1/' <html> | <head><title>301 Moved Permanently</title></head> | <body> <center><h1>301 Moved Permanently</h1></center> | <hr><center>cloudflare</center> </body> </html> | cyral wrote: | That is because their http:// site redirects to https:// | eesmith wrote: | Sure, but why do the two different versions of curl give | different results? With 7.64.1: % curl | --dump-header /dev/tty 'http://1.1/' HTTP/1.1 403 | Forbidden Date: Sun, 11 Sep 2022 19:01:53 GMT | Content-Type: text/plain; charset=UTF-8 Content- | Length: 16 Connection: close X-Frame-Options: | SAMEORIGIN Referrer-Policy: same-origin | Cache-Control: private, max-age=0, no-store, no-cache, | must-revalidate, post-check=0, pre-check=0 Expires: | Thu, 01 Jan 1970 00:00:01 GMT Server: cloudflare | CF-RAY: 7492a7924b2bd895-CPH error code: 1003 | | (Note that curl 'https://1.0.0.1/' works just fine, so | it's not like curl is blocked by the server on general | principle.) | | With 7.85.0: % curl --dump-header | /dev/tty 'http://1.1/' HTTP/1.1 301 Moved | Permanently Server: cloudflare Date: Sun, 11 | Sep 2022 19:03:09 GMT Content-Type: text/html | Content-Length: 167 Connection: keep-alive | Location: https://1.0.0.1/ CF-RAY: | 7492a96a181df18a-PIT <html> | <head><title>301 Moved Permanently</title></head> | <body> <center><h1>301 Moved | Permanently</h1></center> | <hr><center>cloudflare</center> </body> | </html> | A321321 wrote: | Curl wasn't able to normalise ip adresses till this | commit [0] | | [0] https://github.com/curl/curl/commit/56a037cc0ad1b2a77 | 0d0c08d... | judge2020 wrote: | Indeed - so while it's hitting Cloudflare, the 1.1.1.1 | IPs are all technically vhosts for `cloudflare-dns.com`, | so a good `host` header in the request is required to | reach it. | | For this reason, you could use a CNAME setup[0] and | instead of using CNAMEs for proxied subdomains, you input | 1.1.1.1 A records in your authoritative dns, and | everything on Cloudflare's side will still see your | hostname in the host header / SNI, and your website will | load. | | 0: https://developers.cloudflare.com/dns/zone- | setups/partial-se... | A321321 wrote: | Yeah, that was a bug in curl till 7.77. | | If you want to full details, see [0] | | [0] https://daniel.haxx.se/blog/2021/04/19/curl-those- | funny-ipv4... | gdavisson wrote: | Interesting. If you use curl -v, you can see that the | difference is that the newer version of curl | canonicalizes(?) the Host: header to "1.0.0.1", which the | server recognizes and responds to with a redirect. The | older version sends "1.1" as the Host: header, which the | server doesn't recognize, so you get a "403 Forbidden" | response with the cryptic "error code: 1003" in the body. | | I get the same behavior from other nonstandard ways of | specifying 1.0.0.1, like "curl http://01.00.00.01/" | duskwuff wrote: | There's some weird legacy parsing for IPv4 addresses with | less than four components. 1.2.3.4 can be represented | equivalently as 1.2.772, 1.131844, or 16909060. (Note that | 772 = 0x0304, 131844 = 0x020304, and 16909060 = 0x01020304.) | | TL;DR: the second "1" in "1.1" is treated as a 24-bit | integer. | | Longer explanation: https://blog.dave.tf/post/ip-addr- | parsing/ | derefr wrote: | Aha. I had thought I recalled the two-dot case being 16+16, | rather than 8+24. | duskwuff wrote: | It was for compatibility with classful networks. If you | have a class A (/8) network, you could (in principle) | treat it as a single network and number all the machines | on it sequentially from 12.1 to 12.16777215. | | Of course, nobody actually does that anymore. But the | parser behavior is still out there because there's the | _possibility_ that someone is still using it... | oarmstrong wrote: | https://en.m.wikipedia.org/wiki/IPv4#Addressing | | > IPv4 addresses may be represented in any notation | expressing a 32-bit integer value. | | I remember reading a man page that explained this really | succinctly but I cannot remember which one it was. A tool | like ping I believe. | geraldcombs wrote: | Was it inet_aton? | | https://www.freebsd.org/cgi/man.cgi?query=inet_aton&sektion | =... | oarmstrong wrote: | Bingo! | profile53 wrote: | I suspect it gets mapped to 1.0.0.1 because no other | resolution is possible. Any other locations for the two zeros | results in an invalid IP (either starting or ending in 0). | jodrellblank wrote: | Ending in 0 is valid; you can have 1.0.1.0/23 as an IP. | | https://stackoverflow.com/a/14915309/ | | https://jodies.de/ipcalc?host=1.0.1.0&mask1=23&mask2= | simonjgreen wrote: | Absolutely nothing wrong with ending with a .0. | | I suspect you are confused by n.n.n.0/24 being a network | address in a /24 network which is obviously very common. | However there are way more networks of other sizes that | have .0 addresses in them. | profile53 wrote: | Huh, and today I learned something new. Thanks! | WarOnPrivacy wrote: | I once had my ISP (BHN) assign me a public IP that ended | in .0 That turned out to be a neat experiment. I | regularly hit webpages and other services that would deny | my connection. I guess they considered me multicast | traffic or some sort of bogon. | [deleted] | schoen wrote: | We're also arguing that it ought to become usable even in | a /24: https://datatracker.ietf.org/doc/draft-schoen- | intarea-unicas... | | It only requires changes within the LAN to accomplish | this, since distant hosts are already not supposed to | assume anything about how networks are or are not | subnetted. (For instance, they don't know whether you're | on a /24 or not.) | | You can find some addresses ending a lot of zeroes that | already work within | | http://ec2-reachability.amazonaws.com/ | matttpt wrote: | > Some have A records pointing to the root servers. I'm not sure | why this is - I think it might be because no DNS has been | configured in the TLD zone for these TLDs. | | I was also curious about this. It turns out that it's because dig | interprets some TLDs as DNS record types (MD, MG, MR, MX) or DNS | classes (IN and CH) of the same name! Not sure why, but when | given only a type or class (without a domain name), dig actually | queries for a list of the root servers, which explains the | strange results. Looks like using the -q option to specify the | domain name works around this. | N6VjeuHbGSwMN9e wrote: | Or you could just make it a FQDN: `dig @8.8.8.8 MX.` | jamespwilliams wrote: | Oh interesting, thanks! I fixed the script and ran the TLD list | through again, in case this meant I missed some, but none of | the affected TLDs have A records. I'll update my post to | mention your comment. | theomega wrote: | Just to check: Could it be that pihole (dnsmasq) has an issue | with these dotless domains? | | I'm getting a NXDOMAIN for `dig ai.`, but when directly doing | with an upstream server (i.e. 8.8.8.8 or 1.1.1.1) it perfectly | works. | | I assume this is the result of the `Never forward non-FQDN A and | AAAA queries` setting being checked in pi-hole (which is AFAIK | the default). ___________________________________________________________________ (page generated 2022-09-11 23:00 UTC)