Show HN: I made a URL expander because short links are too mainstream

(urlshortenersaresoyesterdaytrythisamazingsuperlongurlexpander.site)

213 points | by error404x 222 days ago

35 comments

  • farmeroy 219 days ago
    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. ```
    • nojs 219 days ago
      > 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.

      • palmfacehn 218 days ago
        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.
      • amatecha 218 days ago
        Make sure you're using Windows or MacOS, too. Anything else is clearly Teh Hax0rz!! :-O
      • popcalc 218 days ago
        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.
    • error404x 216 days ago
      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
    • jrochkind1 218 days ago
      Same. I have EFF "Privacy Badger" installed on chrome, I guess that's it?
  • MarkSweep 219 days ago
    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
    • kristopolous 218 days ago
      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

      • justin_oaks 218 days ago
        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?

        • kristopolous 217 days ago
          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.

          • justin_oaks 217 days ago
            > 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.

    • thaumasiotes 219 days ago
      The partner project to shadyurl.com was hugeurl.com, which is exactly the same concept as here. hugeurl.com seems to have gone down.
    • elicash 218 days ago
      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!

    • cubefox 219 days ago
      That's hilarious.
  • manchmalscott 219 days ago
    It generated a link too long to send over discord, even with nitro (over 4000 characters). That’s hysterical.
  • efokschaner 219 days ago
    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/#/

    • v3ss0n 218 days ago
      Nice One. Never expected such quality Easter egg. Will find more again 10/10.
  • lopkeny12ko 219 days ago
    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.
    • is_true 218 days ago
      By not being a bot. Unfortunately I just learnt I'm a bot.
    • petee 219 days ago
      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
    • rolph 218 days ago
      use cURL, or httrack.
  • v3ss0n 218 days ago
    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.

  • dmitshur 219 days ago
  • tkgally 219 days ago
    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.

    • oefrha 218 days ago
      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.
      • tkgally 218 days ago
        Thanks! I didn’t think to check the domain registration.

        The page design is nevertheless charmingly retro.

        • tkgally 215 days ago
          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.

          • error404x 215 days ago
            Sorry, I just added '1999' as a meme for retro design. Apologies for any confusion caused.
    • arendtio 218 days ago
      The same here. If you ask me, the first appeared a few years later, but human memories are erroneous.
  • etewiah 218 days ago
    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-...

  • m0d0nne11 218 days ago
    As with so many sites lately, the "checking if you're a bot" stuff is dainbramaged and b0rken...
  • crazygringo 219 days ago
    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...

    • bobbylarrybobby 219 days ago
      I deleted one character from the expanded url and got sent to a very interesting webpage indeed
      • move-on-by 218 days ago
        I followed your directions and am pleased to inform you that findings are reproducible.
      • edm0nd 218 days ago
        Damn, its been a minute since I got got.
  • error404x 216 days ago
    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 :)
  • ryukoposting 219 days ago
    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.
  • sleepychu 218 days ago
    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/

  • antegamisou 219 days ago
    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.

  • abcd_f 218 days ago
    It shows "Checking if you are a bot" and nothing is tappable.

    I am on a recent iOS.

  • usmanity 219 days ago
    this is great, my succinct little domain that's 6 characters long including TLD was turned into 4000 characters, awesome!
  • piyuv 219 days ago
    Love the design!
  • AlienRobot 219 days ago
    theofficialabsolutelongestdomainnameregisteredontheworldwideweb.international finally has a worthy opponent.
  • frabjoused 219 days ago
    Your bot checker needs some UX help.
  • lionkor 219 days ago
    Two change suggestions:

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

    thank me later ig

  • melvinmelih 219 days ago
    Why .site?

    urlshortenersaresoyesterdaytrythisamazingsuperlongurlexpander.com is still available

    • david_allison 219 days ago
      .site is longer
      • tredre3 219 days ago
        The more likely reason is that .site was cheaper.
        • furyofantares 219 days ago
          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.
          • immibis 218 days ago
            they get longer than 4 letters
  • ilikeitdark 219 days ago
    This is pure awesomeness. You gotta be an OG to appreciate maybe.
  • ricoche 218 days ago
    I have a thing for cool but totally pointless stuff like this
    • amelius 218 days ago
      I don't.

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

  • mewpmewp2 219 days ago
    How are you going to make sure it handles the scale though?
    • skykooler 219 days ago
      Apparently, by making the bot checker reject most users so that the total number stays small.
    • pbiggar 219 days ago
      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.

      • cortesoft 219 days ago
        With a lengthener, you can make it completely deterministic with zero collisions, so you don't even have to store any state
        • Syonyk 219 days ago
          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.
          • cortesoft 219 days ago
            You still need a service to redirect the urls.
            • Syonyk 219 days ago
              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.

        • mewpmewp2 219 days ago
          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.
          • microtherion 219 days ago
            Or you could encode each character with a word.
      • Arch-TK 218 days ago
        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.
      • Dylan16807 219 days ago
        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.

      • mewpmewp2 219 days ago
        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.
      • dullcrisp 219 days ago
        But how are they going to handle the scale of the URLs, like, emotionally?
  • joshdavham 219 days ago
    Thanks! This helped make my cloud run url even longer.
  • drunkonvinyl 218 days ago
  • elonmusk89 218 days ago
    Okay, good job creating something useless
  • dredmorbius 218 days ago
  • FerretFred 218 days ago
    LOL, I'm gonna need a bigger business card
  • rc_kas 219 days ago
    This is so stupid, but I do love it.
  • andys627 219 days ago
  • Syonyk 219 days ago
    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.

    • Syonyk 219 days ago
      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.

      • koito17 219 days ago
        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.

    • skibbityboop 219 days ago
      Same boat, the attempt at bot detection prevents the page from working at all for me.
    • neilv 219 days ago
      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

    • amatecha 218 days ago
      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
    • AnonC 218 days ago
      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.
      • bartread 218 days ago
        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.

    • akoboldfrying 219 days ago
      Same for me, with the most generic Chrome-on-Android browser config ever.
    • AlienRobot 219 days ago
      It just turns URLs into this

      urlshortenersaresoyesterdaytrythisamazingsuperlongurlexpander.site/inccrimsoncrawdadbarbadosmandaringratianaplokoon982helpfulbluegiraffenicaraguabelarusianchickielobotjuniorreddormouseunitedstateschhattisgarhirosalindeyodadistantambertunavaticancitydeccanlisettedexterjettsterrunningamaranthbadgeriranturkmenellettericoli271mixedscarleterminediegogarciadutchmabeldudboltworldwidescarletsquirrelgermanyswedishdarceyanakinskywalkeroriginalcoffeetigermontenegrogermanshirleeslymoorevoluminousgreenharrierniuekhmernataleewilhufftarkinmagnificentwhiteguineafowlgreenlandczechfedericafinisvalorum998uniquecoralcranemalaysiafrenchcamilejektonoporkinsconsistentblackgeckocubaxiangdorolisationmedoncheapblackrattlesnakestkittsnevisawadhilonnieyodapleasedvioletcephalopodmoldovaenglishdulcidormthaithaithaigeneticchocolatecaniddiegogarciajavaneseursalationmedondirectlavendercockroachbangladeshkurdishlaurenetarffuldevotedorangemosquitogreecesundaneseannmariebiggsdarklighterpuzzledroseladybugpakistanxhosailysadarthvaderlinguisticorangemackerellibyaukrainianaleecejabbadesilijictiuretastyteallungfishsouthafricagreekhermionegasganoenthusiasticredemugibraltarbalochioliycordpogglethelesserpogglethelesserpogglethelessermedievalvioletgalliformlesothokonkanimarshawattamborviciousbronzemonkeyswedenbelarusianginniferchewbacca712obedienttealplatypusmaldivesromanianjamieniennunb320visibleemeraldopossumazerbaijanmalagasysissiesaeseetiinripescarletswifttristandacunhailocanomellaaylasecura423formidablegreenguanacoswazilandkazakhcorabelleslymooreholyivoryhippopotamuscookislandsmalagasyelonoregregartyphopetiteaquamarinepeacockalgeriasinhalabarbrapadmamidalaoutstandingoutstandingoutstandingnativeamaranthaardwolfbruneivietnamesegillanlandocalrissian619gangangannetgreenlandfowlecuadormalagasyestrellitabibfortunashakysapphirecanideritreasylhetielsayaraelpoof923funpeachgayalindiasinhalarhetahansolovisibletealparrotfishlaoskoreandaniellamasameddaintacttealwoodpeckerswazilanddeccandaveenroostarpalstopcopperperchphilippinesminansticeyodaquintessentiallimeheronfrenchguianaakanronnidarthvaderneutraltancaribouunitedstateszulunathaliequarshpanakaserbiaserbiaserbiacruelaquashrewchristmasislandmaithilicherinsanhillsecurecoffeehummingbirdguadeloupeakansarajanewattamborracialtancaterpillarcomorosxhosacorinnecord487resultingrednarwhalpitcairnislandsrussiancatidookugrossindigodovepanamahindifaydrajarjarbinksplannedvioletrabbitnetherlandsspanishalissadarthmaulfranticscarlettarsiermontserratsylhetijudithamonmothmapatientplumgorillairelandmarathichristianzamwesellrareturquoisebasiliskarubasaraikisuehansolo740governingredbatargentinamossialyseniennunbvagueamethystwaspfinlandpunjabicherrieethkoth601diplomatictansilverfishtokelaugankelliedormmandarinmandarinmandarinrelaxedharlequinfroggrenadaukrainianalviniawattamborattractiveblackprawnisraelquechuasherriemacewinduoldcyansquirrelaustraliajapanesemerridiec3pocheerfulamberparrotslovakiauyghurstefaniadarthvadermixedcopperbasilisktanzaniateluguzarahlamasuvocationalwhitemammalliberiaurdujemimabiggsdarklighterimportantazurechimpanzeeseychellesharyanvileeseplokooncausalyellowbarracudamaltahmonggertrudchewbaccaagreeableivoryclamguatemalatamilpapagenaslymooresmoggyvioletarmadilloascensionislandchewaconstancefinisvalorumserioustealthrushfrenchguianaigboclaudinaraymusantilles929sensiblefuchsiacapybaraelsalvadorbalochimirabellapadmamidalaslimyharlequinbuzzardjapansaraikimildridr4p17107dailydailydailymanypurplechameleonnigeriahindihillarychewbaccasingleturquoisebarnaclemartiniqueburmesefarandbobafettcooltealperchsouthgeorgiasouthsandwichislandsmarwaritiertzadexterjettstercapitalistmagentaunicornunitednationssylhetilannyroostarpalsamazingazurecrayfishmaldivesmandarinstormynutegunrayretiredbronzehorsecubajapanesecaroyodacolonialgreenboobystvincentgrenadinessindhisapphirekiadimundiromanticamethystplanariancameroonrussiankaritaluminaraunduli650remarkableapricotpigeonrunionchhattisgarhilelawicketsystriwarrickslipperywhitemolealbaniamadureseednawattambor239

  • ziaee-ashkan 218 days ago
    [dead]