screen删除会话
screen -X -S sessionID quit
screen -X -S sessionID quit
removed /var/log/my.ip.add.ress
此方法理论同样适用过滤别的关键词网站
因为搜索的内容严重被csdn污染,所以想研究下如何过滤。
目前对quic只是很浅很周边的了解,仅局限于材料和ppt,并未动手做过代码级别的实践。
最近想尝试下quic proxy的性能,是否能优于现有的技术方案,遂准备开始基本从零开始学习,记录下点滴,希望能帮到需要的人。
因为chrome quic 是一个已经可以体验实用的实现,打算先从chrome quic 学习。
https://github.com/quicwg/base-drafts/wiki/Implementations
https://blog.cloudflare.com/unlocking-quic-proxying-potential
https://blog.apnic.net/2023/03/23/hiding-behind-masques/
先做个简单记录,回头再慢慢细化 :https://www.cnblogs.com/rmb999/p/17774248.html
tcpip的很简单,disconnect就可以。
本地的比较麻烦。
查询pid
netstat -ano|findstr 5555
TCP 127.0.0.1:5555 0.0.0.0:0 LISTENING 3496
TCP 127.0.0.1:5555 127.0.0.1:58569 ESTABLISHED 3496
TCP 127.0.0.1:58569 127.0.0.1:5555 ESTABLISHED 2356
我们看到adb server的进程ID 3496
删除进程
taskkill /pid 3496 -f
成功: 已终止 PID 为 3496 的进程。
github: https://github.com/hiproz/aosp-server-toolkit
之前是用orange pi做家庭远程伺服跳板机的,平时开vnc或者ssh之类。发现老是死机,于是萌生了用二手手机做服务器的想法。
网上小黄鱼有很多二手手机,价格比开发板还便宜,而且配置更高,硬件的一致性也更好。
因为google的pixel手机对应的代码基线都是开源的,所以选择便宜的pixel手机。代码直接从aosp的官网获取。
目前pixel3的价格在100-200 比开发板是很高性价比了,所以我们选择pixel3手机作为入门。
aosp系统固件构建,一般主要是做跟服务器相关的特性修改,比如充电自动开机,集成各种工具,比如vnc,busybox等等。具体的编译和集成方法根据不同版本各有差异,需要自己从网上获取验证。
为了将pixel手机变成一台通用linux服务器,用来实现远程控制监控家庭和公司网络的目的。我们基于aosp源码,添加必要的工具集,并给出相关的软件配置操作流程等。
这里的固件和工具,当前通过pixel3验证,但理论上只要适合aosp对应版本的手机,就都能使用,只是我们不一定都一一验证,需要用户自行验证,有问题欢迎反馈。
我们方案的一些基本核心功能:
使用安卓adb,fastboot工具链来进行烧录。
adb version:Version 31.0.3-7562133
fastboot verison:fastboot version 31.0.3-7562133
【待补充】
和windows的基本一致,不一致的是设置环境变量的命令不同。
*不同之处待更新**【待补充】*
我们的系统是debug版本,所以支持root和remount。首次使用时,我们需要配置frpc相关的服务,保证我们以后可以远程操作手机。
为了对手机进行各种文件操作,我们建议默认remount。
adb root
adb remount
# 这里可能提示重启,请进行必要的重启
adb reboot
我们主要是通过frpc 来实现远程scrcpy和adb shell,所以你需要部署一台frp服务器。可以从网上买一个最小配置的vps。
你需要一台有公网ip的服务器,部署frp服务器,具体可以去frpc官网下载,因为我们手机端集成的是v0.58.0。所以我们建议服务器端和电脑客户端,也下载对应的版本。我们假设服务器开启token安全机制,参考配置如下:
bindPort = 7000
auth.method = "token"
auth.token = "123"
adb root
adb remount
adb shell
busybox vi /data/frpc.toml
frpc.toml 参考内容如下:
serverAddr = "1.1.1.1" # only support ip, do not use domain
serverPort = 7000
auth.method = "token"
auth.token = "000000"
[[proxies]]
name = "secret_proxy"
type = "stcp"
secretKey = "key"
localIP = "127.0.0.1"
localPort = 5555
请根据你自己服务器的实际参数,修改以上参数,修改后adb reboot手机,重新进去adb shell 确认frpc是否正确取运行,如果能正确看到frpc进程信息,就初步确认frp运行起来了:
blueline:/ # ps -ef|grep frpc
root 4185 2739 1 19:31:01 ? 00:00:00 frpc -c /data/frpc.toml
root 4194 3639 22 19:31:04 pts/0 00:00:00 grep frpc
参看我们前面技术架构,在我们通过自己的电脑远程访问时,我们先要在本地把电脑上的frpc跑起来。
serverAddr = "1.1.1.1"
serverPort = 7000
auth.method = "token"
auth.token = "123"
[[visitors]]
name = "secret_visitor"
type = "stcp"
serverName = "secret_proxy"
secretKey = "key"
bindAddr = "127.0.0.1"
bindPort = 5555
在配置完frpc后,我们基本就可以拔掉usb,完全像远程服务器一样来访问手机了。这里我们假设你的frps 和frpc都配置正确。如果你有这方面的错误,请检查网络以及端口防火墙等基本网络参数。
adb connect localhost:5555
connected to localhost:5555
adb shell
我们的固件集成了ssh客户端,当我们需要将手机作为跳板服务器或者堡垒机服务器通过ssh访问别的ssh服务器器时,我们就可以使用手机中的ssh来完成
你可以使用 busybox vi
待补充
注意:这个只是代表了其中一种配置,仅供参考:
测试中发现的一个异常:
由于machine选择不同,导致系统起来后,ens3 网卡无法正常hdcp
如何只删除当前路径下的目录?
find . -maxdepth 1 -type d|sed -n '2,$p'|xargs rm -rf
以下内容主要参考网络内容,按照实际验证的顺序和细节补充而成,使流程更清晰,可以傻瓜式照抄。
根据自己手机刷机前的版本信息,在 https://source.android.com/docs/setup/about/build-numbers?hl=zh-cn#source-code-tags-and-builds 获取版本SP1A.210812.016.A1
后面repo init时,我们将要用这个版本号,获取准确的版本。
repo init -u https://android.googlesource.com/platform/manifest -b android-12.0.0_r3
获取vendor驱动,从 https://developers.google.com/android/drivers?hl=zh-cn 中找到对应版本 https://link.zhihu.com/?target=https%3A//developers.google.com/android/drivers/%23crosshatchsp1a.210812.016.a1, 这个待会编译时,要解压到vendor下
安装git, repo:https://mirrors.tuna.tsinghua.edu.cn/help/git-repo/
运行 repo init,这里考虑到网速的问题,我们使用清华的镜像地址。如果你没有网络困扰,也可以使用上面提到的google android官方地址:
mkdir ~/work/aosp/
cd ~/work/aosp/
repo init -u
https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-12.0.0_r3
repo sync -jxx , xx为你的虚拟软核数
更新vendor和驱动:
cd ~/Downloads
tar xvf qcom-crosshatch-*.tgz
tar xvf google_devices-crosshatch-*.tgz
cd ~/work/aosp/
~/Downloads/extract-qcom-crosshatch.sh
~/Downloads/extract-google_devices-crosshatch.sh
编译
source build/envsetup.sh
lunch 4(aosp_blueline-userdebug)
m
m 是构建代码的简单命令
安装adb kit,安装adb 和fastboot工具集,作者用的是Version 31.0.3-7562133 版本。
烧录下载
adb reboot bootloader
fastboot flashall -w
flashall 会提示设置ANDROID_PRODUCT_OUT环境变量,设置成实际的out编译目录就好(如果是在windows烧录,就把整个目录下载到windows,然后设置成windows实际的out路径)。
linux: export ANDROID_PRODUCT_OUT=/xxx/out/target/product/blueline
windows: set ANDROID_PRODUCT_OUT=/xxx/out/target/product/blueline
构建内核(可选),可以参考https://zhuanlan.zhihu.com/p/448289040 的后半部分内容。
最后,如果你不想麻烦,也可以取用我们编译好的原生版本:
https://cdn.itranscloud.com/aosp/aosp_blueline-userdebug_12_SP1A.210812.016.A1.7z