Seattle area, ferry, space needle, mount rainer, modern design, for the web, happy, 4k, high resolution, trending in artstation

宇宙起源: 宇宙是怎么产生的? 宇宙大膨胀理论

结合宇称不守恒定律和红移现象,可以得出一个结论,宇宙是在各个点同时膨胀而且会一直膨胀下去。没有奇点也不是什么爆炸。大爆炸理论是错的。 宇称不守恒的原理是解释宇宙起源的钥匙,希望有人能解决这个问题,毕竟定律只是定律,是规律的总结,而原理才是真正能够揭示事物的本源。

IPv6介绍

IPv6的基本概念 众所周知,32位的IPv4地址已经耗竭,IPv6采用128位的地址长度拥有更大的地址空间。首先我们先来认识一下IPv6到底长成什么样子。 初识IPv6 图1 IPv6数据报文 上图是我们最熟悉的ping的IPv6版本ICMPv6。可以看到,IPv6数据报文和IPv4有很大的差别: 数据链路层(L2)的type字段标识为 0x86dd,表示承载的上层协议是IPv6 IPv4对比:type字段为0x0800 IPv6的头部字段,和IPv4差别巨大(可以猜测到,IPv6和IPv4无法兼容) IPv6的报文头部格式如下: 图2 IPv6报文头部(该图片来自互联网) IPv6报文头部更精简了,字段更少了,对比起IPv4,有以下几个地方值得注意: IPv6报文头部是定长(固定为40字节),IPv4报文头部是变长的。这个意味着,写代码处理IPv6数据报文的效率会提高很多:) IPv6中Hop Limit字段含义类似IPv4的TTL。 IPv6中的Traffic Class字段含义类似IPv4中的TOS(Type Of Service)。 IPv6的报文头部取消了校验和字段。取消这个字段也是对IPv4协议的一个改进。当IPv4报文在网路间传输,每经过一个路由器转发就是修改TTL字段,就需要重新计算校验和,而由于数据链路层L2和传输层L4的校验已经足够强壮,因此IPv6取消这个字段会提高路由器的转发效率。值得一提的是,在IPv6协议下,传输层L4协议UDP、TCP是强制需要进行校验和的(IPv4是可选的)。 IPv6报文头部中的Next Header字段表示“承载上一层的协议类型”或者“扩展头部类型”。这里的含义与IPv4有很大的差别,需要加以解释: 当IPv6数据报文承载的是上层协议ICMPv6、TCP、UDP等的时候,Next Header的值分别为58、6、17,这个时候和IPv4报文头部中的Protocol字段很类似。 当不是以上3种协议类型的时候,IPv6报文头部紧接的是扩展头部。扩展头部是IPv6引入的一个新的概念,每个IPv6的数据报文可以承载0个或多个扩展头部,扩展头部通过链表的形式组织起来。当IPv6数据报文承载着扩展头部的时候,Next Header的数值为扩展头部的类型值。 为什么要引入扩展头部这个概念,这里也是IPv6对IPv4改进的一个方面,用扩展头部取代了IPv4的可选项信息,精简了IPv6的头部,增强了IPv6的扩展性。有同学会不会有疑问,IPv6的分片数据报文怎么处理?其实就是使用了IPv6扩展头部。我们来抓一个UDP分片报文来看看。 图3 IPv6分片报文 当发送一个分片IPv6数据报文的时候,IPv6使用的是扩展头部的形式组织各个分片的信息,如图IPv6报文头部Next Header字段值为44表示存在扩展头部,扩展头部是IPv6分片数据信息。 对比IPv4,分片信息是记录在IPv4报文头部的分片字段中。 IPv6的扩展头部类型有很多种,除了上述的分片头部,还有路由头部、逐跳可选头部等,具体的可以参考RFC2460。 本章主要介绍了IPv6的一些很直观的认识,下面逐渐介绍IPv6上的基本知识和概念。 IPv6的地址语法 一个IPv6的地址使用冒号十六进制表示方法:128位的地址每16位分成一段,每个16位的段用十六进制表示并用冒号分隔开,例如: 一个普通公网IPv6地址:2001:0D12:0000:0000:02AA:0987:FE29:9871 IPv6地址支持压缩前导零的表示方法,例如上面的地址可以压缩表示为: Read more…

云手机上安装Google服务框架

