Code Monkey home page Code Monkey logo

urlbin's Introduction

URLBIN

https://url-bin.herokuapp.com/about

About

  • Type what you want others to see
  • Share the generated url instantaneously
  • Shared bins will never stop working and cannot be taken down function as long as this site is trusted and extant
  • No dependencies
  • No signups
  • No tracking
  • No hosting
  • No cost
  • No commitment

How it works

As hinted by its name, URLBIN works by storing the entire contents of a web page in the URL.

Thus, as long as the URL exists, so does the page it points to. The rest of the URLBIN program is responsible for translating between bin text and an "encoded" URL.

  • The /new page encodes user-created bin texts as a link that can be shared

When the shared bin is visited, the data is encoded in the URL using base 64 encoding via JavaScript's atob and btoa functions in conjunction with its encodeURIComponent and decodeURIComponent functions. The encoded data is stored in the hash portion of the URL.

In the /new page, data is similarly encoded, except that the text is stored in one object that is converted to a JSON string before being base 64 encoded.

The obvious downside of URLBIN is that the links get very long very quickly. Luckily, some URL shorteners are able to accommodate fairly long URLs (shoutout to TinyUrl). In a strange way, this effectively means the link shortener is acting as the web host since it is responsible for storing the record of the bin's text.

Disclaimer

Storing so much data in URLs are definitely not how things on the web were meant to be done, so don't be surprised if trying to use URLBIN causes unexpected issues. For example, sharing these links may cause chat programs, email clients, and unsuspecting individuals to get confused, raise exceptions, or complain. Likewise, copy-pasting these links may take a long time, if it works at all.

Credits

Based on a project by @jstrieb, called URL Pages (Source code). The core components of this project: api, b64 and editor are based on his work.

Even though I didn't copy any of their code the interface is highly inspired from Hastebin

urlbin's People

Contributors

alexanderhollauf avatar renovate[bot] avatar sudoalx avatar

Stargazers

 avatar  avatar

Watchers

 avatar

urlbin's Issues

Action Required: Fix Renovate Configuration

There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.

Location: renovate.json
Error type: The renovate configuration file contains some invalid settings
Message: Invalid configuration option: enableRenovate

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

npm
package.json
  • ejs 3.1.8
  • express 4.18.2

  • Check this box to trigger a request for Renovate to run again on this repository

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.