renguifeng 发布的文章
bluestack下载
termux搭建本地源
rsync -avz --delete rsync://mirrors.tuna.tsinghua.edu.cn/termux/ /path/to/your/local/mirror
-avz
参数用于启用归档模式、压缩数据并输出详细信息。--delete
选项会删除本地不再存在于远程源中的文件,以保持同步一致性。/path/to/your/local/mirror
是你本地存放镜像的目录路径。
server {
listen 80;
server_name your_local_ip;
location /termux/ {
alias /path/to/your/local/mirror/;
autoindex on;
}
}
deb http://your_local_ip/termux/ stable main
deb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main deb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science
deb https://mirrors.tuna.tsinghua.edu.cn/termux/x11-packages-24 x11
<br/>
<br/>
<br/>
nodered tcp转发消息到不同的客户端
https://blog.csdn.net/qq_24429681/article/details/128707421
[ { "id": "17969ffdb6285212", "type": "tab", "label": "流程 1", "disabled": false, "info": "", "env": [] }, { "id": "a4fa3965c4d7f20f", "type": "debug", "z": "17969ffdb6285212", "name": "server", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 570, "y": 340, "wires": [] }, { "id": "7cd897a932b7cd11", "type": "tcp in", "z": "17969ffdb6285212", "name": "", "server": "server", "host": "", "port": "1882", "datamode": "stream", "datatype": "utf8", "newline": "", "topic": "", "base64": false, "tls": "", "x": 80, "y": 400, "wires": [ [ "99f3358137a547cc", "1eafab2dda6a064c" ] ] }, { "id": "581c453726647ccb", "type": "function", "z": "17969ffdb6285212", "name": "LOGIN", "func": "var payload = msg.payload;\n\nif(payload.cmd == 100)//登录\n{\n // store the value back\n context.set(payload.imei, msg._session);//保存imei 对应id\n}\n\nif(payload.cmd == 101)//请求呼叫对方\n{\n var session = context.get(payload.to)||0;//根据对方imie查询session id\n if(session == 0)\n {\n return;\n }\n msg._session = session; //找到对方session id\n\n msg.payload = payload;//数据直接转发给对方\n}\n\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 380, "y": 340, "wires": [ [ "a4fa3965c4d7f20f", "129ae15bee5723e7" ] ] }, { "id": "99f3358137a547cc", "type": "debug", "z": "17969ffdb6285212", "name": "client", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "_session", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 250, "y": 600, "wires": [] }, { "id": "1eafab2dda6a064c", "type": "json", "z": "17969ffdb6285212", "name": "", "property": "payload", "action": "", "pretty": false, "x": 230, "y": 340, "wires": [ [ "581c453726647ccb", "28c2a4ef6d68c9a8" ] ] }, { "id": "28c2a4ef6d68c9a8", "type": "debug", "z": "17969ffdb6285212", "name": "js", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 370, "y": 260, "wires": [] }, { "id": "129ae15bee5723e7", "type": "json", "z": "17969ffdb6285212", "name": "", "property": "payload", "action": "", "pretty": false, "x": 370, "y": 420, "wires": [ [ "c28bb1f9386c906c" ] ] }, { "id": "c28bb1f9386c906c", "type": "tcp out", "z": "17969ffdb6285212", "name": "", "host": "", "port": "", "beserver": "reply", "base64": false, "end": false, "tls": "", "x": 370, "y": 500, "wires": [] } ]