目錄 1. ReDroid需要用到的軟體 2. 取得ARM轉譯器libndk 3. 建置ReDroid的Docker映像檔 4. 啟動ReDroid 5. 安裝Google服務框架 6. ReDroid安裝APK 7. ReDroid如何「開關機」 8. 總結 ReDroid (Remote anDroid) 是自架「雲手機」的方案,透過docker在電腦上跑Android系統容器,再利用Scrcpy的鏡射螢幕功能連線到Android桌面。 ReDroid也是在電腦上用開源軟體跑Android APP的解決方案。因為別說雲手機了,很多Android手遊模擬器都是閉源軟體哪。相較之下,ReDroid除了ARM轉譯器以外都是開源的。更棒的是ReDroid支援GPU加速+ARM轉x86的轉譯器,這樣就可以玩大多數手機3D遊戲了。 對Linux用戶來說,這更是除了Waydroid以外,在Linux電腦高效率跑Android APP的方法。 本文將討論如何在x86架構的Linux電腦,用ReDroid玩ARM架構的手機遊戲。我們會在ReDroid映像檔加入ARM轉譯器+Google服務框架,以達成最佳使用體驗。 P.S. Windows和MacOS也可以跑Docker。 1. ReDroid需要用到的軟體 ReDroid在Github上有各大Linux發行版的安裝說明。 由於我是Arch Linux,因此Linux核心要先換成linux-zen以支援binderfs。 接著安裝docker和docker-compose,用於執行容器: 1 2 sudo pacman -S docker Read more…

云手机Web管理 使用Docker运行scrcpy-ws实现

一、引言 上一篇文章我写了一遍关于用嫖的甲骨文Arm通过Redroid image开一个Andriod容器用来安卓挂机,更好的利用吃灰的甲骨文做点事情,但是很多人误会了我那篇文章的意思,并不是非得是Arm64架构才能运行此镜像。 只是甲骨文Arm的性能过剩了才拿出来做的栗子,其实只要是能跑docker的arm64/amd64都能启动Redroid。 本篇文章将用oracle Arm机型做栗子,根据别人善意提醒,ws-scrcpy可以通过ws提供一个web版Android的远程桌面。 我去了解了一下,确实比起传统的用iptables限制ip访问adb得到的安全性相比,能有个web端,能让我们更方便的访问和做授权访问。 优点: web端可以通过任意浏览器直接访问方便,还能套诸如cloudflare支持ws的cdn,加速访问; 不用做上一篇文章那种复杂的防火墙规则来保证安全。 缺点: 需要配置nginx auth模块、小白噩梦、多跑一个scrcpy-web容器 下方介绍如有纰漏、错误,请留言指正 二、结果展示 如果你参照如下的说明,你就会得到一个可以授权的web版桌面(密码验证是nginx做的),下面是gif展示: 看着还不错是吧? 那就往下看,仔细阅读,你会得到的很方便安全的云手机。 如果是第一次阅读,请跟着我的说明,参数都不要乱动,等配置成功一次之后再自行发挥。 三、具体步骤 1.准备工作 为了避免复制粘贴,先给没有基础的用户一个提醒,没有看过上一篇文章的看这里:甲骨文ARM利用docker镜像运行安卓云手机。 如果你要熟悉使用本篇文章的说明请阅读至这篇文章的<使用> <四. 拉取docker镜像并启动容器>,查看完该docker命令是什么意思不需要启动容器有点不一样,做好准备工作就行。 2. 启动redroid容器 这里和上一篇文章不用web的直接连接adb时不一样,下面有说明,请注意 docker run -itd \ –memory-swappiness=0 \ –privileged –pull always \ -v /root/test/data:/data \ Read more…

QQ机器人

以前写QQ机器人都是用Python。从接触 NoneBot 到转去用 Ariadne,我逐渐发觉,Python在构建QQ机器人时有天生的劣势:一是同步与异步混合非常麻烦,二是难以实现重载单个插件。于是放弃了框架、用 WebSocket客户端直接连接 go-cqhttp,倒也省去了不少心智负担。 最近看到一个基于Node.js的QQ机器人框架——KiviBot。看了插件API文档,感觉真是简洁实用,不搞多账号、跨平台,而是清晰简明地把常用功能做好。 于是尝试部署。再次感叹当初选AlmaLinux 8非常明智,不必添加额外的软件源,一条命令(sudo dnf module install nodejs:18)就装好了Node.js。 然后写插件试试。写了经典的“芜湖起飞”和 vnstat。体验只有一个字——“爽”!写好插件后,直接向机器人发送 /plugin on wuhu-takeoff 或 /plugin reload vnstat,就能启用或重载相应的插件,特别方便。 转自: zhao’s Moments

云手机基本原理与构建

云手机基本原理与构建 一、什么是云手机 云手机是虚拟化技术,最终为用户/客户在云端提供的一个个安卓实例(操作系统)。用户/客户可以通过视频流的方式,远程实时控制云手机,最终实现安卓原生APP及手游的云端运行。 二、云手机实现原理 三、远程连接协议VNC/SPICE/RDP 所有的云手机都离不开远程桌面连接协议,若没有远程桌面连接协议,要实现云手机屏幕的控制则需要自行设计远程桌面连接协议。目前较为常见的云手机连接协议,大多使用VNC方式实现云手机桌面作为视频流进行传输。 1、三种协议对比 SPICE VNC RDP BIOS屏幕显示 能 能 不能 全彩支持 能 能 能 更改分辨率 能 能 能 多显示器 多显示器支持(高达4画面) 只有一个屏幕 多显示器支持 图像传输 图像和图形传输 图像传输 图像和图形传输 视频播放支持 GPU加速支持 不能 GPU加速支持 音频传输 双向语音可以控制 不能 双向语音可以控制 鼠标控制 客户端服务器都可以控制 Read more…

云手机搭建

引言 最近找app远程调试环境,最后选择了docker启动容器的比较方便,支持ADB远程连接。使用scrcpy连接可以提供桌面环境,突然发现这个镜像的架构支持Arm64,我还有好几个吃灰的甲骨文,遂试了试体验良好,可以当成一个云手机来挂机。 Arm64架构并不是必须的,就像我如上说明,该镜像支持Amd64,如果你认为你的机器性能不错就可以试试。 介绍 甲骨文Arm使用的CPU给的性能很足,4c的geekbench5跑分有足足3400分左右,参考当前最流行的手机处理器芯片骁龙870 geekbench5 3100分来说是非常良心的了。使用它来虚拟一个云手机来说性能充足。 我在这里选择的是Redroid,ReDroid(Re mote an Droid)是一个 GPU 加速的 AIC(Android In Container)解决方案。Docker您可以在 Linux 主机(Docker, podman, k8s etc.)中启动许多实例。ReDroid同时支持arm64和amd64架构。 ReDroid适用于云游戏、VMI(虚拟移动设备)、自动化测试等。 根据该镜像描述,对云游戏有很好的支持,符合我们的需求,所以这里直接使用它启动容器。 你也可以用来配置python selenium做自动化,因为有root权限,也能用于app开发调试,并不一定拿来挂机游戏,说到底这是我的需求。 接下来配置过程中,最麻烦的不是让容器启动,而是为了你连接桌面过程中更加安全可靠而做的努力,如果你仔细阅读完是没有问题的。 性能/资源占用率参考 看不清图中文字,右键标签打开放大看 总体来说还可以,能不用软解就不用,硬解性能测试着比软解更好,1080p60能维持这个占用率,跑些非大型游戏挂机脚本挺不错的,白嫖还想要什么飞机?(这个测试的是redroid13,如果是8.1占用率应该更低) 使用 下方测试系统是oracle 原生 ubuntu 20.04,其他系统我没有一一测试,没什么区别。 一· 检查内核 首先查看一下你的内核版本是否>=5.0,根据介绍,如果内核在此版本之下,许多指令无法适配,为了不出错还是升级一下内核,如果不升级内核该镜像issue也给出解决方案,我懒得看,有兴趣自己研究去。 uname -r 5.15.0–1013-oracle #这里最好>=5.0 二. 安装模块 apt install linux-modules-extra-`uname Read more…

手机虚拟机 概念及几款手机虚拟机软件介绍

手机虚拟机是什么? 手机虚拟机,用过电脑虚拟机的听到应该也不会陌生,其实就是内置在本机内的又一个系统。它虽然是模拟真机环境,但与本机系统最大的区别在于:你拥有对该系统的自主掌控权,也就是常说的“自带root”或者“免root”。多用于软件测试(包括安装非官方渠道应用)和应用多开。 常见的手机虚拟机软件有哪些,优缺点是什么? 真机性能越好,虚拟机运行才会越流畅,类比在手机里运行的游戏应用。这几年各大手机厂商都在疯狂给手机加配置,又正是洞察到了我们的需求。 市场上主流的三款虚拟机也都一一使用过一段时间(仅以酷安上的数据为参照)。 VMOSPro,VPhoneGaGa 和 51虚拟机 VMOS Pro,光速和51虚拟机,三者其实大同小异,最受欢迎的多开,悬浮窗,挂机等功能,也都各自具备,只是使用上有略微区别。 但用过手机虚拟机的游戏玩家和软件测试工作人员都明白,真正能满足用户需求手机虚拟机永远都在路上。毕竟用户需求在不断增加和变化,虚拟机产品当然也要及时跟进用户需求才是上策。 真正能被用户长久使用(俗称边吐槽边催更新)的虚拟机不是在修复bug路上,就在解决适配问题的路上。 比的就是哪家虚拟机能更快修复bug,尽早解决适配问题! 这里不得不提下,所有手机虚拟机都共有的一个有意思的缺点,准确来说是多方博弈下的必争之地。那就是挂机与适配问题。 挂机,这个虚拟机最受欢迎的功能,恰恰是与真机安卓端相违背的存在。安卓用户都知道,安卓端并不太支持应用在后台的长时间挂机。这也是为什么我们游戏时会在息屏或者其他一些场合掉线的原因,尤其是在多应用同时运行的时候。 因此,挂机和适配更多的应用(游戏)也是各大手机虚拟机暗自较劲的战区。换句话说,谁跑的地图越多越快,那谁就能常驻用户手机中。 注明:悬浮窗、一键切换系统、应用导入备份、自定义分辨率、谷歌服务等等是三者都已具备的,这里不做赘述。 至于广告这一点,三者都存在这个现象,不同的是VMOS Pro可以通过观看广告来体验会员特权。对于考虑是否购买会员开启更多功能的用户来说,会更安心一些。 1.流畅性:添加这三个虚拟机时,区别并不明显。但同时添加和运行六台虚拟机时,同样配置的手机,VMOS Pro和光速要更胜一筹,值得一提的是,前者已经适配安卓12。 2.隐私保护:这一点,可以说是虚拟机本身的优势所在,没有太多要提的。但是个人会倾向产品开发者背书,平台越大当然越有保障。毕竟一个手机虚拟机产品要想走得更远,需要的成本可不少。时间、金钱、人力都需要考虑在内。这里就不赘述了,避免有广告嫌疑。 3.耗电快和消耗真机性能:这时所有虚拟机必然存在的现象,只要真机性能越高,虚拟机运行就越流畅。 为什么越来越多的人也会选择使用虚拟机? 三大功能满足生活玩家和玩机族需求。 (一)适用于游戏兼容和挂机:相信不少玩家都经历过,老的应用和游戏与新版本的安卓系统不兼容。手机虚拟机就很好的解决了这个问题。你可以根据需求添加不同的安卓ROM。而且虚拟机中的游戏可以保持息屏挂机,就算切换回真机也不会掉线,这一点正是习惯一台手机处理工作生活的玩家所需的。 (二)适用于保护用户隐私安全:习惯逛论坛的一定有过被提示过安装非官方渠道应用“有风险”,由于担心垃圾广告和隐私泄露,往往就作罢了。这类软件安装在虚拟机中是最为合适的,不用担心真机内的信息泄露。 (三)自带root权限满足用户自定义系统:市面上的主流虚拟机基本都内置root超级用户权限,支持Xposed(使用时发现光速尚未支持),可自定义分辨率,可以说是玩机党必备。 之所以说安卓Android比苹果iOS更具可玩性,最能提现这一点的Xposed框架必须拥有姓名。它能让你使用各种模块,去修改系统或APP来获得新的功能体验。 对手机虚拟机的认知存在两大误区 (一)手机里运行虚拟机会不会影响真机,或者会不会报毒? 报毒是肯定不会,至少我使用过的几款虚拟机都是经过各应用市场安全检测的。 至于影响真机,它其实就和平常安装在手机里的应用一样,正如前面提到过的,会占内存、会耗电。尤其是虚拟机内运行的软件越多耗电越快。 (二)手机虚拟机登录微信是否会被封号? 如果微信分身无法满足你多个账号的需求,可以考虑在虚拟机中登录。但是要注意,是否被封号是取决于腾讯的风险控制机制。像是新号、长时间未登录的账号会容易出现这种情况。 话说回来,这样的账号即便不是在虚拟机,而是在另一台设备中登录也是需要注意的。在虚拟机中登录微信要求扫码时,将截图发送给另一台设备,再用自己的微信登录。