Coder Social home page Coder Social logo

transparentlc / cloud-clipboard Goto Github PK

View Code? Open in Web Editor NEW
264.0 264.0 43.0 1.77 MB

在局域网内自用的在线剪贴板,支持传输纯文本和文件

Home Page: https://try-clipboard.akarin.dev/

License: MIT License

JavaScript 34.91% HTML 0.60% Vue 37.25% PHP 26.86% Dockerfile 0.37%

cloud-clipboard's People

Contributors

hausen1012 avatar law52525 avatar sky-walkrr avatar transparentlc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

cloud-clipboard's Issues

cf tunnel 穿透有问题

穿透后使用 https,但是还是发送 ws 请求,希望能根据协议自行判断 ws 或者 wss

新功能建议

建议增加房间的功能,这样使用起来更加方便。也就是用户可以设定一个密码进入房间,使得共享的文本和文件仅房间内有效。可以进入网页后默认保持现在这种全局模式,点击某个按钮后可以输入密码进入房间,房间名可以随机产生一个而不用用户输入,这样新增的页面会少一些,进入房间模式后可以有个按钮点击退出房间模式,房间可以设定指定时间后自动清除,然后房间内的文件即便没有过期也自动清除。

介绍中.有错别字.另外还有个使用中的bug

配置文件说明中
"auth": false // 是否在连接时要求使用密码认证,falsy 值表示不使用
这一行.注释那里是不是错别字?额这是小问题
使用中我发现我用0开头的4位数密码这个docker项目就无限重启

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

不支持npm反向代理?

docker方式安装,用http方式的IP+端口,访问没有问题,npm域名反向ssl证书代理无法连接,提示:“连接服务器失败,请点击工具栏上的“连接”图标重试”,但是web界面的主题内容已经显示出来了,不知道是什么原因,详见附件截图。
捕获

连接服务器失败,请点击工具栏上的“连接”图标重试

在群晖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


支持用户管理功能

建议可以配置用户管理功能,因为云剪贴板做为一个剪贴板功能,剪贴板有可能是隐私内容,如果公开反而不好。

另一方面,剪贴板一般都是自己用,共用的可能性比较小,所以有必要用户登录只能看见自己的那部分内容。

虽然说这可以通过输入房间号实现区分不同的用户,但正如上面所说,剪贴板内容有可能是隐私内容,万一某个不小心被互联网爬虫爬到就不好了。

需要补充的一点是,虽然说可以使用 basic 认证来保证一定的安全,但是这样就不能分享给朋友使用了。

目前的想法是,支持用户登录,但是也保留公共的剪贴板。就像图床那样,可以配置是否为游客模式,不知道这样是否可行。

下载文件过大会不会有问题

下载文件好像是先下到内存里,最后通过blob下载,这样如果文件很大,比如20G会不会出现内存不够的情况?能不能提供直连的方式,这样如果是视频或者图片,也能够直接在浏览器中查看而不用下载,特别是对于大视频不能直接查看麻烦很多

ssl问题

如果外部nginx使用了ssl,转发之后虽然能使用https,但是ws仅仅由服务端判断,如果服务端没有配置证书的,则还是没有使用到ssl,建议用ws还是wss加以浏览器端判断,作为请求参数来控制使用ws还是wss。或者可以加个配置参数强制使用ws还是wss

无config.json打开则闪退

window下如果无config.json直接打开,软件会直接退出,同时没有log。如果软件能够在判断无config.json的时候自动生成一份config会更好

Bug: node-server has issue with deleting item

Hi, 使用过程中发现 node 服务端会存在删除出现错误删除的问题,具体复现过程如下:

  1. 依次新建 3 条文本内容为:0,1,2
  2. 在一个浏览器窗口内删除内容为 2 的文本;
  3. 新建窗口或换其他浏览器/设备访问,看到的文本内容为:1,2

实际上,2 的文本已删除,应该显示文本内容为:0,1

4096字数限制怎么修改?

感谢作者搞了这么实用的工具。我在局域网群晖套件docker里pull的镜像文件,这个4096字数限制有没有办法修改呢。

反代后提示 连接服务器失败,请点击工具栏上的“连接”图标重试

环境:群晖,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 } }
反代好后,可以正常访问页面,但是提示 连接服务器失败,请点击工具栏上的“连接”图标重试

文件传输的原理

请问 这个文件传输 是怎么传输的?
是通过正常的 上传 下载吗?文件是否保存在服务器上吗?
还是通过端对端 传输的吗?

感谢作者提供这么好的应用程序,一直在找这种手机电脑互传文件的Web端

首先感谢作者,我是在Linux上运行的,根据你的使用说明,我完成了环境配置,php是7.2的,开启了swoole扩展。但是运行后报错如下:
image

网页访问Web端无法打开,配置文件我只改了我本地ip和端口,如下:

image

本人刚接触PHP不是很懂,还请作者看一下这报错咋回事,最后再次谢谢作者提供这个方便的传输文件应用!

node 18以上版本编译失败,node16可以编译成功,但会报错。

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.

[feature-request]希望可以有用go重写的版本

一直希望有这么一个应用,方便在不同的设备间分享内容

更较期待这个应用可以运行在路由器上,虽然nodejs的版本运行在openwrt上也是可以的,但是路由器空间有限,安装运行都很费力,如果可以用go重写后端,就可以快捷方便的编译运行在路由器上了,不知道作者怎么想~

nodejs版本服务端安装时未成功复制静态文件

按 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 中的复制 distserver-node/static 指令执行。手工复制后可以解决问题,无其他异常。

[feature-request] 希望前端使用相对路径 ./ 访问 api

使用场景: 反向代理, 挂到 nginx / caddy

现在必须要下面的配置挂到 caddy, 前端 example.com/clip/, 但前端访问 api 使用的是绝对路径 /serverexample.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长度限制失效

text长度设置超过20048的数不生效,无论设置多大,超过20048长度的文字都发送失败

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.