Tailscale Peer Relay 配置指南:告别自建DERP用 Tailscale 的人大概都遇到过这种情况:两台设备明明都在线,但实际传输速度慢得离谱,延迟也高。打开 tailscale status 一看,连接类型显示 relay —— 流量绕到了 Tailscale 官方的 DERP 中继服务器上。
这在双方都处于NAT后面时尤其常见。WireGuard 的 NAT 穿透失败后,Tailscale 会回退到 DERP 中继,而公共 DERP 服务器带宽有限、延迟不可控,体验自然不好。
虽然之前有自建DERP的方案,但是那总归还需要动手搭建和配置规则,相当的麻烦,还要考虑被别人套用。
现在Tailscale 推出了 Peer Relay 功能,允许你指定 Tailnet 内的某个节点充当私有中继,绕过公共 DERP 的性能瓶颈。
什么是 Peer Relay?Peer Relay 是 Tailscale 在 1.86 版本引入的功能,允许将 Tailnet 内的一个节点配置为中继服务器。当两台设备无法直连时,流量可以通过这个私有中继节点转发,而不是走公共 DERP。
简单来 ...
生活日常
未读Tailscale 是如何接管 DNS 的?💡 Tailscale 是如何接管 DNS 的?Tailscale 通过一个叫做 MagicDNS 的核心功能来管理 DNS,默认情况下处于启用状态。当满足以下条件时,Tailscale 就会接管:
Tailnet(你的私有网络)中启用了 MagicDNS:这通常在 Tailscale 管理后台配置,是全局性的。
本机接受了 Tailscale 的 DNS 设置:通过 --accept-dns 参数控制,默认值为 true,即接受 Tailscale 下发的 DNS。
系统没有其他活跃的 DNS 管理程序:比如 systemd-resolved 或 NetworkManager。Tailscale 会检查这些程序,如果都没有,它就会直接接管 /etc/resolv.conf。
🛡️ 如何防止 Tailscale 接管 DNS?如果你想继续使用手动指定的 DNS,可以按以下优先级选择方法:
方案一:配置 systemd-resolved(⭐ 强烈推荐)这是 Tailscale 官方建议的方案,也是现代 Linux 发行版的默认 D ...
Linux下提升github访问速度1.安装网址分析工具nslookupnslookup是常用来查询本机域名解析情况的命令,但是一些linux系统下默认无此命令。我们可以通过安装一个包来使该命令生效,这个包中也包括dig命令。
sudo apt-get updatesudo apt-get install dnsutils
2.获取github的IP地址
nslookup github.com
返回显示:
Server: 127.0.0.53Address: 127.0.0.53#53Non-authoritative answer:Name: github.comAddress: 20.205.243.166
3.获取http://github.global.ssl.fastly.net的IP地址
nslookup github.global.ssl.fastly.net
返回显示:
Non-authoritative answer:Name: github.global.ssl.fastly.netAddress: 52.58.1.161Name: git ...
安装oh-my-zsh以及插件
安装oh-my-zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
安装插件
git clone https://github.com/zsh-users/zsh-completions.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-completionsgit clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestionsgit clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/ ...
nubash配置及使用体会
大部分人使用windows下cmd和pwsh的bash命令行可能会感觉不方便。cmd的使用非常的简单,确实适合一些日常使用,但是因为没有命令行补全以及历史记录,同时快捷键也有些许不足,所以用的不多。pwsh作为微软主推的bash工具,确实是丰富和强大的,但是命令很长不易于记忆,对于经常使用linux的人来说也不太适应,因此本篇文章就nubash展开一些使用的感受。
下载nubash是开源在github上面的一个rust语言架构的项目,下载方式多样。
linux系统和mac系统
使用对应的安装命令安装即可
windows系统
scoop安装:scoop install nu
winget安装:winget install nu
离线安装: 在release页面下载相应的可执行文件
配置初次启动 Nubash,Nubash 会提示你下载default env.nu和default config.nu,默认保存在你的用户文件夹下面。
Nubash 使用一个配置系统,在启动时加载并运行两个 Nubash 脚本文件: 分别是env.nu和config.nu。 两 ...
国内外公共 DNSDNS加密协议:DoH和DoT传统DNS查询是明文的,容易被拦截或篡改.DoH(DNS over HTTPS)和DoT(DNS over TLS)是两大利器,能加密你的DNS请求,保护隐私和安全.
DoH:通过HTTPS协议(端口443)加密DNS查询,伪装成普通网页流量,隐蔽性强,更通用.
DoT:用TLS协议(端口853)加密,专为DNS设计,效率高但可能被防火墙识别.
两者都很安全,DoH因为用的是HTTPS,兼容性更好.很多公共DNS都支持这俩协议,选的时候可以看看有没有.
国内公共 DNS 服务器大盘点先看看国内的公共 DNS 服务器.这些特别适合在中国用,或者你想访问国内网站时用得更顺手.
腾讯DNS(DNSPod)
IPv4: 119.29.29.29
IPv6: 2402:4e00::
DoH: https://doh.pub
DoH(国密SM2): https://sm2.doh.pub
DoT: dot.pub
特点: 腾讯收购DNSPod后提供的公共DNS,速度快、稳定性高,支持DoH/DoT,海外也能用.
为啥选它: 国内解析本 ...
后端开发
未读简介在Linux中挂载磁盘包括将一个文件系统从存储设备附加到文件系统层次结构中的目录。这允许与磁盘及其内容进行交互。
检查可用磁盘在挂载磁盘之前,需要确定要挂载的磁盘
使用lsblk
lsblk 列出有关所有可用块设备(磁盘和分区)的信息
lsblk
示例输出
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 100G 0 disk├─sda1 8:1 0 50G 0 part /mnt/data├─sda2 8:2 0 50G 0 part
使用fdisk -l
fdisk提供有关磁盘分区的更多详细信息
挂载磁盘基本命令sudo mount /dev/sdXn /mount/point
/dev/sdXn;想要挂载的分区或磁盘(例如,/dev/sda1)
/mount/point;想要挂载磁盘的目录(例如,/mnt/data)
将 /dev/sda1 挂载到 / ...
总结了十个Vue3超级实用但是很冷门的API
文章提示:下文的无效 不触发视图 不触发响应式更新 不被追踪 这些词汇,想表达的意思是一样的,意思都是 不被追踪
readonly顾名思义,就是只读的意思,如果你的数据被这个 API 包裹住的话,那么修改之后并不会触发响应式,并且会提示警告
readonly 的用途一般用于一些 hooks 暴露出来的变量,不想外界去修改,比如我封装一个 hooks,这样去做的话,那么外界只能用变量,但是不能修改变量,这样大大保护了 hooks 内部的逻辑
shallowRefshallowRef 用来包住一个基础类型或者引用类型,如果是基础类型那么跟 ref 基本没区别,如果是引用类型的话,那么直接改深层属性是不能触发响应式的,除非直接修改引用地址,如下:
注意:改深层属性能改数据,只是没触发响应式,所以当下一次响应式触发的时候,你修改的深层数据会渲染到页面上~
shallowRef 的用处主要用于一些比较大的但又变化不大的数据,比如我有一个表格数据,通过接口直接获取,并且主要用在前端展示,需要修改一些深层的属性,但是这些属性并不需要立即表现 ...
不想用Docker了,教你一个卸载办法1.卸载Docker原因和注意事项1.1 需要卸载的可能原因
(1)测试环境:随便删,不影响生产业务就行
(2)版本更新:为了利用最新的功能和安全补丁,可能需要卸载旧版本的Docker并安装新版本.
(3)环境切换:在某些情况下,可能需要切换到不同的容器运行时或完全移除Docker以使用其他技术栈.
(4)系统维护:在系统重构或迁移过程中,可能需要删除Docker以简化系统配置
1.2 注意事项
(1)数据备份:在删除任何容器或卷之前,确保已备份所有重要数据.一旦删除操作执行,相关数据将难以恢复.
(2)依赖检查:在删除镜像、容器或卷之前,确认它们未被其他容器或服务依赖.错误的删除可能导致系统不稳定或应用故障.
(3)系统影响评估:评估删除Docker对现有系统和应用的影响,特别是在生产环境中.考虑是否有替代方案或临时措施来减少潜在的业务中断.
2.卸载步骤
【温馨提示】卸载前一定要备份数据,将重要的镜像使用sava命令保存下来
2.1 删除已运行的容器(慎重)
# 杀死已运行的容器docker kill $(docker ps -a -q)# 删 ...
Workers免服务器部署挪车二维码,可微信通知、拨打电话利用 Cloudflare 的 Wokers,自定义变量 phone 和 wxpusherAppToken、wxpusherUIDs 实现推送到微信,甚至可以拨打电话.后来有很多人不会,bgwu666 大佬又把 Cloudflare Workers 部署教程给一步步写了出来……真是太贴心了.
bgwu666 大佬在教程表示“避免访问者无限制地发送,应该在发送次数/时间上做一个限制”,于是乎我也写一篇文章,顺便把这个限制功能给加上了.
准备工作
注册 WxPusher 微信推送服务,创建应用(记录 wxpusherAppToken)并自我关注(记录 wxpusherUIDs)
注册 CloudFlare 并创建 Workers
获取 WxPusher 相关参数
微信关注公众号进入 WxPusher 后台,直接开始创建新的应用.
单击「应用管理」->「应用信息,应用名字我选择填写nuoche,联系方式填写手机号,推送内容随便写,这里填写挪车,方便自己知道这个是干啥.
创建好后会显示「appToken」 ...


