[HN Gopher] Show HN: I made a URL expander because short links a...
___________________________________________________________________
Show HN: I made a URL expander because short links are too
mainstream
Author : error404x
Score : 205 points
Date : 2024-10-08 18:23 UTC (4 days ago)
(HTM) web link (urlshortenersaresoyesterdaytrythisamazingsuperlongurlexpander.site)
(TXT) w3m dump (urlshortenersaresoyesterdaytrythisamazingsuperlongurlexpander.site)
| piyuv wrote:
| Love the design!
| manchmalscott wrote:
| It generated a link too long to send over discord, even with
| nitro (over 4000 characters). That's hysterical.
| ryukoposting wrote:
| 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.
| sgarland wrote:
| It seems to need the scheme portion of the URL, not just the
| authority.
| ks2048 wrote:
| 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/..."
| cubefox wrote:
| Well you tried to shorten it, of course it doesn't work!
| rendall wrote:
| Here you go:
|
| https://urlshortenersaresoyesterdaytrythisamazingsuperlongur...
| Syonyk wrote:
| 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.
| skibbityboop wrote:
| Same boat, the attempt at bot detection prevents the page from
| working at all for me.
| Syonyk wrote:
| 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 wrote:
| 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.
| akoboldfrying wrote:
| Same for me, with the most generic Chrome-on-Android browser
| config ever.
| AlienRobot wrote:
| It just turns URLs into this
|
| urlshortenersaresoyesterdaytrythisamazingsuperlongurlexpander.s
| ite/inccrimsoncrawdadbarbadosmandaringratianaplokoon982helpfulb
| luegiraffenicaraguabelarusianchickielobotjuniorreddormouseunite
| dstateschhattisgarhirosalindeyodadistantambertunavaticancitydec
| canlisettedexterjettsterrunningamaranthbadgeriranturkmenellette
| ricoli271mixedscarleterminediegogarciadutchmabeldudboltworldwid
| escarletsquirrelgermanyswedishdarceyanakinskywalkeroriginalcoff
| eetigermontenegrogermanshirleeslymoorevoluminousgreenharrierniu
| ekhmernataleewilhufftarkinmagnificentwhiteguineafowlgreenlandcz
| echfedericafinisvalorum998uniquecoralcranemalaysiafrenchcamilej
| ektonoporkinsconsistentblackgeckocubaxiangdorolisationmedonchea
| pblackrattlesnakestkittsnevisawadhilonnieyodapleasedvioletcepha
| lopodmoldovaenglishdulcidormthaithaithaigeneticchocolatecaniddi
| egogarciajavaneseursalationmedondirectlavendercockroachbanglade
| shkurdishlaurenetarffuldevotedorangemosquitogreecesundaneseannm
| ariebiggsdarklighterpuzzledroseladybugpakistanxhosailysadarthva
| derlinguisticorangemackerellibyaukrainianaleecejabbadesilijicti
| uretastyteallungfishsouthafricagreekhermionegasganoenthusiastic
| redemugibraltarbalochioliycordpogglethelesserpogglethelesserpog
| glethelessermedievalvioletgalliformlesothokonkanimarshawattambo
| rviciousbronzemonkeyswedenbelarusianginniferchewbacca712obedien
| ttealplatypusmaldivesromanianjamieniennunb320visibleemeraldopos
| sumazerbaijanmalagasysissiesaeseetiinripescarletswifttristandac
| unhailocanomellaaylasecura423formidablegreenguanacoswazilandkaz
| akhcorabelleslymooreholyivoryhippopotamuscookislandsmalagasyelo
| noregregartyphopetiteaquamarinepeacockalgeriasinhalabarbrapadma
| midalaoutstandingoutstandingoutstandingnativeamaranthaardwolfbr
| uneivietnamesegillanlandocalrissian619gangangannetgreenlandfowl
| ecuadormalagasyestrellitabibfortunashakysapphirecanideritreasyl
| hetielsayaraelpoof923funpeachgayalindiasinhalarhetahansolovisib
| letealparrotfishlaoskoreandaniellamasameddaintacttealwoodpecker
| swazilanddeccandaveenroostarpalstopcopperperchphilippinesminans
| ticeyodaquintessentiallimeheronfrenchguianaakanronnidarthvadern
| eutraltancaribouunitedstateszulunathaliequarshpanakaserbiaserbi
| aserbiacruelaquashrewchristmasislandmaithilicherinsanhillsecure
| coffeehummingbirdguadeloupeakansarajanewattamborracialtancaterp
| illarcomorosxhosacorinnecord487resultingrednarwhalpitcairnislan
| dsrussiancatidookugrossindigodovepanamahindifaydrajarjarbinkspl
| annedvioletrabbitnetherlandsspanishalissadarthmaulfranticscarle
| ttarsiermontserratsylhetijudithamonmothmapatientplumgorillairel
| andmarathichristianzamwesellrareturquoisebasiliskarubasaraikisu
| ehansolo740governingredbatargentinamossialyseniennunbvagueameth
| ystwaspfinlandpunjabicherrieethkoth601diplomatictansilverfishto
| kelaugankelliedormmandarinmandarinmandarinrelaxedharlequinfrogg
| renadaukrainianalviniawattamborattractiveblackprawnisraelquechu
| asherriemacewinduoldcyansquirrelaustraliajapanesemerridiec3poch
| eerfulamberparrotslovakiauyghurstefaniadarthvadermixedcopperbas
| ilisktanzaniateluguzarahlamasuvocationalwhitemammalliberiaurduj
| emimabiggsdarklighterimportantazurechimpanzeeseychellesharyanvi
| leeseplokooncausalyellowbarracudamaltahmonggertrudchewbaccaagre
| eableivoryclamguatemalatamilpapagenaslymooresmoggyvioletarmadil
| loascensionislandchewaconstancefinisvalorumserioustealthrushfre
| nchguianaigboclaudinaraymusantilles929sensiblefuchsiacapybarael
| salvadorbalochimirabellapadmamidalaslimyharlequinbuzzardjapansa
| raikimildridr4p17107dailydailydailymanypurplechameleonnigeriahi
| ndihillarychewbaccasingleturquoisebarnaclemartiniqueburmesefara
| ndbobafettcooltealperchsouthgeorgiasouthsandwichislandsmarwarit
| iertzadexterjettstercapitalistmagentaunicornunitednationssylhet
| ilannyroostarpalsamazingazurecrayfishmaldivesmandarinstormynute
| gunrayretiredbronzehorsecubajapanesecaroyodacolonialgreenboobys
| tvincentgrenadinessindhisapphirekiadimundiromanticamethystplana
| riancameroonrussiankaritaluminaraunduli650remarkableapricotpige
| onrunionchhattisgarhilelawicketsystriwarrickslipperywhitemoleal
| baniamadureseednawattambor239
| Syonyk wrote:
| 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.
| dullcrisp wrote:
| https://urlshortenersaresoyesterdaytrythisamazingsuperlongu
| r...
| Quizzical4230 wrote:
| Bahahah nice
| Thorrez wrote:
| Beat this: https://urlshortenersaresoyesterdaytrythisamaz
| ingsuperlongur...
| neilv wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| 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.
| mewpmewp2 wrote:
| How are you going to make sure it handles the scale though?
| pbiggar wrote:
| 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.
| mewpmewp2 wrote:
| 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.
| cortesoft wrote:
| With a lengthener, you can make it completely deterministic
| with zero collisions, so you don't even have to store any
| state
| mewpmewp2 wrote:
| 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 wrote:
| Or you could encode each character with a word.
| Syonyk wrote:
| 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 wrote:
| You still need a service to redirect the urls.
| Syonyk wrote:
| 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.
| dullcrisp wrote:
| But how are they going to handle the scale of the URLs, like,
| emotionally?
| Dylan16807 wrote:
| 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.
| Arch-TK wrote:
| 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.
| skykooler wrote:
| Apparently, by making the bot checker reject most users so that
| the total number stays small.
| usmanity wrote:
| this is great, my succinct little domain that's 6 characters long
| including TLD was turned into 4000 characters, awesome!
| lionkor wrote:
| Two change suggestions:
|
| - add a donation button and buy a dedi from it - turn off the bot
| detection
|
| thank me later ig
| melvinmelih wrote:
| Why .site?
|
| urlshortenersaresoyesterdaytrythisamazingsuperlongurlexpander.com
| is still available
| david_allison wrote:
| .site is longer
| tredre3 wrote:
| The more likely reason is that .site was cheaper.
| furyofantares wrote:
| 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 wrote:
| they get longer than 4 letters
| AlienRobot wrote:
| theofficialabsolutelongestdomainnameregisteredontheworldwideweb.i
| nternational finally has a worthy opponent.
| MarkSweep wrote:
| 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
| thaumasiotes wrote:
| The partner project to shadyurl.com was hugeurl.com, which is
| exactly the same concept as here. hugeurl.com seems to have
| gone down.
| cubefox wrote:
| That's hilarious.
| kristopolous wrote:
| 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 wrote:
| 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?
| elicash wrote:
| 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!
| ilikeitdark wrote:
| This is pure awesomeness. You gotta be an OG to appreciate maybe.
| joshdavham wrote:
| Thanks! This helped make my cloud run url even longer.
| frabjoused wrote:
| Your bot checker needs some UX help.
| farmeroy wrote:
| 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 wrote:
| > 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.
| amatecha wrote:
| Make sure you're using Windows or MacOS, too. Anything else
| is clearly Teh Hax0rz!! :-O
| bbarnett wrote:
| http://www.l8r.net/geraldholmes.freeyellow.com/
| palmfacehn wrote:
| 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.
| popcalc wrote:
| 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.
| jrochkind1 wrote:
| Same. I have EFF "Privacy Badger" installed on chrome, I guess
| that's it?
| efokschaner wrote:
| 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 wrote:
| Nice One. Never expected such quality Easter egg. Will find
| more again 10/10.
| antegamisou wrote:
| 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.
| rc_kas wrote:
| This is so stupid, but I do love it.
| lopkeny12ko wrote:
| 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.
| petee wrote:
| 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
| is_true wrote:
| By not being a bot. Unfortunately I just learnt I'm a bot.
| rolph wrote:
| use cURL, or httrack.
| dmitshur wrote:
| There also was https://news.ycombinator.com/item?id=40543196 4
| months ago.
| tkgally wrote:
| From 1999, according to the page footer:
|
| > (c) 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.
| arendtio wrote:
| The same here. If you ask me, the first appeared a few years
| later, but human memories are erroneous.
| oefrha wrote:
| It's a Show HN. People typically don't post Show HNs for what
| they made 25 years ago. > whois urlshortenersar
| esoyesterdaytrythisamazingsuperlongurlexpander.site ...
| Domain Name: URLSHORTENERSARESOYESTERDAYTRYTHISAMAZINGSUPERLONG
| URLEXPANDER.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 wrote:
| Thanks! I didn't think to check the domain registration.
|
| The page design is nevertheless charmingly retro.
| andys627 wrote:
| lol
| https://urlshortenersaresoyesterdaytrythisamazingsuperlongur...
| crazygringo wrote:
| 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 wrote:
| I deleted one character from the expanded url and got sent to a
| very interesting webpage indeed
| move-on-by wrote:
| I followed your directions and am pleased to inform you that
| findings are reproducible.
| edm0nd wrote:
| Damn, its been a minute since I got got.
| v3ss0n wrote:
| 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.
| etewiah wrote:
| 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-...
| elonmusk89 wrote:
| Okay, good job creating something useless
| abcd_f wrote:
| It shows "Checking if you are a bot" and nothing is tappable.
|
| I am on a recent iOS.
| m0d0nne11 wrote:
| As with so many sites lately, the "checking if you're a bot"
| stuff is dainbramaged and b0rken...
| drunkonvinyl wrote:
| A topic near and dear to me:
| https://othernotherone.github.io/posts/i-bought-the-longest-...
| oniony wrote:
| 404
| drunkonvinyl wrote:
| https://othernotherone.github.io/posts/i-bought-the-
| longest-...
| ricoche wrote:
| I have a thing for cool but totally pointless stuff like this
| amelius wrote:
| I don't.
|
| But I do wonder what will happen when you keep feeding it its
| own output.
| sleepychu wrote:
| 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/
| dredmorbius wrote:
| Impressive:
|
| <https://urlshortenersaresoyesterdaytrythisamazingsuperlongur...>
| FerretFred wrote:
| LOL, I'm gonna need a bigger business card
___________________________________________________________________
(page generated 2024-10-12 23:01 UTC)