Expand / Unshorten an exhaustive list of Shortened URL's

URLEXPAND

.

Example Usage

  • async
urlexpand = "0.2.0"

and then

use std::time::Duration;
use urlexpand::unshorten;

fn main() {
    let url = "https://bit.ly/3alqLKi";
    assert!(unshorten(url, Some(Duration::from_secs(10))).await.is_ok());   // with timeout
    assert!(unshorten(url, None).await.is_ok());    // without timeout
}
  • blocking
urlexpand = { version = "0.2.0", features = ["blocking"] }

and then

use std::time::Duration;
use urlexpand::unshorten;

fn main() {
    let url = "https://bit.ly/3alqLKi";
    assert!(unshorten_blocking(url, Some(Duration::from_secs(10))).is_ok());   // with timeout
    assert!(unshorten_blocking(url, None).is_ok());    // without timeout
}

Running the example

cargo run --example unshorten https://bit.ly/3alqLKi

Current list of URL Shortening services supported

  • adf.ly - Adfly
  • adfoc.us - AdFocus
  • amzn.to - Amazon
  • atominik.com - part of Adf.ly
  • ay.gy - part of Adf.ly
  • b.link - BLINK
  • bit.ly - Bitly Url Shortner
  • bit.do - Bitdo
  • bn.gy - BNGY
  • branch.io - Branch.io
  • buff.ly - Buffer URL Shortner
  • ceesty.com - part of sh.st
  • chollo.to - Chollo Ecommerce
  • cli.re - Capsulink
  • cli.fm - Capsulink
  • cutt.ly - Cuttly
  • cutt.us - Cutt us
  • db.tt - Dropbox
  • f.ls - Free Link Shortener
  • fa.by - part of rebrand.ly
  • fb.me - Facebook
  • flip.it - Flipboard
  • fumacrom.com - part of Adf.ly
  • git.io - Github
  • goo.gl - Google Service has now stopped their url shortening service
  • gns.io - part of trim (tr.im)
  • hmm.rs - HMM.RS
  • ht.ly - part of Hootsuite
  • hyperurl.co - SmartUrl.It
  • ity.im - ity.im (it'-ee-i-am)
  • intamema.com part of Adf.ly
  • is.gd - IS GD
  • j.gs - part of Adf.ly
  • j.mp - part of Bitly
  • kutt.it - Kutt
  • ldn.im - part of trim (tr.im)
  • linklyhq.com - Linkly HQ
  • microify.com - part of Adf.ly
  • mzl.la - Mozilla Org
  • nmc.sg - instra corporation pty
  • nowlinks.net - Now Links
  • ow.ly - part of Hootsuite
  • plu.sh - Plush
  • q.gs - part of Adfly
  • qr.ae - Quora
  • qr.net - QR Code URL shortner & generator
  • rebrand.ly - Rebrandly
  • rb.gy - RBGY Free URL Shortner
  • rlu.ru - RLU.RU
  • rotf.lol - part of tinyurl.com
  • s.coop - SCOOP
  • s.id - SID (home.s.id)
  • sh.st - shorte.st
  • soo.gd - Soo.Gd
  • shortcm.xyz - part of SHORT.IO
  • short.gy - SHORT.IO Service
  • shortcm.xyz - ShortCm
  • shorturl.at - ShortURL At
  • smu.sg - Singapore Management University
  • smq.tc - part of bit.ly
  • snip.ly - Sniply.io
  • snipr.com
  • snipurl.com
  • snurl.com
  • split.to - Linksplit
  • t.co - Twitter
  • t.ly - T.LY Link Shortener
  • t2m.io - T2M aka "Text to Marketing" (t2mio.com)
  • tiny.cc - TinyCC
  • tiny.pl - TinyPL
  • tinyium.com - part of Adf.ly
  • tinyurl.com - TinyURL
  • tiny.one - part of tinyurl.com
  • tny.im - TNY.IM
  • tny.sh - Linksplit
  • tr.im - trim (tr.im) by RedLotus
  • trib.al - Tribal links shortner
  • u.to - U TO
  • v.gd - V GD
  • virg.in - Virgin
  • vzturl.com - Vzt URL
  • waa.ai - Akari Link Shortner
  • washex.am - part of bit.ly
  • x.co - GoDaddy URL Shortner (currently shutdown)
  • y2u.be - YouTube URL Shortner by Firewrench inc.
  • yourwish.es - Your Wishes
  • zpr.io - Zapier

Contribution

Please feel free to contribute by making pull requests or even bug fixes.
Thanks in advance.


License: MIT

Information - Updated May 26, 2022

Stars: 7
Forks: 1
Issues: 0

Repositories & Extras

This is an example of a Rust server that functions as a remote schema for...

Rust + Hasura Rust server that functions as a Hasura

This is an example of a Rust server that functions as a remote schema for...

Newport Engine is a modular 2D and 3D game engine built in Rust for Rust

It is designed to be easily extendable and easy to use

Newport Engine is a modular 2D and 3D game engine built in Rust for Rust

Newport Engine is a modular 2D and 3D game engine built in Rust for Rust

It is designed to be easily extendable and easy to use

Newport Engine is a modular 2D and 3D game engine built in Rust for Rust

liboqs-rust: Rust bindings for liboqs

Qyantum Safe liboqs rust bindings

liboqs-rust: Rust bindings for liboqs

msgflo-rust: Rust participant support for MsgFlo

Flowhub visual programming IDE

msgflo-rust: Rust participant support for MsgFlo

Trojan-rust is a rust implementation for Trojan protocol that is targeted to circumvent GFW

Trojan protocol that is targeted to circumvent tokio-rs to achieve high performance async io

Trojan-rust is a rust implementation for Trojan protocol that is targeted to circumvent GFW
Actix

1.0K

How to be a full stack Rust Developer

Read Rust the Rust blog posts at Steadylearner

How to be a full stack Rust Developer

Rust library translation (rust-src/rust-std/stdlib/rustlib translation)

This is the place to translate Having a documentation in your native language is essential if you don't speak English, and still enjoyable even if...

Rust library translation (rust-src/rust-std/stdlib/rustlib translation)

False Positive for rust-lang/rust#83583

The deprecation lint proc_macro_derive_resolution_fallback is intended to catch proc macro generated code that refers to items from parent modules that should not be in scope:

False Positive for rust-lang/rust#83583

A CHIP-8 & SuperChip interpreter written in Rust using rust-sdl2

If you're getting compile errors it may be because

A CHIP-8 & SuperChip interpreter written in Rust using rust-sdl2

Rust-Svelte-on-Rust

Starter template for Rocket backend server

Rust-Svelte-on-Rust
Facebook Instagram Twitter GitHub Dribbble
Privacy