![Maven Central Adds Sigstore Signature Validation](https://cdn.sanity.io/images/cgdhsj6q/production/7da3bc8a946cfb5df15d7fcf49767faedc72b483-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Maven Central Adds Sigstore Signature Validation
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
github.com/yurenchen000/cloud-clipboard
因为不想为了手机和电脑互传文件这种小事就扫🐴登录某个辣鸡 APP,而自己折腾出来的一个在线剪贴板。
[!TIP]
我在 https://try-clipboard.akarin.dev/ 部署了一个公用实例,你可以自由体验使用。
一些设定和限制:
- 历史记录上限 50 条,文本长度限制为 4096,文件大小限制为 64 MB,文件过期时间一小时。
- 提交的内容是公开的,所以请不要上传隐私信息(你可能需要使用右上角的“房间”功能)。
- 请不要通过刷屏、垃圾广告等方式恶意影响其他人正常使用。如果出现了恶意的使用行为,我可能会选择关停公用实例。
据说 pkg 可以把 Node.js 应用打包成可执行文件,但是目前的 5.x 版还不支持 ES Modules,所以先🕊️了(
使用 caxa 和 GitHub Actions 打包成了可以在 Windows amd64 和 Linux amd64 使用的可执行文件,可以在这里下载。
caxa 的打包原理相当于将 Node.js 的可执行文件和所有代码一起做成了一个自解压压缩包,执行时会解压到临时文件夹,并且在退出时不会自动清空。
配置文件是按照以下顺序尝试读取的:
config.json
cloud-clipboard /path/to/config.json
需要安装 Node.js。
# 构建前端资源,只需要执行一次
# 也可以直接从 Actions 下载构建好的压缩包(static),解压到 server-node/static
cd client
npm install
npm run build
# 运行服务端
cd ../server-node
npm install
node main.js
配置文件是按照以下顺序尝试读取的:
main.js
放在同一目录的 config.json
node main.js /path/to/config.json
服务端默认会监听本机所有网卡的 IP 地址(也可以自己设定),并在终端中显示前端界面所在的网址,使用浏览器打开即可使用。
docker image build -t myclip .
docker container run -d -p 9501:9501 myclip
[!TIP] Docker Hub 上的镜像是由他人打包的,仅为方便使用而在这里给出,版本可能会滞后于 repo 内的源代码。
如果你在使用时遇到了问题,请先确认这是本项目本身(而不是某个 Docker 镜像)的问题。
[!WARNING] csmayi/lan-clip 打包的版本无法使用反向代理,在我修复之后并没有同步更新,目前不建议使用。
docker pull ***:latest
docker container run -d -p 9501:9501 ***
将 ***
替换为镜像名称:
@xfangfang 使用 C 实现了一个服务端(目前只实现了部分功能)。如果你有在其他平台上运行的需求,可以尝试使用。
https://github.com/xfangfang/cloud-clipboard/tree/c/server-c
已不再维护,以下内容仅作为存档。
需要安装了 Swoole 扩展的 PHP 运行环境。
可能是由于 WSL 的缺陷,在 WSL 下多次刷新页面后开始有概率出现错误导致服务端挂掉:
WARNING swReactorEpoll_set(:178): reactor#0->set(fd=15|type=0|events=5) failed, Error: No such file or directory 段错误 (核心已转储)
Cygwin 整合包下暂未发现类似的问题。
在命令行中输入 php --ri swoole
,可以输出配置信息就代表准备完成了~
实际上也不能叫安装,毕竟下载之后就可以直接用了
cloud-clipboard.phar
。config.json
(可以参见下面的说明),一定要根据实际修改 IP 地址!php cloud-clipboard.phar
http://192.168.1.136:9501
(需要替换为在配置文件中实际设定的地址和端口)即可使用~cd client
npm install
npm run build
cd ../server
composer install --no-dev
# 从源代码直接运行
php main.php
# 生成 Phar
cd ..
php build-phar.php
//
开头的部分是注释,并不需要写入配置文件中,否则会导致读取失败。
{
"server": {
// 监听的 IP 地址,省略或设为 null 则会监听所有网卡的IP地址
"host": [
"127.0.0.1",
"::1"
],
"port": 9501, // 端口号,falsy 值表示不监听
"uds": "/var/run/cloud-clipboard.sock", // UNIX domain socket 路径,可以后接“:666”设定权限(默认666),falsy 值表示不监听
"prefix": "", // 部署时的URL前缀,例如想要在 http://localhost/prefix/ 访问,则将这一项设为 /prefix
"key": "localhost-key.pem", // HTTPS 私钥路径
"cert": "localhost.pem", // HTTPS 证书路径
"history": 10, // 消息历史记录的数量
"auth": false // 是否在连接时要求使用密码认证,falsy 值表示不使用
},
"text": {
"limit": 4096 // 文本的长度限制
},
"file": {
"expire": 3600, // 上传文件的有效期,超过有效期后自动删除,单位为秒
"chunk": 1048576, // 上传文件的分片大小,不能超过 5 MB,单位为 byte
"limit": 104857600 // 上传文件的大小限制,单位为 byte
}
}
HTTPS 的说明:
如果同时设定了私钥和证书路径,则会使用 HTTPS 协议访问前端界面,未设定则会使用 HTTP 协议。 自用的话,可以使用 mkcert 自行生成证书,并将根证书添加到系统/浏览器的信任列表中。 如果使用了 Nginx 等软件的反向代理,且这些软件已经提供了 HTTPS 连接,则无需在这里设定。
“密码认证”的说明:
如果启用“密码认证”,只有输入正确的密码才能连接到服务端并查看剪贴板内容。 可以将
server.auth
字段设为true
(随机生成六位密码)或字符串(自定义密码)来启用这个功能,启动服务端后终端会以Authorization code: ******
的格式输出当前使用的密码。
FAQs
Unknown package
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.