群晖+ipv6+cloudflare实现外部访问

前提🎈🎈🎈🎈🎈🎈:拥有自己的域名。 域名如果没有的话,可以找供应商买一个,一般的小众域名10年也就100来块。国内腾讯云和阿里云都提供的。 家里的nas之前折腾了好久的ipv6,终于实现了ipv6的对外访问。美中不足的是现在好多地方的wifi仍旧是不支持ipv6的。虽然可以通过中国移动的热点解决。但终究还是不够完美。 今天突然想起来,cloudflare是支持免费cdn的。登上自己好久不用的cloudflare账户,看了下果然是可以的。剩下的就是根据提示一步步添加自己的网站。要注意的一点是cloudflare同步原来的域名供应商的解析时可能会漏掉一部分解析。这个需要自己小心检查下,可以手工再补上。其他的就按照cloudflare的提示操作即可。 在cloudflare上添加好自己的网站,并确定把自己的域名解析服务器切换到cloudflare的域名服务器上(这个解析是要在原来域名解析的供应商出修改,比如我的域名是在腾讯云上购买的,那么就需要在腾讯云上进行调整)。如果你调整好了,那么剩下就要等待了。cloudflare发现你的解析已经生效之后,在页面上时可以看到你的域名已经被cloudflare托管了。 后续你的域名解析就都可以在cloudflare上配置了。注意配置的时候要选择被cloudflare代理,这样网络流量就先走cloudflare,然后才是你的服务器。这样配置完之后,你的dns解析地址就可以只配置AAAA记录(也就是ipv6解析)。因为访问你网站的不再是真实客户,而是cloudflare。cloudflare就是v4/v6通吃了。 以下为特殊注意的地方 一个是如果你的网站是http,而你在cloudflare上勾选了强制https的话。那么你的网站可能会有一定几率报错。因为网站上的某些连接并不支持强制https。我这里的wordpress就遇到了这种情况。解决方案就是上插件。worepress插件really-simple-ssl非常好用,安装完之后,网站就再也没有遇到这个错误了。 第二个就是cloudflare上的DNS解析的DDNS问题了。一般家庭宽带是没有固定的ip的。即使ipv6运营商也没有给固定的。这个时候就需要DDNS解决这个问题了。这个大家可以参考 cloudflare-ddns, 非常好用,配置也简单。docker和linux-cron用起来都是很简单的。

2022-01-27 17:52 · 1 min · 江波·林沂

自定义推送消息至自己的apple设备

今天逛v2ex时,看到了一个之前自己有想法但是一直没动手的应用。bark,可以让用户在没有自己的app的前提下,推送消息到个人的apple设备。 使用起来也很简单,下载bark应用,打开就可以看到各种推送接口。而且还可以测试。点击测试之后,一个简单的http get请求即打开在safari中,立刻手机也收到了通知。使用起来非常便捷。 看了看作者的github,发现作者还兼顾了隐私要求,可以让用户自己定义服务端,无需通过作者自己的服务器。按照作者的说明在自己的nas立刻搭建起来,全程花了不到10分钟。然后在app上设置了下自己的服务器地址,curl测试下,非常完美。推送即刻到达。后续研究下怎么把notion上的通知推送到自己的手机上。个人的bark服务器:bark. 欢迎大家使用,仅支持ipv6🤔.(现已支持ipv4,2022.02.05)

2022-01-26 16:11 · 1 min · 江波·林沂

上传本机SSD硬盘使用量情况至notion

