使用 Mailu 搭建邮件服务器

Mailu 是一个开源的邮件服务器,可以使用 Docker 部署安装,后台界面使用 Python & Flask 开发。Mailu 整体比较轻量,使用起来也非常舒服。 个人总结的优点 Mailu 非常轻量,相较于 [[Mailcow]] 非常轻量简洁 自带域名昵称,转发等等常用功能 支持两个 Webmail 分别是 roundcube/rainloop 自动生成 DKIM/DMARC/SPF 记录 可以使用官网的配置,使用 Docker 一键完成安装 建议在开始自建之前先阅读: 电子邮件是如何工作的 并了 Read more ...


k3s k3d kind minikube microk8s 对比

在本地运行一个 [[Kubernetes]] 可以确保应用可以运行生产环境中。所以可以在本地运行一个类似于 [[minikube]] 的服务,提供一个 Kubernetes 环境。 Kubernetes 是一个 Google 开源的容器编排平台,提供了强大的自动化部署,扩容,管理功能。它提供了非常简单的方式来管理多台机器上的容器,并且提供了负载均衡,资源分配等方式来确保每一个应用都以最优的方式运行。 虽然 Kubernetes 被设计跑在云上,但是很多开发人员依然需要在本地跑起一个 Kubernetes,这就需要一些工具来帮助我们在本地设置这样的一个 Read more ...

2021-07-25 k8s , k3s , kubernetes , microk8s , google , kubectl

配置 MySQL master-master 双主同步

最近正好买了两台配置一样的 VPS,整理学习一下 MySQL 的双主同步配置。 假设有两台服务器,分别安装了 MariaDB。 Install MariaDB on Ubuntu 18.04 sudo apt update sudo apt install mariadb-server sudo mysql_secure_installation 两台机器的IP分别是: 10.10.10.1 10.10.10.2 首先配置第一台 修改 MySQL 配置 vi /etc/mysql/mariadb.conf.d/50-serve Read more ...

2021-07-23 mysql , database , replication

使用 gdu 快速查看磁盘空间占用

gdu 是一个使用 Go 编写的,非常漂亮的磁盘空间占用分析工具。 直接运行 gdu 可以展示一个非常直观的磁盘空间占用。 gdu 为 SSD 做了优化,但在机械硬盘上也能很好的工作。 Install Linux: curl -L https://github.com/dundee/gdu/releases/latest/download/gdu_linux_amd64.tgz | tar xz chmod +x gdu_linux_amd64 sudo mv gdu_linux_amd64 /usr/bin/gdu macOS: br Read more ...

2021-07-16 linux , gdu , du , disk , disk-space , cli , go-lang

手工编译安装 macOS 下的 Rime(鼠须管)

因为 macOS 下的 Rime 输入法(鼠须管) 不是经常更新二进制,所以要体验性特性总是要手工进行编译安装。 之前的想要 Rime 实现按下 Esc 切换为英文时,看到 commit history 有提交的时候就尝试手工编译安装了一下。一直都在笔记里面,现在整理一下发出来。 Prerequisites 安装 Xcode 12.2 及以上 首先从 App Store 中安装 Xcode 12.2 及以上版本。 如果只有 Xcode 10 只能编译 x86_64 的版本。 安装 cmake 从官网 下载安装。 或者从Homebrew 安装 Read more ...

2021-07-11 rime , squirrel , macos , input-method , mac

手工编译安装 librime

librime 是 Rime,包括各个系统上的桌面版,Squirrel(鼠须管) 等等依赖的核心库。 Preparation 首先要安装 Xcode 和命令行工具,以及必要的编译工具: brew install cmake git Get the code 获取代码: git clone --recursive https://github.com/rime/librime.git or download from GitHub, then get code for third party dependencies separately. Read more ...


JWT 认证使用

现代 Web 应用一般常用的认证方式有如下两种: session cookie session 认证需要服务端大量的逻辑处理,保证 session 一致性,并且需要花费一定的空间实现 session 的存储。 所以现代的 Web 应用倾向于使用客户端认证,在浏览器中就是 cookie 认证, 但是 Cookie 有明显的缺陷: Cookie 会有数量和长度限制 Cookie 如果被拦截可能存在安全性问题 为什么要认证 数据安全: 进行安全的验证,服务端可以无状态认证 签名,只有信息发送者才能产生别人无法伪造 Read more ...

2021-06-29 jwt , authentication , session , cookie , python , java

Duplicacy 增量备份工具使用

Duplicacy 是一个用 Go 语言实现的,开源的,跨平台的备份工具。 特性: 命令行版本对个人用户完全免费 付费授权会提供了一个网页端管理 支持 Amazon S3,Google Cloud Storage,Microsoft Azure,Dropbox 和 Backblaze 等云存储,本地磁盘,SFTP 等等 支持多个客户端备份到同一个云存储 支持增量备份 支持加密备份 Lock Free Deduplication 这是一个对 Duplicacy 实现原理的简单介绍,完整的说明可以参考发布在 IEEE Tr Read more ...


