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

练手小工具 之 纯文本跨设备传输 (做出来了)

  •  
  •   SuperMild ·
    ahui2016 · 2022-02-27 21:20:50 +08:00 · 2671 次点击
    这是一个创建于 781 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大概两个星期前我突然有了一个练手的构思 https://v2ex.com/t/833597

    今天终于做出来了。

    txt

    A simple website for text copy and paste, with a CLI tool.
    一个简单的纯文本复制黏贴网站 + 一个命令行工具

    无图形界面的纯命令行“云剪贴板”

    txt 最大的特色是支持纯命令行,方便在终端上使用。比如有以下命令:

    • txt 列出最近 5 条消息
    • txt list -n 3 列出最近 3 条消息(条数与起始位置都可以指定)
    • txt get [alias] 通过别名或流水号获取一条消息 (复制到本地剪贴板,同时打印到屏幕)
    • txt send [message] 发送消息到云端
    • txt search [keyword] 查找消息

    txt 的消息(字符串)保存在服务器上,不管电脑、手机还是通过 ssh 登录服务器,都可以使用。

    Alias (别名)

    • 使用命令 txt get t1 可获取第一条暂存消息,其中 't1' 改为 't2' 可获取第二条消息,依此类推。暂存消息上限 100 条(可自定义),超过上限自动删除旧消息(这类似于大多数剪贴板工具的行为)。
    • 使用命令 txt toggle t1 可把 't1' 转换成 'p1', 以 'p' 开头的流水号表示永久消息。永久消息没有上限,不会被自动删除。使用命令 txt get p1 可获取第一条永久消息。
    • 除了如上所示通过流水号指定消息外,每条消息还可以设置一个别名。例如,假设有一条消息的内容是自己的邮箱地址,设置了别名 'email', 则随时可以通过任何终端执行 txt get email 来获取该消息(复制到剪贴板,同时打印到屏幕)。
    • 别名功能非常好用,常用命令、常用网址、邮箱地址、手机号码、信用卡号,都可以记录在云端,即使更换设备,也可以随时获取。

    更多可能性

    • 本软件区分主密码与日常操作密钥(以下简称“密钥”),因此命令行工具设置好密钥后,日常操作过程中无需输入密码,非常方便。
    • 密钥默认有效期 30 天(可自定义),因此,在便利的基础上,还有一定的安全性。输入主密码可生成新的密钥。
    • 后端每个 api 均接受密钥,在 post 表单时,表单内包含密钥即可。基于这个设计,iOS 的“快捷指令”与 Windows 的 AutoHotkey 等第三方工具均可以轻松地与 txt 联动,同时兼顾安全与便利(一般单一密码登录,密码不会过期,安全性低;如果要处理 cookie 又比较麻烦)。

    demo (在线演示)

    https://txt-demo.ai42.xyz (密码:abc)

    txt-cli (安装命令行工具)

    执行以下命令即可 (要求 py 3.10):

    $ pip install txtcli
    $ txt getkey  # 输入演示版密码 abc ,然后就可以正常使用了
    

    txt-cli 的详细安装及使用说明请看 https://github.com/ahui2016/txt-cli

    第 1 条附言  ·  2022-05-09 23:33:34 +08:00
    在线演示地址改为 https://txt-demo.ai42.cc (密码:abc)
    13 条回复    2022-03-04 08:49:49 +08:00
    Sanko
        1
    Sanko  
       2022-02-28 00:38:35 +08:00 via Android
    很有意思,关注一下
    Sanko
        2
    Sanko  
       2022-02-28 00:41:25 +08:00 via Android
    前后端有地址吗,观摩学习一下
    duke807
        3
    duke807  
       2022-02-28 01:07:49 +08:00 via Android
    命令行的話,直接 ssh 訪問服務器上的 txt 文本不行嗎?
    duke807
        4
    duke807  
       2022-02-28 01:12:54 +08:00 via Android
    在终端上使用 和是否要為命令行軟件沒啥關系,我習慣用 matrix im 或 郵箱草稿 跨平台分享文本,copy 到終端上用比敲命令方便多了
    xinyana
        5
    xinyana  
       2022-02-28 01:41:49 +08:00 via Android
    虽然很不错,但是用不上,类似工具太多
    Tink
        6
    Tink  
       2022-02-28 02:20:26 +08:00 via Android
    我有一个给自己写来用的,仅限于能用。实在太丑就不发了
    SuperMild
        7
    SuperMild  
    OP
       2022-02-28 07:54:17 +08:00
    @Sanko 我竟然忘了发,谢谢提醒,这个 https://github.com/ahui2016/txt
    SuperMild
        8
    SuperMild  
    OP
       2022-02-28 08:00:14 +08:00
    @duke807
    @xinyana

    确实,功能不算很实用,主要目的是练手,练手效果还不错,做着做着又激发了新的灵感。
    sunny1688
        9
    sunny1688  
       2022-02-28 15:54:12 +08:00
    那篇文章不是说用 go 吗,怎么又是 python 了?
    SuperMild
        10
    SuperMild  
    OP
       2022-02-28 18:41:13 +08:00
    @sunny1688 服务器是用 Go 做的,这个 https://github.com/ahui2016/txt
    xjngbla
        11
    xjngbla  
       2022-03-03 15:29:56 +08:00
    linux 执行文件是不是有问题,只能本地访问
    SuperMild
        12
    SuperMild  
    OP
       2022-03-03 21:00:16 +08:00
    @xjngbla 如果放到公网建议套一层 Nginx 或 Caddy
    xjngbla
        13
    xjngbla  
       2022-03-04 08:49:49 +08:00
    @SuperMild 确实,
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5084 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 01:17 · PVG 09:17 · LAX 18:17 · JFK 21:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.