[[MXRoute]] 是一家 Email Hosting 服务提供商,专注于提供高送达率的电子邮件发件服务。[[MXRoute]] 是由国外著名主机论坛 LET 的管理员 Jarland 开设。MXRoute 的主要目标之一是向其用户提供经济实惠的邮件托管服务。
MXRoute 的特点是无限域名,无限邮箱账号。MXRoute 配置非常简单,只要拥有自己的域名,通过修改域名的 DNS 配置,就能很方便的搭建自己的邮件服务器。MXRoute 是正规邮件服务,不能用于发送 SPAM 。
需要注意的是,MXRoute 与其他电子邮件提供商类似,存在电子邮件被标记为垃圾邮件的风险,并且发送者信誉和电子邮件内容等因素可能会影响其交付率。
MXRoute 作为一家邮件服务提供商,提供了可靠的邮件送达率。
在购买了 MXRoute 的服务之后,系统会发送一封标题为「[MXroute] Important Account Information」的邮件到注册的邮箱中,其中包含了后台访问的地址,用户米和密码,还有一些重要的 DNS 配置,包括 DNS 的 [[MX 记录]],[[SPF]] 记录。邮件中还包括了邮件客户端的配置,包括 [[IMAP]],[[SMTP]] 的访问信息,包括地址和端口等等。
使用邮件中的信息,登录管理后台,如下图所示。
在域名设置中可以添加域名,子域名也是可以设置的。
以 Cloudflare 中 DNS 配置为例,添加记录,然后选择 MX,填入邮件中 MXRoute 发来的 MX 记录地址,然后设置优先级,MXRoute 提供了两个地址分别设置优先级 10, 20 即可。如果是添加的子域名,这里记得将 @
对应修改一下。
关于 SPF 记录,DKIM 记录,以及电子邮件是如何工作的,可以参考之前的文章。
SPF(Sender Policy Framework)记录是一种 DNS 记录,用于指定哪些邮件服务器被授权发送来自特定域名的电子邮件。通过使用 SPF 记录,邮件接收服务器可以检查发送方 IP 地址是否被列入授权的 IP 地址列表中,从而减少垃圾邮件和电子邮件欺诈的风险。
SPF 记录的名称通常是类似于下面这样的:
example.com. IN TXT "v=spf1 mx a:mail.example.com -all"
其中,example.com
是你的域名,v=spf1
是 SPF 记录的版本号,mx
表示允许域名的 MX 记录中列出的邮件服务器发送电子邮件,a:mail.example.com
表示允许特定 IP 地址的邮件服务器发送电子邮件,-all
表示拒绝所有未列入授权 IP 地址列表中的其他邮件服务器发送电子邮件。
在 SPF 记录中,你可以添加多个条目来授权多个 IP 地址和邮件服务器发送电子邮件。当邮件接收服务器收到一封电子邮件时,它会检查发送方 IP 地址是否在域名的 SPF 记录中列出,并根据 SPF 记录的设置来确定是否接受该电子邮件。如果 SPF 记录中未列出发送方 IP 地址,则接收方邮件服务器可能会将该邮件标记为垃圾邮件或拒绝接收。
在 Cloudflare 中选择 TXT 记录,然后在记录值中填入 MXRoute 发送过来的记录值。
DKIM(DomainKeys Identified Mail)记录的名字通常是类似于下面这样的:
dkim._domainkey.example.com
其中,example.com
是你的域名,而 default._domainkey
是一个固定的字符串,表示这是一个 DKIM 记录。如果你有多个域名需要签名验证,则需要为每个域名创建一个相应的 DKIM 记录。
在 DNS 中添加 DKIM 记录时,需要将该记录类型设置为 TXT,并将 DKIM 信息放入记录的值字段中。DKIM 信息包括用于签名验证的公钥和用于加密 DKIM 签名的私钥。在 DKIM 记录中,公钥通常以 “k=” 开头,如下所示:
v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC...
当其他邮件服务器收到一封使用 DKIM 签名的电子邮件时,它们会检查该域名的 DNS 来查找 DKIM 记录,并使用公钥来验证该邮件的 DKIM 签名。如果签名验证成功,则说明该邮件确实是由该域名的授权发送者发送的,而不是伪造的垃圾邮件。
DKIM 记录没有在邮箱中,需要在 MXRoute 管理后台,找到 「帐号管理」 -> 「DKIM keys(USE ONLY DKIM KEY)」,然后复制 DKIM 值。
然后在 Cloudflare 中添加 TXT 记录,Name 填写 dkim._domainkey
,值就填写上面拷贝出来的值即可。记住如果是配置的子域名,可能需要自行调整一下记录的 Name。
虽然 DMARC 记录是可选的,但是为了追求完美,还是建议配置 DMARC 记录。
DMARC 记录通常是
_dmarc.example.com. IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc@example.com"
一般直接建议配置一个:
v=DMARC1; p=none;, p=reject;, p=quarantine;
在 MXRoute 后台配置完域名之后,可以在「邮件管理器」->「邮箱帐号」 中添加域名邮箱,然后就可以在任意的邮件客户端使用 IMAP ,或者使用 MXRoute 提供的网页([[Roundcube]])客户端来发送或接受邮件。IMAP 的连接地址在邮件中,用户名和密码就是添加邮箱的时候设置的。
打开网站 https://www.mail-tester.com/, 之前几篇将 Self-hosted Email 的文章中也提到过,可以用来检测邮件服务器的得分(从各个方面判定邮件会不会进入垃圾邮箱)。打开这个网站之后,会生成一个随机的邮箱,使用自定义的域名邮箱向这个邮箱发送一封邮件(标题和内容随意),发送后点击页面中的 Then check your score 按钮,即可查看分数。正常如果得到 10 分才算是正常,如果不是,则按里面的要求进行改进,一般都是 DNS 配置错误。或者 如果发信的 IP 地址在黑名单中,也可能导致分数不好看。
MXRoute 不仅提供了邮件中显示的 Roundcube 的 Web Client,还可以登录 https://mail.mxlogin.com 这个客户端来收发邮件。这个客户端还不仅提供邮件的功能,还能作为 NextCloud 来管理自己的文件。
同时登录的时候还可以选择自己喜欢的 Web Client。
我现在也通过 EV Hosting 来售卖 MXRoute 的邮箱服务,可以以比官方更便宜的价格最低套餐一年只需要 50 元来使用 MXRoute 的服务。
Cursor 编辑器是一个由 AI 支持的,可以通过自然语言进行交互编程的代码编辑器。很早就了解了 Cursor 编辑器,但是觉得比较鸡肋日常编程因为使用 IDEA 继承不太方便所以一直就没有怎么深入体验。但是最近遇到要看一个 Ruby 的项目,我没有学过 Ruby,所以就一下子想到了用这个编辑器来辅助我看 Ruby 的项目,一用之下才完全超出了我的想象,在我阅读 Ruby 项目的时候完全可以充当一个很好的老师。
Cursor 的这种会话式交互编程感觉在未来一段时间内将完全改变编程的习惯。虽然目前还只能在 Cursor 自己的编辑器中使用。未来成熟之后不知道能不能在常用的编辑器上用起来。
Cursor 集成了 [[GitHub Copilot]],直接可以在界面中登录使用。
目前 Cursor 编辑器还是非常简陋,大概只能算得上一个文本编辑器,称不上 IDE,虽然支持了很多编程语言的自动补全以及语法高亮,但是没有内置的调试,运行等等编码相关的功能。
因为 Cursor 依赖 OpenAI 所以一个良好的网络环境, 以及 OpanAI 的稳定性直接影响了 Cursor 的使用体验。
昨天晚上申请了 Google Bard 试用,今天下班了看到很多人都是几个小时就拿到了试用体验,我想我怎么没有收到邮件呢,我反复确认了邮箱确实没有,然后我想着再去网页上看看呢,登录了一下 https://bard.google.com/ ,开始的时候没有使用代理,提示所在的地区暂时还不能用,然后加上美国的代理,刷新一下就进去了。
Bard 依托 Google 的一款大型语言模型,可以生成文字、撰写各种类型的创意内容,还可以根据它掌握的信息解答你的问题。
进去的第一个弹窗就是「警告」,Bard 是一个实验性的产品,可能不会一直都是正确的,并且 Google Bard 的每一条回复都会有赞同,否定,重新回答,或者直接 Google 的按钮。
大型语言模型是会犯错的
说实话 Google 做这个产品确实非常小心了,在下方的输入框下也有明确的注意事项。
在调研的过程中发现已经有人逆向了 Google Bard。通过如下的方法,然后执行 Python 即可在命令行使用 Bard,不过记住需要使用美国的 IP。
Go to Google Bard
__Secure-1PSID
复制这个 Cookie 值window.WIZ_global_data.SNlM0e
,复制结果tawk.to 是一个可以在网页上添加客户聊天对话框的应用。用户可以通过 tawk.to 泡泡快速地得到支持。
tawk.to 是百分百免费的,创始人写了很长的一篇博客来介绍为什么我们是免费的
tawk.to 在文章中介绍其盈利的方式:
tawk.to 公司还推出了其他服务:
tawk.to 根据其官网的介绍已经占据市场 20% 左右,是目前企业实时聊天这个市场的第一名,接下来依次是 Zendesk(12.25%),Facebook(9.63%),Live Chat(6.36%),Tidio(5.44%),Intercom(4.34%),Zoho(3.6%),Pure Chat(3.49%),Drift(3.25%),Olark(3.11%)。
就和其官网介绍的一样,接入 tawk.to 非常简单,我在我的Life in Japan 接入 tawk.to 的服务花费不到 5 分钟。稍微设置一下展示,和其位置,然后熟悉一下后台控制面板就能快速上手。
如果想看一下具体效果可以访问这里,在右侧看到的绿色聊天对话框就是 tawk.to,在其中留言,我就可以实时收到信息。
之前就简单地介绍过使用yt-dlp 来下载 YouTube 视频,yt-dlp 是自从 youtube-dl 不再更新之后有人接手开发的新工具。但这篇文章重点是在于下载 YouTube 视频,我会整理一下我目前了解的所有可视化,命令行,Telegram bot 等等工具。
之前的文章中介绍过 Tailscale ,是一个功能非常强大的虚拟组网的工具,底层使用更高级的 [[WireGuard]] 协议进行通信。之前的文章中只简单的介绍了一下 Tailscale 的使用,但是过去的时间里面 Tailscale 又更新了很多的新特性,这篇文章就介绍其中的一个特性 Exit Nodes。
Exit Nodes(出口节点)功能就是允许 Tailscale 组件的局域网中的节点通过一台 Exit Node(出口节点)来进行网络通信。路由流量的设备称为“出口节点”。
默认情况下,Tailscale 通常只会借助互联网进行节点和节点之间的通信,而用户正常的流量,比如访问 Google,Twitter 等的流量都是通过本机进行的,而存在部分情况,比如在一些对安全通信要求比较高的场景,需要加密访问,这个时候就可以让局域网中的节点经过一个可信的出口节点(Exit Node)来于外部互联网进行通信。
如果要配置出口节点,需要经过下面几步:
如果要使用出口节点需要有一些必备的前提条件:
// All users can use exit nodes
// If you are using the default ACL, this rule is not needed because the
// default ACL allows all users access to the internet through an exit node
{ "action": "accept", "src": ["autogroup:members"], "dst": ["autogroup:internet:*"] },
如果有 /etc/sysctl.d
目录:
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf
如果没有:
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p /etc/sysctl.conf
启用 IP 转发时,确保您的防火墙设置为默认拒绝流量转发。这是常见防火墙(如 ufw 和 firewalld )的默认设置,可确保您的设备不会路由您不想要的流量。
然后执行如下的命令将节点设置成出口节点:
sudo tailscale up --advertise-exit-node
访问 Tailscale 控制面板,点击 Exit Node 节点后的设置,点击 Disable key expiry,禁用密钥过期。然后点击 Edit route settings,勾选 Use as exit node,之后启用。
经过了上面两步网络中的其他节点就可以使用上面的出口节点,但是每个设备都需要单独启用出口节点。
其他节点需要运行:
sudo tailscale up --exit-node=<exit-node-ip>
可以从管理控制台或运行 tailscale status 找到设备的 IP 地址。
或者,将 --exit-node-allow-lan-access
设置为 true 以允许在通过出口节点路由流量时直接访问本地网络。
sudo tailscale up --exit-node=<exit-node-ip> --exit-node-allow-lan-access=true
然后就可以通过 在线 IP 检测工具 来查看本地流量是否已经由出口节点路由。
如果在命令行下可以使用 curl ip.gs
来查看 IP 信息。
[[Porkbun]] 通常被人戏称为「猪肉包」,是一家新成立于美国俄勒冈州波特兰市的域名注册商,母公司是 Top Level Design,后者是 design, ink 和 wiki 三个顶级域名后缀的管理局。这家域名注册商虽然成立时间比较短,但是胜在价格实惠。短短几年时间就打开了知名度。
现在就讲一下 Porkbun 赠送的第一年免费的 app, wiki, ink, gay, uk, pt, website, site, it, mx 等等后缀的域名,可以第一年免费领取使用。
在结帐的时候需要注意,官方的验证方式是只能使用信用卡验证的,但是网页中预留了 Alipay 的验证方式,在 Chrome 浏览器中,右击选择 Inspect,或者使用快捷键调出,然后使用这里的箭头,选择图中的红色「New Card」
在页面代码中就能看到 Alipay 相关的字样,将右侧的 diaplay: none
取消掉,就能看到页面中的 Alipay 支付验证。
然后通过 Alipay 支付即可。
附赠一些小彩蛋
免费的 .uk, .co.uk, .org.uk 域名,但是可能需要验证地理位置。
免费的 .pt, .website, .site 域名
注册也是可能被拒绝的。
免费的 .it 域名,可能需要验证地址
免费的 .mx 域名 (限时)
如果有兴趣讨论关于本文章,或者本博客的所有内容可以到 Telegram 群组。
很久以前想要了解世界各地房地产的时候,收集了不少的相关书籍,[[全球房地产]] 一书就写得太过学术,读起来有些枯燥,而这一本《负动产时代》应该就是那个时候加入的豆瓣待看列表。
本书并没有一个单一作者,而是日本的《朝日新闻》采访组的一线记者走访了大量的房主,政府机构,不动产中介,并远赴德国、法国和美国,采访取材之后编写的一本描绘了日本房地产从狂热盲信时代到少子老龄化时代的巨大落差,房地产政策的滞后,以及带来了一系列严重的后果。
这本书读起来没有那么枯燥,作者引用了非常多的真实事例来展示当前房地产存在的问题,由这些问题再进一步得追问为什么会发生这些问题?为了解决这个问题又实地采访了亲历者,包括购房者,地产中介,相关政府部门。
存在的问题:
作者还走访了法国,美国,德国等地方,试图寻找解决方案其他国家类似情况的政策。
法国政府的政策:
美国的情况:
德国允许放弃土地所有权:
在阅读本书的过程中,我不止一次的被震惊到,读起书中的事例,就像是在看一个魔幻的故事集。管理费和固定资产税已经超过房产价值,最后被 1 万日元拍卖的度假公寓;120 年没有变更户主的老房子,已经有几十个继承人;在当年房地产市场欣欣向荣的时候,把一块什么都没有的「原野」土地,高价卖出去,如今已经是原先的十分之一价格;多年失修的公寓,因为没有办法得到全部户主的同意而无法重修。
更甚至在作者调查房地产中介公司的时候,让我窥见了公司如何压榨劳工,因为政府会查公司车辆的使用记录,会查看公司电脑的使用情况,员工为了达成业绩,甚至隐瞒自己的工作证据,周末用自己的车办公,工作时关掉电脑的电源,故意少报工时。
在人口减少的国家,购买度假性房地产或者在地方性城市投资性房地产都要谨慎再谨慎。特别是以高价贷款购买上述类型房地产,更是要谨慎。如果是想要在持有房地产要交固定资产税和房屋管理费的国家,如日本,购买上述房地产,那真的是“投资有风险,入市需谨慎”。
对日本,以及房地产这两个关键字感兴趣的人。
在商品房的样板间里,销售人员常会说:“用您现在的房租做月供,就能买到一套同样格局的房子。”如果您听了很动心,就相当于迈出了通往“负动产地狱”——维护和管理费用不堪重负,想卖却又卖不出去 —— 的第一步。
日本的土地制度是以土地和房产永远不会失去资产价值的“土地神话”为前提制定的。
Code Server 是一个在 Web 浏览器中运行的开源代码编辑器。它是 Visual Studio Code 的开源版本,可以提供基本的代码编辑、语法高亮、智能感知、自动补全等功能,同时支持多人协作、远程开发等特性。
能够在浏览器运行的集成开发环境通常也被称为 Cloud IDE。
Code Server 可以在本地计算机或云服务器上运行,用户可以通过浏览器访问并使用其中的编辑器功能,不需要在本地安装 Visual Studio Code 等本地编辑器。这样可以方便地进行远程开发、多人协作、快速搭建开发环境等操作。同时,Code Server 也支持自定义插件和扩展,可以满足不同用户的需求。
推荐通过 Docker 来安装,我使用的是 LinuxServer 提供的镜像 ,转成 docker-compose.yml
来使用。
具体见 docker-compose
创建 password hashed
echo -n "thisismypassword" | npx argon2-cli -e
$argon2i$v=19$m=4096,t=3,p=1$wst5qhbgk2lu1ih4dmuxvg$ls1alrvdiwtvzhwnzcm1dugg+5dto3dt1d5v9xtlws4
官方文档 中已经有了如何使用 [[Nginx]] 和 Let’s Encrypt 的相关配置
server {
listen 80;
listen [::]:80;
server_name mydomain.com;
location / {
proxy_pass http://localhost:8080/;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_set_header Accept-Encoding gzip;
}
}
但是因为我使用的是 [[HestiaCP]],这个面板自带了一个 Nginx 模板,可以参考我之前的文章 创建新的 code-server.tpl
和 code-server.stpl
然后修改相应的配置。
但是我在配置的过程中,访问 Code Server 遇到了如下的问题。
An unexpected error occurred that requires a reload of this page.
The workbench failed to connect to the server (Error: WebSocket close with status code 1006)
仔细的看了一下 Nginx 配置,才发现在 HestiaCP 默认的模板中后面有一个多余的配置
proxy_hide_header Upgrade;
把这个配置注释掉,然后在 HestiaCP 中重新关闭和启用该网站即可生效。
code server 下暂时还没有像 Visual Studio Code 一样内置的同步功能,但是 Shan Khan 的 Stttings Sync 可以作为一个不错的代替。
拿到 New Bing 的体验,但是 Microsoft 却要让我下载 Edge 才能体验,这个体验真的很差,所以回去用 Google 搜了一下「如何在 Chrome 中使用 New Bing」,还在还是有方法的。
5 月以后推荐 New Bing Anywhere 这款开源的 Chrome 插件。
user-agent 规则,将user-agent
修改成 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.41
将 x-forwarded-for
修改成 8.8.8.8
。
然后访问 https://bing.com/new 就会从这个有着 「Download Microsoft Edge」 的页面
变成直接可以 Chat 的页面。
之后,在 New Bing 网页中的第一个问题就是问她「如何在 Chrome 中使用 New Bing」
好在回答的还算比较准确。
感谢 Zealer Chan 在评论中补充了一种方法,可以直接安装 Bing Unchained 即可。
另外一种使用方法就是在 [[Vivaldi]] 浏览器中访问 Bing,然后可以直接使用。