使用C2 Object Storage作为图床

C2 Object Storage是群晖提供的云存储服务,有15G/月的免费额度(存储空间与流量),付费计划也相当实惠,大陆地区可直接访问北美和欧洲两个数据中心,实测下载速度可达5M/s左右,这两个数据中心的额度是彼此独立的,如果你拥有群晖账号,则可以一键开通C2并在这两个区域任意切换,Synology 知识中心-C2 Object Storage可以找到有关安装与使用的说明。 C2 Object Storage兼容大部分S3 API,在我看来,比较大的缺憾是不支持网站设定(文件直链,即链接域名不可自定义,并且是动态生成的:以Endpoint+有效期签名的形式)和CORS(跨站资源共享),不过,有办法解决这些问题,至少作为图床来说是足够的。 这得益于Alist这款开源文件列表托管程序,它可以将阿里云盘、OneDrive、蓝奏云、FTP、AWS S3、WebDAV、百度网盘、夸克网盘、一刻相册等个人网盘、对象存储服务OSS转为Web目录和WebDAV,并支持将其中的文件跨域直链,前提是你拥有一台24小时运行的服务器,并用Docker的方式部署它,部署的教程参考官方文档即可。…

修复Amazon SES 邮箱无法连接的故障

我邮箱收到一封系统退信,显示无法连接到亚马逊的中继服务器: This is the mail system at host mail.nigzu.com. I'm sorry to have to inform you that your message could not be delivered to one or more recipients. It's attached below. For further assistance, please send mail to postmaster. If you do so,…

自建邮局一年后的经验之谈

近日,一则“某国外老哥关闭自我托管了23年的邮箱,转而向大厂投降”的新闻[1]引起热议。 说的是电子邮局大厂(Outlook、Gmail等)会屏蔽家庭宽带的 IP 地址,有些甚至会屏蔽一些独立公网 IP,自托管的邮箱向这些主流邮箱投送邮件,要么被拒收,要么被当作垃圾邮件,由于大部分人使用这些邮件服务商,这让自托管变得困难。 我也使用自托管邮箱,早先检查DNSBL数据库发现,的确我源服务器的IP总是在个别垃圾电邮黑名单里,通常家庭宽带运营商(ISP)默认将分配给家庭用户的公网IP都列入政策封锁列表(PBL)中,实测至少Outlook会屏蔽直接从我源服务器发出的邮件,QQ邮箱倒是来者不拒。 如果你需要使用自己的域名邮箱,一种方式是使用阿里云、Zoho之类的企业邮,有免费的,功能受到限制,需要提交一些个人信息,使用一段时间后容易收到一些广告邮件等等缺点,更重要的是:数据并不掌握在自己手里。因此,如有可能,邮箱当然还是自建的好。 自建邮局并非不可行,有避免被主流邮箱屏蔽的方法:使用中继主机。我开通了Amazon SES(主用)和Mailgun(备用)…

Ghost进阶: 一些依赖项的配置

