No description
Find a file
2023-05-04 11:55:43 +02:00
.github changes like 2023-02-17 11:28:09 +01:00
src fix some warnings 2023-03-10 08:39:24 +01:00
templates Fix error codes, handle bad requests for creation 2023-03-10 08:18:11 +01:00
.envrc changes like 2023-02-17 11:28:09 +01:00
.gitignore add direnv directory to gitignore 2023-03-09 20:05:23 +01:00
Cargo.lock update Cargo.lock 2023-03-10 08:23:56 +01:00
Cargo.toml bump version to 2.0.1 2023-03-10 08:22:16 +01:00
default.nix changes like 2023-02-17 11:28:09 +01:00
Dockerfile docker! 2023-03-05 17:02:18 +01:00
flake.lock flake.lock: Update 2023-03-05 19:35:07 +01:00
flake.nix docker! 2023-03-05 17:02:18 +01:00
LICENSE Create LICENSE 2022-04-27 16:00:53 +01:00
README.md update TODOs (again) 2023-05-04 11:55:43 +02:00
shell.nix changes like 2023-02-17 11:28:09 +01:00
TODO.md update TODOs (again) 2023-05-04 11:55:43 +02:00

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";
    };
  };
}

Contact

This fork of MicroBin was created by Schrottkatze.

Join the matrix room to chat!

Contact me via e-mail at contact@schrottkatze.de.