前言:本教程仅供研究用途使用,可能导致账号封禁等后果,请谨慎考虑,若因此产生任何后果,与作者无关(如有违规请联系并下架所有有关类似教程)。(已失效)
依赖签名环境
报错仍然指向 command-not-found 脚本中 KeyError: 'non-free-firmware',这是由于 Kali 仓库中引入了新的组件 non-free-firmware,但 command-not-found 数据库脚本未更新导致的。
禁用 command-not-found 脚本
临时禁用 APT::Update::Post-Invoke-Success 钩子脚本
sudo mv /usr/lib/cnf-update-db /usr/lib/cnf-update-db.bak && sudo apt-get update && sudo apt-get dist-upgrade -y --fix-broken
sudo apt-get remove binutils -y:先卸载低版本的 binutils,避免冲突。
-o APT::Update::Post-Invoke-Success='':跳过 command-not-found 报错。
sudo apt-get install binutils=2.40:强制安装兼容版本的 binutils。
--fix-broken:修复破损的依赖关系。
sudo apt --fix-broken install -y && sudo apt-get install nodejs -y
下载Github项目地址
git clone https://github.com/BobH233/FakeLocation-server.git
测试
npm install
启动服务
node index.js
写入Host
通过将这三行添加到 /etc/hosts
文件中,你的 Kali Linux 系统会将 fakelocation.api.lerist.cc
、notice.api.lerist.cc
和 ads.api.lerist.cc
这三个域名解析为 192.168.3.31
,即你的 FakeLocation 服务器的 IP 地址。
sudo nano /etc/hosts
192.168.3.31 fakelocation.api.lerist.cc
192.168.3.31 notice.api.lerist.cc
192.168.3.31 ads.api.lerist.cc
文件内容
127.0.0.1 localhost
127.0.1.1 kali2021
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
# FakeLocation Proxy Configuration
192.168.3.31 fakelocation.api.lerist.cc
192.168.3.31 notice.api.lerist.cc
192.168.3.31 ads.api.lerist.cc
检查
FakeLocation
显示 "unexpected end of stream on unknown" 错误提示,通常是由于以下几个原因导致的:
1. 代理配置问题
如果你的 FakeLocation
应用依赖于代理连接到你的服务器(192.168.3.31:8000
),而代理设置有误,可能会导致无法建立连接,进而出现 unexpected end of stream
错误。确保代理设置正确:
- 确保 应用代理 配置指向了正确的服务器 IP(如
192.168.3.31
)和端口(如8000
)。 - 如果你使用的是路由器配置代理,确保该配置没有问题,并且设备能够正确解析到服务器 IP。
2. 服务器未正常启动或端口被占用
你运行的 FakeLocation
服务器可能没有正常启动,或者端口 8000
被占用,导致无法建立连接。请确保:
- 你在服务器上成功启动了
FakeLocation
,且没有报错。 - 使用
netstat
或ss
命令检查端口8000
是否已经被监听
sudo netstat -tuln | grep 8000
tcp6 0 0 :::8000 :::* LISTEN
Dia
Host 192.168.3.31 Port 8000