Mythsman


努力工作,认真生活。


  1. PDF字体乱码问题分析

    背景 最近身体有恙,于是就想起来整理下这几年体检的电子报告汇总看看。结果发现在善诊平台下载的体检报告在电脑上看直接乱码了。不过这种字符集的问题怎么能难得了本码农呢,所以就尝试起各种办法进行恢复,结果发现这果然是个深坑。。。 问题 本来好好的一个 PDF 报告,结果打开后画风是这样的: 我本地的环境是 Macbook,尝试了用 Chrome 打开、自带的 Preview 工具打开,都是同样的结果。除了 ASCII 字符能展示,其他所有的中文信息都没有,但是 PDF 中的所有图片都能正常展…

    Tools阅读全文

  2. 记一次SSH下无法umount磁盘的问题

    问题 最近在用 吃灰树莓派 + 外接硬盘盒 搭建 NAS ,由于硬盘默认的文件系统是 NTFS ,出于种种原因(参考这里),Linux 下的写入速度特别慢(我这里的酷鱼1T写入只有33MB/s)。于是我打算把硬盘格式化成 ext4 。 但是在测完速后准备 umount 当前磁盘(/media/pi/Seagate)时,却发生了报错: $ dd bs=1M count=256 if=/dev/zero of=/media/pi/Seagate/test conv=fdatasync 256+…

    Linux, Raspberry Pi阅读全文

  3. Linux主机性能测试方法

    背景 最近打算用躺家吃灰的树莓派4B搭一个NAS,用来快捷方便地访问和备份一些资源。由于备选的硬件(芯片、硬盘、网线、路由器等)和软件(内网穿透技术)的技术选型比较多,这时候就需要有一个能简单评估服务性能的方法。因此简单搜寻了一下常见方案,方便在技术选型时有个统一的对比标准,并且对一些常见指标能在数量级上有一些感性的理解。 硬盘 对于硬盘的读写速度测试,首先我们需要注意根据读写的实现细节不同,测试出的结果会有很大的差别。例如对于读来说,是否走缓存读、缓存的大小如何;对于写来说,是否只写缓…

    Linux, Raspberry Pi, Benchmark阅读全文

  4. 利用 Redsocks 解决透明代理的远程抓包问题

    背景 最近在做一些远程设备的抓包能力建设。具体来说是设备(基于 Docker 的 Redroid 云手机)在服务器上,抓包工具在本地( Mitmproxy , Charles, Fiddler 等类似工具),希望通过某种方法将远程设备上的流量打到本地的抓包工具上,并且流量通过本地的 IP 出到公网。 这样做的目的主要有两个: 1. 可以做到抓包工具和待抓包设备的分离。既能利用上强大的第三方抓包工具,又无需本地部署待抓包的设备。毕竟如果在远程服务器上部署抓包工具,操作起来就不那么方便,甚至…

    Redroid, Network, Spider, Redsocks阅读全文

  5. 利用 FFmpeg 将视频转换为 GIF 操作指北

    背景 在写技术文档的时候,为了演示方便,经常需要插入一些短小的视频资源。比如一些操作的录频、一些经典视频片段、一些科普动画等。由于展示的地方通常是网页,而如果是插入视频之类的资源,通常需要占用额外的存储,而且也需要可用的视频播放器的支持,非常不便。对于命令行操作的回放,我们可能会采用 Asciinema,但是这个方案对非终端的操作无法模拟。一个常见的方案是把需要的资源转换成网页支持的 GIF、WEBP 格式等动图。考虑到各大浏览器对 GIF 格式的支持最稳定,因此大部分情况下我们都想将待展示的…

    Linux, FFmpeg, Tools, Gif阅读全文

  6. 纯Docker部署Https服务——以Nextcloud为例

    背景 近期阿里云的廉价学生机小水管到期了,打算把一些服务打包迁移到微软员工不要钱的azure云上。 原先各种服务的部署方式都是直接部署的,换主机需要重新搭建各种环境非常麻烦,也容易遗漏。于是就想跟随潮流把这些服务都上docker,能够做到部署一把梭。 难点 一般的开源组件都会有官方docker镜像,部署起来其实都很方便。大部分对着官方文档改改配置再用docker-compose组合一下参数就能跑起来。比较麻烦的点就是网站要部署成 https 的话需要 SSL 证书。对于个人使用的小网站…

    Linux, Docker, Https, Certbot, Nginx阅读全文

  7. 快手抓包问题分析

    背景 不知从什么版本后,对快手进行简单抓包似乎“不可行”了。表现就是使用常规的 HTTP 正向代理抓包工具(charles、mitmproxy、fiddler 之类)并且把自签名证书种到系统证书里后,数据依然能刷出来,也能抓到一些零星的报文,但是关键出数据的那些接口报文都没有。 一般来说,常规方法无法抓安卓应用的 https 包,通常有以下几种可能: 1. 证书信任问题。在 Android 7 以上,应用会默认不信任用户证书,只信任系统证书,如果配置不得当则是抓不到包的。 2. 应用配…

    Spider, Linux, Network阅读全文

  8. 一次采耳引发的屎案

    采耳 上周去团建泡汤,由于300块的自由预算吃吃喝喝实在是用不掉,想来不如消费一波服务,小奢侈一把。于是就点了 299/50min 的采耳服务,想见识见识掏个耳朵又能掏出个什么花样。 结果采耳的小姐姐一看我的耳朵,立马就抱怨说我右耳这有个大耳屎堵在外耳道,硬的不行,尝试夹了半天也夹不出来,稍微扽一扽还容易疼。拿个挖耳内窥镜给我瞅了瞅,的确有一大球黄黑相间的东西堵在那里,甚至都看不到鼓膜了。折腾半天到钟了,只能草草收场,建议我早点去医院弄。 好嘛,300块钱整下去,整的不明不白,不仅没爽到,…

    Life阅读全文

  9. 树莓派与1024x600分辨率屏幕的适配问题

    问题 为了方便操作,买了一个 7英寸的 LCD 触摸屏,结果发现屏幕是 1024x600 的分辨率,系统总是会认为是 1024x768 的分辨率,导致了两个后果: 1. 分辨率不准。由于实际展示的高度比渲染的要低,导致屏幕下方的东西是看不到的。 2. 触摸板不准。虽然图像渲染会超出屏幕,但是触摸板似乎却做了缩放,触摸的地方越往下鼠标跟手的位置就越不准。 问了下亚博智能的技术客服,按照他的建议修改了 /boot/config.txt 中的 hdmi_cvt 等相关参数,重启后依然不行。接…

    Raspberry Pi, Arm阅读全文

  10. 树莓派4B使用arm64系统踩坑

    背景 由于工作原因,需要一台 arm64 的服务器测试一些功能。但是目前这个点没法快速采购到腾讯云或者百度云的arm服务器(这俩公司的arm服务器好像都只是在内测阶段,据说得2022年初才能 Release)。想了一圈发现树莓派似乎正好有 arm64 的cpu,于是去官网确认了下 Specification: Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz 看起来挺好的,于是在亚博智能店里买了个 4B…

    Raspberry Pi, Arm阅读全文