All Projects → schollz → cowyodel

schollz / cowyodel

Licence: MIT license
Easily move things between computers with a code phrase and https://cowyo.com 🐮 💬

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to cowyodel

pastebin-api
A very simple pastebin npm package to interact with the pastebin api!
Stars: ✭ 20 (-65.52%)
Mutual labels:  pastebin
EdPaste
Laravel/PHP-driven Pastebin with users management
Stars: ✭ 34 (-41.38%)
Mutual labels:  pastebin
BLUELAY
Searches online paste sites for certain search terms which can indicate a possible data breach.
Stars: ✭ 24 (-58.62%)
Mutual labels:  pastebin
omnibin
Android client for different bins like dogbin. Previous dogbin mobile.
Stars: ✭ 19 (-67.24%)
Mutual labels:  pastebin
mathb
MathB.in - Mathematics Pastebin Written in Common Lisp
Stars: ✭ 203 (+250%)
Mutual labels:  pastebin
Snippet-Share
This is a snippet sharing app that can be used to share snippets of code and more.
Stars: ✭ 41 (-29.31%)
Mutual labels:  pastebin
pastelyst
A Web Paste Tool built with Cutelyst and KDE Frameworks
Stars: ✭ 19 (-67.24%)
Mutual labels:  pastebin
pbwrap
Pastebin API wrapper for Python
Stars: ✭ 19 (-67.24%)
Mutual labels:  pastebin
pastebin-php
a simple pastebin implement in php
Stars: ✭ 25 (-56.9%)
Mutual labels:  pastebin
paperplanes.nvim
Neovim ✈️ Pastebins
Stars: ✭ 50 (-13.79%)
Mutual labels:  pastebin
simple-pastebin-monitor
A simple pastebin monitor using the scraping API
Stars: ✭ 34 (-41.38%)
Mutual labels:  pastebin
jot
📝 A server-less pastebin app for short messages. Data is stored within the URL.
Stars: ✭ 33 (-43.1%)
Mutual labels:  pastebin
PastaBean
Python Script to Scrape Pastebin with Regex
Stars: ✭ 0 (-100%)
Mutual labels:  pastebin
CryptDown
client-side AES-encrypted Markdown pastebin clone
Stars: ✭ 47 (-18.97%)
Mutual labels:  pastebin
ctrl-v
📋 a modern, open-source pastebin with latex and markdown rendering support
Stars: ✭ 93 (+60.34%)
Mutual labels:  pastebin
local-paste
Lightweight pastebin for home network which may or may not be connected to the internet.
Stars: ✭ 24 (-58.62%)
Mutual labels:  pastebin
pste
Just a simple file hosting application inspired by the likes of pomf.se and teknik.io.
Stars: ✭ 22 (-62.07%)
Mutual labels:  pastebin
pinnwand
A Python pastebin that tries to keep it simple.
Stars: ✭ 91 (+56.9%)
Mutual labels:  pastebin
pastey
A lightweight, self-hosted paste platform
Stars: ✭ 65 (+12.07%)
Mutual labels:  pastebin
imperial
Official mono-repo for https://imperialb.in/
Stars: ✭ 35 (-39.66%)
Mutual labels:  pastebin

cowyodel
Build Status Version Code Coverage

Easily move things between computers using cowyo 🐮 💬

cowyodel allows simple and secure sharing of text/data between computers. cowyodel temporarily transfers your data (with optional client-side encryption) to a cowyo server where it resides until the other computer downloads it using the provided secret code phrase.

Demo

asciicast

Getting Started

Install

If you have Go1.7+

go get -u -v github.com/schollz/cowyodel

or just download from the latest releases.

Basic usage

Upload

To share a file with another computer, you first upload it to a cowyo server. By default cowyodel uses cowyo.com, but you can host your own cowyo server as well (see Advanced Usage).

$ cowyodel upload README.md
Uploaded README.md (textual data). Your codephrase: total-perform-retro

View/edit your data:

	https://cowyo.com/total-perform-retro

Download using cowyodel:

	cowyodel download total-perform-retro

or

$ cat README.md | cowyodel upload
Uploaded (textual data). Your codephrase: total-perform-retro

