-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: integration with dandanplay API changes #114 #115
Conversation
这个 python 打包后的体积真是让我蚌埠住 |
我也是完全被震惊,插件体积直接翻30倍。git push的时候上传了半天,让我一度怀疑自己的眼睛,还以为命令行卡住了
废除不废除都可以,在别的弹幕服务器看来只不过是请求里带了一堆莫名其妙不明所以的请求头,倒是不影响正常请求 |
改成在 C 或 go 中实现会不会比较好,编译起来要比 python 这种解释型语言友好的多
那就保留吧 |
有可能,我尝试实现一个c语言版本的看看 |
是不是打包时把工作环境都打包进去了,我之前用tkinter做个图形化窗口程序都不到10mb |
为什么这么大我也有点摸不着头脑,我已经用conda创建了全新的空虚拟环境,只安装了程序运行必要的包,结果打包完就是这么大。 |
让AI几分钟写了一个C语言的,说不定能用呢,大体意思是这样: GO版本 |
OK,我参考着看看 |
c语言程序昨晚就实现了,上午折腾了一阵子的交叉编译,好不容易把windows平台的可执行文件编译出来了,结果只有动态编译能成功,静态编译一直报错。但要是不进行静态编译,可执行文件就没法不需要任何额外依赖就独立运行。 我还把老家表弟的windows电脑都借过来了,结果连动态编译都编译不出来。Linux上交叉动态编译出来的可执行exe文件执行的时候报错缺少dll动态库。 Linux平台上代码编译、可执行文件运行都正常。c语言跟windows的相性也太差了,我要被折腾吐了😭 |
那就先合并此 PR 实现吧,让用户先使用上 后面可以再替换方案 |
其实他这个 go 的实现在 Windows 编译很简单,go 的静态编译很省事 |
试了下这个实现确实可用,感觉合并早了。改成他这个在 linux 上编译下如何? |
这个go语言版,只用到自带的标准库,估计go支持的平台都能编译成功。 |
可以。唯一的问题是我对go语言一窍不通😂 不过问题也不大,只是编译一下而已。我下午现学一下go怎么用,编译出来测试一下看看。 |
不需要考虑 Win7,因为 mpv 好几个版本前就不支持了 |
安装go语言,然后运行命令编译main.go代码:
其中包含了 -ldflags 选项来传递链接器标志。具体来说,-s 和 -w 标志用于优化构建的二进制文件大小。 -s:省略符号表。这会移除符号表,可以减少二进制文件的大小,但会导致调试信息缺失,无法使用 gdb 等调试工具进行调试。 因此,go build -ldflags="-s -w" 命令会生成一个更小的二进制文件,但该文件缺少调试信息和符号表,适合在生产环境中使用。 另外可以使用upx进一步压缩程序体积 |
谢谢,我吃完饭研究一下 |
https://github.com/zhongfly/dandanplay/blob/main/.github/workflows/main.yml 密钥设置: 如果没问题的话,可以直接把这些代码都放进本仓库(单独仓库也行) 注意:url必须在命令行参数最后 update: 这个程序post数据似乎和curl不一样? |
bash和zsh里下面这两种写法都可以正常运行,行为和curl无区别。这应该只是终端本身语法的差异吧,到时候参数字符串是由mpv通过subprocess传递的,我觉得应该是不存在引号和转义的问题。
|
linux上经测试,编译运行也都无问题。 @dyphire 我们给这个仓库加一个workflow,还是本地编译二进制文件上传到代码里呢? 用流水线的一个小问题是,用户下载插件的时候是不是会下载下来一个莫名其妙的main.go文件和.github隐藏文件夹? 编辑:或许可以吧main.go放在 编辑:要不然先用上新可执行文件吧。加不加流水线可以后面再说,现在这个仓库的体积太吓人了,30多M😂 |
嗯,把 main.go 放在 |
fix: integration with dandanplay API changes Tony15246#114
fix: integration with dandanplay API changes Tony15246#114
Close #114
对接弹弹play开放平台API 接入新要求