普通视图

发现新文章,点击刷新页面。
昨天以前LearnData

HandBrake:将蓝光电影批量压制为 MKV

2025年4月24日 08:00

HandBrake 是一款功能强大的开源视频转换工具,支持 Linux、macOS 和 Windows 系统。它可以将已有的视频文件转换为在手机、电视盒子、游戏机、电脑或浏览器等多种设备上兼容的格式。支持的视频格式广泛,包括普通摄像机拍摄、屏幕录制以及蓝光源等。

我个人收藏了不少蓝光电影资源,但在 Emby 中无法直接播放。将资源迁移至云盘后,更是连在线播放都成问题。因此,我决定使用 HandBrake 将这些资源重新压缩为支持软字幕的 MKV 格式,以便在不同设备间更好地播放和管理。

操作说明

1. 导入视频源

打开 HandBrake 后,点击左上角的“打开源(Open Source)”按钮。可选择以下方式导入视频:

  • 直接选择单个视频文件;
  • 导入整个 BDMV 文件夹(HandBrake 会自动识别主电影);
  • 实测可加载映射为 cd2 路径的 115 网盘本地资源。

导入后,程序会自动分析视频内容,识别出音频轨道、字幕轨道等元数据。

2. 设置字幕轨道

切换到“字幕(Subtitles)”标签页后,点击“轨道(Tracks)” > 添加所有剩余字幕轨道

常见设置建议如下:

  • 主语言字幕:不勾选 Burn In,可勾选 Default;
  • 强制外语字幕(如英语电影中的西班牙语对白):
    • 勾选 Burn In(烧录字幕);
    • 同时勾选 Forced Only(仅提取强制字幕);

以下为字幕选项的详细说明:

| 选项 | 说明 | 建议设置 | |

IMGPrompt:图片提示词生成器

2024年10月23日 08:00

当我第一次接触 AI 生成图像时,我发现生成的图像往往与我想象的场景不符。原因大多是因为提示词描述不精准。作为非英语母语的人,我在描述场景时往往用母语的思维方式,但有时会导致完全不同的结果。因此,我设计了 IMGPrompt —— 帮助不懂英语的人也能精准地生成完美的 AI 图像,甚至 AI 视频。这个工具旨在让每个人,无论是什么语言背景,都能轻松创建 AI 作品!

IMGPrompt 是专为 Stable Diffusion、Midjourney、DALL·E 和 FLUX 打造的 AI 图像提示词编辑器,界面简洁直观,使用户能够轻松地查看并组合所需的提示词文本。每个提示词都附有中文翻译,用户仅需通过点击或输入关键词,即可快速选取或组合,从而大大简化了文生图提示词输入。

界面说明
界面说明

特色功能

智能推荐功能

IMGPrompt 提供基于用户输入的关键词(支持中英等 14 种语言)的智能推荐,自动建议相关提示词,帮助用户快速找到合适的表达,节省创作时间,提升创作效率。

智能推荐示范
智能推荐示范

翻译功能

内置免费的翻译功能可以将任意语言的提示词转换为英文,确保生成的提示词适用于不同的 AI 工具。这让用户在多语言环境下使用 IMGPrompt 更加便捷,减少因语言障碍造成的困扰。

翻译展示
翻译展示

随机换色功能

此功能允许用户快速替换提示词中的颜色词,为创作增添多样性和趣味性,激发创作灵感,帮助用户探索更多的创作方向。

界面说明

1. 选择提示词范围

在界面顶部,你会看到“选择对象”和“选择属性”两个区域。点击相应的标签(如“人物”、“表情”、“动作”等)来缩小提示词的范围,从而帮助你更准确地选择所需提示词。

界面说明
界面说明

2. 浏览和插入提示词

在“选择标签”区域,你将看到不同颜色的标签,每个标签显示的是英文提示词及其母语翻译。点击所需标签时,它们会自动添加到提示词文本框中,方便快速选取。

3. 编辑提示词和推荐

在右侧的提示词文本框中,你可以直接编辑或输入自定义提示词。请使用逗号分隔不同的提示词,系统将自动处理标签化的操作。

IMGPrompt 会根据你的输入自动匹配相关提示词并进行智能推荐。点击智能推荐标签,即可插入相应提示词。如果最后一个提示词匹配到提示词库中的内容,它将以打勾的绿色标签形式显示。

4. 使用常用功能

  • 快速插入:点击“肖像光线”和“常用润色”按钮,快速插入常用的提示词。
  • 否定提示:通过“否定提示词”按钮复制常用的否定提示词,帮助优化图像生成结果。
  • 翻译:点击“翻译”按钮,可以将任意语言的提示词转换为英文,确保在不同的 AI 工具中兼容,帮助非英语用户解决语言障碍问题。
  • 随机换色:使用此功能随机替换提示词中的颜色词,激发创意灵感。

5. 复制结果与清空

  • 复制结果:完成编辑后,点击“复制结果”按钮,将生成的提示词复制到剪贴板,方便直接粘贴到你选择的 AI 图像生成工具中。
  • 清空和重置:点击“清空”按钮,快速清除所有已选择的标签和输入的提示词,以便重新开始编辑。

