记录一次令人无语的文件上传限制调试

本文记录一次令我非常无语的文件上传大小限制的问题。之前也提到过我开了一档《暮色时光》的播客,那为了方便,我就直接使用 WordPress 的 Media 来管理我自己的音频文件了,但是最近一期聊《台湾》相关的内容,时长超过了 1 个小时,所以导出的文件有点大(102MB),稍微超过了我预期的 100MB ,这导致我需要调整 WordPress 文件上传的限制。那我一想这个也简单,之前也调整过,无非就是调整一下 Nginx 和 PHP 的配置,重启一下服务就行,谁知道我在这么个简单的事情上竟然又浪费了几个小时。

按照我之前的经验,无非就是调整一下 PHP 的配置文件。

PHP 配置

因为我直接使用的 HestiaCP ,登录后台之后,点击右上角的齿轮,进入系统设置,然后在其中找到,我使用的 PHP 版本,点击编辑配置,立即就可以看到 PHP 相关的配置,HestiaCP 也非常人性化的将常用的配置列了出来。

4H2G

那这个地方只需要修改

post_max_size
upload_max_filesize
memory_limit
max_execution_time
max_input_time

这几个值。然后点击保存之后, PHP 会自动重启。

这个时候我去后台看,WordPress 已经将文件上传的限制放宽到了 256 MB 大小,我尝试上传,发现上传接口 Pending。

YdcANSWTDK

Nginx

于是我想是不是 Nginx 配置里面 client_max_body_size 配置有限制,于是直接看 HestiaCP 后台的 Nginx 配置,但发现这不是问题啊,现在的大小就已经足够。

4mMM

于是我想难道是配置没有生效,在 HestiaCP 后台,通过 SSH 登录服务器,直接重启了 PHP,Nginx。

然后在 PHP 目录里面创建了文件 test.php ,直接放入

<?php phpinfo(); ?>

访问,发现 PHP 已经生效了上传限制。

重新尝试,接口还是 pending。

WordPress

于是我想难道是 WordPress 自身做了什么限制?但之前也没有遇到过类似的事情?但网上查的时候有人说还需要加上一些配置,那么我也不管了,先加上再说。

define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_UPLOAD_SIZE', '256M');

重新尝试上传,接口还是 pending。

这个时候我就不知道问题出现在那里了,然后我就尝试换用 async-upload.php 为关键字,终于在一个 StackOverflow 的帖子里面看到了一个让我震惊的回答,说 Cloudflare 的基础套餐有 100 MB 的限制!

4eVR

我突然意识到,确实我的站点前面确实增加了一个 Cloudflare CDN,而我的文件刚刚好超过 100MB。于是立即去 Cloudflare 后台关闭了云朵,然后我发现问题解决了!

后来仔细的研究了一下 Cloudflare,发现 Free 和 Pro 的套餐,上传文件大小限制都是 100MB。1 而 Business 是 200MB 限制,Enterprise 是 500MB 限制。

如果文件大小超过 100MB,会直接返回 413 错误,文件上传也不会到自己的服务器,我就说为什么我上面几次修改,在 PHP 和 Nginx Error 日志里面什么错误信息都没有看到!

至此文件上传的问题就得到了解决。


2024-03-10 hestiacp , nginx , php , wordpress , cloudflare , file-upload , file-manage

常见的邮件发送错误

本文总结常见的邮件发送的错误。

450

450 4.1.8 Sender address rejected: Domain not found

