#pastebin #link-shortener #self-hosted #qrcode #actix #microbin

app karton

简单、高效、可配置、完全自包含的Pastebin和URL缩短器

2个稳定版本

2.0.1 2023年3月10日
2.0.0 2023年3月5日

#598 in HTTP服务器

BSD-3-Clause

1.5MB
1K SLoC

卡顿

一个小巧的卡顿式Pastebin,具有URL缩短器功能。

github仓库是这个gitlab仓库的镜像:https://gitlab.com/obsidianical/microbin.

这是MicroBin的分支。

特性

  • 动物名称(默认)或自定义名称文件,而不是仅仅使用哈希(尽管也可以使用哈希!)
  • 文件和图像上传
  • 纯文本服务
  • URL缩短
  • 二维码
  • 列出和删除Pastas(尽管目前任何人都可以这样做)
  • 过期时间
  • 可编辑的Pastas
  • 语法高亮
  • 通过water.css进行样式化
  • 可自定义端点

安装指南

卡顿可在Docker Hubcrates.io以及使用nix flake中找到。

唯一“官方支持”的方法是最后一种,使用nix flakes。

通过nix flake安装

将存储库添加到您的输入。

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

路线图

这是一个关于到哪个版本完成什么的大致时间表,没有任何固定。

v2.0

  • 移除浅色模式
  • 重新品牌
    • 新的名称和标志
    • 新的README
    • 新的主题
  • 在crates.io上的分发
  • 在Docker Hub上的分发
  • 在Pastas页面中嵌入图像
  • 自定义名称文件
  • 单击标志/名称进入根目录

v2.1

  • 安装指南
    • nix flake
  • 更容易复制嵌入URL(为此提供一些按钮)
  • 请求自定义URL信息的API
  • 配置文件支持
  • Markdown Pastas

v2.2

  • 适当的文档
  • 改进的rustdoc
  • 非Web客户端库
  • CLI客户端
  • 更容易自定义实例名称和标志
  • 更容易的基本主题化
    • 颜色
    • 角落圆角

v2.3

  • 加密Pastas

v3.0

  • 弃用JSON数据库,用SQLite替换
  • 重新工作内部数据结构
    • 将自定义密钥映射到ID
    • 一次使哈希ID、名称和自定义键可用
  • 用户
    • 报告Pasta
    • 管理员面板
  • 改进移除API
  • 状态/健康/信息改进
    • 剩余存储
    • 数据库状态
    • 实例上的Pasta
    • 用户
    • 错误

未来

  • 联邦
    • 从其他实例请求Pasta
    • 当CLI完成时,设置默认实例以路由请求
    • 细粒度权限
  • PostgreSQL数据库支持
  • Pasta评论?
  • 官方中心实例
  • 捐赠设置?
  • nixpkgs上的分发
  • 网站

联系

此MicroBin分支由Schrottkatze创建。

加入矩阵聊天室

通过电子邮件[email protected]联系我。

依赖项

~35–48MB
~679K SLoC