A URL Lengthener
aaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.com
aaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.com
This is going in the toolbox along with http://shadyurl.com
Though I'm kind of disappointed about the lack of HTTPS support on that site.
http://www.5z8.info/winamp-cracked.exe_x8c5se_how2pipebomb
Thank you for this, I laughed hard.
http://www.5z8.info/awesome-real-life-headshots_q2h6fv_linke...
Edit: if someone need the url at work: https://m.slashdot.org/story/17042
Why?
Because slashdot are assholes.
Or, it was purposeful, and he liked how it left out the attributions to single line quotes or made a weird half-aside out of multi-line ones, and it's just another case of someone not realizing put some random content up under your own name can lead to problems. Also sad, but less unique.
https://aaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
But for some reason it doesn't recognize https://x.org as a valid URL.
https://gitlab.com/KevinRoebert/ClearUrls
Privacy Badger is another option that cleans Google and Facebook links while blocking trackers, and is available by default on Firefox for Android:
https://html.spec.whatwg.org/multipage/links.html#hyperlink-...
You put a `ping` attribute on a link, and when the user follows the link, the browser sends a request to the ping URL notifying it of the action.
Firefox disables it by default, which doesn’t seem like much of a privacy win considering JavaScript is enabled by default and can polyfill this functionality.
Plus, if it was done on OnClick there would definitely be an add-on to disable the tracking on all browsers.
A direct link from a search page will let websites see the search terms that users entered in to navigate there.
Google still knows everything so it doesn't protect you from them, but websites are more in the dark what users were doing before clicking the link.
I hate, hate, hate, HATE, HATE safelinks.
https://aaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
How did you even find this?
Speaking of sketchy websites :)
Would have been cool though if someone at google had bought all gooo... domains.
It used to be longer, but name.com that I use nowadays does not support any longer ones. :( I think there were a few a's more, up to the technical limit (which I forget now).
+1 for avoiding the temptation.
At least, that seems to be the thing in my friend group.
I will say that roll recipient feedback indicated that the “YouTube ads take away from the shock value.”
So maybe hosting your own videos is the way to go for the intrepid roller.
with the pure speed of replit i went from issue opened to closed in like 20 minutes
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.com
is 57 characters (not including .com) and I think that sounds familiar. One could have a lot of fun with that if they wanted to (and such as was done in this case).
Then there's
http://llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogog...
doesthemailruntoday.com
Are the two I like.
Unless your old domain was expertsexchange.com
This one launched very recently: https://www.hardrockcasinonorthernindiana.com
Nearby, the Chicago Botanic Garden went short: https://ohwow.org
I think domain names are like company names or brands you don't want to have long company name or brand name because nobody will remember it.
Welsh place names can be brilliantly literal, Aberystwyth for example is "mouth of the river Ystwyth". Llanfairpwllgwyngyll... means "St Mary's church of the pool of the white hazels over against the pool of St Tysilio Gogo" but the name was completely contrived in the Victorian era to promote tourism to Anglesey.
RFC 1034 specifies:
"Each node has a label, which is zero to 63 octets in length."
And:
"To simplify implementations, the total number of octets that represent domain name (i.e., the sum of all label octets and label lengths) is limited to 255."
https://datatracker.ietf.org/doc/html/rfc1034
If that's been extended, I'm not aware of it.
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&c...
This seems like something you can trivially solve yourself. Is there any good reason why you push this issue on the user?
But this is just a lot of speculation on my part which means I'm probably wrong about at least one aspect.
Today, there are no longer any TLDs of any kind with their own A records.
https://aaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
$ dig +noall +answer ai.
ai. 80534 IN A 209.59.119.34The DNS record is no longer in the root zone itself (I think it used to be?) and some recursive resolvers seem to filter out the bare-TLD query or response. But the A record still exists inside the ai zone... so I'm not sure who is right, so to speak!
You can try `dig @a.root-servers.net ai NS` to get the nameserver `a.lactld.org.` which is authoritative for ai. You can now try `dig @a.lactld.org ai A` to get it (that's how recursive resolves generally work)
By the way:
> The A record was never in the root zone.
Are you sure of that? I don't have any proof, but my impression was that the DNS registry for ai (which was also just Vince Cate...) was able to ask for it because at one time the root zone was less restrictive in what RRtypes could be placed there for TLDs. But that might just be repeating someone else's mistaken impression.
OK, I went and looked in the Internet Archive
https://web.archive.org/web/20090716164810/http://www.intern...
and this version of the root zone from 2009 does indeed not have an A record for ai, just ordinary NS delegations. So it seems like your explanation is confirmed, and there must be a change in some recursive resolver behavior. (I tried from four different Linux systems on different networks and all refused to resolve it, so there really must be something that's changed more widely, not just my home router.)
I checked an archive of root zone data from June 1999 to May 2021[0], and there don't seem to be A records for any TLD. Not sure why you're having this issue, but I'm curious to know which Linux distro/software doesn't resolve ai.
[0] http://stats.research.icann.org/root-zone/data/root-zone-arc...
I'll have to look into this some more.
Edit: I think I found it! From systemd-resolved.service(8):
· Single-label names are routed to all local interfaces capable of IP
multicasting, using the LLMNR protocol. Lookups for IPv4 addresses
are only sent via LLMNR on IPv4, and lookups for IPv6 addresses are
only sent via LLMNR on IPv6. Lookups for the locally configured
host name and the "_gateway" host name are never routed to LLMNR.
· Multi-label names are routed to all local interfaces that have a
DNS server configured, plus the globally configured DNS server if
there is one. Address lookups from the link-local address range are
never routed to DNS.
So, systemd-resolved.service appears to treat single-label names inherently differently from multi-label names when doing a DNS lookup. (LLMNR is https://en.wikipedia.org/wiki/Link-Local_Multicast_Name_Reso..., which is ... not exactly DNS.)Presumably ai is the only name on the Internet concretely impacted by this behavior. :-(
curl ai
Worked as well.I guess I should get some servers running other operating systems, or something.
It might be difficult to convince the systemd developers that this special case should be removed just because of this one anomalous DNS name...
https://aaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
What's your plan once you reach the 4-character limit? Roll over to 5, or something fancier?
https://aaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
TAC* is the best compression format available for the web today! By using revolutionary scientific methods, research teams at RSG and the Beige Programming ensemble were able to a compose a complex software tool that expels many of the myths that surround modern file compression techniques. The secret of TAC compression is not that it makes files smaller, but that it makes files bigger, much bigger.* This provides the end user with a compression tool to meet almost any need in today's bandwidth and gig overloaded computing world.
This app is fully made and hosted on Replit using Replit DB too:
Frontend: https://replit.com/@piemadd/url-lengthener
Backend: https://replit.com/@piemadd/ax56api
Check out other Replit Apps here (launched yesterday): https://replit.com/apps
" \x0b \x0b \x0bhttps://www.example.org"
But this apparently works! Why does it work?A00000000000000000000000000000000000000000000000000001
A00000000000000000000000000000000000000000000000000002
etc
It seems to fit very well there.
It basically just base64 encode the url to generate the link and decode the url arg to do the redirect.
I also own this email address that I made just for fun: JesuisLeProprietaireDeCeNomDeDomaineTresLongBonjourCaVaBienAller@icirickynotarodemontrealetceciestunnomdedomainebeaucouptroplong.club
https://news.ycombinator.com/item?id=19511735 (45 points | March 28, 2019 | 32 comments)
https://news.ycombinator.com/item?id=24229085 (17 points | 8 months | 7 comments)
It just feels so spammy. I don't want to touch that world intentionally but it works.
It gets worse
I had two similar services, one that used a page's meta information to create URL stubs so that the link would have the semantic meaning in it instead of say "id=27158278". It'd also (this is about 10 years ago) fill in opengraph holes if found and present the social media card generators with more complete information.
It also had a JavaScript plugin that would fill in title tags to your anchor links so that you could hover over a link and get the destination page's title.
I thought it was really useful but I literally got nothing but either silence or criticism. It was really demotivating. I just abandoned it.
It sucks to create something that you believe in, that you like, that you find value in and get nothing but hot bottles of shit from everyone else. Nothing constructive, just demoralizing abuse. I've tried so hard to never be that person. The receiving end of that is awful. It's never ok. (I should make a list of "never events" in open source/programming (https://en.m.wikipedia.org/wiki/Never_event) not in engineering negligence but human empathy negligence.)
Anyways, then I had another project (also about 10 years ago) where I registered a bunch of news sounding sites, like say, themercurystar.com and as a url "shortener" it created absurd sensationalist news headlines as the "shortened" URL from a grammar generator. So for instance, you may get a url like themercurystar.com/arts/current/henry-kissinger-sings-dances-on-broadway-in-bye-bye-birdie or /taylor-swift-proves-hodge-conjecture-pnas etc.
It was complete with the opengraph of a stock image and a repurposing of the generative title with more filler to make it like look real, redirecting the crawlers to a fake shell page to satisfy the meta content and redirecting the humans to the actual link to be shortened.
That one was probably too good. I found it hilarious but apparently I was the only one in on the joke.
So failure again. Ah well.
They're still great and I'd gladly launch them again.
It's more like you work on something that flops and you see similar things get traction.
There's bookshelves full of analysis on this problem. I've got a few of those bookshelves in my library, a major preoccupation of mine for maybe 15 years.
But one of the legitimate reasons the big books don't touch upon is the agitation and hustle game. Probably because those authors just do it without thinking about it.
Geoffrey Moore, Steve Blank, Clayton Christensen, there's a certain aggrandizing precocity they all have that they seem to look past. It's somewhere on the road to carnival barking and clickbaiting.
The line on that road that I refuse to cross is likely way too conservative.
In fact I've had things that became popular by other random people playing that game who I've never met, just for the social cache or whatever endorphins that thing does for those people.
That's the core strategy of virality and trying to hook influencers.
It's a trend I've been noticing within the past 6 months or so. When something catches I'll do some research and find an almost irritating number of failed nearly identical attempts.
The "one note band approach" looks like it's a decent strategy, I just have to get over how objectionable it feels to me.
Being a bit more shameless doesn't necessarily always appear to be a bad move
https://aaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
Stellar!
https://aaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
If you wanted to use an alphabet other than 16 characters, you could do arbitrary base conversion: https://convert.zamicol.com/
This would allow you to use more or less characters.
https://lifehacker.com/freaking-huge-url-lengthens-too-short...
Anyway, cool project. It's okay to build something for a laugh every now then. I know these days sometimes I forget I used to do this for fun. Have a good weekend all.
Interesting where is frontier who can make most long 256+ url shorters & lengther vector hahah
like tiny.cc -> aaaaaaaa...aaa -> goog.gl -> bbb...bb -> etc
I guess my tinfoil hat is too tight. While its cool and funny I inherently don't trust things like this.
Edit: the concern is about data collection and profiling over time, it could essentially be an advertising model, you get an idea of things a particular cookie/IP/fingerprint does. depending one what is in your original link, all kinds of ids and data can be sitting in the url alone. Does a link to my social media account potentially expose my PII?
https://aaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
If so, how many of these urls would fit in a tweet?
1234567890qwertyuiopasdfghjklzxcvbnm.com
https://aaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
EDIT: Uh, I don't know what I did differently, but this one works:
https://aaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
EDIT: Looks like the site is actively being updated, there are new option checkboxes, the self-reference link only works with "Use a path instead of an URL" checked
EDIT: I repeatedly lengthened maybe a dozen times, that seems to get it stuck in a loop:
https://aaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
For example, here's a URL that contains both the grammar for a language that compiles to CSS and also example code. Works like a charm.
https://jtree.treenotation.org/designer/#grammar%0A%20toolin...
Have you thought about having a non-obfuscated pretty version?
In addition to this:
https://jstrieb.github.io/urlpages/editor/#eyJjc3MiOiJ3aG9tI...
Offer a pretty version like:
https://jstrieb.github.io/urlpages/editor/#html...html-here.~css...body;background:red;~javascript...document.write('this-was-written-by-javascript.')Hadn't considered it originally because I was concerned about allowable characters in the URL, and jumped to base64 instead of leaning more heavily on the actual set of acceptable characters to make it readable.
In hindsight, this is a great thing to add to my next project that (inevitably) uses this technique, thanks!
then microsoft release IE4 (or 6?) web spec. It was literally a copy of netscape's but with "up to" replaced with "at least".
and from this day on, nobody knows about limits on the standard and everything was up in the air, just so sites could work on IE4 and be broken on netscape. Thanks microsoft!
I did some experiments to test the actual URL limit of IE. at the time it was around 4MB, but IE would still go over if you got creative with hostnames levels and odd schemas.
-- quick edit:
keep in mind, in 1993, the money from giving out free browsers where on the servers: netscape server vs microsoft IIS (just like today giving free browsers the money is on makig it easier to access YOUR content --e.g. default search, etc).
Making your browser crash the competitor server mean that server was seen as lower quality. (Same thing with google deliberately crashing performance of firefox on their services today[0])
The point of microsoft making this change was to force netscape to update their server as they increase the URL limit arbitrarily to all IE users.
[0] https://www.zdnet.com/article/former-mozilla-exec-google-has...
EDIT: For some limits. For other limits "up to" wording may be more appropriate & is still in use (e.g. storage).
They're 2 sides of the same coin, but MS didn't actually rephrase the sentence properly. Their version would have every URL have at least 1024 characters in it. Any less than that, and the browser should reject the URL as invalid.
lol. that would have been awesome. domain squatters would be running for the 1000 character names while crying about all the money they paid for three letters one :)
I think that 1024 was probably too short as a limit, but I think that it does make sense to impose an arbitrary upper bound to reject malformed requests early.
I don't see what you mean by "the HW vendor's problem", I can assure you that any browser in existence is going to have an issue if you send a 1TB URL, while the NIC will have no issue transmitting it.
What it literally means and what people understand when reading it aren't the same thing. On this case, for people creating sites, "up to" leads immediately into the real meaning of the phrase, while "at least" strongly implies the opposite. But for people creating browsers, the implication is inverted.
I told my boss: “See, they wrote ‘The old search responded in 2 seconds. The new search must take at least the same time.’ We could almost add a sleep(2000) before starting the search.”
He went with it. They dealt to drop the requirement on the performance of the search on a “mutual agreement.”
This is where Agile ought to improve things, but then SAFE came along and we were back to square one.
There are requirements that will affect architecture that, if they're guessed at and turn out to be wrong, will lead to massive refactoring and/or large amounts of effort being thrown out. 100%.
Where I disagree from most businesses is in the implicit belief they have that seems to be "better for devs to be idle than for devs to work on code that will be thrown away". I'd rather take a guess and start work; best case we're right and are ahead; worst case we're wrong and have learned some useful lessons.
Which you'll note is the same dilemma as every other decision related to the project, with the only difference being the scope.
So after a few iterations you just say "fuck it" and implement it as specified and then hope that you get a chance to fix it before shipping it (or that it doesn't become your headache later on...).
That's the issue in a nutshell; Checkbox Driven Development implies "if we just define the solution well enough upfront, we'll get what we need!" instead of "if we define the problem well enough, and let dev pitch us solutions, and iterate as we go, we'll get what we need". Which implies that the devs are not to be trusted to come up with a solution themselves.
To deviate from expectations and be congratulated, you have to, A. Be certain you're doing the right thing, and B. Have an audience that can recognize you did the right thing. Both of those require a level of trust that is just missing in this sort of org.
You only have so many hours in your day.
Way back when, we used to remind people to be careful what they wished for in case they got it.
1. "You must support URL length up to 100 characters" -> your browser must support URLs that are 100 characters or less (and may or may not support longer ones)
2. "Your supported URL length must be at least 100 character" -> You must support URLs that are 100 characters or less (and may or may not support longer ones)
But honestly I think it's a bad practice to build the "may" part, because it's not explicit. The person who wrote the spec just as easily could have intended it to be "MUST support up to 100 (and may not go over 100)". So by not setting a bound you're gambling with your implementation being rejected, but setting a bound at 100 satisfies both possible "implied clauses" of the requirement and should not be rejected.
Both sentences permit browsers to support 101 characters.
1. Never use a URL longer than 100 characters
2. Go ahead and use a URL longer than 100 characters
As for the true intent? I've no clue.
https://github.com/jstrieb/urlpages
The URLs this thing generates get pretty damn big sometimes, since I never got around to implementing compression. I can confirm that massive URLs from pages with inline images do work, but probably take some not-so-optimized code paths because they make my computer's fans spin up. Click at your own peril:
You can even base64 encode them, if you want to.
From a convenience standpoint, it's also far less likely that a URL with an http: scheme will be blocked by a random web application than one with a data: scheme. For example it makes sharing on social media sites and chat applications more feasible.
When I got home I'd search the server logs for "saveforlater" and retrieve my note. Though it might have been faster to just write it on a slip of paper.
Talk about being hoisted on your own petard...
Here is an example: https://news.ycombinator.com/item?id=27122041