-
Notifications
You must be signed in to change notification settings - Fork 1
url shortener couchapp based on janl's io
License
GPL-3.0, Unknown licenses found
Licenses found
GPL-3.0
LICENSE
Unknown
COPYING
essentialed/url-shortener
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Started life based on janl's io http://github.com/janl/io Other than some very basic structual similarities, this is a complete rewrite. To install: couchapp push url-shortener http://127.0.0.1:5984/urls Create a short url: curl -X POST http://127.0.0.1:5984/urls/_design/shortener/_update/shorten?target=http://zombo.com/ You should see: Shortened to ~439tppb If you try to shorten the same url again, you should see a document conflict, since a shortened url already exists for that domain: {"error":"conflict","reason":"Document update conflict."} Get the redirect: http://127.0.0.1:5984/urls/_design/shortener/_show/long/~439tppb Example config running behind an Nginx reverse proxy: location /~ { rewrite ^(.*)$ /urls/_design/shortener/_show/long$1 break; proxy_pass http://127.0.0.1:5984; } For a list of shortened urls in the database see: http://127.0.0.1:5984/urls/_design/shortener/_list/index/shorts The main page for the app is: http://127.0.0.1:5984/urls/_design/shortener/index.html The shorten method uses a basic crc-32 checksum on a base64 encoded url, then returns a base36 string of the checksum. I ran a test on ~700,000 urls I downloaded from a blacklist site (probably the only good use for censorship). There is approximately 1 conflict per 10,000 urls. Most of the collisions occured with ranges of similar ip only urls.
About
url shortener couchapp based on janl's io
Resources
License
GPL-3.0, Unknown licenses found
Licenses found
GPL-3.0
LICENSE
Unknown
COPYING
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published