1 个不稳定版本
0.1.0 | 2024年1月19日 |
---|
#52 在 #synchronization
13KB
194 行
Merenda - 通过SSH实现的便携式剪贴板同步
一个小巧的服务器/客户端应用程序,用于在Rust中通过SSH同步剪贴板,受到类似工具(如Lemonade)的启发。
安装
cargo install merenda
本地设置
安装后,在您的主机器上运行 merenda server
- 您将使用SSH连接到其他系统的机器。它将监听请求读取/写入您剪贴板的连接,您通常会希望它在后台运行。它本身也通过在本地机器上使用 merenda get
和 merenda 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 set
和merenda get
从远程主机读取/写入剪贴板!
许可证
本项目及其所有贡献均受GPL通用许可证v3版许可。
依赖项
~0.7–13MB
~166K SLoC