• Stars
    star
    362
  • Rank 117,671 (Top 3 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 5 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

๐Ÿ“‹ Client-side paste service

Intro

What is NoPaste?

NoPaste is an open-source website similar to Pastebin where you can store any piece of code, and generate links for easy sharing

However, what makes NoPaste special is that it works with no database, and no back-end code. Instead, the data is compressed and stored entirely in the link that you share, nowhere else!

Because of this design:

  • ๐Ÿ—‘๏ธ Your data cannot be deleted from NoPaste
  • ๐Ÿ”ž Your data cannot be censored
  • ๐Ÿ‘๏ธ The server hosting NoPaste (or any clone of it) cannot read or access your data
  • โณ Your data will be accessible forever (as long as you have the link)
  • ๐Ÿ”€ You can access your data on every NoPaste clone, including your own
  • ๐Ÿ” Google will not index your data, even if your link is public

Note: This project is a copy of Topaz's paste service, with a reworked design and a few additional features (syntax highlighting, line numbers, offline usage, embedding...)

How it works

When you click on "Generate Link", NoPaste compresses the whole text using the LZMA algorithm, encodes it in Base64, and puts it in the optional URL fragment, after the first # symbol: nopaste.ml/#<your data goes here>

When you open a link, NoPaste reads, decodes, and decompresses whatever is after the #, and displays the result in the editor.

This process is done entirely in your browser, and the web server hosting NoPaste never has access to the fragment

For example, this is the CSS code used by NoPaste

Other features

Embedded NoPaste snippets

You can include NoPaste code snippets into your own website by clicking the Embed button and using the generated HTML code.

Here is an example of generated code and how it looks (click on the screenshot to see the interactive version)

<iframe
    width="100%"
    height="243"
    frameborder="0"
    src="https://nopaste.ml/?l=py#XQAAAQAbAQAAAAAAAAA0m0pnuFI8c+qagMoNTEcTIfyUWbZjtjmBYcmJSzoNwS5iVMWHzvowv3IPM0vOG5cjrtDRTSVP/0biTIrrahfmbkuMQBBeSiSGpaJOqYJiKmUDYn2Gp1RtWE6gm8fLHMB4eyZ3+rEbUQwWyMcmWqvZ7m96RUeFyZdYbE85JGvhghqF8cyPB0ZjV0OQWsDxn5O5ysMrIcL+pKPk89EtLjAHhA1LZL9F3hzAtTx7I+GlyrxhhXGxAN//CvtaAA=="
></iframe>

iframe

Feel free to edit the height and width attributes, so they suit your needs

Offline usage

When you visit NoPaste for the first time, its code is saved in your browser cache. After that, every NoPaste link you open will load really quick, even if your internet connexion is slow.

What if you have no internet connexion at all? No problem, NoPaste will still work perfectly!

Editor features

  • Syntax highlighting (use the language selector)
  • Enable / disable line wrapping (use the button next to the language selector)
  • Delete line (Ctrl+D)
  • Multiple cursors (Ctrl+Click)
  • Usual keyboard shortuts (Ctrl+A, Ctrl+Z, Ctrl+Y...)

Maximum sizes for links

NoPaste is great for sharing code snippets on various platforms.

These are the maximum link lengths on some apps and browsers.

App Max length
Reddit 10,000
Twitter 4,088
Slack 4,000
QR Code 2,610
Bitly 2,048
Browser Max length Notes
Google Chrome (win) 32,779 (mac) 10,000 Will not display, but larger links work
Firefox >64,000
Microsoft IE 11 4,043 Will not show more than 2,083
Microsoft Edge 2,083 Anything over 2083 will fail
Android 8,192
Safari Lots

Generate NoPaste links

NoPaste links can be created easily from your system's command line:

# Linux
echo -n 'Hello World' | lzma | base64 -w0 | xargs -0 printf "https://nopaste.ml/#%s\n"

# Mac
echo -n 'Hello World' | lzma | base64 | xargs -0 printf "https://nopaste.ml/#%s\n"

# Windows / WSL / Linux
echo -n 'Hello World' | xz --format=lzma | base64 -w0 | printf "https://nopaste.ml/#%s\n" "$(cat -)"

Deploy your own version of NoPaste

NoPaste is just a bunch of static files, making it really easy to deploy on any kind of file server.

Read the wiki to see how you can deploy your own version of NoPaste for free using Github Pages

More Repositories

1

chalk-animation

๐ŸŽฌ Colorful animations in terminal output
JavaScript
2,124
star
2

gradient-string

๐ŸŒˆ Beautiful color gradients in terminal output
JavaScript
1,030
star
3

vanity-eth

๐Ÿ’Ž Browser-based ETH vanity address generator
Vue
730
star
4

lyo

๐Ÿ“ฆ Node.js to browser - The easy way
JavaScript
621
star
5

rgb-light-card

๐Ÿ’ก A Lovelace custom card for RGB lights
JavaScript
414
star
6

linky

๐Ÿ”Œ CLI tool to retrieve Linky smart meters data
TypeScript
216
star
7

ha-linky

๐Ÿ“Š Home Assistant add-on for Linky smart meters
TypeScript
187
star
8

home-assistant-extension

๐Ÿ“Œ Home Assistant browser extension
Vue
169
star
9

git-history-editor

โœ๏ธ Online commit editor, intuitive and easy to use
HTML
160
star
10

github-stats-box

๐Ÿ“Œ Update a gist to contain your GitHub stats
JavaScript
139
star
11

gradient-badge

๐Ÿญ Badge generator with color gradient support
JavaScript
70
star
12

i3-config

๐Ÿ A backup of my i3 config
Shell
59
star
13

conso-api

โšก API for Linky smart meters
Vue
49
star
14

wakatime-to-toggl

๐Ÿ“ฉ Push your WakaTime data to Toggl
JavaScript
35
star
15

linky-cli

โ›”๏ธ DEPRECATED - A CLI tool to retrieve your Linky power consumption
JavaScript
19
star
16

stravanity

๐Ÿ‘Ÿ Easy to beat Strava segments
Vue
17
star
17

ha-history-stats

๐Ÿ“ˆ Statistics about your Home Assistant history
Python
14
star
18

prettier-config

๐Ÿ’œ My personal Prettier config & workflow
10
star
19

brackets-gofmt

๐Ÿ“‘ An extension for Brackets IDE to format Go code.
JavaScript
2
star
20

vanity-eth-cli

Works, but has nothing awesome
Go
1
star
21

blog-comments

1
star
22

bokub

๐Ÿ“– My profile's README
1
star
23

lyo-service

๐ŸŒ„ Lyo builder as a service
JavaScript
1
star