Shortly is a serverless pastebin service. Everything happens on the client side, and the data is stored in the URL.
Data is compressed using the deflate algorithm, then base64 encoded to ensure it can be stored safely in a URL. It is then set as the window.location.hash
of the current page.
You can view an example here and another here. Oh and another here.
Different browsers have different limits of the total URL length, however around 2000 characters seems to be the recommended safe maximum. At the moment there is currently nothing to enforce the limit, however a checksum is added to check that we get all the data.
You may be thinking that these really long urls are an issue, but that isn't the case. Testing bit.ly and t.co with these urls worked without issues. You could even chain them together in order to deal with longer data...
This uses the following libraries:
Fork, commit, send pull request, drink beer.
- Shortly: a Serverless Pastebin Service - All Data is Stored in the URL (2013)
- Show HN: Shortly, a serverless pastebin (2012)
shortly by Luca Spiller is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Based on a work at github.com.
Permissions beyond the scope of this license may be available at https://github.com/lucaspiller/shortly.