selfpaste

Pasteservice for your own pleasure.

If you are talking about a pasteservice Pastebin or dpaste is well known.

I had the idea to build this by myself. Learning and creating was the main reason. Also to have a service which can be self hosted and run everywhere without the need to be in the internet.

This is no project to be an alternative nor to be better, just something everyone can use and learn something new by creating it.

About

selfpaste is a self hosting paste service. Your enviroment and your data. Nothing more.

It is not the aim to replace any other well know paste service. It is an experiment and build for private use only.

This tool uses PHP fileinfo

The functions in this module try to guess the content type and encoding of a file by looking for certain magic byte sequences at specific positions within the file. While this is not a bullet proof approach the heuristics used do a very good job.

It is not really bulletproof, but it does the job. Everything can be manipulated to look alike something it isn’t.

So, here is a friendly REMINDER:

News and updates

Latest news and updates about this project can be found here.

Important stuff will be added to this page.

Features

Releases

Documentation

Lastest documentation can be found in each release and here

Requirements

PHP >=7.3 Apache >= 2.4 with mod_deflate, mod_rewrite htaccess support AllowOverride All Bash, curl and jq for included bash client

Setup

Sourcecode

Changelog

20231009 version 1.5 Fluorine
* Maintenance release. Updated requirements to current versions if possible
* New syntax in config file. Switched from define() to const syntax.
  Use config.default.php as a template to update your config.
* Update requirements for server and webclient code to PHP 8.1
* Changes to webclient:
  New syntax in config file. Switched from define() to const syntax.
  Use config.default.php as a template to update your config.
* Licence change to GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007

20220316 version 1.4 Oxygen
* Using some more "default" branch names
* New client added: Go client
* Cleanups

202100321 version 1.3 Nitrogen
* Added new default allowed file types
* Cleanups

20200530 version 1.1 Boron
* House cleaning
* Added a simple web client
* Cleaned up the linux client written in c. See README for more details
* Added a windows C client based on the linux version. See README for more details

20200426 version 1.0 Beryllium
* final 1.0 working version
* added perl as default allowed file
* added shellscript to the default allowed files
* added html and js to the default allowed files
* added C source files to the default allowed files
* added an example cronjob file which can be used
  to clean old pastes. See clean-cronjob.txt for more
  details
* Multiple secrets are now supported
* added a c client which can be build with the makefile

2020101 version 0.3-beta Lithium
* Update information now included
* Rewritten lifetime calculation
* Ready for 2020
* Lifetime in days now and not in seconds

20191223 version 0.2-beta Helium
* First public beta release
* Using https://www.jwz.org/base64-shortlinks/ more correctly
* Simple flood protection
* Lifetime for each paste.
* Deletion of paste older than lifetime

20191221 version 0.1 Hydrogen
* Initial creation. Not polished yet.
* Basic functions working.
* No release yet