tcpasters/README.md
Thorsten Schubert 858a477ec9
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Make serve fn non-generic
2023-09-15 23:53:40 +02:00

72 lines
1.7 KiB
Markdown

# tcpasters
[![status-badge](https://ci.betaco.de/api/badges/6/status.svg)](https://ci.betaco.de/repos/6)
A Simple tcp based terminal pastebin. Best used with [ncat](https://nmap.org/ncat/) or [socat](http://www.dest-unreach.org/socat/).
## Usage/Examples
```
$ echo foo | ncat unsha.re 9999
> expires: Fri, 31 Mar 2023 04:08:06 +0000
> secret: bkI4OkJmTlBuczdycmNhdUtX
> URL: https://unsha.re/nB8
```
```
$ dd if=/dev/urandom status=none bs=512 count=1 | tee >(sha256sum -b >&2) | ncat unsha.re 9999
> c14a0f529b46ba3a8569d8473b8166f60a425920bf803494d537ea1fb07c72ee *-
>
> expires: Fri, 31 Mar 2023 04:05:50 +0000
> secret: VldLOm9KbkZrWHdKWGM5Tl9o
> URL: https://unsha.re/VWK
$ curl -s 'https://unsha.re/VWK' | sha256sum -b
> c14a0f529b46ba3a8569d8473b8166f60a425920bf803494d537ea1fb07c72ee *-
```
```
$ echo VldLOm9KbkZrWHdKWGM5Tl9o | ncat unsha.re 10000
> Paste removed: VWK
```
## FAQ
#### How is the data stored?
As a file on the file system.
#### Is there a database?
No.
#### How can paste ownership be determined?
Each paste action creates the file with extended attributes containing the expiration date and secret.
#### Are all filesystems supported?
It needs to support extended attributes (xattr).
#### How does the server know what type of data it is?
It doesn't, there is no insecure mime sniffing. You need to specify the format when retrieving the paste, e.g.: `https://unsha.re/xyz/jpg` in order for the browser to get the correct headers.
#### Can I download the file with my browser?
Yes, append `/dl` or `/dl/<filename>`.
## Used By
https://unsha.re
## Licence
[AGPL-3.0-or-later](https://www.gnu.org/licenses/agpl-3.0.txt)
[![Please don't upload to GitHub](https://static.betaco.de/badge.svg)](https://nogithub.codeberg.page)