transparentlc / cloud-clipboard Goto Github PK
View Code? Open in Web Editor NEW在局域网内自用的在线剪贴板,支持传输纯文本和文件
Home Page: https://try-clipboard.akarin.dev/
License: MIT License
在局域网内自用的在线剪贴板,支持传输纯文本和文件
Home Page: https://try-clipboard.akarin.dev/
License: MIT License
感谢作者的修改,但进程结束后,所有历史记录全消失,包括文本,上传的文件全消失。虽然.cloud-clipboard-storage目录得已保留,但是服务启动后它并未加载。
穿透后使用 https,但是还是发送 ws 请求,希望能根据协议自行判断 ws 或者 wss
在手机上页面加载完后,+号按钮需要点两次才能弹出功能菜单
建议增加房间的功能,这样使用起来更加方便。也就是用户可以设定一个密码进入房间,使得共享的文本和文件仅房间内有效。可以进入网页后默认保持现在这种全局模式,点击某个按钮后可以输入密码进入房间,房间名可以随机产生一个而不用用户输入,这样新增的页面会少一些,进入房间模式后可以有个按钮点击退出房间模式,房间可以设定指定时间后自动清除,然后房间内的文件即便没有过期也自动清除。
配置文件说明中
"auth": false // 是否在连接时要求使用密码认证,falsy 值表示不使用
这一行.注释那里是不是错别字?额这是小问题
使用中我发现我用0开头的4位数密码这个docker项目就无限重启
提示无法从网站上提取文件。从配置文件里也没看见可以修改限制的地方
{
"server": {
"host": [
"127.0.0.1",
"::1"
],
"port": 9501,
"history": 50,
"auth": 1211
},
"text": {
"limit": 8192
},
"file": {
"expire": 86400,
"chunk": 5242000,
"limit": 524288000
}
}
这是我的配置文件。
我是通过lucky反向代理的https地址
对于一些图片文件(如临时截图),有时并不需要将其以文件形式储存下来,只希望和本地剪贴板一样作为媒介、实现软件间直接传递(例如,从网页上复制图片后粘贴到文字处理器当中)。
注意到目前的应用可以识别出图片文件并在页面上预览小图,希望能更进一步实现图片直接在网页上查看、复制,这样可能会更方便一些。
选择要发送的文件那一行文字右边溢出了,看着有些难受,希望能加大发送的框框。第二个是左侧侧边栏在窗口变大时候会自动弹出,希望优化这个bug
在群晖nas部署后一直提示“连接服务器失败,请点击工具栏上的“连接”图标重试”
json文件尝试过改为 "host":"0.0.0.0"和 "host":"127.0.0.1"都无法解决。
{
"server": {
"host":"0.0.0.0",
"port": 9501,
"history": 10,
"auth": false
},
"text": {
"limit": 4096
},
"file": {
"expire": 3600,
"chunk": 2097152,
"limit": 2684354560
}
}
不知道是否跟反向代理设置有关,反向代理配置如下
容器运行日志内容如下:
date | stream | content |
---|---|---|
2024/05/11 10:04:17 | stdout | http://172.17.0.2:9501 |
2024/05/11 10:04:17 | stdout | eth0: |
2024/05/11 10:04:17 | stdout | http://127.0.0.1:9501 |
2024/05/11 10:04:17 | stdout | lo: |
2024/05/11 10:04:17 | stdout | Available at: |
2024/05/11 10:04:17 | stdout | Server listening on port 9501 ... |
2024/05/11 10:04:17 | stdout | Authorization code is disabled. |
2024/05/11 10:04:17 | stdout | |
2024/05/11 10:04:17 | stdout | https://github.com/TransparentLC/cloud-clipboard |
2024/05/11 10:04:17 | stdout | Cloud Clipboard node-1.2.0 |
2024/05/11 10:04:17 | stdout | |
2024/05/11 09:59:49 | stdout | http://172.17.0.2:9501 |
2024/05/11 09:59:49 | stdout | eth0: |
2024/05/11 09:59:49 | stdout | http://127.0.0.1:9501 |
2024/05/11 09:59:49 | stdout | lo: |
2024/05/11 09:59:49 | stdout | Available at: |
2024/05/11 09:59:49 | stdout | Server listening on port 9501 ... |
2024/05/11 09:59:49 | stdout | Authorization code is disabled. |
2024/05/11 09:59:49 | stdout | |
2024/05/11 09:59:49 | stdout | https://github.com/TransparentLC/cloud-clipboard |
2024/05/11 09:59:49 | stdout | Cloud Clipboard node-1.2.0 |
2024/05/11 09:59:49 | stdout | |
2024/05/11 09:58:40 | stdout | �[90m at async handleMainPromise (node:internal/modules/run_main:63:12)�[39m |
2024/05/11 09:58:40 | stdout | �[90m at async Object.loadESM (node:internal/process/esm_loader:68:5)�[39m |
想部署到NAS上,想要个Docker打包的版本,可以考虑出一个嘛
建议可以配置用户管理功能,因为云剪贴板做为一个剪贴板功能,剪贴板有可能是隐私内容,如果公开反而不好。
另一方面,剪贴板一般都是自己用,共用的可能性比较小,所以有必要用户登录只能看见自己的那部分内容。
虽然说这可以通过输入房间号实现区分不同的用户,但正如上面所说,剪贴板内容有可能是隐私内容,万一某个不小心被互联网爬虫爬到就不好了。
需要补充的一点是,虽然说可以使用 basic 认证来保证一定的安全,但是这样就不能分享给朋友使用了。
目前的想法是,支持用户登录,但是也保留公共的剪贴板。就像图床那样,可以配置是否为游客模式,不知道这样是否可行。
RT,很好用,感谢~
下载文件好像是先下到内存里,最后通过blob下载,这样如果文件很大,比如20G会不会出现内存不够的情况?能不能提供直连的方式,这样如果是视频或者图片,也能够直接在浏览器中查看而不用下载,特别是对于大视频不能直接查看麻烦很多
如果外部nginx使用了ssl,转发之后虽然能使用https,但是ws仅仅由服务端判断,如果服务端没有配置证书的,则还是没有使用到ssl,建议用ws还是wss加以浏览器端判断,作为请求参数来控制使用ws还是wss。或者可以加个配置参数强制使用ws还是wss
重启docker文件或内容会被清空
如何修改重启后文件不被删除
window下如果无config.json直接打开,软件会直接退出,同时没有log。如果软件能够在判断无config.json的时候自动生成一份config会更好
代码写错啦,是config.server.forceWss不是config.forceWss
Hi, 使用过程中发现 node 服务端会存在删除出现错误删除的问题,具体复现过程如下:
实际上,2 的文本已删除,应该显示文本内容为:0,1
感谢作者搞了这么实用的工具。我在局域网群晖套件docker里pull的镜像文件,这个4096字数限制有没有办法修改呢。
docker部署如何编辑配置文件?
没有存储功能,进程消失,所有记录消失,希望能改进。
环境:群晖,docker部署
配置文件
{ "server": { "host": "127.0.0.1", "port": 9501, "wss": false, "history": 10, "auth": false }, "text": { "limit": 4096 }, "file": { "expire": 3600, "chunk": 2097152, "limit": 2684354560 } }
反代好后,可以正常访问页面,但是提示 连接服务器失败,请点击工具栏上的“连接”图标重试
请问 这个文件传输 是怎么传输的?
是通过正常的 上传 下载吗?文件是否保存在服务器上吗?
还是通过端对端 传输的吗?
底部的noticafition提示信息在页面加载时接住了按钮,应该优化放在顶部,或者时间缩短。
Deprecation Warning: Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0.
Recommendation: math.div($grid-gutter, 3) or calc($grid-gutter / 3)
More info and automated migrator: https://sass-lang.com/d/slash-div
?
65 │ 'md': $grid-gutter / 3,
│ ^^^^^^^^^^^^^^^^
?
node_modules/vuetify/src/styles/settings/_variables.scss 65:11 @import
node_modules/vuetify/src/styles/settings/_index.sass 1:9 @import
node_modules/vuetify/src/styles/styles.sass 2:9 @import
node_modules/vuetify/src/components/VCalendar/mixins/calendar-with-events.sass 1:9 root stylesheet
Warning: 1 repetitive deprecation warnings omitted.
中文会变成%E6%96%B0%E5%BB%BA%E6%96%87%类似的样子
一直希望有这么一个应用,方便在不同的设备间分享内容
更较期待这个应用可以运行在路由器上,虽然nodejs的版本运行在openwrt上也是可以的,但是路由器空间有限,安装运行都很费力,如果可以用go重写后端,就可以快捷方便的编译运行在路由器上了,不知道作者怎么想~
重启docker容器后,网页的历史记录就清空了 怎么设置不清空记录
这个是不是只支持X86的 我想问问怎么让他在arm上运行
按 README 要求在 client
目录下执行 npm run build
命令时,最终得到如下输出:
node:fs:1141
handleErrorFromBinding(ctx);
^
Error: ENOENT: no such file or directory, stat '../server/static'
at Object.statSync (node:fs:1141:3)
at __node_internal_ (node:internal/fs/utils:738:8)
at Object.rmSync (node:fs:947:13)
at /home/zhh/.local/src/cloud-clipboard/client/after-build.js:32:4 {
errno: -2,
syscall: 'stat',
code: 'ENOENT',
path: '../server/static'
}
检查发现该命令未能成功将 client/after-build.js
中的复制 dist
到 server-node/static
指令执行。手工复制后可以解决问题,无其他异常。
使用场景: 反向代理, 挂到 nginx / caddy
现在必须要下面的配置挂到 caddy, 前端 example.com/clip/
, 但前端访问 api 使用的是绝对路径 /server
即 example.com/server
等, 不好反代. 需要详细列出 api 里的路径(/server /text /revoke ...)才行.
#
# cloud-clipboard
#
redir /clip /clip/
handle_path /clip/* {
reverse_proxy 127.0.0.1:9501
}
@clip-api path /server /text /revoke /revoke/* /upload /upload/* /file/* /push
handle @clip-api {
reverse_proxy 127.0.0.1:9501
}
希望改为相对 html 的 ./server
地址, 或者 api 加上 prefix /cloud-clipboard-api/server
/cloud-clipboard-api/text
(但是这样要改不同语言实现的后端.....
Thanks.
text长度设置超过20048的数不生效,无论设置多大,超过20048长度的文字都发送失败
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.