这个错误提示表明发件人地址被拒绝,因为域名未找到。这通常是由于发件人地址的域名无法在 DNS(域名系统)中找到所致。解决这个问题可能需要以下步骤:

  • 检查发件人地址:确保你使用的发件人地址是正确的,并且包含有效的域名。如果你使用的是自定义域名,请确保该域名已正确配置,并且在 DNS 中有相应的记录。
  • 验证域名配置:确保你的域名已经在 DNS 中正确配置。你可以通过使用 DNS 查询工具来验证域名的 MX 记录、SPF 记录和其他必需的记录是否已设置正确。
  • 确认域名注册:如果你使用的是自定义域名,确保该域名已经注册,并且没有过期或被暂停。有时域名注册过期或被暂停会导致域名无法解析。
  • 检查 DNS 服务器设置:如果你使用的是自托管的邮件服务器,确保你的 DNS 设置正确,包括正确配置了邮件服务器的 A 记录、MX 记录等。
  • 联系你的域名注册商或托管提供商:如果以上步骤都无法解决问题,你可以联系你的域名注册商或者托管提供商,向他们寻求帮助解决域名解析问题。

表示邮件被拒绝了,因为发件人的邮箱无法正确解析,因为特定的 DNS 记录(A,MX,PTR 记录) 缺失了。

DmML

50

50 5.1.1: Recipient address rejected: User unknown in local recipient table

这个错误表示你尝试发送邮件给一个在本地收件人表中未知的用户。

553

553 5.7.3 CONTENT REJCT:blockid=xx:URL

这个错误意味着你尝试发送的邮件包含被拒绝的内容,通常是因为邮件包含了被认为是垃圾邮件或恶意链接的内容。通常是如下的原因:

  • 恶意链接或内容:邮件中包含的链接可能被认为是恶意链接,或者邮件内容被认为是垃圾邮件。
  • 邮件服务器策略:邮件服务器可能已经配置了策略,拒绝包含特定类型内容的邮件。

遇到此错误一般可以检查一下发送的邮件是否合法,是否包含恶意链接或内容。

550

Recipient address rejected: User unknown in virtual mailbox table

Net::SMTPFatalError: 550 5.1.1 your@email.address: Recipient address rejected: User unknown in virtual mailbox table

错误表明你尝试发送邮件给一个在邮件服务器的虚拟邮箱表中不存在的用户。

可能是如下的原因:

  • 输入的收件人邮箱有错误
  • 收件人的信箱已经被删除或禁用
  • 邮件配置有错误

2024-03-09 经验总结 , email , smtp , mail-server , mail , email-hosting , ev-hosting

EV Hosting 独立开发者套餐

自从去年 EV Hosting 上线以来已经过快一周年了,过去的一年中陆陆续续推出了如下的服务。

这一些服务也是我开发独立产品的过程中不可缺少的一部分,比如说我可以在一分钟内直接创建一个博客来发布我的播客,我可以用我自己的域名注册服务来注册我自己的 life 域名,比如我的日本生活 https://ijp.life ,而我自己的域名邮箱服务已经稳定使用超过 3 年,过去我所有的域名邮箱全部都自己维护。

之前在 Twitter 上曾经看到过一篇 0 成本 Build 属于你自己的项目,其中列举了不少我也正在使用的服务,比如说 GitHub,Cloudflare 等等,但是问题的关键就在于当你自己的服务与这样的平台非常紧密地连接在一起的时候,未来带来的潜在风险也会伴随着平台的起伏而波动。

代码: @github  $0
CDN: @Cloudflare  $0
后端: @flydotio  $0
域名: @freenomofficial  $0
邮件: @Mail_Gun  $0
数据库: @PlanetScale  $0
日志: @AxiomFM  $0 [[AXIOM]]
存储: @Cloudflare R2  $0
CDN: @BunnyCDN  $0 [[Bunny CDN]]
统计: @googleanalytics  $0  [[Google Analytics]]

比如过了半年当再来看这一份清单的时候,就会发现 freenom 提供的免费域名被收回了,之前也曾经推荐的 PlanetScale 将在 2024 年 4 月 8 号取消 Hobby 套餐,而 MailGun 也大幅度收窄了免费的额度。如果想要使用 PlanetScale,最低档的就是 39 USD 一个月,那如果你的应用构建于此,那必然要面临一个艰难的选择。我之前有一些自己和朋友的 21 天计划服务就放在了 PlanetScale 上,没有多少流量,所以我也不会为此付费订阅。但好在我的数据不是很多,使用 DataGrip 迁移一下就行了。并且在迁移的过程中我还发现了 PlanetScale 存在的问题,就是它并不支持 mysqldump,必需使用它专属的 cli 才能导出数据。而如果一旦服务数据量比较多,想必迁移起来就麻烦很多了。同样的,上述的所有服务虽然看起来入门是 0 USD,但其实很多服务的收费第一档就非常昂贵。

