常用 Magisk 模块
前言整理下我常用的 Magisk 模块,长期更新
Magisk 模块LSPosed项目地址:https://github.com/JingMatrix/LSPosed
一个 Zygisk 模块,旨在提供一个 ART Hook 框架,该框架利用 LSPlant Hook 框架,提供与 OG Xposed 一致的 API。
Zygisk Next项目地址:https://github.com/Dr-TSNG/ZygiskNext
Zygisk 的独立实现,为 KernelSU 提供 Zygisk API 支持,并取代 Magisk 内置的 Zygisk。
比内置的 Zygisk 有更好的隐藏效果。
BCR项目地址:https://github.com/chenxiaolong/BCR
BCR 是一个简单的 Android 通话录音应用,适用于已 root 的设备或运行自定义固件的设备。一旦启用,它就会在后台自动记录来电和去电,不会打扰您。
Android 录音模块,外版系统必备。
ASGuard项目地址:https://github.com/huzesama/ASGuard
Magisk模 ...
利用 clash tunnel 实现内网穿透
前言对于内网穿透我研究了很久,网上流行的内网穿透方案对于没有 ipv4 地址的我来说都有其缺点。 总结一下,ipv6 穿透需要客户端也支持,兼容性不够高。 Lucky 的 stun 穿透端口号又一直在变,很多服务也并不支持 hook 改端口,更重要的是不够安全,不能配置 tls,信息可能会被第三方监听。 Cloudflare 的 tun 隧道似乎挺完美了,奈何 GFW 对其存在干扰,稳定性不够。 frp 之类的反代方案又取决于服务器的带宽,如果要用 tls 还要备案,很麻烦。
所以我考虑了安全性使用便捷性想出了这样的方案。 对于我来说,Clash 是必备的工具,所以我打算利用 Clash 的 Tunnel 来转发内网的流量。 也就是说我需要加入一个节点来代理内网里面的流量。对于 stun 穿透端口号一直变的问题, 可以利用 Lucky 的 Webhook 将 ip 和端口号调用接口配置。接下来要做的就是在 Clash 配置定时刷新订阅,或者用 API 调用订阅刷新即可。
准备
公网服务器,用作 clash 订阅
内网服务器
步骤在内网服务器搭建 v2ray 服务器主要是用于代理内网的 ...
Firefox for Android 信任系统第三方证书
Android 版本的 Firefox 默认不信任系统证书需要按以下步骤开启信任系统证书
步骤
打开 Firefox for Android
打开设置-关于 Firefox
点击七次 Firefox 的 logo 图标解锁 Secret Setting
返回,然后找到 Secret Setting,开启 Use third party CA certificates
完成,最好重启 Firefox
记一次在 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 的时候经常会遇到频繁掉线的问题,原因是 GFW 对 QUIC 协议进行了干扰,而 Cloudflare 默认使用 QUIC协议,可以切换为 http2 协议解决这个问题:
添加--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 ...
