urlshortener-rs alternatives and similar packages
Based on the "Web programming" category.
Alternatively, view urlshortener-rs alternatives based on common mentions on social networks and blogs.
-
actix-web
Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust. -
gutenberg
A fast static site generator in a single binary with everything built-in. https://www.getzola.org -
burn
Burn - A Flexible and Comprehensive Deep Learning Framework in Rust -
Gotham
A flexible web framework that promotes stability, safety, security and speed. -
Percy
Build frontend browser apps with Rust + WebAssembly. Supports server side rendering. -
License
Tiny, no-nonsense, self-contained, Tensorflow and ONNX inference [Moved to: https://github.com/sonos/tract] -
rust-musl-builder
Docker images for compiling static Rust binaries using musl-libc and musl-gcc, with static versions of useful C libraries. Supports openssl and diesel crates. -
tungstenite-rs
Lightweight stream-based WebSocket implementation for Rust. -
Rouille, Rust web server middleware
Web framework in Rust -
heroku-buildpack-rust
A buildpack for Rust applications on Heroku, with full support for Rustup, cargo and build caching. -
Sapper
A lightweight web framework built on hyper, implemented in Rust language. -
Rustless
REST-like API micro-framework for Rust. Works with Iron. -
OBSOLETION NOTICE
Completely OBSOLETE Rust HTTP library (server and client) -
handlebars-iron
Handlebars middleware for Iron web framework -
url-crawler
Rust crate for configurable parallel web crawling, designed to crawl for content -
rust-websocket
A WebSocket (RFC6455) library written in Rust -
The FastCGI Rust implementation.
Native Rust library for FastCGI
Access the most powerful time series database as a service
Do you think we are missing an alternative of urlshortener-rs or a related project?
README
urlshortener-rs
A very simple urlshortener for Rust.
This library aims to implement as much URL shortener services as possible and to provide an interface as minimal and simple as possible. For easing pain with dependency hell, the library provides request objects since 0.9.0 version which can be used for performing requests via user http-client library.
Implementations
Currently the following URL shorteners are implemented:
With authentication:
goo.gl
bit.ly
kutt.it
(supports self hosting)
Without authentication:
bn.gy
is.gd
v.gd
bam.bz
fifo.cc
tiny.ph
tny.im
s.coop
bmeo.org
hmm.rs
url-shortener.io
The following services are supported, but are discouraged from use, due to restrictions such as rate limits:
tinyurl.com
psbe.co
rlu.ru
sirbz.com
hec.su
abv8.me
nowlinks.net
Usage without "client" feature
You can make a Request
object without "client" feature only via provider functions:
extern crate urlshortener;
use urlshortener::providers::{Provider, self};
fn main() {
let long_url = "https://google.com";
let key = "MY_API_KEY";
let req = providers::request(long_url, &Provider::GooGl { api_key: key.to_owned() });
println!("A request object for shortening URL via GooGl: {:?}", req);
}
Usage with "client" feature
Without authentication
extern crate urlshortener;
use urlshortener::client::UrlShortener;
fn main() {
let us = UrlShortener::new().unwrap();
let long_url = "https://google.com";
println!("Short url for google: {:?}", us.try_generate(long_url, None));
}
With authentication (Goo.Gl)
extern crate urlshortener;
use urlshortener::{ client::UrlShortener, providers::Provider };
fn main() {
let us = UrlShortener::new().unwrap();
let long_url = "https://google.com";
let key = "MY_API_KEY";
println!("Short url for google: {:?}", us.generate(long_url, Provider::GooGl { api_key: key.to_owned() }));
}
Combined (Goo.Gl + Is.Gd)
extern crate urlshortener;
use urlshortener::{ client::UrlShortener, providers::Provider };
fn main() {
let us = UrlShortener::new().unwrap();
let providers = vec![
Provider::GooGl { api_key: "MY_API_KEY".to_owned() },
Provider::IsGd,
];
let long_url = "https://rust-lang.org";
println!("Short url for google: {:?}", us.try_generate(long_url, Some(providers)));
}
License
This project is licensed under the MIT license.
*Note that all licence references and agreements mentioned in the urlshortener-rs README section above
are relevant to that project's source code only.