使用 Netdata Cloud 监控所有的机器

很早就开始用 Netdata,新买来的 VPS 直接一行命令就可以安装,并且提供了一个非常不错的监控后台。但是因为没有办法在一个中心化的地方管理我所有的机器,所以之前都是用一个简单的 nodequery 服务来监控服务器是否在线,CPU、内存、流量使用率,但 nodequery 已经很多年没有更新,而最近去看 Netdata 官网的时候发现其退出了一个 Netdata Cloud 的服务,体验下来确实直接可以代替 nodequery 了。 什么是 Netdata Cloud [[Netdata]] 是一款非常漂亮并且非常强大的监控面板,由于 Netd Read more ...


Ubuntu 下启用 SFTP 服务

[[SFTP]] 全名为 SSH File Transfer Protocol,是一种通过 SSH(Secure Shell)协议进行文件传输的网路协议。它提供了一种安全的方式来传输文件,因为所有传输的数据都会被加密,这可以防止数据在传输过程中被拦截和阅读。 SFTP 不仅可以进行文件传输,还可以进行远程文件管理,例如创建和删除远程目录,移动和重命名远程文件等。这使得 SFTP 成为一种非常强大的工具,尤其是对于需要远程管理文件的开发者来说。 在互联网的早期人们都使用 FTP 来传输文件,FTP 是 File Transfer Protocol 文件传 Read more ...

2021-06-07 sftp , ubuntu , linux , ssh , file , backup

最近文章

  • 突破 Claude Code 5小时限制:利用 GitHub Copilot 代理 Claude Code 请求 如果大家高频使用 Claude Code 进行代码对话和生成工作的话, 经常会遇到 5 小时的限制。 幸运的是,如果你已经订阅了 GitHub Copilot,现在有一个巧妙的解决方案:通过本地代理将 GitHub Copilot 的 Claude Sonnet 4 模型转换为 Anthropic API 格式,从而绕过 Claude Code 的使用限制,继续享受顶级的 AI 编程体验。
  • Claude Code PM 开源项目: 给你的 Claude Code 配置一位 PM 在我使用使用 Claude Code 过程中,借鉴 Kiro,我逐渐习惯让 Claude Code 编写一个产品设计书放在 docs 文件夹下, 然后我会仔细地审查这一份产品设计文档, 修改其中的不明确的点, 或者是说 AI 理解错误的内容, 然后再让 Claude Code 通过这一个产品设计书来实现完整的代码。然而今天我看到的一个开源项目 Claude Code PM ,则是将我上面实现的这一套文档驱动的开发流程转变成了更专业的,更符合团队业务需求的流程,并且引入了敏捷开发,项目管理中的重要概念,及时是一个人的项目,通过 Claude Code PM 的流程约束,我发现 Claude Code 的智能程度也提升了不少。
  • Whispering 开源离线的语音转文字应用 在之前的视频和文章当中,我给大家介绍过非常多语音转文字的应用, 有订阅制的 [[Aqua Voice]] ,[[Wispr Flow]] ,[[Voicenotes]],[[VoiceInk]] ,[[superwhisper]] ,也有免费的 [[Spokenly]] ,在本地完全离线运行的 [[Tok]] 。 今天要为大家介绍的Whispering,正是这一领域的颠覆性产品——一个真正的开源、本地优先的语音转文字应用。
  • Crystal: 多 Claude Code 实例管理器 之前的视频当中介绍过了 Claudia,它是一个 Claude Code 的桌面管理器,它将很多 Claude Code 的终端功能迁移到了桌面版当中,它也支持在应用内直接和 Claude Code 进行对话,但是它缺少了一个核心的功能,那就是当我在同一个项目中开启不同的 Session 时,有可能产生冲突,为了避免这个问题,官方的解决办法是使用 Git worktree,在开发不同的功能时,使用不同的 Worktree 来隔离每一个 Cloud Code 的环境。 今天要介绍的 Crystal 就是这样的一款可以支持多个 Cloud Code 的桌面客户端,并且每一个会话之间相互隔离。
  • 解决 Claude Code 上下文丢失问题: claunch 项目会话管理 今天在使用 Claude Code 的过程,发生了一件非常沮丧的事情,我远程控制的 Claude Code 电脑忘记插上充电器,平时都是依靠连接的显示器进行充电的,昨天晚上将显示器关闭,导致使用的时候一直都是用的电脑的电池,于是在中午的时候,我通过 [[VibeTunnel]] 连接不上我的 Claude Code 了。并且 Claude Code 中执行的内容也中断了,最关键的是有一些上下文,如果重新再来,极有可能造成很大的不一致。

赞助