结语

IMGPrompt 支持网页、客户端、Docker 部署,旨在简化 AI 图像生成的提示词创作过程。通过直观的界面和丰富的提示词库,它能帮助你更快速、更精确地表达创意想法。无论你是 AI 艺术创作的新手还是专业人士,IMGPrompt 都将是你强大的创作助手。

md-translator:专为 Markdown 优化的翻译工具

2024年8月14日 08:00

Markdown 是我日常使用最频繁的文本格式,但现有的翻译工具往往难以保持其原有格式。因此,我开发了 md-translator,一个专为 Markdown 优化的翻译工具,旨在 精准翻译文本的同时保持格式完整。其翻译机制类似于字幕翻译器,详细参数说明可参考 subtitle-translator 说明

为什么开发 md-translator?

在开发 md-translator 之前,我测试过以下工具,但由于各自的局限性,未能满足我的需求,这里简单记录它们的特点,供参考。

  • GT4T:支持 Markdown 批量翻译,用户可将整个文件夹拖入 GT4T 文件翻译器,自动翻译其中的所有 Markdown 文件。然而,该工具只能商用,即使添加自定义 API,仍要求付费,因此对个人用户不太友好。
  • Markdown Docs Translator:一款开源免费的 Markdown 翻译工具,基于网页版接口进行翻译。然而,翻译速度较慢,且在长文本处理中容易发生中断。

使用说明

本地缓存机制

所有翻译内容都会缓存在本地,以提高重复翻译时的速度。如果需要重新翻译,可以点击 “重置翻译缓存” 按钮。

Markdown 元素支持