所以为什么我自己创建了 EV Hosting 的服务,也是因为来自我自己的需求,我有一些小网站需要一些邮件发送服务,比如给注册用户发送邮箱验证,比如我有一些静态或动态的网站需要托管,当然 GitHub Pages,Cloudflare Pages,Vercel,Netlify 等等都是非常不错的服务,托管自己的博客内容也完全没有问题,但同时也需要考虑比如 Vercel 的域名被屏蔽,GitHub Pages,Netlify 的访问速度等等问题。

首先我为了解决自己的托管和发邮件的问题,最早就是自建了 SMTP 和 Nginx 但我发现这个服务也能开放出来给有需求的用户用,然后就是域名的问题,不过域名的问题,我自己都是去 Google Domains(已被收购)和 Spaceship 上购买的,我建议大家先用 https://tld-list.com/ 进行比价,然后根据自己的情况来选择,现在 Cloudflare 也开放了域名注册,但我还没用起来,如果有使用感受也可以一起来分享。而我提供的域名注册服务通常来说是因为拿到了批量销售的折扣,我自己也会根据具体的促销价格来选择,我自己选择注册 .life 域名其事就是我自己拿到的售卖价格只要十几块人民币一年,已经非常便宜了,所以就直接买了一个。

庆祝一周年

为了庆祝一周年生日,现在针对独立开发者推出如下的套餐。

99 套餐 内容包括

199 套餐内容包括

寻找同路人

我因为自己的需求所以维护了这样一套服务,如果你也是一位独立开发者,你也需要为你的早期项目接入邮件注册,也需要网站托管内容

如果你满足了如下的条件,欢迎找我,提供免费一年的 99 套餐。

  • 你愿意将你的项目主页地址公布到本文下方(GitHub Pull Request)
  • 你愿意将 EV Hosting 以及官网链接放置到您的项目主页
  • 你愿意根据使用至少贡献 2 篇关于 EV Hosting 使用相关的文章(至少 1000 字并配上至少 2 张图)并发布到EV Hosting 帮助文档 或者一篇您自己的使用体验包括一个链接到官网主页

Pull Request 格式

- [项目名字](项目地址)

使用的项目:


2024-03-08 indie , developer , development

注册英国奕丰环球银行 iFast 数字银行

英国奕丰环球银行是一家英国的数字银行,总部在英国,受到英国 FCA 监管,享受 85000 英镑的金融服务补偿计划。

之前已经写过一篇文章是开设新加坡的华侨银行 OCBC ,本文再来介绍一下 iFast 英国奕丰环球数字银行

介绍

  • 受监管的英国银行
  • 仅需一次申请,我们即向您提供多币种账户,包括英镑、美元、欧元、港元、新元和人民币
  • 您的合资格存款受到 Financial Services Compensation Scheme (FSCS) 最高 £85,000 英镑的保障
  • 免费开户,无需年费

准备材料

  • 国内的身份证或者护照
  • 邮箱
  • 可以接受短信的国内手机号
  • 地址认证材料,银行对帐单,水电费等

注册流程

首先访问官方页面,通过此链接注册,存入 500 英镑并保留在账户中 3 个月,可以额外获得 5 英镑的奖励。

打开页面之后可以在右上角切换语言,然后点击注册,选择个人注册。

注意在注册的过程中需要提供地址证明,可以使用信用卡账单,水电燃气等账单,我因为使用香港汇丰银行的账户,直接使用对账单即可。

完成开户

完成资料提交,并且验证成功之后,可以开户成功,开户成功之后会获得一个英国银行账户,提供了 IBAN 号,该账户是一个多币种账户,默认 GBP 英镑,也支持 CNY 人民币,欧元,美元,新笔,港币等。

