#clipboard #ssh #synchronization #user #connection #port #set

app merenda

通过SSH实现的便携式剪贴板同步

1 个不稳定版本

0.1.0 2024年1月19日

#52#synchronization

GPL-3.0 许可证

13KB
194

Merenda - 通过SSH实现的便携式剪贴板同步

一个小巧的服务器/客户端应用程序,用于在Rust中通过SSH同步剪贴板,受到类似工具(如Lemonade)的启发。

安装

cargo install merenda

本地设置

安装后,在您的主机器上运行 merenda server - 您将使用SSH连接到其他系统的机器。它将监听请求读取/写入您剪贴板的连接,您通常会希望它在后台运行。它本身也通过在本地机器上使用 merenda getmerenda set 作为读取/写入剪贴板的一种间接方式来工作。

如果您使用systemd,可以将提供的用户服务 复制到 ~/.config/systemd/user,然后可以使用 systemctl --user start merenda.service 激活,并在启动时使用 systemctl --user enable merenda.service 启用。

默认情况下,服务器将在 127.0.0.1,端口3660上监听。您可以使用 -H/--address-p/--port 参数更改其中任何一个。

注意:在更改默认监听地址之前请仔细考虑。Merenda没有任何身份验证或加密,因此除了环回之外监听将允许任何能够到达该IP地址的人随意读取/写入您的剪贴板。一种更安全的方法是设置SSH本地反向端口转发,这样端口只在SSH连接的另一端暴露。关于这一点稍后详述。

远程设置

安装后,设置您首选的编辑器/工具,以便在可用的SSH连接时使用merenda将数据存储到剪贴板。例如,我使用NeoVim,我的配置如下

if !empty($SSH_CONNECTION)
    set clipboard+=unnamed
    let g:clipboard= {
        \   'name': 'merenda',
        \   'copy': {
        \       '*': ['merenda', 'set'],
        \   },
        \   'paste': {
        \       '*': ['merenda', 'get'],
        \   },
        \   'cache_enabled': 1,
        \ }
endif

通过SSH转发

您可以通过在您的~/.ssh/config文件中添加一个RemoteForward选项,将监听在merenda上的端口转发到您的远程主机。

例如

Host myothercomputer
    User username
    RemoteForward 3660 localhost:3660
    Hostname 10.1.1.251

现在您可以使用merenda setmerenda get从远程主机读取/写入剪贴板!

许可证

本项目及其所有贡献均受GPL通用许可证v3版许可。

依赖项

~0.7–13MB
~166K SLoC