md-translator 目前已支持解析以下 Markdown 语法,并在翻译时保持格式:

  • **FrontMatter 元数据(

004 | 破碎纪念品的重生

2024年7月5日 08:00

封面图片摄于法国南部的泉水镇 (Fontaine de Vaucluse),时间是二月。洞穴看似浅显,但深入镜头,可见泉水幽深无底。据说,历经十六次探测,仍未能精确测量出泉眼深度。

文章

破碎纪念品的重生

https://fellerts.no/projects/kintsugi.php

作者采用日本传统艺术“金继”(Kintsugi),修复了他特别的、已经破碎的咖啡杯,并分享了他在修复过程中的学习和体验。Kintsugi 是一种用金或银粉突出修复缝隙的古老日本艺术,它不仅修复了物品,还赞美了其历史和不完美。

修复后的杯子真的很漂亮,准备之后有机会试试。

ChatGPT 降低了网络自由职业者的需求

https://www.solidot.org/story?sid=78452

研究报告显示,自 2022 年 11 月 ChatGPT 问世以来,写作与编程自由职业者需求下降 21%。自动化易行领域,如写作、软件开发,职位空缺减少 21%;数据录入、社交媒体后期制作减少 13%;图像生成任务,包括平面设计与 3D 建模,相关职位减少 17%。

这是否也是经济下滑的因素之一?

工信部将制定脑机接口标准

https://www.solidot.org/story?sid=78599

工信部宣布,将制定脑机接口标准,正筹备脑机接口标准化技术委员会。委员会成立后,将围绕脑电采集、信号处理、反馈等环节,制定输入输出接口、数据处理、编解码算法等标准。此举标志着中国在脑机接口领域,将从学术研究转向更具针对性的研发。

中国的脑机接口技术,或许即将迎来突破。

尝试

微信无法登录后

这两天发现一个久未使用的手机号,曾用它注册过微信,如今却无法登录。尝试用该号码搜索微信账号,发现该号码已经被绑定在一个不认识的微信号上。尝试用之前的好友辅助登录,但没有任何效果,不确定是不是因为那个微信号已经重新注册了,与我没有关系。但手机卡一直在身边,不清楚怎么绑定在对方身上的。

最后,我用这个手机号重新注册了一个账号。注册过程中,微信提示「此号码已绑定另一微信」。我无视了这个警告,继续注册后,成功创建了新账号。不过,之前账号的信息自然都没有了。

消息通知选了微信

尝试了 Discord、Tele、Ntfy 等多种消息通知工具,但它们各自存在一些问题,如通知服务器不稳定、通知应用未打开等。在国内,使用微信获取通知可能是最方便且最可靠的方式。与之相比,其他消息通知工具容易被错过,而微信能确保消息的送达。

微信提供了两种类型的消息通知:

  • 企业微信应用:配置较为复杂,适合拥有专业开发团队的企业。在配置过程中,需要固定 IP 和备案域名,还需要获取有效期为两小时的 access token 进行授权(通过缓存可以减少请求次数)。具体操作指南和详细信息,可参考:获取 access_token企业微信推送详解

  • 企业微信群机器人(WeCom):使用相对简单。只需以个人身份注册一个企业微信账号,并在注册时声明为公司名义。注册后,无需进行认证,只需邀请两位朋友加入,组建一个内部群。若不希望使用额外的小号或让他人加入群聊,可向两位朋友发送邀请,无需要求他们点击加入链接。发送邀请后,群聊即成功创建。创建群聊后,可以将这两位朋友移除,这样你就拥有了一个专属的、仅用于接收通知的群组。

如果想在个人微信中接收企业微信的消息,可进入企业微信管理后台,在「我的企业」>「微信插件」中找到并分享二维码。该二维码有效期为 7 天,通过微信扫码后即可实现跨平台消息通知。

本地简繁转换

2024年6月27日 08:00

在处理文本时,经常需要用到简繁转换。然而,网络上排名前三的简繁转换工具均会将原文本发送至第三方服务商进行转换,这可能引发隐私问题。因此,我基于 opencc-js 构建了一个本地的简繁转换工具。相比之下, opencc无法在客户端运行,故未被选用。

本工具支持对文本、文档进行简繁转换,批量文档将自动按原文件名导出。

成品:https://tools.newzone.top/zh/chinese-conversion

更新支持

部分词汇的简繁转换可能存在问题,欢迎在下方留言,我将添加对特例的支持。

待更新功能:

  • 自定义替换:用户可自行设定由 A 转换为 B,实现特定词汇的转换。

Subtitle Translator:批量字幕翻译工具

2024年6月27日 08:00

近年来,随着在线视频的兴起,国外热门影视作品的翻译多由视频平台完成,而原本活跃的字幕组则逐渐淡出人们的视野。然而,对于冷门视频和自制视频的字幕需求却未能得到有效满足,导致未配字幕的视频数量持续增加。为解决这一问题,可以用 Whisper 工具为这些生肉视频自动生成字幕,并通过翻译接口将其翻译成中文。具体操作步骤可参考文章:找不到字幕?Whisper 让不懂外语的你也能看懂日剧

针对市面上字幕翻译工具存在的翻译速度慢、不支持批量处理、需人工干预等问题,我开发了一款免费且功能全面的字幕翻译工具——Subtitle Translator。该工具支持 .srt.ass.vtt 多种字幕格式,并具备秒级翻译速度,大幅提高翻译效率。我已成功转录超过 500 个视频,翻译后的字幕文件可在 whisper-subtitles 查看。

003 | 减缓新陈代谢的不是你的年龄

2024年4月26日 08:00

封面图拍摄于四月的敦煌月牙泉。那里的沙子极为细软,攀登沙山非常不易,我登顶便直接躺下,不想再动。直到日落前夕,温度骤降,我们才不得不离开。

文章

AI 让围棋选手变得更好

https://www.henrikkarlsson.xyz/p/go

在 AlphaGo 推出前,职业围棋选手的表现似乎已经达到了一个瓶颈,没有再有所提高。然而,AI 促使人类重新评估他们的动作和启发式,并放弃弱启发式。结果,职业围棋选手的表现得到了显著提高,并且变得更加创造力。这表明,人工智能可以促进人类技能的发展,并使人们变得更加创造力

A game of the board game Go in Japan 1876

降低新陈代谢的不是你的年龄

https://edition.cnn.com/2021/09/24/health/how-to-boost-metabolism-wellness/index.html

静息代谢从 20 岁到 60 岁保持稳定,此后每年下降不到 1%。新陈代谢的降低,与生活方式和锻炼方式密切相关。

  • 为了保持足够的脂肪代谢,每天至少要走 8,500 步(全天,而不是一次走完)。
  • 高强度间歇训练(HIIT)和力量训练都被证明对新陈代谢有统计学上的显着影响。
  • 多喝水也可能短暂地提高你的新陈代谢。研究表明,喝 0.5 升水可以使静息新陈代谢增加 24%,持续约一个小时。
bruce mars

社交媒体是青少年精神疾病流行的一个原因

https://www.afterbabel.com/p/phone-based-childhood-cause-epidemic

文章指出,社交媒体的增长与青少年心理健康问题有明显关联。研究显示,频繁使用社交媒体的青少年,自杀率和抑郁症发病率较高。此外,社交媒体使用还可能降低他们的自尊和幸福感。文章还讨论了社交媒体如何影响青少年的身体形象和自尊心,以及如何影响青少年的睡眠质量。

建议在高中之前,不为孩子提供智能手机或开设社交媒体账户。父母可以选择为孩子提供翻盖手机或智能手表。

Adem AY

工具

文件比对:diffoscope

https://diffoscope.org/

diffoscope 是一个用于对文件、存档和目录进行深入比较的工具,支持压缩包、ISO、PDF 等。它能够递归解包多种类型的存档,并将各种二进制格式转换为更易读的形式以进行比较。

网页总结插件:Elmo

https://chromewebstore.google.com/detail/elmo-your-ai-web-copilot/ipnlcfhfdicbfbchfoihipknbaeenenm

Elmo 是一款免费的多语言 AI 网络助手插件,无需注册或使用 GPT/OpenAI 账户即可使用。它能为用户提供摘要、解答问题和扩展知识等功能。

相比于 Kimi Chat 无法处理某些网页,Elmo 不受外网限制。不过,如果文章过长,Elmo 可能只会总结文章的前半部分。

思考

Vite vs. Webpack

在选择构建工具时,尽管 Vite 在开发中提供快速的热重载和原生 ES 模块支持,但我在 LearnData 博客部署中遇到了一些问题。

使用 Vite 时,每次更新都需要重新构建并替换绝大部分文件,而 Webpack 则只更新改动部分。在实际操作中,使用 Vite 更新一篇文章需要 12 分钟,而 Webpack 只需要 6 分钟。因此,出于效率考虑,我选择了 Webpack。

AI 能否取代人类编辑?

每次写文章后,我都会让 AI 检查错误和优化语法。然而,与专业编辑相比,AI 仍有不小的差距。

以我的 SSL 证书续签文章为例,人类编辑能精确指出文章中的具体问题,如内容不符、知识错误和对新手不友好等,这些反馈帮助我清晰地识别并改进错误。而 AI 往往提供看似合理但实际效果有限的建议,缺乏针对性和深度,有时甚至与文章的初衷不符。此外,AI 总会输出一堆正确性的废话,每次我都要删掉一半的输出。

自私的父母

因为宝宝太小,我们请了一位阿姨帮忙照顾。起初,阿姨既能带宝宝又能帮忙做家务,一切似乎变得更容易。但她的加入也让生活受到了一些限制,我们夫妻的自由不如以前。

后来,阿姨因乳腺有肿块需要手术,我只好把宝宝送回老家,由父母照看,并请了另一位住家阿姨。

我和妻子回归二人世界后,感觉自由多了,也能更好地按照时间表生活。可能我就是自私的父母吧。

002 | 应对焦虑/拖延的措施

2024年4月20日 08:00

封面图拍摄于 2016 年巴塞罗那的一个夏日夜晚。当时,人们与手机的关系还没有现在这般密不可分。从照片中可以看到,只有不到 10% 的人在使用手机拍照。

文章

AI 时代前的网络快照

https://news.ycombinator.com/item?id=40058399

搜索引擎倾向于将最新的内容视为更有价值的内容,而 AI 生成的内容已经淹没了互联网,因此保存一份 AI 输出较少的网络快照非常重要。这样可以帮助人们评估不同的信息源,并确定它们是否值得使用。Internet Archive 会成为许多初创企业用于 AI 模型训练的数据源。

英雄税:“无私”的人受到职业剥削

https://www.bbc.com/worklife/article/20240409-heroic-jobs-earn-less-money

当人们认为某些职业是“英雄”时,他们会认为这些职业的工作者不太在乎公平的薪资和更好的工作条件。这种现象在教育、医疗和军事等行业中尤其明显。这种现象可能会导致这些行业的薪资水平较低,并且可能导致其他人对这些行业的恶劣工作条件视而不见。

国家消防救援局

应对焦虑/拖延的措施

https://solvingprocrastination.com/anxiety/

焦虑和拖延是相互关联的两个心理状态,它们常常形成一个恶性循环。焦虑使人对任务产生厌恶,进而推迟执行;拖延又增加了任务的紧迫感,进一步加剧焦虑。以下是一些应对策略:

Joice Kelly
  • 正视并质疑你的恐惧:如果你害怕他人批评你的工作不够完美,问自己“他们真的会在意一些小错误吗?”或者“如果有人批评我的工作,那又怎样?”使用自我抽离来处理,比如设想如果朋友处于同样情况,你会给予什么建议。

  • 为未来的可能性做准备:确定可能会诱导你拖延的干扰因素,并计划如何应对。

  • 允许自己犯错:接受你的工作不会完美,尤其是初稿。

  • 将任务分解为小步骤:如写 PPT 可分为设定主题、创建大纲、查找资料、撰写内容、添加图片等小步骤。

  • 从微小的步骤开始:承诺只写一句话或者仅锻炼两分钟,减少开始的压力。

  • 建立启动仪式:如进行一段简短的平静呼吸练习,帮助缓解任务前的焦虑。

  • 任务间切换:如果某个任务卡壳,暂时转向其他任务。

  • 根据自己的生产力周期安排工作:比如早晨进行创造性任务。

  • 改善工作环境:如果环境嘈杂,可以使用降噪耳机或寻找更安静的地方。

  • 增强社交支持:找到榜样或责任人,减少与使你感到压力的人的接触。

  • 充分休息:确保进行足够的休息,以避免过度劳累。

  • 培养自我效能感:信任自己完成目标所需行动的能力,并思考如何成功执行这些策略。

  • 原谅自己过去的拖延:接受过去的错误,并集中精力完成现在的任务。

  • 发展自我同情:包括自我善待、认识到每个人都面临挑战、以及非评判性地接受自己的情感。

  • 认可并奖励自己的进展:例如,连续一周达成学习目标后,可以给自己一些小奖励。

创意/想法

国内图库

受视觉中国版权事件的影响,我不太敢使用国内图库。但国外图库又很少有中国人的形象。因此,我通常在政府机关的网站上寻找图片。这些机构的图片一般不涉及版权问题。

那么,是否可以建个专门的图库,集中收集政府公开的图像资源?这既方便政府宣传,也能补充国内图库的缺失。

开源项目筛选评分

https://news.ycombinator.com/item?id=40041954

尽管 GitHub 为开源项目提供了极好的平台,但在项目筛选和评分方面仍有不足。上方链接中讨论,创建一个类似 IMDb 或豆瓣的评分系统,让用户能够根据评分和其他用户的评论来筛选项目。

尝试

人生错题集/抱怨

https://www.simplermachines.com/why-you-need-a-wtf-notebook/

将「想抱怨的事情」记录在 WTF Notebook。(该想法虽与上述链接内容不相关,却由该文章启发。)

我习惯记录已完成的事项。虽然这些事情已经结束,但过程中难免会遇到挑战和困难。记录这些不愉快/想抱怨的情况,就像是整理一本人生的错题集,有助于我们发泄和释放负面情绪,避免情绪积压。

如何应对 SSL 证书有效期缩短:自动续签与监控指南

2024年4月9日 08:00

数字证书颁发机构 Gworg(光网)宣布,从 2023 年 12 月 31 日开始,将停止签发为期一年的「TRUSTASIA」单域名 SSL 证书,这是市场上最后一款提供一年期免费 SSL 证书的产品。

鉴于阿里云等国内服务商广泛采用此证书,这意味着使用免费证书的网站需要每 3 个月进行一次续期。而网站的 SSL 证书一旦过期,网站便无法通过 HTTPS 安全访问,在主流浏览器中将无法打开,或者会显示安全警告。这一调整使得管理多个域名或子域的难度显著增加,许多个人网站和图床也面临因证书过期而暂时下线的威胁。

本文将介绍几种有效的 SSL 证书续签和监控方法,并通过申请免费的泛域名证书来简化域名管理流程。

Certbot 自动续签

Certbot 是一个免费的开源应用,用于自动获取并续签 Let's Encrypt 提供的 SSL/TLS 证书。Certbot 支持泛域名的免费 SSL 证书,用户仅需一次性申请,即可实现对所有子域名的覆盖,大大简化了证书的管理工作。然而,Certbot 的自动续签功能依赖于 80 端口的访问,这在国内的家用宽带环境中常常受限。针对这种情况,可以使用反向代理工具 Nginx Proxy Manager 来实现自动续签。

以下是使用 Certbot 在 Debian 11 系统上,通过 certbot-dns-aliyun 插件自动获取和续签阿里云托管域名的泛域名 SSL 证书的具体步骤。如果你使用的是其他域名托管服务,如 Cloudflare,则将插件替换为 certbot-dns-cloudflare,其他步骤相同。

1. 安装 Certbot 和插件

首先,安装 Certbot:

sudo apt update
sudo apt install certbot

然后,安装 certbot-dns-aliyun 插件,以允许 Certbot 自动配置 DNS 记录,验证域名所有权。由于这个插件不在 Certbot 的官方仓库中,你可能需要使用 pip 来安装:

sudo apt install python3-pip
sudo pip3 install certbot-dns-aliyun

2. 配置 AccessKey 凭证

  1. 在阿里云控制台创建一个拥有 DNS 配置权限的 AccessKey 密钥。

  2. 创建一个文件来保存你的 AccessKey 凭证,并确保文件权限安全:

    sudo mkdir /etc/letsencrypt
    sudo touch /etc/letsencrypt/aliyun.ini
    sudo chmod 600 /etc/letsencrypt/aliyun.ini
  3. 编辑 /etc/letsencrypt/aliyun.ini 文件,输入你的 AccessKey 密钥信息:

    dns_aliyun_access_key = YOUR_ACCESS_KEY
    dns_aliyun_access_key_secret = YOUR_ACCESS_SECRET

3. 使用 DNS 插件获取证书

运行 Certbot 并指定 DNS 插件及配置文件:

sudo certbot certonly \
  --authenticator dns-aliyun \
  --dns-aliyun-credentials /etc/letsencrypt/aliyun.ini \
  --dns-aliyun-propagation-seconds 60 \
  -d "*.newzone.top" \
  -d newzone.top

-d 参数用于指定你想要证书覆盖的域名。上方的命令会为 newzone.top 和所有子域 *.newzone.top 获取证书,证书在同一个文件。若涉及多个域名,可通过添加多个 -d 参数来指定。如果不想多个域名的证书混在一起,建议分批执行上述命令。

4. 自动续签证书

Certbot 默认会设置自动续签。你可以通过以下命令测试续签是否成功:

sudo certbot renew --dry-run

如果测试成功,Certbot 将自动处理证书续签。当证书剩余有效期不足 30 天时,系统便会自动续签,将有效期恢复至 90 天。

在使用 Certbot 与某些云服务提供商(如阿里云)进行首次自动续签时,Certbot 的自动续签行为有时可能被云服务平台误认为是异常的 Access Key 调用行为,导致系统自动触发安全警报。比如,阿里云半夜给我打电话通知风险(还好我开启了免打扰,尽管这类通知十分必要)。如果你接收到了此类通知,不必太担心,只需进行正常检查即可。

5. Nginx 配置

使用 Certbot 自动更新 Let's Encrypt 证书后,证书名称会随每次更新而变化。为确保 Nginx 始终加载最新证书,我们应将 SSL 证书配置为指向最新证书的符号链接。

server {
    listen 443 ssl;
    server_name newzone.top;
    ssl_certificate /etc/letsencrypt/live/newzone.top/fullchain.pem;  # 组合证书文件路径
    ssl_certificate_key /etc/letsencrypt/live/newzone.top/privkey.pem;  # 私钥文件路径
}

接着,在 /etc/letsencrypt/renewal-hooks/deploy/ 目录中创建一个名为 restart-nginx.sh 的脚本文件,并添加以下内容:

#!/bin/bash
systemctl reload nginx

为脚本文件授予执行权限:

sudo chmod +x /etc/letsencrypt/renewal-hooks/deploy/restart-nginx.sh

这样配置后,每次证书续签成功时,Certbot 会自动执行此脚本,从而重载 Nginx 以应用新证书。如果不重载配置或重启 Nginx,系统将不会自动识别证书的更新,继续使用旧证书。

CDN 手动续签

对于使用图床或 CDN 服务的用户,由于云服务商的授权问题,证书可能无法通过 Certbot 等服务自动续签。例如,阿里云和七牛云都提供了 SSL 证书的相关接口,但根据客服的说法,这些接口并不能用于替换 CDN 的域名证书,自动续签只支持付费 SSL 证书,免费用户必须手动执行证书续签过程

即使是手动续签,你依然可以继续使用通过自动化工具获得的泛域名证书。下面介绍手动续签的具体步骤:

  1. 定位证书文件

    Certbot 的泛域名证书通常存放在 /etc/letsencrypt/live 目录下。对于使用 nginx-proxy-manager 的用户,证书则存储在 config/letsencrypt/archive 目录中,该目录下包含多个以 npm- 开头的编号文件夹,例如 npm-1,这里的数字表示证书的申请序号。

  2. 上传证书至 CDN

    在 CDN 的管理界面中自定义上传证书来替换旧的泛域名证书。粘贴 fullchain.pem 文件的内容作为证书(公钥),privkey.pem 文件的内容作为私钥。

    CDN 证书上传界面
    CDN 证书上传界面

托管类续签

  • CDN 托管:将域名托管到 Cloudflare 并开启代理后,本质上相当于让访客先连接到 CF 网络,这一段流量就由它负责加密了,所以会自带 SSL 证书。

  • 全托管部署:当你将网站部署在 Vercel 时,所有的内容都托管在它的网络上,因此不需要用户自己上证书。(@PlatyHsu)

  • 宝塔面板:我曾通过宝塔面板来自动续签 SSL 证书,但它不支持泛域名且仅限于服务器托管的域名。此外,当我试图续签多达 10 个子域名的 SSL 证书时,其中有 3 个子域名的续签尝试失败了。此外,宝塔面板面临许多争议,使用时注意风险。

SSL 证书监测

定期监测 SSL 证书的状态是维护网站安全和可靠性的关键环节。这不仅有助于确保数据传输的加密,还能及时发现并解决证书过期或其他相关问题,避免网站访问受到影响。

我使用 Uptime Kuma 来监控 SSL 证书的状态,以下是监控设置步骤:

  1. 进入 Uptime Kuma 实例,点击右侧“+”按钮来添加一个新的监控项目。
  2. 选择监控类型。对于 SSL 证书监控,选择“HTTP(s)”类型,因为这涉及到监测一个使用 SSL 证书的网站或服务。
  3. 在下方「高级」设置中,勾选启用「证书到期时通知」。

完成这些步骤后,Uptime Kuma 将开始监控指定网站的 SSL 证书状态。如果证书接近到期日期,你将根据你的通知设置收到警报。Uptime Kuma 默认会在 TLS 证书剩余有效期少于 21 天、14 天、7 天时发送提醒通知。你也可以在设置>通知>TLS 证书过期通知,修改提前通知天数。

如果只需要监测 SSL 证书的到期日期,也可以考虑更轻量的 Domain Admin

更多

我很难理解国内云服务商对 SSL 证书的做法。提高 SSL 证书费用的同时增加免费证书续签的难度,这样的策略似乎是为了鼓励用户购买付费证书。然而,这种做法可能没有充分考虑到国内用户的付费习惯。对于像我这样的用户,云服务开销主要集中在服务器和 CDN 流量上,不会考虑昂贵的 SSL 证书。目前市场上,单域名 SSL 证书的年费用已超过 300 元,若需覆盖多个子域名,则需购买泛域名证书,费用更是高达 1000 元以上,这甚至超过了我为服务器所支付的费用。

云服务商的这种定价策略可能源自他们自身面临的高运营成本,如昂贵的商业宽带费用等。面对这样的压力,他们可能无奈地将成本转嫁到 SSL 证书等终端产品上。尽管这可以理解,但对于像我这种个人用户来说,当 SSL 证书的开销超过服务器本身时,显然难以接受。这也是我写这篇文章的原因。

001 | 墙上白板的新用途

2024年4月5日 08:00

封面图拍摄于三月的徐汇滨江樱花。上海散步休闲的地点并不多,徐汇滨江算是个好去处。不过选择在樱花季来此一游,需要做好与众多同行者“共赏”的心理准备。疫情几年人还少点,今年一看人比花多。

文章

AI 内容的文化影响

https://www.solidot.org/story?sid=77739

不管是文字、图片还是视频,大量 AI 生成的内容正在影响我们的文化生态。

Jim Stoten

开源项目的挑战

https://www.solidot.org/story?sid=77741

从 xz 后门事件看开源项目维护者和用户关系。Jia Tan 是少数或者可能是唯一一位愿意“帮助”而不是抱怨开发停滞的人。Lasse Collin 表示考虑让 Jia Tan 扮演更重要的角色,甚至让其接手维护。对于不断抱怨和提出要求的用户,他强调这是一个无薪水的业余项目。在“用户”不断的要求之下,Jia Tan 成为了项目的共同维护者。开源项目的 bug 多也有多的原因。

有人通过 Jia Tan 代码提交的时区和春节期间的工作时间猜测,他可能居住在东欧,而且不是中国人。[1]

通货膨胀目标 2% 的由来

https://sites.lsa.umich.edu/mje/2023/09/04/why-the-2-inflation-target/

美国联邦储备系统(Federal Reserve)将通货膨胀目标设定在 2%,并非基于深入的策略考量,而是受到新西兰政策的影响,并在日本长期通缩的背景下,逐渐被全球经济体系接受和采纳为核心假设。

Austin Distel

维生素 D 的副作用

https://www.devaboone.com/post/vitamin-d-part-2-shannon-s-story

过量摄入维生素 D 可能导致健康风险,有可能导致高钙血症。

冲洗耳朵、鼻子也要用净化水

https://www.solidot.org/story?sid=77600

美国疾控中心的研究表明,即便是饮用安全的自来水,也不适合用于清洁鼻窦或眼睛,以防原虫感染。案例中病人通过洗鼻壶和喷射瓶使用自来水清洁鼻窦后遭遇了危及生命的阿米巴原虫感染。

Jos Speetjens

新尝试

白板的新用途

将执行时间表全部放在墙上的白板上,这个方法让我能更直观地看到每天的任务,有效避免了遗忘或跳过某些计划的情况发生。与传统的电子提醒相比,这种方式更加直观,也让我能在完成任务时有更直接的成就感。

开源 AI 工具:Ollama

最近,我尝试在本地部署了Ollama,它支持一键部署并执行,还配有本地端口,非常便捷。我测试了 gemma、llama2、阿里千问几个模型,虽然使用体验一般而且数据,但 Ollama 为想要尝试和研究 AI 模型的用户提供了极大的便利。更多开源模型可以在 ollama Models library 中找到。

另外,这些开源模型虽然也受社会道德和法律的限制,但较之于闭源平台,它们提供了更多的灵活性。下图为魅魔提示词在阿里千问 72b 模型中的测试。

翻译模型的选择

在对短句进行翻译效果测试时,Google Translate 表现最为出色,尤其是在翻译日语字幕方面。相较之下,AI 模型在处理长文本翻译时显得更加得心应手。我们在选择翻译工具时,应考虑翻译内容的长度和复杂度。

身边消息

低成本的资料采集

近期接到的几个咨询单主要来自学生的采访。相较于传统的线下访谈,通过知乎、在行、知识星球等平台进行线上咨询不仅成本更低,而且效率更高,非常适合个人的咨询和社会资料采集。

上海企业社保下调

上海对企业的社保开始降负了:自 2024 年 3 月 1 日起,本市阶段性调整职工基本医疗保险费费率,职工基本医疗保险单位缴费费率由原 10% 调整至 9%,单位费用减少 1%。

阿里云电话轰炸

自称是阿里云客户经理的人连续给我打了四通电话,都是同一个人,使用同一号码(95187)。在第三通电话时,我已经明确告诉对方,这已经是他今天给我打的第三通电话了。但隔天又打了第四通,可以拉黑阿里云官方号码了。后续,我在微博上吐槽了,发布后 1 小时,阿里云就在微博上回复说要跟进,舆情监控做得真牢。

  • @S0litary333:腾讯云客服直接来加微信,甚至还会朋友圈点赞。阿里云是说加钉钉,直接回不用钉钉。
  • @路中南:差不多,而且每一次要到了可以续费的日期(也就是到期日的七日前)就是电话加短信狂催。

  1. Who is the mysterious Jia Tan who installed a backdoor in the compression tool XZ Utils? ↩︎

RSS 入门篇:Feed43&FeedEx-为静态网页定制 RSS 源

2017年4月22日 20:54

Feed43 在 2023 年 8 月停止服务。如有需求,可尝试使用 http://45.79.136.9/,该网站提供相似功能。但需注意,其建立者身份不明,且无法保证其稳定性。

迷上 IFTTT 等自动化应用后,我需要为各种不同的网页定制 RSS 源。其中,最容易入门的工具是 FEED43。本文是一篇介绍如何使用 FEED43 定制 RSS 源的入门指南。

► 开始烧制属于自己的 feed

1. 进入网页

FEED43 不需要注册,点击「Create your own feed」即可使用。

2. 选定 RSS 网页

在「Step1. Specify source page address (URL)」中输入目标网址,将 Page Source 中的内容复制到 txt 文档中,以便之后编写抓取规则。

如果 Page Source 显示为乱码,可将 Encoding 设置为 UTF-8

3. 定制 RSS 抓取规则

「Global Search Pattern」是选择要搜索的范围,建议不填此项,这样会搜索整个页面。「Item (repeatable) Search Pattern」这部分最重要,是我们要抓取的内容。

仔细查看上方获取到的 Page Source,找到需要抓取的元素,输入到「Item (repeatable) Search Pattern」。

测试网址:http://news.163.com/special/0001386F/rank_whole.html

需要抓取的源代码:

<tr>
  <td class="red">
    <span>2</span
    ><a href="更时尚更运动 车展实拍解析红旗 H5"
      >更时尚更运动 车展实拍解析红旗 H5</a
    >
  </td>
  <td class="cBlue">11211615</td>
</tr>

抓取规则

<tr>
  {*}
  <td class="{*}"><span>{*}</span><a href="{%}">{%}</a></td>
  {*}
  <td class="cBlue">{*}</td>
  {*}
</tr>

点击 Extract,进行抓取。

4. 整理 rss 输入格式

「Define output format」是 Feed 的属性,通常前三项会被自动抓取一,后三项将之前获取的 item 里面的元素填入即可,{%1} 对应的是链接,所以填入「Item Link」,{%2} 对应标题则填入到「Item Title」。

然后点击「preview」,完成制作,同时可以查看预览效果。

如果注册了 FEED43 的账号,可以修改 RSS 地址,但链接不能使用中文,否则会导致 RSS 出错。

5. 获取 RSS 地址

点击 Feed URL 可得 RSS 地址,样例是 https://www.feed43.com/dianji.xml

在阅读器中的效果如下:

6. 全文抓取

FEED43 导出的条目需要点击链接才能查看内容。要在 RSS 中展示全文,需要通过 FeedEx 再转换一次。注意:FEED43 免费用户过多,需要在浏览器中打开一次才能获得真实链接(一般为 http://node2.feed43.com)。FeedEx 需要使用真实链接,一般 3 分钟内转换完毕。

FeedEx: https://feedex.net/

Feeds43 的免费版每 6 小时抓取一次,最多显示最新的 20 条内容。如果网页源更新较频繁,建议使用 RSSHub 和 Huginn。

RSS 合集

汇总的 RSS 永久订阅 feeds 均通过 RSSHub 和 Huginn 制作。如果有兴趣自制 RSS,可参考以下教程。

跳过第三方软件,一步到位实现微信双开的秘密

2017年4月18日 08:00

由于工作需要,我经常在电脑上同时登录多个微信账号。然而,微信规定一个客户端仅能登录一个账号,这导致我不得不同时使用 PC 端和网页版,显著降低了操作效率。随着「微信 For Windows」和「微信 UWP」版本的停用,我们曾依赖的多客户端策略变得几乎无效了。如果你之前安装了旧版的微信 UWP,好好珍惜吧。

要在不使用第三方软件的情况下实现微信的多开,现在只能依赖微信自身的一个小漏洞。通过快速双击微信图标,可以实现多开。

双击多开

要开启多个微信,只需按住回车键,同时左键点击微信图标,点击次数决定了开启的微信数量。这个小技巧是@刘舒怡分享的:

只要在 2 秒内快速连续双击打开软件,就能弹出很多登录界面,你想登多少个就登多少个

如果你不喜欢手动点击,可以使用以下脚本,保存为 start_wechat.bat 文件。这个脚本将启动三个微信,你可以根据需要复制更多的 start 行。

@echo off
start "WeChat" "C:\Program Files\Tencent\WeChat\WeChat.exe"
start "WeChat" "C:\Program Files\Tencent\WeChat\WeChat.exe"
start "WeChat" "C:\Program Files\Tencent\WeChat\WeChat.exe"

有开发者制作了多开补丁 RevokeMsgPatcher,支持微信、QQ 和 Tim。国内下载链接: 蓝奏云(密码:coco) | 百度云。使用该补丁后,每次点击应用图标都会打开一个新的登录窗口,可根据个人需求选择使用。不过,我更喜欢直接通过 .bat 脚本实现多开。

开机多开微信

如果你希望电脑开机时自动多开微信,可以把上述脚本的快捷方式放入 Windows 的开机「启动」文件夹。通常这个文件夹路径为 %AppData%\Microsoft\Windows\Start Menu\Programs\Startup。或者,打开「运行」对话框,输入 shell:startup,回车即可。

开机多开微信
开机多开微信

多客户端(已失效)

从 2024 年开始,「微信 For Windows」和「微信 UWP」均已下架,新版的微信 Store 版也无法与微信 PC 版同时安装。因此,这一方案仅供记录,已不再有效。

打开「运行」对话框,输入并启动「应用商店」或「Microsoft Store」,搜索并安装「微信 For Windows」「微信 UWP」。

安装微信客户端
安装微信客户端

安装后,你可以同时启动微信 PC 版和这两个版本,互不干扰。如果你希望开机时自动启动这两个微信,可以把它们的快捷方式放在开机启动文件夹内。

多客户端微信
多客户端微信

总结

应用多开似乎越来越不受欢迎,比如新版 QQ 已经移除了多账户登录选项。但实际上,用户是怎样想的呢?这又有谁在乎呢?

❌
❌