首次存款

首次存款需要以自己的同名帐号存入。

ifast

因为 iFast 账户提供 IBAN,那么可以使用 Wise 的英国账户来入金存入英镑。

汇丰香港 HSBC

通过香港汇丰银行入金 iFast 无汇款费用,需要同名账号如今 iFast

到帐稍慢,汇丰的汇率比较差。

Wise 入金

通过 Wise 入金 iFast 汇率比较好,无汇款费用。

到帐偏慢。


2024-03-07 digital-bank , bank , 海外账户 , 银行账户 , 海外银行 , 实体卡 , 虚拟卡 , 数字游民 , 数字移民 , 英国

如何获取日本的地址证明

在网上申请海外银行账户或者证券账户的时候通常会要求提供一份地址证明,通常如果使用国内的银行卡,或者海外的银行卡的时候,每个月会生成一份 Bank Statement,中文件叫做对帐单,上面有地址即可。或者水电燃气等公共设施的缴费单通常也可以作为地址证明,但是在日本,所有的水电燃气以及银行对帐单都是日文的,那么在英语国家的证明中就没有办法,通常会要求在日文的账单上附加一份专业的翻译证明,这样也非常麻烦。

所以今天就来聊一聊在日本如何获取一份英文的地址证明文件。

地址证明

地址证明(Proof of address),顾名思义,是指证明您居住地的文件。它也可能被称为居住证明。大多数银行都会要求这样做作为安全措施,以确保您不会在居住地方面撒谎。

什么文件可以作为地址证明

对于不同的机构,可能都有一份特定的文件和规则列表来验证地址证明。许多地方会要求提供两到三份地址证明文件来验证您的居住状况。他们通常需要原始文件,不接受副本。一般来说,地址证明可以是以下文件之一:

  • 公用事业账单,比如水,电,煤气,电话,网络账单
  • 驾照
  • 信用卡对帐单
  • 银行对帐单
  • 租赁合同等

为什么需要地址证明

住址证明通常用来验证一个人的居住地址,用于身份和安全性检查,有一些国家和地区的法律和法规也要求一些机构,比如银行,金融服务提供商等,在提供服务之前验证客户的地址,为了遵守反洗钱(AML) 以及满足 KYC 的要求。

一份地址证明通常是一份 PDF 或实体的缴费单,类似如下,不同地区的对帐单是不同的,需要注意的是,在账单中最好写有明确的地址。

4Bo2

在日本如何获取英文的地址证明

通常在英语国家,发行的水电燃气账单,或者信用卡账单都是英文的,只需要有地址就可以直接使用。但是日本的所有账单都是日文,我查阅了所有我拥有的账单,以及银行卡对帐单,全部都是日语,但后来发现银行的「残高证明书」是可以去线下开具英文版本的。

比如说邮局 ゆうちょ,在平日的 9:00 到 16:00 ,可以去线下要求发行残高证明书,截止 2024 年,发行证明书的费用是 1100 日元。

需要的材料包括

  • 通帐
  • 印章
  • 本人确认书类(驾照,MyNumber 卡等)

在窗口表达自己想要一份英语记录的残高证明书,需要记载住所和名字。对于小的邮局可能工作人员不清楚,可以更换比较大的邮局。

vvk0


2024-03-06 japan , english , address-proof , proof , bank-statement

将 Blogger 备份并转成 Markdown 导入 Obsidian

这两天看到有人分享自己的密码管理方案是通过固定 Pattern 然后根据不同的网站设定一个随机可记忆字串来防止密码泄漏之后影响其他网站,于此同时也一定程度上可以摆脱密码管理器的约束。这也是我这 10 多年来的密码管理方案,虽然我还是会强烈推荐 Bitwarden,当一些重要的网站我还是会选择自己记住密码,并且加上二步验证保护安全,而其他网站则是通过密码管理器来管理。

但是我明明记得我写过一篇关于密码管理的文章,但就是怎么都没有找到,后来一想这已经是十年前写在 Blogger 上面的文章,于是突然想把沉积多年的 Blogger 内容备份出来,并转成 Markdown ,导入到 Obsidian,因为我一直认为只有被反复唤起(搜索)的内容才有价值。

既然有了这个目标,那么说干就干,首先是导出 Blogger 的内容,这一点在设置中,直接可以选择 Backup,下载获取到一个特殊格式的 XML 文件。

然后我用 Google 简单的搜索了一下 Blogger to Markdown,发现原来已经有人使用 NodeJS 实现过了。但代码直接运行有一些异常,打开代码看看,做了一下修复

然后再运行命令,不到一分钟的时间就把 2010 年到 2019 年的内容转成了 Markdown。

Fxo2sAk_OP

Blogger

在这个时间点又不免再感慨一下,Blogger 当年作为一个非常流行的博客平台,如今却半死不活,很多年没有更新,Google 内部可能也放弃维护了,并且非常无语的是,我登录了后台才发现,以前明明发布的内容,却告诉我有一些文章被 Blogger 自动取消发布了,说违反了社区规则,但我仔细地看了一下这几篇文章,是 2014 年发表的一篇《继续折腾 WNDR3800 之 shadowsocks》,这篇文章已经存在互联网上 6 年,但却告诉我在 2020 年违反了社区规则?实在没有搞懂 Google。

I_V2Ou3VaB

我仔细的检查了一下文章内容,无非就是几行代码,以及一些 iptables 的配置,完全看不出任何违反社区规则的内容。 tgMxnz8HSo

一些感慨

在把文件导出来之后,也看了几篇当时写的文章,感慨物是人非,那个时候我还是非常喜欢 Google,也会在第一时间去尝试 Google 的所有的服务,当时也写了很多 Google+ 的使用感受,当时也确实在 Google+ 认识了一些朋友,但后来的事情其实大家也都知道,自从 Google+,Google Reader 关闭以来,我就已经开始自主的脱离 Google 的生态,将所有我自己产生的数据慢慢地从 Google 从移走,Google Photo 等等。

而到了 2024 年,Google 突然遇到 OpenAI 的「劲敌」,至于 AI 是否会颠覆传统的搜索引擎,在这个时间还不好说,但可以肯定地说肯定会代替一部分的搜索流量,至于是否会影响到 Google 的广告业务,那也只能让我们拭目以待了。


2024-03-05 blogger , xml-to-markdown , obsidian , markdown , nodejs

借助 BLEUnlock 实现 macOS 自动锁定

BLEUnlock 是一款 macOS 上的自动化锁屏工具,可以通过 iPhone 或者 Apple Watch 和 macOS 的距离来锁定和解锁 macOS。

借助这款开源的工具,就可以非常方便地解决离开 macOS 忘记锁屏的问题。

BLE devices

BLE devices 指的是低功耗蓝牙设备。

BLEUnlock 的原理就是通过周期性发送信号的 BLE 设备,当蓝牙设备,比如 iPhone 设备,接近 macOS 系统时就会解锁,当发现 iPhone 远离的时候就会自动锁定。

安装

直接通过 Homebrew 安装

brew install bleunlock

安装完成之后,可以在状态栏进行设定

  • 是否靠近时唤醒
  • 唤醒时是否直接解锁
  • 锁定时是否暂停播放
  • 等等

缺点

BLEUnlock 毕竟是通过蓝牙来进行通信的,所以可能会存在一定的不精确,尤其是在电脑附近行走时可能会对 macOS 产生干扰。


2024-03-02 mac , macos , mac-application , bluetooth , ble-device , apple-watch

我制作了一档播客《暮色时光》

我终于制作了一档播客《暮色时光》!

为什么说我终于制作了一档播客呢,这是因为早在 10 多年前我就已经是播客的听众,并且这么多年以来一直都有一个做一档播客的梦想,研究过如何托管 Podcast,也自己尝试部署过一个 Podcast Feed,但过去的时间里一直没有找到一个合适的主题,周围也没有一个对播客感兴趣的朋友,故而一拖再拖。但和我写文章不一样,写文章是我单方面的输出,我也很少有机会得到反馈,博客的评论系统虽然也有一些朋友会给我留言但还是少数。但是播客不一样,它是一个两方面的交流,他是两种思想和声音的碰撞,截止到现在播客已经做了三期,播客的存在让我知道有了一个新的探索方向,也让我能够和很久没有聊天的朋友可以坐下来一起聊聊。

播客的定位

暮色时光播客在最初的时候,我就给自己起了一个标题,就是朋友之间的闲聊,我会定下来每一期的主题和想要聊的大致方向,让整个播客有一个框架,有一个中心的话题,但交流的过程中也会调整话题的方向。

制作播客的初衷:

  • 帮助自己提升表达能力,寻找未来的方向
  • 促进和朋友的关系
  • 寻找更多和我们关注话题相似的朋友
  • 分享我们的想法和见解,与更多人进行交流和互动

播客内容

在《暮色时光》播客中,我们会聊一些我们感兴趣的话题,比如科技、文化、旅行、生活经验等等。每一期都会有一个主题,围绕这个主题展开讨论,同时也会有一些杂谈和随想。我希望通过这个播客,能够让大家更了解我们,也能够启发大家的思考,并且希望能够和更多人建立联系。

结语

这档播客虽然只是刚刚开始,但也是多年之后终于迈出的一步,也希望我可以通过这个节目认识到更多志同道合的朋友,如果你对这个播客感兴趣,欢迎关注我们的 网站 ,也非常欢迎给我们留言反馈和建议。谢谢!

如果有任何小伙伴对播客感兴趣或者愿意一起聊聊天也欢迎来找我


2024-03-01 podcast , friend , chat , ai , travel

几个用户登录验证方案

用户系统,登录验证几乎是每一个 SaaS 系统必备的入口功能,前两天在 Twitter 上看到有人自己设计的用户登录验证系统,因为瞬时使用的人太多,直接把登录入口打挂掉了,所以我就整理一下这篇文章,来看看如何快速的设计并使用用户登录验证系统。

我所了解的几个方案:

  • 使用成熟的 [[BaaS]] (Backend-as-a-Service)方案,比如商业的 [[Firebase]],或者开源的 [[Supabase]],以及我之前介绍并在使用的 [[Appwrite]] 等等
  • [[Clerk]] 最全面的用户管理平台
  • React Next.js 下的方案 [[NextAuth.js]]

BaaS

关于 BaaS 之前在我的笔记中其实也整理过一些,比如 PHP 编写的 Appwrite, Go 语言编写的 PocketBase ,这一些都是可以自行托管,并且完全开源的项目,如果你寻求一些更商业化的项目,也可以考虑 Google 的 [[Firebase]] 或者社区商业化维护的 [[Supabase]]。

并且如果以 BaaS 或者 Firebase alternative 为关键字去搜索,也能找到非常多的实现方案,几乎每个语言都实现了一遍用户登录验证的方案。

Clerk

Clerk 给自己打的广告就是「最全面的用户管理方案」,作为一个创业公司,Clerk 给出的免费额度还是非常充足的。

免费一档的套餐,可以每个月有 10000 个活跃用户,这里的活跃用户指的是登录 24 小时之后再次登录的用户,如果用户没有再访问就不会记录为活跃用户。

2yfDn9jp_v

NextAuth.js

NextAuth.js 是一个专门为 Next.js 而设计开发的用户登录验证系统,提供了前后端的实现,并且可以托管在 Serverless ,后端也可以搭配多个数据库使用,比如 MySQL,PostgreSQL,MSSQL,Mongo 等等,直接利用我之前介绍过的 PlanetScale 也是可以的。

NextAuth 是一套完全开源的解决方案,借助一些 Serverless 的平台和 Cloud Database 也可以做到非常低的成本实现用户登录方案。