更新时间:2022年9月15日13点40分 配置方式 如果没有自定义配置Ghost将使用默认配置,自定义配置:config.development.json和 config.production.json,这两个文件分别应用于开发和生产运行环境,默认在环境变量中指定: NODE_ENV=production(or development) Docker部署的容器直接映射配置文件在本地,方便修改,修改后重启才能生效。这两个文件在容器中的路径是: /var/lib/ghost/config.production.json /var/lib/ghost/config.development.json 环境变量也可以替换默认配置中的选项,嵌套配置选项使用两个下划线分隔,例如: admin__url=domain 对应: "admin": { "url": "domain"…

解决群晖 Vaultwarden WebSocket的问题

更新时间:2023年7月29日00点30分 Vaultwarden可以在服务端与客户端实时同步,通过持久的WebSocket连接实现[1],因此仅限于浏览器插件和桌面软件,移动端的同步则需要在APP上手动刷新。 v1.29.0 升级说明 Vaultwarden 升级到 v1.29.0以上版本后 WebSocket 通过 Rocket 连接(默认启用),将不再需要单独的端口。旧的实现在v1.29.0中仍然可用,但这将在未来被删除。 可以在配置文件“.env”中“WEBSOCKET_ENABLED=false”关闭旧的 WebSocket 连接。 Nginx反代仍然需要设置Upgrade、Connection。以下配置方式Vaultwarden不再需要,不过可以作为群晖自定义Nginx配置的示例。 配置步骤 想要启用WebSocket通知,首先在.env或环境变量中设置字段:WEBSOCKET_ENABLED=true,如果通过Dcoker 桥接,将WEBSOCKET_PORT端口映射到外部环境(…

Ghost进阶:邮箱配置避雷

更新时间:2022年8月28日00点02分 发送邮件类型 Ghost站点产生两种邮件类型,一种是通过SMTP发送的事务性邮件,用于会员注册/登录确认、管理员密码重置等;另一种是通过API发送的批量型邮件,用于Newsletter新闻通讯:文章批量推送到订阅会员的邮箱。目前批量邮箱仅支持Mailgun的API,尽管官方表示后续将提供更多接入,但这是一个长期以来就有的需求,恐怕短时间内不会得到开发。 如果要用Mailgun以外的邮箱发批量邮件,只能结合Zapier或自己开发外件,这里有一个例子,需要许多额外的工作。 为什么不能用SMTP发送批量邮件? 首先一般邮箱服务商有限制,不允许用户同时发送大量邮件;另一方面大多数收件人的邮箱也会过滤从未知域名、未知IP发送的大量邮件,甚至包括合法的电子邮件服务提供商,一经检测大量发送,会被当作垃圾邮件,并将IP拉入黑名单。这是一种保护措施。 Mailgun开通过程中遇到的问题 Mailgun是一家提供发送、接收和跟踪电子邮件的服务商,每个月有发送1000封的免费额度,我在注册过程中碰到一些问题: 1. Mai…

Ghost进阶: Cloudflare相关

更新时间:2022年9月6日23点56分 图片无法跨域 关闭"Scrape Shield-Hotlink"保护(防止站外链接指向您的图像。)否则NewsLetter无法显示文章中的图片。 用Cloudflare Web Analytics Cloudflare 有一个功能全面的网站分析(Web Analytics)面板,如果你的域名托管在Cloudflare,则会自动进行访问统计,不需要在网站中植入脚本;否则,需要一段Cloudflare提供的JavaScript代码,可以在Ghost-Sttings-Code injection中引入,实测会被浏览器AdBlocker广告过滤插件会拦截,因此,如果域名不在Cloudflare解析,推荐用自托管的站点统计工具umami(Demo),好处是可以统计所有时段而不仅限于一个月,其他与Cloudflare相差无几。 用Cloudflare CDN Cloudflare的免费CDN只提供中国大陆以外的,大陆区访问延迟过高(响应200ms)左右,有时候还比较拥堵,当然对于自娱自乐个站来说,这些并不是考虑的重点。…

OpenPGP上手指南

久闻中本聪[1]用PGP对邮件签名,这让他保持匿名交流的同时避免身份被伪造,其背后是一种称之为OpenPGP的协议,这是什么?除了给邮件加密和签名,还有哪些用途? 简要介绍 简而言之Phil Zimmermann在1991年创造了PGP程序,然后1997年开发它的团队提出了OpenPGP协议,随后成为通用标准,任何符合这一标准的程序也被称作OpenPGP,相互兼容,其中常见的有PGP、GnuPG、OpenPGP.js等。 OpenPGP使用了对称和非对称加密,具体支持的对称算法(如AES)和非对称算法(如RSA、ECDSA)目前都没有破解的可能。对称加密和解密用的是同一个密钥,密钥如何安全传输和保存是个问题;非对称方式则是一对密钥,可以用公钥加密然后用私钥解密,或者私钥加密,公钥解密。公钥和私钥数学上等价,公钥可以公开,私钥自己保存。对称加密的性能(速度)要优于非对称加密,OpenPGP标准是以非对称方式加解密"对称加密的钥匙"[2]: 以邮件为例,实现两种功能: 1. 邮件加密,A发送加密邮件给B,过程首先随机生成对称加密的钥匙,加密明文内容,…