Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: I made a URL expander because short links are too mainstream (urlshortenersaresoyesterdaytrythisamazin...)
213 points by error404x 3 months ago | hide | past | favorite | 95 comments



This is great but it's stuck checking if I'm a bot... i get this in the console: ``` auto/:1 The resource https://challenges.cloudflare.com/cdn-cgi/challenge-platform... was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally. ```


> it's stuck checking if I'm a bot

Man I am seeing this _everywhere_ now. If you don’t have a clean residential US IP half the internet doesn’t work.


The silver lining is that I rarely need to use these sites for productive purposes. It is a gentle reminder to return to the text editor.


Make sure you're using Windows or MacOS, too. Anything else is clearly Teh Hax0rz!! :-O



If you're an American abroad you can't even use taxact.com or payusatax.com to file your taxes (which you have to because we're the special ones with citizenship-based taxation) because they block every non-American IP, even western Europe. Intuit surprisingly comes out as the less braindead one here.


Sorry, CAPTCHA caused issues. My other project got a bot attack, so I have added CAPTCHA to all my projects. I didn't realize captcha was causing problems to users


Same. I have EFF "Privacy Badger" installed on chrome, I guess that's it?


I like the concept. A similar idea that is no longer on the web was “shady url”. It would make links that looked like http:// shadyurl.com/nader-for-president.exe


I had one that would turn the urls into wild news stories. I had news-sounding domains like nyeveningpost.com and an auto-generation of bogus stubs such as nyeveningpost.com/breaking/mit-demonstrates-time-travel

Then it would either redirect humans like a normal service or serve a page with meta tags to the crawlers so the card info on social media would have a thumbnail saying "breaking news" and a markov generated caption such as "Earlier today researchers successfully demonstrated time travel at MIT" with the stub matching the title just to increase the chaos.

Ran it a couple of years. Not only did nobody use it but the response was universally discouraging and negative.

Lesson: People enjoy facsimiles of things they find repulsive when it becomes too real. All things have an uncanny valley. It's why people, for example, don't go to butcher shops and pick up animal organs for Halloween decorations.

I find the uncanny valley to be a wonderful artistic experience, like a psychological rollercoaster where there's always something new. But that's a very niche response


Thanks for sharing! Just the idea of it is entertaining and makes me smile.

> Not only did nobody use it but the response was universally discouraging and negative.

What were the negative things that people said?


They found it confusing, pointless, stupid, annoying, irritating - you know, all the great productive feedback that awesome people give over the web.

One of my problems is I'm quick to abandon my efforts and discount any faith I have in a project and I do so subconsciously. I'm the opposite of stubborn: a sabotaging level of flexible.

Part of behavior change I think is identifying when emotional decisions happen without any intellectual agency.

Figuring out when I'm pivoting without realizing it is a key way to improve myself.


> all the great productive feedback that awesome people give over the web

Yup, sounds about like what you hear from your average keyboard warrior. I wish there were a "low effort" filter on comments.

> I'm the opposite of stubborn: a sabotaging level of flexible.

That's tough. Hang in there. Keep making cool stuff. And thanks for sharing your creations with the world.


The partner project to shadyurl.com was hugeurl.com, which is exactly the same concept as here. hugeurl.com seems to have gone down.


It's the perfect con.

If it were TRULY shady, no way they'd use such an obvious URL. Must be safe and a joke!


That's hilarious.


It generated a link too long to send over discord, even with nitro (over 4000 characters). That’s hysterical.


Fun site, I found an Easter egg:

https://urlshortenersaresoyesterdaytrythisamazingsuperlongur...

This reminded me of a backend-less filesharing site I once made

https://efokschaner.github.io/furl-unfurl/#/


Nice One. Never expected such quality Easter egg. Will find more again 10/10.


I don't understand how you're supposed to use this. How do you pass the bot check? There's just a button that says "checking if you're a bot..." and clicking it does nothing.


By not being a bot. Unfortunately I just learnt I'm a bot.


On my phone it takes about 10-15 seconds before the bottom enabled, and I didnt click it; i assume their bot prevention is literally just timing them out


use cURL, or httrack.


You monster.. whoever hate AI and LLM should start using it daily. It will make a lot of semantic tokenizers gone crazy.

Nice bait mate.



From 1999, according to the page footer:

> © 1999 url shorteners are so yesterday try this amazing super long url expander . All rights reserved.

I tried to confirm that, but the Internet Archive and Wayback Machine are still down.


It's a Show HN. People typically don't post Show HNs for what they made 25 years ago.

  > whois urlshortenersaresoyesterdaytrythisamazingsuperlongurlexpander.site
  ...
  Domain Name: URLSHORTENERSARESOYESTERDAYTRYTHISAMAZINGSUPERLONGURLEXPANDER.SITE
  Registry Domain ID: D492058866-CNIC
  Registrar WHOIS Server: whois.hostinger.com
  Registrar URL: https://www.hostinger.com/
  Updated Date: 2024-10-08T18:01:33.0Z
  Creation Date: 2024-10-08T18:01:29.0Z
  Registry Expiry Date: 2025-10-08T23:59:59.0Z
  ...
so no, it can't be more than four days old.


Thanks! I didn’t think to check the domain registration.

The page design is nevertheless charmingly retro.


A note to posterity:

A few days after the above exchange, the Wayback Machine was back online and I ran the site’s URL through it. The only archived version was from October 9, 2024.


Sorry, I just added '1999' as a meme for retro design. Apologies for any confusion caused.


The same here. If you ask me, the first appeared a few years later, but human memories are erroneous.


Ha ha, love this.

It just so happens that I am working on a tool that ends up expanding hacker news urls. The problem I was solving was that of managing lots of replies to a successful post.

I allow you to replace the "ycombinator" in a hacker news item url with "gipety" so this current thread would point to:

https://news.gipety.com/item?id=41780255

You will then get a page that remembers the comments currently displayed. On subsequent refreshes you will see any new comments highlighted in green.

As I worked on it I decided to also add a slug as I got tired of not recognising what the urls I was copy pasting were referring to.

The above will for example end up generating this:

https://news.gipety.com/hn/41780255/k/67/s/show-hn-i-made-a-...


As with so many sites lately, the "checking if you're a bot" stuff is dainbramaged and b0rken...


Ha! Hilarious.

Most of all, I love the fact that, unlike URL shorteners, there's no need to maintain a database of redirects.

I do wonder what the actual encoding scheme is, and how robust it is to lopping off chunks of the URL, since there's presumably lots of room for redundancy...


I deleted one character from the expanded url and got sent to a very interesting webpage indeed


I followed your directions and am pleased to inform you that findings are reproducible.


Damn, its been a minute since I got got.


Omg, I didn't check HN for a few days. Sorry, Turnstile was causing issues for everyone, so I have removed it for now. This is just a fun project :)


After "checking my browser" I try to put in the URL I want to shorten, I click the button, and nothing happens. The URL is hardfault.life, for what it's worth.


It seems to need the scheme portion of the URL, not just the authority.


Well you tried to shorten it, of course it doesn't work!


Yeah, not working for me. The button says "Checking if you're a bot..." and nothing happening. Console shows a warning regarding "The resource at “https://challenges.cloudflare.com/..."



Ah, I thought this might be for turning tiny/tracking URLs into their targets like my Hacktoberfest project from a few years back

https://off-the-rails.netlify.app/


The adaptation is too retro I feel.

It should instead append at the end of the URL some 1000-character long token with a ton of other irrelevant arguments.

You know, exactly how Google Search loves to do when you right-click a search result and the address gets brutally scrambled.


It shows "Checking if you are a bot" and nothing is tappable.

I am on a recent iOS.


this is great, my succinct little domain that's 6 characters long including TLD was turned into 4000 characters, awesome!


Love the design!


theofficialabsolutelongestdomainnameregisteredontheworldwideweb.international finally has a worthy opponent.


Your bot checker needs some UX help.


Two change suggestions:

- add a donation button and buy a dedi from it - turn off the bot detection

thank me later ig


Why .site?

urlshortenersaresoyesterdaytrythisamazingsuperlongurlexpander.com is still available


.site is longer


The more likely reason is that .site was cheaper.


Many shorteners use a 2-letter TLD, trying to get as short as possible. I think using a 4-letter TLD is indeed part of the joke.


they get longer than 4 letters


This is pure awesomeness. You gotta be an OG to appreciate maybe.


I have a thing for cool but totally pointless stuff like this


I don't.

But I do wonder what will happen when you keep feeding it its own output.


How are you going to make sure it handles the scale though?


Apparently, by making the bot checker reject most users so that the total number stays small.


The challenge with scaling a url _shortener_ is that multiple urls might end up with the same short url. That presents a scaling challenge where you have to deliberately design a coordination framework across your set of machines, which introduces coordination, a DB, prefixes, and all your favorite answers to the interview question de-jour of the late 2010s.

With a URL _lengthener_ though, you don't need it at all. The sheer amount of possible outcomes means that the odds of ever getting two of the same is infinitesimally tiny.


With a lengthener, you can make it completely deterministic with zero collisions, so you don't even have to store any state


Yeah, you could just have a lookup table that's ASCII characters to "long phrases," and encode the URL that way. Have a bunch of nonsense phrases per character and select them randomly, but as long as the lengthened URL fully encodes the destination URL, there's really no scaling problems to be had. You could even do the whole thing in client-side Javascript if you went that route, purely static site.


You still need a service to redirect the urls.


You'd need "a website" to redirect things, but if you've fully encoded the URL in the lengthened version, that website need not have any server side components. It could serve things that are handled purely client side.

As a trivial example, consider a URL base64-ifier. You enter the URL, it spits out base64urlifier.example/?base64=[encoded URL] - this is trivially done in Javascript based on the inputs. To redirect, all you need to do is go to that URL, and the Javascript reads the query parameter, de-base64s it, and redirects you there. No need for anything server side.

If you designed the service like this (which you have more than enough entropy for in the lengthening side of things - encoding 200 bytes of URL in 5 bytes of shortened link is hard, encoding 200 bytes of URL in 4kb of URL is easy), you wouldn't have any server side components beyond "serving some HTML and Javascript." Put it in a static file host, use the free tier of Cloudflare, and you can scale basically infinitely without any actual server load (if your service is barely used, hits to the static host backend are cheap, and if it's being used heavily, it's always in cache so never hits the backend).

There's no reason every web service needs a webserver, database, and anti-bot services.


Yeah because in theory you could just append the same gibberish string to all the URLs and technically the URL will have been lengthened. Technically you are already lengthening the URL by adding it on top of your domain. Maybe you can base64 it to lengthen it even a bit more and hide the obvious fact that you just added it as a path on top of your domain.


Or you could encode each character with a word.


That's only a challenge for a url shortener if it's going to need to scale to an enormous number of users. I think that's a good example of one of those "leave it for when you can't just make your one-machine more powerful or optimise your code more" situations.


There are some challenges in having multiple machines storing the URL lookups. But those all apply to both shorteners and lengtheners.

The only issue unique to shorteners is avoiding collisions, but giving each machine a different range can be done super easily by hand. No frameworks.


That's a good point, if I ever get that interview question I will push back and say we should build an URL lengthener instead.


But how are they going to handle the scale of the URLs, like, emotionally?


Thanks! This helped make my cloud run url even longer.



404



Okay, good job creating something useless



LOL, I'm gonna need a bigger business card


This is so stupid, but I do love it.



I am apparently a bot. :(

Beep Boop!

(I've let the page sit for a minute or so, and it hasn't concluded that I am not a bot yet, but also, I'm aware I look weird - Firefox, with Javascript JIT disabled, with no GPU acceleration)

I don't know what it's using on the backend, but it doesn't seem to pass for me, and doesn't give me the usual option to pick a baby chicken from a baby duck to prove I'm human.


Console logs that look possibly interesting:

> WEBGL_debug_renderer_info is deprecated in Firefox and will be removed. Please use RENDERER. v1:1:102781

> Turnstile Widget seem to have crashed: 9icuj api.js:1:17810

> Uncaught TurnstileError: [Cloudflare Turnstile] Error: 300030. > https://urlshortenersaresoyesterdaytrythisamazingsuperlongur... B2SIiwBB.js:9

sigh

I don't have WebGL support, so I can't use a URL lengthener, because the bot checker appears to crash shortly after. Someone stop this timeline, I want to get off.


I also disable WebGL. This alone breaks Turnstile. Also helps avoid websites that are "user-hostile". If a website considers curl or Firefox suspicious, then it's not worth proving humanity. I will let them continue calling me a robot in machine-translated Japanese...

The worst is probably hCaptcha. It asks up to 10 machine-translated questions involving machine-generated images to prove the user is not a machine. Something about this is funny to me.


Same boat, the attempt at bot detection prevents the page from working at all for me.


Also wasn't able to use it here, after unblocking the third-party requests to CloudFlare for this site.

This isn't the first time CloudFlare blocks me, but usually it's a CloudFlare page shown before the actual site's page renders.

Internet Service Denier


Yeah, mine just says "Checking if you're a bot..." indefinitely. OpenBSD, Firefox, Chromium. Cloudflare sometimes blocks me from sites because, well, reasons - it doesn't actually say why, but I suspect the whole "weird OS + strict privacy settings in Firefox", because the same sites load just fine on my other machines. /shrug


Same experience here with Firefox Focus on iOS (with enhanced tracking protection on). It’s just stuck at the checking if you’re a bot stage.


Same with boring old Safari on iOS.

Poorly implemented and overly aggressive bot checkers are really ruining the web.

Used to be that I was seldom troubled by captchas and similar. Now it seems to be multiple times per day.


Same for me, with the most generic Chrome-on-Android browser config ever.


It just turns URLs into this

urlshortenersaresoyesterdaytrythisamazingsuperlongurlexpander.site/inccrimsoncrawdadbarbadosmandaringratianaplokoon982helpfulbluegiraffenicaraguabelarusianchickielobotjuniorreddormouseunitedstateschhattisgarhirosalindeyodadistantambertunavaticancitydeccanlisettedexterjettsterrunningamaranthbadgeriranturkmenellettericoli271mixedscarleterminediegogarciadutchmabeldudboltworldwidescarletsquirrelgermanyswedishdarceyanakinskywalkeroriginalcoffeetigermontenegrogermanshirleeslymoorevoluminousgreenharrierniuekhmernataleewilhufftarkinmagnificentwhiteguineafowlgreenlandczechfedericafinisvalorum998uniquecoralcranemalaysiafrenchcamilejektonoporkinsconsistentblackgeckocubaxiangdorolisationmedoncheapblackrattlesnakestkittsnevisawadhilonnieyodapleasedvioletcephalopodmoldovaenglishdulcidormthaithaithaigeneticchocolatecaniddiegogarciajavaneseursalationmedondirectlavendercockroachbangladeshkurdishlaurenetarffuldevotedorangemosquitogreecesundaneseannmariebiggsdarklighterpuzzledroseladybugpakistanxhosailysadarthvaderlinguisticorangemackerellibyaukrainianaleecejabbadesilijictiuretastyteallungfishsouthafricagreekhermionegasganoenthusiasticredemugibraltarbalochioliycordpogglethelesserpogglethelesserpogglethelessermedievalvioletgalliformlesothokonkanimarshawattamborviciousbronzemonkeyswedenbelarusianginniferchewbacca712obedienttealplatypusmaldivesromanianjamieniennunb320visibleemeraldopossumazerbaijanmalagasysissiesaeseetiinripescarletswifttristandacunhailocanomellaaylasecura423formidablegreenguanacoswazilandkazakhcorabelleslymooreholyivoryhippopotamuscookislandsmalagasyelonoregregartyphopetiteaquamarinepeacockalgeriasinhalabarbrapadmamidalaoutstandingoutstandingoutstandingnativeamaranthaardwolfbruneivietnamesegillanlandocalrissian619gangangannetgreenlandfowlecuadormalagasyestrellitabibfortunashakysapphirecanideritreasylhetielsayaraelpoof923funpeachgayalindiasinhalarhetahansolovisibletealparrotfishlaoskoreandaniellamasameddaintacttealwoodpeckerswazilanddeccandaveenroostarpalstopcopperperchphilippinesminansticeyodaquintessentiallimeheronfrenchguianaakanronnidarthvaderneutraltancaribouunitedstateszulunathaliequarshpanakaserbiaserbiaserbiacruelaquashrewchristmasislandmaithilicherinsanhillsecurecoffeehummingbirdguadeloupeakansarajanewattamborracialtancaterpillarcomorosxhosacorinnecord487resultingrednarwhalpitcairnislandsrussiancatidookugrossindigodovepanamahindifaydrajarjarbinksplannedvioletrabbitnetherlandsspanishalissadarthmaulfranticscarlettarsiermontserratsylhetijudithamonmothmapatientplumgorillairelandmarathichristianzamwesellrareturquoisebasiliskarubasaraikisuehansolo740governingredbatargentinamossialyseniennunbvagueamethystwaspfinlandpunjabicherrieethkoth601diplomatictansilverfishtokelaugankelliedormmandarinmandarinmandarinrelaxedharlequinfroggrenadaukrainianalviniawattamborattractiveblackprawnisraelquechuasherriemacewinduoldcyansquirrelaustraliajapanesemerridiec3pocheerfulamberparrotslovakiauyghurstefaniadarthvadermixedcopperbasilisktanzaniateluguzarahlamasuvocationalwhitemammalliberiaurdujemimabiggsdarklighterimportantazurechimpanzeeseychellesharyanvileeseplokooncausalyellowbarracudamaltahmonggertrudchewbaccaagreeableivoryclamguatemalatamilpapagenaslymooresmoggyvioletarmadilloascensionislandchewaconstancefinisvalorumserioustealthrushfrenchguianaigboclaudinaraymusantilles929sensiblefuchsiacapybaraelsalvadorbalochimirabellapadmamidalaslimyharlequinbuzzardjapansaraikimildridr4p17107dailydailydailymanypurplechameleonnigeriahindihillarychewbaccasingleturquoisebarnaclemartiniqueburmesefarandbobafettcooltealperchsouthgeorgiasouthsandwichislandsmarwaritiertzadexterjettstercapitalistmagentaunicornunitednationssylhetilannyroostarpalsamazingazurecrayfishmaldivesmandarinstormynutegunrayretiredbronzehorsecubajapanesecaroyodacolonialgreenboobystvincentgrenadinessindhisapphirekiadimundiromanticamethystplanariancameroonrussiankaritaluminaraunduli650remarkableapricotpigeonrunionchhattisgarhilelawicketsystriwarrickslipperywhitemolealbaniamadureseednawattambor239


I get that.

And I have friends who would appreciate such things. Just, ideally, with something that absurd going to as short a site as possible. My gripe is that my browser is apparently too-bot-like for something serving a tiny number of requests.



Bahahah nice





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: