作者: itgeeker

  • 软路由主机使用Esxi 8安装OpenWRT做家庭主路由 替代原先的Linksys WRT32X 使用pihole做DNS解析并清洗广告

    软路由主机使用Esxi 8安装OpenWRT做家庭主路由 替代原先的Linksys WRT32X 使用pihole做DNS解析并清洗广告

    ITGeeker技术奇客最近入手了倍控的G31 N5100小主机,安装Esxi 8后,安装了虚拟机OpenWrt作为家里的主路由使用。

    N5100的功耗只有6W,比N5105的10W还要低,之前测试过Esxi安装Linux等虚拟机后,CPU相对都会比较空余,所以低功耗做软路由应该更合适,而且价格也便宜100多元。这款机器自带一个嵌入式风扇,就不用加装外挂的风扇,整洁了不少吧。

    为了阻止广告,加快网速,在Esxi上加了一个Ubuntu server mini并配置了pihole,但是N5100有点拉跨,只好部署到另外一台Esxi主机上了。

    英特尔N5100作为All In One软路由够不够实力 谈谈使用倍控G31灰色风扇款N5100小主机的使用情况

    然后给openwrt装了个openclash,目前配合下来还不错。整体稳定。

    使用openwrt的dhcp下发DNS的方法:

    在dhcp-options添加6,pihole主机IP后,之后接入的设备的DNS就会自动设为pihole主机的IP,已接入设备如果默认的话也会在12小时以内更新为新的DNS

    pihole配置本地广告组织列表

    这里推荐两个列表:

    1. https://cdn.jsdelivr.net/gh/neoFelhz/neohosts@gh-pages/basic/hosts
    2. https://github.com/VeleSila/yhosts/blob/master/hosts

    下载到本地后,进入pihole设置的Adlists菜单,添加本地文件,格式为:

    • file:///opt/ad_block_host/block_ad_yhosts
    • file:///opt/ad_block_host/neohosts_basic

    完成后进入Update Gravity菜单,点击update,看看是否更新成功。

  • 英特尔N5100作为All In One软路由够不够实力 谈谈使用倍控G31灰色风扇款N5100小主机的使用情况

    英特尔N5100作为All In One软路由够不够实力 谈谈使用倍控G31灰色风扇款N5100小主机的使用情况

    讨论使用All In One的小主机来做路由器的视频非常普及,往往各种数据评测。技术奇客ITGeeker.net这里是直观谈谈使用倍控G31灰色风扇款-N5100小主机的实际体验。

    期待(✧∀✧)

    一开始安装了Esxi 8作为操作系统,配了1T三星980 pro m.2硬盘,金士顿48G 3200笔记本内存,本想着可以作为一个All In One的小主机多装些东西练练收。

    然后安装了OpenWRT作为主路由,然后OpenWRT安装openclash做些代理,然后再新建一个Ubuntu server mini装了Pi-hole用来过滤广告和限制小孩的一些域名访问。

    刚开始用着还不错,想想再增加了一个Ubuntu sever mini装了Odoo 15,结果CPU就有点不够了,偶尔会出现死机现象。只好把Odoo给停了。

    这个时候,看Pi-hole的每天查询数queries大概再50-60万次左右,基本上CPU占用80%,内存只有大概30%的使用率。

    过了几个月,Pi-hole的每天查询数queries大概再80-90万次左右的时候,就变得不稳定了,偶尔CPU就会超过110%,出现偶尔死机的情况了。内存倒是始终在16G以下。

    放弃

    因为会宕机,所以给Pi-hole做了各种优化,及时清理缓存等,甚至换上AdGuard也是同样的情况。

    可能DNS查询量大的时候,读写太频繁,加上lograte要转存日志是CPU就会超载。

    这在我用Esxi 8的备份工具ovftool.exe备份ova文件时,验证了读取大量数据时,英特尔的N5100 CPU扛不住了。

    解决方案只能把Pi-hole备份成ova,然后部署到另外一台的Esxi服务器上了,结果再看CPU和内存占有,又有点性能过剩了。

    回头装些不那么占用CPU的应用吧。

    小结

    希望对你在选购All In One小主机时有个参考,不要只看自媒体的视频吹的大雪狂飞。

    1. 英特尔的N5100 CPU相对还是比较弱的
    2. Pi-hole很吃CPU
  • 华为Mate60 Pro HarmonyOS 4最新版成功安装GMS 如何禁止Google Play提示此设备未获得Play保护机制认证提醒

    华为Mate60 Pro HarmonyOS 4最新版成功安装GMS 如何禁止Google Play提示此设备未获得Play保护机制认证提醒

    本来想着之前的Mate40Pro+还能再战一年,等明年Mate70Pro出来再换,毕竟Mate40Pro+当时也是相当的难抢。结果在陪着去拿预定的华为Mate60 Pro时,问了商家一句是否还有机子,结果正好有别人预定了,但又暂时不想要的机子,黑色的至臻版Mate60 Pro,就是带一个Freebuds 5至臻版无线降噪耳机的那款。然后就买了。

    前面Mate40Pro+升级到HarmonyOS 4后还没完全搞定GMS套件,参看之前文章:

    华为Mate40 Pro+完美升级到HarmonyOS 4.0.0.112 第2天GMS Google Play提示此设备未获得Play保护机制认证

    当时最后选择了Gbox,但实际使用还是有诸多不便,应用安装也不全。趁着Mate60 Pro入手,打算好好解决一下这个问题。

    结果看了几个视频,GMS整个安装过程很顺利。但是同样的问题,第二天还是碰到了Google Play提示此设备未获得Play保护机制认证。

    采用Device ID获取GSF注册的方式没法解决该问题,不用尝试了。

    可行的解决方法

    用adb关闭Google服务框架

    成功解决GMS弹窗警告信息问题

    如图所示,只要让Google服务框架是已停用状态即可。经过2周实测,不会影响实际使用GMS的各种应用。只有打开Chrome APP会有重复让你开启同步功能的提示。

    操作第一步

    当碰到Google Play提示此设备未获得Play保护机制认证时,进入应用管理找到Google服务框架,手动强制停止,看看是否提醒可消失,如果没有消失或停止,那就找找其他方式吧。这个方式不适合您当前的情况。

    操作第二步

    手机开启USB调试,并连接USB到电脑,测试adb可用后,运行禁用Google服务框架命令:

    adb shell pm disable-user --user 0 com.google.android.gsf

    就这么简单,解决烦人的弹窗提醒。

    若运行adb后出现类似错误:

    adb server version (39) doesn't match this client (40); killing...
    could not read ok from ADB Server
    * failed to start daemon
    error: cannot connect to daemon

    可以尝试再次运行adb命令行,出现类似以下内容即成功了

    * daemon not running; starting now at tcp:5037
    * daemon started successfully
    Package com.google.android.gsf new state: disabled-user

    ADB禁止GSF打包zip文件(1181K)

    链接: https://pan.baidu.com/s/1e3vew76xiR0RH4CH47quMQ?pwd=iuzj 提取码: iuzj

    如果电脑未能安装手机驱动,可尝试安装华为助手来解决。2024-02-08上传,有效期30天

    解压后,直接双击运行adb.bat即可,或者运行上面的adb命令行。若出现多行信息,则为错误信息,多数因为:

    • USB调试打开后,需要重新插拔一次手机
    • 手机未被电脑识别,尝试安装华为助手,相当于安装手机驱动
    • USB线只支持充电,不支持数据连接

    本次参考的教学视频

    参考的是油管上fenibook发布的视频

    鸿蒙4 0安装谷歌服务教程,华为Mate 60 通用

    关键要有一个好的网络,安装就会顺利很多。

    by 技术奇客ITGeeker.net

    本次使用的GMS安装包(200多兆)

    也是fenibook提供的OneDrive分享,密码是2333

    OneDrive下载地址:https://1drv.ms/u/s!Aik9XRP_jw-Zg-gs3dkSufFqHeoOaw

    或者Google Drive分享

    GoogleDrive下载地址https://drive.google.com/file/d/1B1619UJVjOY4UqXaMY4uY40TvnEcGemT/view?usp=drivesdk

    备份目录的完整路径及找不到 “从内部恢复” 的菜单的问题

    连接手机到电脑,选择文件传输模式时的完整路径:

    可能会碰到的问题是找不到“从内部恢复”这个选项,解决要点是把压缩包里的“Huawei.zip”解压缩到内部存储的根目录,还有手机日期要调到2019年11月11日或者其他月日😁。其他网上的各种方法似乎都不灵的。

    by 技术奇客ITGeeker.net

    2024-07-21更新:

    HarmonyOS 4.2.0版本即使路径正确,日期也改好了,也找不到“从内部恢复”选项了,可以参考本站的:

    HarmonyOS 4.2.0版本安装GMS第一步找不到“从内部恢复”选项的解决办法一: 外部存储恢复法

    https://www.itgeeker.net/harmonyos-4-2-0-install-gms-cannot-find-recovery-from-internal

    若有其他问题请留言交流。

  • Google Chrome清除指定网站的所有缓存 浏览记录、Cookie、缓存及其他数据

    Google Chrome清除指定网站的所有缓存 浏览记录、Cookie、缓存及其他数据

    当您使用浏览器(例如 Chrome或者Edge)时,浏览器会将网站中的一些信息保存在其缓存和 Cookie 中。有时候清除这些内容可以解决某些问题,例如更新了Odoo的JS文件后,客户端浏览器并不会马上更新。

    先来看看Google谷歌官方指导

    在 Chrome 中

    1. 在计算机上打开 Chrome。
    2. 点击右上角的“更多”图标 展开
    3. 依次点击更多工具 接着点按 清除浏览数据
    4. 在顶部,选择一个时间范围。要删除所有内容,请选择时间不限
    5. 选中“Cookie 及其他网站数据”及“缓存的图片和文件”旁边的复选框。
    6. 点击清除数据

    谷歌官方的这一指引并不能清除指定的单一网站缓存,而是只有清除所有网站的缓存。比如如果你想单单清除https://www.itgeeker.net的缓存和Cookie是无法实现的。

    不清除缓存,只单独清除某个网站的Cookie是可以的。

    by itgeeker.net

    清除特定网站缓存的方法

    但是,如果采用开发者工具(浏览器页面F12可开启),则可以很快消除该页面的缓存,从而实现消除并更新的效果

    打开开发者工具(F12),选择 Network——Disable cache,刷新页面,如果已经清除并更新,可以去掉Disable cache选项,再刷新页面试试。

    这样就实现了清除特定网站缓存,而不必清除所有网站的缓存了。

    好像换了默认快捷键了:Ctrl + Shift + I

    清除特定网站缓存的方法2025

    在Chrome浏览器中,你可以通过开发者工具删除指定网址的缓存。具体步骤如下:

    1. 打开开发者工具:
      在要清除缓存的网页上,按F12 或右键点击页面,选择“检查”。
    2. 选择“Application”选项卡:
      在开发者工具的左侧面板中,点击“Application” 选项卡。
    3. 选择“Storage”部分:
      在Application 选项卡中,找到“Storage”(存储)部分。
    4. 清除存储数据:
      在“Storage”部分,你可以找到与该网址相关的缓存、Cookie、Service Workers等。选择要清除的项目(例如,缓存)并点击“Clear site data”按钮。
      这种方法可以清除特定网址的缓存,而不会影响其他网页的缓存.

      另外,还可以通过以下方法清除缓存:
    5. 清除浏览数据:
      在Chrome浏览器中,可以点击右上角的“更多”图标,选择“更多工具”,然后点击“清除浏览数据”。选择要清除的时间范围和类型,然后点击“清除数据”。
    6. 使用开发者工具禁用缓存:
      在开发者工具的Network 选项卡中,可以勾选“Disable cache” 选项,这样在浏览网页时,Chrome就不会从缓存中读取数据,从而实现清除缓存的效果.

      注意事项:
    • 清除缓存后,网页可能需要重新加载以获取最新数据,因此网页加载时间可能会略有增加。
    • 在清除缓存之前,可以考虑备份或记录重要的网站数据,以免丢失数据。

  • 如何将Xshell的会话导入到WindTerm

    如何将Xshell的会话导入到WindTerm

    Xshell虽然是商业软件,但是家庭和学校版还是免费的,所以也用了挺长的时间,积累了不少的连接(会话)和快速命令。

    放弃Xshell转投WindTerm的几个理由

    1. 总感觉Xshell的比较占用资源,启动速度有点慢,尤其多开的时候感觉非常耗资源。
    2. 虽然可以创建很多的快捷命令,但是无法同时开启两个快捷命令栏,不停的切换又太麻烦,导致快捷命令重复的太多。
    3. Xshell还不能跨平台使用,Windows里使用的没法在Linux里头同步使用。
    4. Xshell 7 后面的版本据说会有启动弹窗广告,不过ITGeeker技术奇客至今还没碰到。
    5. Xshell 6版本以后,免费版每个窗口限制最多开4个标签页
    6. Xshell启动的窗口大小经常无法记忆,也没找到地方设置。
    7. Xshell右键粘贴命令时常会有乱码。
    8. Xshell tail日志的时候没法停止查看
    9. 用的太久了,想尝试新的工具。
    10. WindTerm是开源的,完全免费用于商业和非商业用途。资源消耗、性能方面相比要好很多;Windows版本免安装解压即可便携用。
    11. WindTerm配置文件修改方便,可随意打包保存。同步多台设备的配置可使用git方式。

    WindTerm开源地址:https://github.com/kingToolbox/WindTerm/releases 当前Fork1.3K,Star 16.4K

    WindTerm作者博客地址,有很多功能介绍及教学等:https://kingtoolbox.github.io/

    依据凡事都要有备份方案的原则,觉得不应只依赖一个软件,而且Xshell的跨平台使用的确是个问题,所以打算启用第二个SSH的客户端。国内有蛮多人推荐的客户端叫FinalShell, 但是它的官方主页(http://www.hostbuf.com/t/988.html)让人感觉有点点没那么大气,所以还是选择了这个纯开源的WindTerm.

    Xshell转投WindTerm的数据导入导出问题

    如何将Xshell的会话导入到WindTerm?

    不知不觉的,你会发现你的链接的数量可能至少有几十个,甚至上百个。如何快速地将这些会话导入到WindTerm就成了非常重要的问题。

    网上搜了一圈似乎没有直接将Xshell导入到WindTerm的工具,WindTerm官方也讲了因为Xshell是一个商业软件,所以他们不会提供从Xshell导入到WindTerm的工具。这里ITGeeker技术奇客在网上找到了一个SH脚本,可以将Xshell的会话先导入到Putty,然后再在WindTerm里直接导入就可以了。虽然是2019年的脚本,只需修改PATH_XSH参数为正确的路径,亲测可以正常使用。

    Xshell 7 会话默认路径: C:\Users\你的用户名\文档\NetSarang Computer\7\Xshell\Sessions

    第一步:如何将Xshell会话导入到Putty当中

    在Windows本地创建好SH脚本后,打开CMD运行窗口,运行两个命令:

    • wsl bash xshell2putty_config.sh
    • reg import tmp_xshell2putty_config.reg

    这里应该要安装Windows子系统Linux,ITGeeker技术奇客的Windows之前已经安装过的。

    第二步:打开Putty,确认会话已成功导入

    Putty Windows应用官方链接 https://apps.microsoft.com/store/detail/putty/XPFNZKSKLBP7RJ

    这里从Xshell导入的链接可能会有少许是错误的,但基本都可用。

    第三步:在WindTerm的的会话窗口空白处,右键点击并选择导入即可完成

    如果你的Xshell会话包含子目录,那就需要多次运行,每次设定不同PATH_XSH才行。或者改一下脚本,让它支持遍历各个子目录也行。

    by itgeeker.net

    如何将Xshell的快速命令导入到WindTerm?请参考ITGeeker技术奇客的原创的转换脚本。

    xshell2putty_config.sh脚本参考

    脚本原始地址:https://gist.github.com/timedcy/a9da42ec66710e9a28535f769dcee694

    #!/bin/bash
    
    # convert to and import putty config from xshell's
    # author: timedcy
    # date: 2019-12-04
    # usage:
    # In Windows 10 cmd, execute commands
    # wsl bash xshell2putty_config.sh
    # reg import tmp_xshell2putty_config.reg
    
    # set vars bellow first
    PATH_XSH="/mnt/d/conf/XShellSessions/Links"
    PublicKeyFile="D:\\conf\\UserKeys\\keydcy_4096.ppk"
    
    
    fn_tmp_reg=./tmp_xshell2putty_config.reg
    
    proc_list() {
      echo "Windows Registry Editor Version 5.00
    
    [HKEY_CURRENT_USER\Software\SimonTatham]
    
    [HKEY_CURRENT_USER\Software\SimonTatham\PuTTY]
    
    [HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions]
    " >${fn_tmp_reg}
    
      for xsh in $(ls "${PATH_XSH}"/*xsh); do
        proc_xsh $xsh
      done
    }
    
    extr() { iconv -f utf-16 -t utf-8 $filepath | sed -nr "s#(^${1}=)([^\r]+)#\2#gp" | tr -d '\r'; }
    
    proc_xsh() {
      filename="${1##*/}"
      name=${filename%.*}
      filepath="${PATH_XSH}/$filename"
      HostName=$(extr Host)
      PortNumber=$(extr Port)
      UserName=$(extr UserName)
      PortNumber="dword:$(printf '%08x\n' ${PortNumber})"
      WinTitle="${UserName}@: ${name}~"
      FwdReqCount=$(extr FwdReqCount)
      PortForwardings=""
      if [[ "$FwdReqCount" -gt 0 ]]; then
        for ((x = 0; x < $FwdReqCount; x++)); do
          Port=$(extr "FwdReq_${x}_Port")
          Host=$(extr "FwdReq_${x}_Host")
          HostPort=$(extr "FwdReq_${x}_HostPort")
          PortForwardings+="L${Port}=${Host}:${HostPort},"
        done
        PortForwardings="${PortForwardings%,*}"
      fi
      echo
      echo filepath: $filepath
      echo HostName: $HostName
      echo PortNumber: $PortNumber
      echo UserName: $UserName
      echo ${PortForwardings}
      echo WinTitle: $WinTitle
      echo PublicKeyFile: $PublicKeyFile
      echo fn_tmp_reg: $fn_tmp_reg
    
      echo "
    [HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\\${name}]
    \"HostName\"=\"${HostName}\"
    \"PortNumber\"="${PortNumber}"
    \"UserName\"=\"${UserName}\"
    \"PublicKeyFile\"=\"${PublicKeyFile}\"
    \"PortForwardings\"=\"${PortForwardings}\"
    \"WinTitle\"=\"${WinTitle}\"
    \"AgentFwd\"=dword:00000001
    \"Protocol\"=\"ssh\"
    \"FullScreenOnAltEnter\"=dword:00000001
    \"LineCodePage\"=\"UTF-8\"
    \"TCPNoDelay\"=dword:00000001
    \"TCPKeepalives\"=dword:00000001
    \"Font\"=\"DejaVu Sans Mono\"
    \"FontIsBold\"=dword:00000000
    \"FontCharSet\"=dword:00000000
    \"FontHeight\"=dword:00000012
    \"FontVTMode\"=dword:00000004
    " >>${fn_tmp_reg}
    
    }
    
    proc_list
  • 华为Mate40 Pro+完美升级到HarmonyOS 4.0.0.112 第2天GMS Google Play提示此设备未获得Play保护机制认证

    华为Mate40 Pro+完美升级到HarmonyOS 4.0.0.112 第2天GMS Google Play提示此设备未获得Play保护机制认证

    这次华为很早就发信息给我邀请公测HarmonyOS 4,因为最近在旅途的时间比较多,担心刚更新完会有耗电快的问题,一直没更新,趁着今天有时间,用华为手机助理把手机完整备份了一下,除去微信聊天备份,大概110多G左右,耗时大约2小时。然后用微信PC备份了以下聊天记录60多G,耗时20多分钟,倒是挺快的。

    将来手机除了要增加内存和存储外,应该可以在传输接口的TypeC传输速度上往雷电4上靠才行啊。

    by itgeeker.net

    珍惜数据,备份一下没错的。

    如何找到升级HarmonyOS 4的地方?

    在华为手机搜索“我的手机”,然后就可以看到HarmonyOS的菜单,点进去就可以看到华为官方的设计指引,按着做就行了。

    升级前需要准备些什么?

    HarmonyOS 4升级包有6.9G,官方提示要至少8G空间,否则升级会失败。除此以外就是备份、备份、还是备份,珍惜数据,安全第一。

    5G的现在速度很快,而且这次比HarmonyOS 3的升级速度比起来似乎快了很多。一会就安装好了,重启速度也很快。

    HarmonyOS 4启动后的向导介绍截图

    介绍了HarmonyOS 4的新特性,简洁明了

    升级到HarmonyOS 4后的GMS套件检测,一切正常!

    每次升级的关键一刻,检测GMS套件是否一切正常。测试了Gmail,油管,尝试使用Play更新应用,Chrome,Goole语音搜索等等都正常。同样情况的机型的应该可以放心更新!

    在华为Mate40 Pro+升级到HarmonyOS 4.0.0.112后,所有的GMS套件一切都正常。

    by itgeeker.net

    升级后第2天GMS Google Play提示此设备未获得Play保护机制认证

    现在有点忙,稍后解决了放出方案。

    晚上更新,今天有点忙,刚才有些空了,想修复GMS认证问题,结果发现问题消失了,GMS APP也不闪退了。唯一就是今天一直开着VPN。

    之后发现,就得经常重启机器,才能偶尔成功登录Play。

    想想还是放弃折腾吧,以后鸿蒙Next就更加没办法了,所以选择了第三方的虚拟运行方式,测试了Gbox(https://www.gboxlab.com/)和Gspace(https://gspaceteam.com/),感觉Gbox使用方便,稳定性也很不错。

    2023-12-10更新

    入手Mate60 Pro后解决了这个问题,在Mate40Pro+也试过了是个可行的方案。请参看:

    华为Mate60 Pro HarmonyOS 4最新版成功安装GMS,关闭Play错误提示的方法

奇客罗方公众号 奇客罗方小程序 奇客罗方客服 ITGeeker Telegram

网站由ITGeeker技术奇客开发并管理;隶属于GeekerCloud奇客罗方智能科技
Site designed and developed by ITGeekerwhich is a sub-website of GeekerCloud
网站地图 | 沪ICP备2021031434号-4