2024-02-29 login , auth , user-login , saas , clerk

Docker 安装 PicHome

之前在使用 [[Eagle]] 的时候就想过如果能够一键将本地的素材库分享到网络上就好了,但后面因为 Eagle 使用的频率不是那么高,我自己也在用 Chevereto 所以就搁置了。这两天发现一个 PHP 编写的开源的在线图库 [[PicHome]],看展示界面不错,所以来分享一下。

PicHome 是一款 PHP 编写的,开源的图片展示网站,可以将电脑中的媒体文件展示在网页中。

功能

  • 用来展示本地目录中的图片,但不支持编辑
  • 比如展示通过 [[Eagle]] ,[[Billfish]] 管理的素材库
  • AI 相关的功能
    • AI 修改文件名
    • AI 打标签
    • AI 描述
    • AI 批量标注
    • AI 文件问答

要求

  • PHP > 7.3
  • MySQL
  • 磁盘空间 > 10 GB

Docker 安装

快速尝试

docker run -d -p 80:80 --restart=always oaooa/pichome

使用 Docker compose 启动

git clone https://github.com/zyx0814/Pichome-docker.git
cd ./Pichome-docker/compose/
修改docker-compose.yaml,设置数据库root密码(MYSQL_ROOT_PASSWORD=密码)
docker-compose up -d

2024-02-23 open-source , php

电子书

本站提供服务

最近文章

  • 2024 年台北之行 去年的时候就得知了海外的大陆人可以通过官方网站申请入台证,从而可以在海外直接入境台湾,所以 4 月份女朋友过来日本之后就通过线上系统申请了入台证,入台证申请通过并付费之后是只有 3 个月有效期的,因为我们申请的比较晚,所以有效期的三个月正好落在了最热的 7,8,9 月份,但考虑到暑假有假期,我们还是决定硬着头皮买了机票。
  • macOS 上的多栏文件管理器 QSpace QSpace 是一个 macOS 上的多窗口平铺的文件管理器,可以作为 Finder 的代替,在 Windows 上曾经用过很长时间的 [[Total Commander]],后来更换到 Linux Mint 之后默认的文件管理器自带多面板,反而是用了很多年 macOS ,才意识到原来我缺一个多窗口,多面板的文件管理器。
  • Dinox 又一款 AI 语音转录笔记 前两天介绍过 [[Voicenotes]],也是一款 AI 转录文字的笔记软件,之前在调查 Voicenotes 的时候就留意到了 Dinox,因为是在小红书留意到的,所以猜测应该是国内的某位独立开发者的作品,整个应用使用起来也比较舒服,但相较于 Voicenotes,Dinox 更偏向于一个手机端的笔记软件,因为他整体的设计中没有将语音作为首选,用户也可以添加文字的笔记,反而在 Voicenotes 中,语音作为了所有笔记的首选,当然 Voicenotes 也可以自己编辑笔记,但是语音是它的核心。
  • Emote 又一款 AI 语音笔记应用 继发现了 Voicenotes 以及 Dinox 之后,又发现一款语音笔记 Emote,相较于前两款应用,Emote 吸引我的就是其实时转录的功能,在用 Voicenotes 的时候时长担心如果应用出现故障,没有把我要录下来的话录制进去,后期怎么办,而 Emote 就解决了这个问题,实时转录的功能恰好作为了一个声音录制的监听。
  • 音流:一款支持 Navidrome 兼容 Subsonic 的跨平台音乐播放器 之前一篇文章介绍了Navidrome,搭建了一个自己在线音乐流媒体库,把我本地通过 [[Syncthing]] 同步的 80 G 音乐导入了。自己也尝试了 Navidrome 官网列出的 Subsonic 兼容客户端 [[substreamer]],以及 macOS 上面的 [[Sonixd]],体验都还不错。但是在了解的过程中又发现了一款中文名叫做「音流」(英文 Stream Music)的应用,初步体验了一下感觉还不错,所以分享出来。