Sign inSign up

schrottkatze/karton

By schrottkatze

•Updated over 3 years ago

A rusty lightweight pastebin.

Image
0

135

schrottkatze/karton repository overview

⁠Karton

A small, rusty pastebin with URL shortener functionality.

The github repository is a mirror of this gitlab repository⁠.

This is a fork of MicroBin⁠.

⁠Features

  • Animal names (by default) or custom namefiles instead of just hashes (though hashes are an option too!)
  • File and image uploads
  • raw text serving
  • URL shortening
  • QR codes
  • Listing and removing pastas (though currently everyone can do that)
  • Expiration times
  • Editable pastas
  • Syntax highlighting
  • Styling via water.css⁠
  • Customizable endpoints

⁠Installation guide

Karton is available on Docker hub⁠, crates.io⁠ and using the nix flake.

The only "officially supported" (I will actively debug and search for the problem) method is the last one using nix flakes.

⁠Installation via the nix flake

Add the repository to your inputs.

	karton.url = "git+https://gitlab.com/obsidianical/microbin.git";
# microbin.nix
{ inputs, config, pkgs, ... }:
{
  environment.systemPackages = [ inputs.karton.defaultPackage."x86_64-linux" ];
  systemd.services.karton = {
    after = [ "network.target" ];
    wantedBy = [ "multi-user.target" ];
    environment = {
	  # set environment variables to configure karton
      KARTON_HASH_IDS = "";
      KARTON_EDITABLE = "";
      KARTON_PRIVATE = "";
      KARTON_HIGHLIGHTSYNTAX = "";
      # adjust this to your domain
      KARTON_PUBLIC_PATH = "https://example.org";
      KARTON_QR = "";
      # configure endpoints to be shorter
      KARTON_URL_EP = "u";
      KARTON_RAW_EP = "r";
      KARTON_PASTA_EP = "p";
    };
    script = "${inputs.karton.defaultPackage."x86_64-linux"}/bin/karton";
    # register a simple systemd service
    serviceConfig = {
      Type = "simple";
      RootDirectory="/";
      WorkingDirectory = "/karton";
    };
  };
}

⁠Roadmap

This is only a rough time guide for what to get done by which version, nothing fixed.

⁠v2.0
  • Removed light mode
  • Rebrand
    • New name and logo
    • New README
    • New theme
  • Distribution on crates.io
  • Distribution on Docker hub
  • Image embedding in pasta page
  • Custom names file
  • Click logo/name to get to root
⁠v2.1
  • Installation guides
    • nix flake
  • Copying embed urls more easily (some button for that)
  • Api for requesting customized url info
  • Config file support
  • Markdown pastas
⁠v2.2
  • Proper docs
  • Improved rustdoc
  • Non-web client library
  • CLI client
  • Easier customization of instance names and logos
  • Easier basic themeing
    • Colors
    • Corner rounding
⁠v2.3
  • Encrypted pastas
⁠v3.0
  • Deprecate JSON db, replace with SQLite
  • Rework internal data structures
    • Map custom keys to ids
    • Make hash ids, names and custom keys usable at once
  • Users
    • Reporting pastas
    • Admin panel
  • Improve remove api
  • Status/health/info improvements
    • Storage thats left
    • Db status
    • Pastas on the instance
    • Users
    • Errors
⁠future
  • Federation
    • Requesting pastas from other instances
    • When cli is complete, set default instance to route requests over
    • Fine grained permissions
  • Postgresql db support
  • Pasta comments?
  • Official central instance
  • Donation setup?
  • Distribution on nixpkgs
  • Website

⁠Contact

This fork of MicroBin was created by Schrottkatze⁠.

Join the matrix room⁠ to chat!

Contact me via e-mail at [email protected]⁠.

Tag summary

Content type

Image

Digest

sha256:b15f8c324…

Size

32.1 MB

Last updated

over 3 years ago

docker pull schrottkatze/karton