记一次在 Windows 系统下使用 Tun 模式出现的 Dns 泄露问题
原因在 Windows 系统下,由于系统默认开启了”智能多宿主名称解析”(LLMNR,Link-Local Multicast Name Resolution),微软引入Windows的加快DNS解析速度的功能,通过在所有可用的网络适配器上发送DNS请求来实现,并自动选择返回速度最快的信息.这里就是最坑的地方了,在 Tun 模式下,会自动创建一个虚拟网卡,按照道理来说,所有的 DNS 请求都会根据这个网卡进行分流,但是由于”智能多宿主名称解析”的功能,会给你系统默认的网卡发送一个 DNS 请求
解决方法使用组策略编辑器(仅适用于专业版、企业版和教育版):a. 打开“运行”对话框,可以按下Win + R键,然后输入“gpedit.msc”并按Enter。
b. 在“组策略编辑器”中,导航至以下路径:
1计算机配置 -> 管理模板 -> 网络 -> DNS客户端
c. 在右侧窗格中,找到并双击“禁用智能多宿主名称解析”(Turn off Multicast Name Resolution)。
d. 在弹出的窗口中,选择“已启用”(Enabled),然后点击“确定”。
参 ...
nothing phone2a 刷入 magisk
前言最近买了一台nothing phone 2a,外观还是很炫酷的,一到手我就忍不住想刷入magisk,在网上搜索了一下,我根据网上的教程成功刷入了magisk,在此记录下方法,以后或许还能用上
解锁Bootloader
首先进入设置-关于手机-点击Nothing OS带有版本号最上面的方块,点击版本号7次进入开发者模式.
然后在设置-开发者模式中开启OEM解锁以及USB调试功能
然后在电脑上打开cmd命令,输入adb devices,然后在手机上授权,直到你能在电脑上看见设备列表
输入命令adb reboot bootloader此时手机重启进入fastboot模式
然后输入fastboot flashing unlock解锁,此时你的手机会弹出五秒钟的窗口,赶紧按一下音量+键确认解锁.这样就解锁成功了,使用fastboot reboot重启手机
刷入magisk
下载安装magisk的apk
下载和你的版本号对应的nothing phone2a的镜像,记住是-boot结尾的镜像,例如Pacman_U2.6-240828-1906-image-boot.7z
解压出镜像中的in ...
解决Cloudflare的Tunnel频繁掉线的问题
用Cloudflare的tunnel的时候经常会遇到频繁掉线的问题,可以尝试下面的方法解决:
添加--protocol http2参数修改Cloudflare的启动脚本
1vim /etc/systemd/system/cloudflared.service
在ExecStart加上 --protocol http2
1ExecStart=/usr/bin/cloudflared --protocol http2 --no-autoupdate tunnel run --token ***
然后重新运行服务即可
1systemctl restart cloudflared
使用Lucky的WebHook实现Stun的伪DDNS(重定向)
前言总所周知,通过STUN进行内网穿透之后,对于不同变化的ip和端口,会感到很头疼.
解决的方案一般是通过将lucky用反向代理到公网服务器,然后进入管理后台查看stun的地址
最近我看到一篇不错的文章,思路是通过域名的重定向功能配合lucky的webhook调用服务商的api设置重定向地址以达到伪DDNS的功能
这里一般可以用Cloudflare和YOURLS两个方式实现,以下记录了我用Cloudflare的实现方式
实现第一步:首先将域名绑定到Cloudflare,设置nameserver
第二步:进入Rules->Page Rules设置重定向规则
第三步:创建规则,url填入test.yourdomain.com/*,域名根据你自己的域名去修改,setting选择Forwarding URL,code为301,
跳转的url我们暂时填入http://192.168.31.1:5209/$1,这里的地址我们后面要用webhook去修改
第四步:编辑lucky中的stun穿透中你需要做跳转的规则:
接口地址填入Cloudflare的api地址:https://ap ...
FRP的使用
首先下载你系统对应内核的frp的压缩包,下载地址:https://github.com/fatedier/frp/releases
服务器端1.将压缩包上传到服务器2.解压压缩包1tar -zxvf frp_0.51.0_linux_amd64.tar.gz
3.修改配置文件12cd frp_0.51.0_linux_amd64vi frps.ini
12345678910111213141516171819[common]#服务端端口号bind_port = 7000#dashboard设置dashboard_addr = 0.0.0.0dashborard_user = admindashboard_pwd = 123456dashboard_port = 7501#连接使用的tokentoken = 123456#日志输出,可以设置为具体的日志文件或者consolelog_file = /home/frp_0.44.0_linux_amd64/frps.log#日志记录等级,有trace, debug, info, warn, errorlog_level = info#日志保 ...
基于NAT1的内网穿透方案的实现
因为搬家,导致ISP给我分配的IPV4公网地址没有了,因此我开始在网上寻找其他的内网穿透方案。使用过FRP以及基于IPV6的内网穿透方案,要么就是速度实在是太慢,要么就是需要的前置条件太多,最近在研究bt打洞的过程给了我穿透的灵感,我就去网上搜索了一下,果然有相关的穿透方案,以下就是我整理的一些方案的实现。
前提此方案需要你的网络环境为NAT1(Full cone NAT)
STUN的穿透工具有很多,例如Natter、NATMap、Lucky,在这里我以Natter和Lucky为例,实现STUN的穿透
防火墙规则使用端口转发或者DMZ开放需要打洞的端口,在这里我使用类似DMZ的方式,编辑/etc/config/firewall文件,添加以下配置到末尾,将其中的ip替换为你的:
123456789config redirect option target 'DNAT' option src 'wan' option dest & ...
使用ip2region获取用户所在地理位置信息
写在前面最近有个项目,需要根据当前的地理位置获取天气信息.因为这个是一个web端的项目,没有办法根据移动端的定位去获取地理位置的信息,所以在此记录下如何根据请求的ip地址获取地理位置信息,在google搜索问题的时候发现一个不错的解决方案,用到的是Ip2region这个项目
引入依赖根据官方文档的描述,我们需要先引入依赖
12345<dependency> <groupId>org.lionsoul</groupId> <artifactId>ip2region</artifactId> <version>2.7.0</version></dependency>
下载文件下载xdb文件到本地 ip2region.xdb,我将这个文件放在了resource目录
根据IP查询地址信息参考官方文档,有三种方式可以查询所属的地址信息分别为:完全基于文件的查询、缓存 VectorIndex 索引、缓存整个 xdb 数据,在此我选择的是第二种,代码如下:
1234567891011 ...
Windows使用非445端口的SMB服务
场景描述ISP默认禁用了445端口、80端口、443端口,这就导致我们想使用smb服务只能部署在其它端口上。但是因为windows的smb服务不支持其他自定义的端口,因此我们可以使用windows自带的端口转发功能,将我们的端口转发到445端口上
操作步骤禁用系统的 smd 服务占用 445端口用 Win + R 打开 services.msc 服务,禁用 Server 服务,然后重启计算机生效,这一步必须要重启计算机
将远程端口绑定到445端口打开Powershell输入以下命令:
1netsh interface portproxy add v4tov4 listenport=445 listenaddress=127.0.0.1 connectport=37022 connectaddress=你的域名
请自行替换以上的域名和端口号
本地访问smb服务通过上面的端口转发操作,我们已经将远程的smb服务转发到了本地的445端口上,因此我们只需要访问本地的445端口就可以使用smb服务了,地址栏输入
1\\127.0.0.1\share
就能访问远程的SMB服务了
设置开机启动通 ...
使用U盘扩容openwrt的根目录
1.格式化U盘为Ext4的格式1mkfs.ext4 /dev/sda1
2.执行以下命令将原根目录的文件拷贝到u盘1234567mkdir -p /tmp/introotmkdir -p /tmp/extrootmount --bind / /tmp/introotmount /dev/sda1 /tmp/extroottar -C /tmp/introot -cvf - . | tar -C /tmp/extroot -xf -umount /tmp/introotumount /tmp/extroot
3.使用blkid命令来查看sda1的UUID,结果如下:12/dev/mtdblock5: TYPE="squashfs"/dev/sda1: UUID="c91d06ce-8781-4255-b635-610bd6beef7e" TYPE="ext4"
4.修改/etc/config/fstab文件将以下配置拷贝到文件末尾,uuid替换为你自己的uuid
1234config 'mount' ...
Apache POI使用
Apache POI简介Apache POI是一个用Java编写的跨平台的免费开源的Java API。它提供了一组API,使Java程序能够读取和写入Microsoft Office格式档案。其中读写Excel文件的功能应用最为广泛。除此之外,还有一个专门操作Excel的工具包jxl。
导入maven依赖12345678910<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.14</version></dependency><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.14</version></dependency>
PO ...