docker 中使用 pywpsrpc

一般如果使用带桌面环境的 docker,比如 dorowu/ubuntu-desktop-lxde-vnc,然后安装 wps 后,使用 https://github.com/timxx/pywpsrpc 是没啥问题的,需要注意的是 wps 第一次打开后,需要同意 EULA,然后按照 https://github.com/timxx/pywpsrpc/issues/44#issuecomment-1032304847 中提到的改为 multi-module mode,然后就可以愉快使用了,但是对于无图形环境的 docker,似乎是连 wps 都无法启动 解决WPS无法启动的问题 wps安装之前需要安装一些依赖环境,这个后文给出完整的安装流程,此处主要解决 wps 安装完成后,启动无输出,直接闪退的问题 此处安装 https://github.com/timxx/pywpsrpc/wiki/Run-on-Server 配置了环境,但是wps依旧闪退 首先执行 whereis wps ,我们找到 wps 的执行文件路径,一般位于 /usr/bin/wps 然后我们编辑该文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 function run() { oldPwd="${PWD}" if [ -e "${gInstallPath}/office6/${gApp}" ] ; then if [ 1 -eq ${gDaemon} ]; then nohup ${gInstallPath}/office6/${gApp} ${gOpt} > /dev/null 2>&1 & elif [ 1 -eq ${gIsUrl} ]; then { ${gInstallPath}/office6/${gApp} ${gOptExt} ${gOpt} "${gFilePaths[@]}"; } > /dev/null 2>&1 elif [ 1 -eq ${gIsFushion} ] && [ "$1" !...

八月 2, 2023 · 2 分钟 · 

photoprism+rclone搭建

vps空间小,所以使用onedrive为例作为存储来搭建 photoprism 主要分为以下几步: 使用rclone挂载onedrive 部署photoprism 获得rclone.conf 首先在本地电脑上安装rclone 然后运行 rclone config 参照 https://rclone.org/onedrive/ 进行远程配置 然后配置完成后,~/.config/rclone/rclone.conf 内容类似 1 2 3 4 5 [onedrive] type = myonedrive token = {"access_token":"EwCAA8l6BA1","token_type":"Bearer","refresh_token":"M.C106eExJ7edYrxNdb3","expiry":"2023-06-03T16:20:11.7705715+08:00"} drive_id = 19fe142286d457 drive_type = personal docker plugin rclone配置 可按照下面,或者参见 https://rclone.org/docker/ 首先创建两个文件夹 1 2 sudo mkdir -p /var/lib/docker-plugins/rclone/config sudo mkdir -p /var/lib/docker-plugins/rclone/cache 然后安装 docker 插件 rclone 1 docker plugin install rclone/docker-volume-rclone:latest args="-v" --alias rclone --grant-all-permissions 然后将上面在本地电脑上生成的 rclone.conf 内容拷贝到 vps 的 /var/lib/docker-plugins/rclone/config/rclone.conf 文件中 部署 photoprism docker-compose....

六月 4, 2023 · 5 分钟 · 

钉钉直播回放下载

更新 20230221 现在抓包已经抓不到这个链接了,不过在打开回放时会有一个请求 /group-live-share/index.htm?liveUuid=xxx 把这个请求拼接上去到下面的链接依旧可以打开网页版 不过获取到的 m3u8 链接依旧是无法直接下载的 写了个脚本来自动化该流程,可在 https://github.com/akkuman/ding_playback_downloader 获取 原始记录 20220907 想下载钉钉直播回放,管理员设置了禁止下载 找到了这篇文章 [[原创]钉钉如何下载管理员禁止的直播回放(抓包分析)-软件逆向-看雪论坛-安全社区|安全招聘|bbs.pediy.com](https://bbs.pediy.com/thread-274002.htm) 打开burp,配置好burp证书,然后使用proxifier将钉钉主程序 DingTalk.exe 的流量全部转发到 burp 代理端口。打开直播回放,点开直播 按照文章中的寻找,只找到了下面这个链接 解码出来获取到了 其中有个 publicLandingUrl https://h5.dingtalk.com/group-live-share/index.htm?type=2&liveFromType=6&liveUuid=xxxx&bizType=dingtalk&dd_nav_bgcolor=FF2C2D2F#/union 浏览器打开这个链接,可以看到直播回放 播放视频,打开f12进行抓包,可以看到一个链接 https://dtliving-sh.dingtalk.com/live_hp/xxxx_merge.m3u8?auth_key=xxxxxx 这个链接中,xxxx是上面liveUuid,然后会看到一个m3u8,然后使用其他的工具下载并合并m3u8即可 其实上面的json中的 liveUrlHls ****中的auth_key可以用在拼接m3u8链接上,但是发现下载 liveUrlHls 需要单点登录(不知道这是不是我们公司的配置),而下载上面m3u8链接需要网页登录后cookie中PC_SESSION值 所以还是直接打开网页后使用idm之类的软件进行下载吧。 给出一份mitmproxy的脚本 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 from mitmproxy import http from mitmproxy import ctx import re import json pattern = re....

二月 21, 2023 · 1 分钟 · 

使用zig在linux上交叉编译cgo

使用zig在linux上交叉编译cgo 的 github action,此处不做解释了,自己可以看注释进行实验 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 name: build on: push: tags: - '*' jobs: build-rotateproxy: runs-on: ubuntu-18....

二月 13, 2023 · 2 分钟 · 

xp 兼容的 go-sciter

现在的 https://github.com/sciter-sdk/go-sciter 项目想要兼容 xp 已经十分困难 我写了一个例子,地址在 https://github.com/akkuman/go-sciter-xp, 旨在提供一个兼容 xp 的 go-sciter 样例。 感兴趣的可以将项目克隆下来后进行自己的开发 环境依赖 go 1.10 https://github.com/golang/dep 工具 sciter-sdk 4.4.4.7 关于环境的说明 上面几个环境务必保持相同 sciter-sdk 为什么使用 4.4.4.7 版本 我使用 rundll32 在 xp 上调用 sciter.dll,最高只能支持到这个版本 我已经将这个版本的 dll 放到本仓库了 sciter-4.4.4.7-normal.dll 来自 https://github.com/c-smile/sciter-sdk/tree/c7d48627e8716bb803bebf2c74f54ab2dd0d7c51/bin.win/x32 sciter-4.4.4.7-skia.dll 来自 https://github.com/c-smile/sciter-sdk/tree/c7d48627e8716bb803bebf2c74f54ab2dd0d7c51/bin.win/x32skia 这两个版本的区别是,skia 使用 skia 进行渲染,并且体积大一些 为什么使用 go1.10 根据 https://github.com/golang/go/issues/23380 ,golang version 1.10 是最后一个支持xp的版本,后续的版本不对兼容性做保证 关于gui库 govcl: go ver>=1.9.2 : 优势: 可以使用lazarus或delphi等界面设计软件直接画界面 go-sciter: go ver>=1.10:优势:使用了完整的web技术栈,但是肯定不能与浏览器的兼容性相比,不过写界面应该是够了,目前使用sciter的明星产品:rustdesk gotk3:go ver>=1.8 gtk绑定 qt:支持1.10,但是安装较为复杂 考虑到美观和兼容的问题,建议使用 go-sciter 注意,go1.10不支持go module,需要使用gopath的模式...

九月 19, 2022 · 2 分钟 ·