M1的Mac有个让人比较关注的点,就是它的ssd硬盘的写入量相比于以前有个很大的提高。写入量的提高可能会导致磁盘提前报废,之前也在网络上引起了很大的讨论。 我这台Mac买来的时候,因为是官翻机的缘故。当时已经有3个T的写入量了。开始的时候我几乎天天观察,每天坚持写入量。但是一连十几天都没什么大的变化。后面也就没怎么看了。最近再看,发现写入量已经达到16.5T了,这个变化有个大,毕竟也就买回来不到4个月。 为了能够不再被蒙在鼓里,我决定写个脚本,每天上传SSD硬盘的信息到notion中,这样就不会稀里糊涂的看到硬盘写入量飙升,详细代码如下: package main import ( "bytes" "fmt" "io/ioutil" "log" "net/http" "os/exec" "strings" "time" ) func main() { fmt.Println("Hello World") out, err := RunCommand("/opt/homebrew/Cellar/smartmontools/7.2/bin/smartctl", "-a", "/dev/disk0") if err != nil { fmt.Println(err) } fmt.Println(out) out = strings.ReplaceAll(out, "\x00", "") outs := strings.Split(out, "\n") var written string var read string for _, str := range outs { if strings.HasPrefix(str, "Data Units Written") { fmt.Println(str) writtens := strings.Split(str, "[") fmt.Println(writtens[1]) written = strings....

2022-01-25 23:00 · 2 min · 江波·林沂

Ipv6腾讯云DDNS配置

自从家里的设备全部支持ipv6后(如何支持见上文), 怎么说呢,就一发不可收拾了。总想着尽可能的利用起来ipv6。想起来自己还有个域名,就尝试着试试看能不能让自己的域名仅支持ipv6。 试了之后发现还是挺简单的,虽然不能直接在域名解析上添加A记录,但是腾讯云还是很友好的发现的想添加的是一个ipv6的地址,于是就指引我去添加AAAA的记录过去了。添加完之后,就等着解析了。很快家里的网络就可以正常解析我只添加了AAAA记录的新地址blog.jiangbo.space。我的博客流程的打开了。 这里有一点比较坑的是,如果你使用了代理工具,特别是clash,这个是亲测可能会有影响的。我目前使用机场的配置文件中默认是不支持ipv6的,导致我走了很多弯路。如果使用这种不支持ipv6的配置,又使用了clash的代理,那么很不幸,即使你本地网络支持ipv6你也不能正常访问仅提供ipv6支持的网站。clash的配置要支持ipv6倒是也简单,添加ipv6:true即可。还望广大机场能尽快跟进,默认配置中就加上这句话。 域名解析添加以后,开始几天倒是还是正常使用的。我一致以为ipv6那么多,运营商现在肯定是给每个用户一个固定的ipv6地址。后来才发现我多想了,现在依旧是动态的,而且是动态的前缀,这就导致我配置一次AAAA记录是不行的。等到路由器断线重连之后,家里网络的ipv6地址就换了个边。这种情况就需要DDNS登场了。 我用的腾讯云解析的dns,这个可能比较小众,反正是没有找到现成的代码。这个时候就发现程序员的主观能动性了,自己主动撸一个了。写起来倒是比较简单,腾讯云还可以主动生成大部分代码,剩下的就是拼拼凑凑了。放在ubuntun上跑起来也简单,直接定时任务没5分钟刷一次好了。具体代码如下: package main import ( "fmt" "net" "regexp" "strings" "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common" "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors" "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile" dnspod "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod/v20210323" ) const dnsPodDomain = "dnspod.tencentcloudapi.com" // 主域名,不包含www const domain = "" // 腾讯云secretId const secretId = "" // 腾讯云secretKey const secretKey = "" func main() { // 目标子域名 subDomains := []string{"ipv6"} // 密钥 credential := common.NewCredential( secretId, secretKey, ) ipv6 := getMyIPV6() fmt.Printf("ipv6地址: %s\n", ipv6) cpf := profile.NewClientProfile() cpf.HttpProfile.Endpoint = dnsPodDomain client, _ := dnspod....

2022-01-25 22:42 · 2 min · 江波·林沂

家庭宽带折腾ipv6

也不知最近怎么突然想起来要看netflix,然后就发现就只能看看自制剧。也切换过不通的节点,但是依旧不行。网上查了下,说是netflix在8月的时候切换了策略。大部分梯子就熄火了,最多也就看看netflix的自制剧了。研究了一下,还是ip的问题,同一ip使用的netflix超过3个,netflix就限制只能看看它自己的自制剧,不得不说这手是真的高。这样搞法大部分的梯子就没用了,毕竟对机场来说费用最昂贵的就是ip了。 但是一般来说贵的是ipv4的地址,ipv6的地址理论上不值钱,ipv6的地址都是按段来的,可以说几乎是无限供应,netflix也不应该会封掉那么多的ipv6地址。不过这也是理论上的,具体还是要看实践,现阶段还是先解决家庭宽带可以访问ipv6的问题了。 托国家推广ipv6的福,现在各大运营商基本上都是在卖力的支持ipv6,我家用的几乎免费的移动管带也是支持的。不过我家的那个我自己后面配的腾达路由器是个垃圾,还是我选的2019最冒尖的货,可惜了。只能将它放到出生的盒子,等我找个机会在闲鱼上出掉,期望可以挽回点损失。 连上移动光猫自带的wifi,首先的想法就是登上路由器的管理地址,192.168.1.1。到这里不得不说程序员的思维害死人,虽然打电话给了移动宽带的片区维修,人家也肯定的答复我说给我支持了ipv6,但我依旧是不相信,总觉得那些小哥啥都不知道,总是自己最聪明。用路由器背面的用户名密码登陆进光猫,好家伙,几乎是啥都没有,只能看看是谁连接到路由器,对于我这种专业用户来讲,基本就相当于没有。没法子,只能百度大法好。但是试了几个网上的密码都不行,最后只能继续找维修小哥,维修小哥也是费了大劲,向上级申请到了我的光猫超级管理员用户密码。仅拿到密码就花了我几个小时,差点累出了老血。在此奉劝各位如果没有什么大的欲望,也没啥动手能力,就不要想我这样折腾了。一般小哥都是讲ipv4/ipv6都配置好的。我这个光猫后来才发现其实也是配置好的,电脑,手机什么的也是拿到了ipv6地址,之所以不能用的原因竟然是我的代理问题,也是哔了狗了。所以大家要切记目前为止,一遍的代理都是不支持ipv6的,如果需要明确使用ipv6,一定要记得做特殊配置。对于clash而言,就是在配置文件中加上ipv6: true即可。 拿到光猫超级管理员密码的时候,其实我已经知道我自己已经是正常的ipv6用户了。不过最终我也没浪费辛苦得来的密码,有些我自己的特殊需求还是用到它了。既然使用到了ipv6,而且发现都是公网时候,我就将我的博客和群晖的地址都切换到ipv6地址上了,反正这些也就是我自己自娱自乐的东西。当我想访问他们的时候,随时掏出手机连上热点即可,移动大内网的ipv6地址,简直不要太稳。 就当我要在我手机上访问我的博客的时候,竟然发现访问不了。这是真的奇怪了,按说都是移动的亲生儿子,不应该了。没办法,只能自己动手操作。电脑连上手机热点,然后访问我群晖上的blog,依旧是访问不了。这也在意料之中,毕竟手机热点,手机访问不了,那连接热点的电脑当然也不行。 下面就有点计算机专业知识的味道了。traceroute我的群晖ipv6地址,一条一条又一条,一行一行又一行,路由一步步的逼近我的群晖,但是终于它停顿了,停顿了。看着他停顿的地方,有点熟悉了。前缀竟然都一样,登上我管理员权限的光猫,真想它来了。路由竟然止步在了我的光猫上,进不去了。到这里问题就很好解决了,光猫干的路由器的货,不可能路由过不去的,那么真想只有一个了。光猫的防火墙阻止了它。轻轻的点击几下,关闭了光猫的防火墙。再刷新下页面,我的博客流程的出现了在眼前。 由此,家庭宽带的ipv6支持告一段落。可以访问ipv6的网站了,也拥有了仅ipv6支持的网站。ipv6支持的家庭网络pt下载简直飞起,都超出了理论上移动宽带的最大上限。下一步就是看怎么用ipv6支持看netflix了。也不知下次更文是啥时候了。

2022-01-05 21:58 · 1 min · 江波·林沂