View/edit your data:

	https://cowyo.com/total-perform-retro

Download using cowyodel:

	cowyodel download total-perform-retro

After uploading, you will recieve a code-phrase, in the above example the code-phrase is total-perform-retro. If you don't want to use code phrases, you can also specify your own name using -name, see Advanced Usage below.

The uploads are fully compatible with the cowyo server, so you can view and edit them using the code-phrase (e.g. cowyo.com/total-perform-retro in above example).

Download

On any other computer connected to the internet, you can download the file using the name using cowyodel download code-phrase.

$ cowyodel download total-perform-retro
Wrote text of 'total-perform-retro' to 'README.md'

After downloading, it will be erased from the cowyo.com. If you don't trust this server, you can also specify your own (see Advanced Usage). You can add --store flag to prevent automatic deletion from the cowyo server.

Advanced Usage

Persist (don't delete after first access)

Adding --store will keep the file on the server, even after accessing.

$ cowyodel upload --store FILE

Specify codephrase

If you don't want to use a codephrase, use --name to specify the name of file.

$ cowyodel upload --name README.md
Uploaded README.md (textual data). Your codephrase: README.md

It is possible that someone could have used that page (and locked it) which would not allow that page to be used and a message "Locked, must unlock first" will appear.

Client-side encryption

$ cowyodel upload --encrypt README.md
Enter passphrase: 123
Uploaded README.md (textual data). Your codephrase: total-perform-retro

$ cowyodel download total-perform-retro
Enter passphrase: 123
Wrote text of 'total-perform-retro' to 'README.md'

The encryption is fully compatible with the server-side encryption on cowyo.com, so you can still use the web browser to decrypt/encrypt your document.

If the decryption fails, the document will be re-uploaded to the cowyo server.

Binary files

cowyodel automatically detects binary data and uploads as such.

$ cowyodel upload /tmp/image.jpg
Uploaded image.jpg (binary data). Your codephrase: empire-cricket-tokyo

Download using cowyodel:

	cowyodel download empire-cricket-tokyo

$ cowyodel download image.jpg
Wrote binary data to 'image.jpg'

$ sha256sum /tmp/image.jpg image.jpg
62a9583758d54e666ff210be3805483bd76ac522ea649f0264de65124943c0b3 */tmp/image.jpg
62a9583758d54e666ff210be3805483bd76ac522ea649f0264de65124943c0b3 *image.jpg

Note: you should not access uploaded binary files at via the web browser as it would risk corrupting them.

Self-hosting cowyo server

You can also host your own cowyo server and use that instead of the default cowyo.com. To host cowyo yourself, just use

$ go get github.com/schollz/cowyo/...
$ cowyo
Running cowyo server (version ) at http://localhost:8050

(If you don't have Go installed, you can also download a release version).

Once you have a self-hosted cowyo server, you just need to specify the server when running cowyodel:

$ cowyodel --server http://localhost:8050 upload FILE
uploaded to total-perform-retro

Help

$ cowyodel -h
NAME:
   cowyodel - upload/download encrypted/unencrypted text/binary to cowyo.com

USAGE:
   Upload a file:
    cowyodel upload README.md
    cat README.md | cowyodel upload
   
   Download a file:
    cowyodel download 2-adoring-thompson

   Persist (and don't delete after first access):
    cowyodel upload --store FILE

   Specify filename:
    cowyodel upload --name README.md

   Client-side encryption:
    cowyodel upload --encrypt README.md

    

COMMANDS:
     upload, u    upload document
     download, d  download document
     help, h      Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --server value  cowyo server to use (default: "https://cowyo.com")
   --debug         debug mode
   --help, -h      show help
   --version, -v   print the version

Inspiration

This tool was inspired by the following:

cowyodel does not represent a significant innovation over these tools. However, there are some advantages that cowyodel provides:

  • Trust. You can run your own cowyo server on a domain you trust.
  • Direct edting. You can directly edit plaintext documents on the cowyo server using the web interface.
  • Simplicity. The codebase is < 1k LOC, and is straightforward to understand.

Development

To run tests, make sure to start a cowyo server first.

$ go get -u github.com/schollz/cowyo/...
$ cowyo
$ go test

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].