V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
patrickyoung
V2EX  ›  分享创造

[新手练手] pb-go: 又一个使用 Golang 编写的 PasteBin

  •  
  •   patrickyoung · 2020-02-08 13:49:02 +08:00 · 2446 次点击
    这是一个创建于 1544 天前的主题,其中的信息可能已经有所发展或是发生改变。

    新手的第一次练手项目,轻喷,也麻烦大家提出一些意见和建议。

    项目目前还处于早期阶段,可能存在一些 Bug,烦请大家指正。公共实例不要存在过多滥用的情况下,我们会保证坚持免费服务。

    前言

    Golang 编写的程序具有原生交叉编译和单二进制文件的特性,同时相比解释性语言来说,运行也更加高效。

    之前使用过和部署过的两个 Pastebin 项目,Termbinptpb/pb ,他们都功能够用,但是几乎都忽视了反滥用的需要和服务器存储的有限性。

    本项目

    photo_2020-02-07_23-53-45.jpg

    GitHub: https://github.com/pb-go/pb-go

    Demo (请勿滥用,已开启 Recaptcha ): https://pbgo.top

    产品特性:

    • 自动强制过期,避免被滥用者用于长期存储或者老旧内容得不到清理
    • 上传限制,只允许上传小于 2M 的纯文本
    • 验证码,管理员选择性启用对所有上传请求的强制验证
    • 客户端,我们为了便利你的操作,制作了客户端。当然,你也可以继续使用 curl 和 shell alias
    • 本地数据加密存储,使用 Chacha20-Poly1305,密码哈希使用 Blake2B (由于反滥用需要,未来也不会支持客户端加密)
    • 默认支持自动代码高亮,使用 Prettify.js 实现的,添加 f=raw 作为 URL 参数可以获取原始内容
    • 默认短链接
    • 网页上传支持
    • 简单、减少额外开销,非法请求只返回 HTTP 状态码,不做任何提示
    • 阅后即焚、支持访问密码和自定义过期时间(不可超过服务器限制的最大值)
    • 管理员可以便捷删除任意上传内容。整个产品只对管理员做了身份认证
    • 单一的二进制文件和 YAML 配置,易于编写和携带,文档完善。外部依赖只需要 MongoDB

    更多详情和交流,欢迎前往 GitHub 提交 Issue 或者加入我们的 Telegram 交流群。如果你觉得这个项目对你有帮助,可以考虑给我一个 Star,谢谢大家的支持。

    1 条回复    2020-02-08 16:11:24 +08:00
    STRRL
        1
    STRRL  
       2020-02-08 16:11:24 +08:00
    打破 0 回复惨案
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1085 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 17:57 · PVG 01:57 · LAX 10:57 · JFK 13:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.