openatx / atxserver2-android-provider Goto Github PK
View Code? Open in Web Editor NEWatxserver2 android provider
License: MIT License
atxserver2 android provider
License: MIT License
Warning
These issues are not tracked. Please create new issues in the main atxserver2
repository: https://github.com/openatx/atxserver2/issues/new
2020.10.02,windows10搭建的
华为android10,
mumu 模拟器 android6
都显示不出手机画面,提示 【设备屏幕同步中断】,请问要怎么破
``D:\atxserver2-android-provider\atxserver2-android-provider>python main.py --server 10.252.25.198:4000
[I 201103 10:42:31 main:299] Owner: None
[I 201103 10:42:31 main:314] ProviderURL: http://10.252.63.137:3500
app-uiautomator.apk verison: 2.3.1
app-uiautomator-test.apk verison: 2.3.1
[I 201103 10:42:31 heartbeat:139] WS receive: {"success": true, "id": "37373a92-1d7e-11eb-bfe6-0242ac120003"}
[D 201103 10:42:31 main:234] DeviceEvent(present=True, serial='6040b6f3', status='device')
[I 201103 10:42:31 device:57] Init device: 6040b6f3
[D 201103 10:42:31 device:85] [6040b6f3] sdk: 27, abi: arm64-v8a, abis: ['arm64-v8a', 'armeabi-v7a', 'armeabi']
[D 201103 10:42:31 device:132] [6040b6f3] already pushed stf-binaries-0.2.1/node_modules/minicap-prebuilt/prebuilt/arm64-v8a/lib/android-27/minicap.so
[D 201103 10:42:32 device:113] [6040b6f3] use atx-agent: atx-agent-armv7
[D 201103 10:42:32 device:132] [6040b6f3] already pushed atx-agent-armv7
[D 201103 10:42:32 device:151] [6040b6f3] already installed vendor/WhatsInput-1.0.apk
app-uiautomator.apk verison: 2.3.1
app-uiautomator-test.apk verison: 2.3.1
APKPath: vendor/app-uiautomator-2.3.1\app-uiautomator.apk
[D 201103 10:42:32 device:151] [6040b6f3] already installed vendor/app-uiautomator-2.3.1\app-uiautomator.apk
APKPath: vendor/app-uiautomator-2.3.1\app-uiautomator-test.apk
[D 201103 10:42:32 device:151] [6040b6f3] already installed vendor/app-uiautomator-2.3.1\app-uiautomator-test.apk
[D 201103 10:42:32 device:161] [6040b6f3] forward atx-agent
[D 201103 10:42:33 device:208] [6040b6f3] tcpproxy.js start *:20001 -> 20000
[E 201103 10:42:33 main:264] Unknown error: [WinError 2] 系统找不到指定的文件。
Traceback (most recent call last):
File "main.py", line 247, in device_watch
await device.init()
File "D:\atxserver2-android-provider\atxserver2-android-provider\device.py", line 62, in init
await self._init_forwards()
File "D:\atxserver2-android-provider\atxserver2-android-provider\device.py", line 162, in _init_forwards
self._atx_proxy_port = await self.proxy_device_port(7912)
File "D:\atxserver2-android-provider\atxserver2-android-provider\device.py", line 214, in proxy_device_port
silent=True)
File "D:\atxserver2-android-provider\atxserver2-android-provider\device.py", line 222, in run_background
p = subprocess.Popen(*args, **kwargs)
File "C:\Users\lijianxi\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 800, in init
restore_signals, start_new_session)
File "C:\Users\lijianxi\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 1207, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] 系统找不到指定的文件。
tcpproxy.js start *:20006 -> 20005
[tcpproxy.js start *:20008 -> 20007
20006,20008端口不可使用 05,07可以使用
Warning
These issues are not tracked. Please create new issues in the main atxserver2
repository: https://github.com/openatx/atxserver2/issues/new
Warning
These issues are not tracked. Please create new issues in the main atxserver2
repository: https://github.com/openatx/atxserver2/issues/new
Warning
These issues are not tracked. Please create new issues in the main atxserver2
repository: https://github.com/openatx/atxserver2/issues/new
Centos7.9 python 3.7 nodejs 8系统运行提示:
File "/data/xxx/work/atxserver2-android-provider/device.py", line 155, in _install_apk
self._device.install(path, force=True)
TypeError: install() got an unexpected keyword argument 'force'
adbutils 0.9.1
def install(self, apk_path: str, force: bool = False):
"""
sdk = self.getprop('ro.build.version.sdk')
sdk > 23 support -g
Args:
force (bool): uninstall package before install
Raises:
AdbInstallError
"""
dst = "/data/local/tmp/tmp-{}.apk".format(int(time.time() * 1000))
self.sync.push(apk_path, dst)
if force:
apk = apkutils2.APK(apk_path)
package_name = apk.manifest.package_name
self.uninstall(package_name)
self.install_remote(dst, clean=True)
adbutils 0.11.0
def install(self,
path_or_url: str,
nolaunch: bool = False,
uninstall: bool = False,
silent: bool = False,
callback: typing.Callable[[str], None] = None):
"""
Install APK to device
Args:
path_or_url: local path or http url
nolaunch: do not launch app after install
uninstall: uninstall app before install
silent: disable log message print
callback: only two event now: <"BEFORE_INSTALL" | "FINALLY">
Raises:
AdbInstallError
"""
if re.match(r"^https?://", path_or_url):
resp = requests.get(path_or_url, stream=True)
resp.raise_for_status()
length = int(resp.headers.get("Content-Length", 0))
r = ReadProgress(resp.raw, length)
print("tmpfile path:", r.filepath())
else:
length = os.stat(path_or_url).st_size
fd = open(path_or_url, "rb")
r = ReadProgress(fd, length, source_path=path_or_url)
Warning
These issues are not tracked. Please create new issues in the main atxserver2
repository: https://github.com/openatx/atxserver2/issues/new
单台机器 支持多少个设备 ,单台机器链接很多设备 会发现 直接崩溃了,一个设备也没有了
Hi, 这是一个很棒的项目.
我在使用过程中报错了,
第1部手机usb连接正常,
第2部手机连接就报错:
https://github.com/openatx/atxserver2-android-provider/blob/master/asyncadb.py#L60
报错: asyncadb.ADBError: unknow host service
.
然后我执行命令 adb forwad --list
打印出 error: unknown host service
Warning
These issues are not tracked. Please create new issues in the main atxserver2
repository: https://github.com/openatx/atxserver2/issues/new
小米手机 红米 redmi 8A 远程没画面,其他手机可以
报错如下
batch response: This repository is over its data quota. Purchase more data packs to restore access.
error: failed to fetch some objects from 'https://github.com/openatx/atxserver2-android-provider.git/info/lfs'
进入 辅助功能 - 开发者选项
打开
关闭
Warning
These issues are not tracked. Please create new issues in the main atxserver2
repository: https://github.com/openatx/atxserver2/issues/new
Warning
These issues are not tracked. Please create new issues in the main atxserver2
repository: https://github.com/openatx/atxserver2/issues/new
进入开发者选项
依次勾选
Traceback (most recent call last):
File "main.py", line 124, in _install_apk
info = self._device.package_info(m.package_name)
AttributeError: 'NoneType' object has no attribute 'package_name'
[W 190326 14:44:00 main:133] [ce10171a3a96042f0c7e] Install apk vendor/WhatsInput_v1.0_apkpure.com.apk error 'NoneType' object has no attribute 'package_name'
报错信息:
[E 191022 17:27:05 main:263] Unknown error: [Errno 22] Invalid argument
Traceback (most recent call last):
File "main.py", line 246, in device_watch
await device.init()
File "E:\program\atxserver2-android-provider\device.py", line 60, in init
self._init_binaries()
File "E:\program\atxserver2-android-provider\device.py", line 117, in _init_binaries
zipfile_path=zipfile_path)
File "E:\program\atxserver2-android-provider\device.py", line 132, in _push_stf
dest_info = self.device.sync.stat(dest)
File "C:\Users\74156\AppData\Local\Programs\Python\Python36-32\lib\site-packages\adbutils_init.py", line 423, in stat
return FileInfo(mode, size, datetime.datetime.fromtimestamp(mtime),
OSError: [Errno 22] Invalid argument
手机 oppo R11 adbutils版本是0.62的
打包成exe可执行文件,接入设备后提示“设备屏幕同步中断”
pyinstaller -F atx-provider.py
是不支持这样打包成可执行文件吗?
打包成exe缺少nodejs环境的原因?
Warning
These issues are not tracked. Please create new issues in the main atxserver2
repository: https://github.com/openatx/atxserver2/issues/new
Warning
These issues are not tracked. Please create new issues in the main atxserver2
repository: https://github.com/openatx/atxserver2/issues/new
Warning
These issues are not tracked. Please create new issues in the main atxserver2
repository: https://github.com/openatx/atxserver2/issues/new
DeviceEvent(present=True, serial='98895a3447564a4a48', status='device')
[I 190508 09:22:15 device:56] Init device: 98895a3447564a4a48
[D 190508 09:22:15 device:79] [98895a3447564a4a48] sdk: 26, abi: arm64-v8a, abis: ['arm64-v8a', 'armeabi-v7a', 'armeabi']
[D 190508 09:22:15 device:100] [98895a3447564a4a48] use atx-agent: atx-agent-armv7
[D 190508 09:22:16 device:124] [98895a3447564a4a48] already installed vendor/WhatsInput_v1.0_apkpure.com.apk
[D 190508 09:22:16 device:124] [98895a3447564a4a48] already installed vendor/app-uiautomator.apk
[D 190508 09:22:16 device:124] [98895a3447564a4a48] already installed vendor/app-uiautomator-test.apk
[D 190508 09:22:16 device:134] [98895a3447564a4a48] forward atx-agent
[D 190508 09:22:16 device:178] [98895a3447564a4a48] tcpproxy.js start *:20000 -> 20010
[D 190508 09:22:16 device:178] [98895a3447564a4a48] tcpproxy.js start *:20001 -> 20012
[D 190508 09:22:16 device:139] [98895a3447564a4a48] adbkit start, port 20002
[I 190508 09:22:17 main:254] Device:98895a3447564a4a48 is ready
[D 190508 09:22:17 main:228] DeviceEvent(present=True, serial='f61cfec3', status='device')
[I 190508 09:22:17 device:56] Init device: f61cfec3
[D 190508 09:22:17 device:79] [f61cfec3] sdk: 25, abi: armeabi-v7a, abis: ['armeabi-v7a', 'armeabi']
[D 190508 09:22:17 device:100] [f61cfec3] use atx-agent: atx-agent-armv7
[D 190508 09:22:18 device:124] [f61cfec3] already installed vendor/WhatsInput_v1.0_apkpure.com.apk
[D 190508 09:22:18 device:124] [f61cfec3] already installed vendor/app-uiautomator.apk
[D 190508 09:22:18 device:124] [f61cfec3] already installed vendor/app-uiautomator-test.apk
[D 190508 09:22:18 device:134] [f61cfec3] forward atx-agent
[D 190508 09:22:18 heartbeat:93] websocket send: {'udid': '98895a3447564a4a48', 'platform': 'android', 'colding': False, 'provider': {'atxAgentAddress': '192.168.5.124:20000', 'remoteConnectAddress': '192.168.5.124:20002', 'whatsInputAddress': '192.168.5.124:20001'}, 'properties': {'serial': '98895a3447564a4a48', 'brand': 'samsung', 'version': '8.0.0', 'model': 'SM-G9500', 'name': '三星 Galaxy S8'}, 'command': 'update'}
[D 190508 09:22:18 device:178] [f61cfec3] tcpproxy.js start *:20003 -> 20005
[D 190508 09:22:18 device:178] [f61cfec3] tcpproxy.js start *:20004 -> 20007
[D 190508 09:22:18 device:139] [f61cfec3] adbkit start, port 20006
[I 190508 09:22:21 main:254] Device:f61cfec3 is ready
[D 190508 09:22:21 heartbeat:93] websocket send: {'udid': 'f61cfec3', 'platform': 'android', 'colding': False, 'provider': {'atxAgentAddress': '192.168.5.124:20003', 'remoteConnectAddress': '192.168.5.124:20006', 'whatsInputAddress': '192.168.5.124:20004'}, 'properties': {'serial': 'f61cfec3', 'brand': 'Xiaomi', 'version': '7.1.2', 'model': 'MI 4LTE', 'name': '小米 4 '}, 'command': 'update'}
三星S8官方系统,小米4刷的魔趣系统
raise AdbInstallError(output)
adbutils.errors.AdbInstallError: Failure [-26]
[W 190703 13:10:30 device:131] [7LKFWW99AM5PYDJN] Install apk vendor/app-uiautomator.apk error Failure [-26]
在占用设备的时候,提升安装atx失败,然后退出占用的时候也会安装atx,还是失败
[D 191012 15:24:41 main:232] DeviceEvent(present=True, serial='de60820', status='device')
[I 191012 15:24:41 device:57] Init device: de60820
[D 191012 15:24:41 device:85] [de60820] sdk: 25, abi: arm64-v8a, abis: ['arm64-v8a', 'armeabi-v7a', 'armeabi']
[D 191012 15:24:41 device:132] [de60820] already pushed stf-binaries-0.2/node_modules/minicap-prebuilt/prebuilt/arm64-v8a/lib/android-25/minicap.so
[D 191012 15:24:41 device:132] [de60820] already pushed stf-binaries-0.2/node_modules/minicap-prebuilt/prebuilt/arm64-v8a/bin/minicap
[D 191012 15:24:41 device:132] [de60820] already pushed stf-binaries-0.2/node_modules/minitouch-prebuilt/prebuilt/arm64-v8a/bin/minitouch
[D 191012 15:24:41 device:113] [de60820] use atx-agent: atx-agent-armv7
[D 191012 15:24:41 device:132] [de60820] already pushed atx-agent-armv7
[D 191012 15:24:41 device:151] [de60820] already installed vendor/WhatsInput-1.0.apk
APKPath: vendor/app-uiautomator-2.0.3/app-uiautomator.apk
{'version_name': '1.1.7', 'version_code': '1001007', 'signature': '2482a99 [1bd118e8]'} : 2000003 2.0.3
[D 191012 15:24:41 device:154] [de60820] install vendor/app-uiautomator-2.0.3/app-uiautomator.apk
Traceback (most recent call last):
File "/Users/kuaishou/atxserver2-android-provider/device.py", line 155, in _install_apk
self._device.install(path)
File "/Users/kuaishou/atxserver2-android-provider/venv/lib/python3.6/site-packages/adbutils/mixin.py", line 180, in install
self.install_remote(dst, clean=True)
File "/Users/kuaishou/atxserver2-android-provider/venv/lib/python3.6/site-packages/adbutils/mixin.py", line 198, in install_remote
raise AdbInstallError(output)
adbutils.errors.AdbInstallError: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.github.uiautomator signatures do not match the previously installed version; ignoring!]
[W 191012 15:24:42 device:158] [de60820] Install apk vendor/app-uiautomator-2.0.3/app-uiautomator.apk error Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.github.uiautomator signatures do not match the previously installed version; ignoring!]
APKPath: vendor/app-uiautomator-2.0.3/app-uiautomator-test.apk
[D 191012 15:24:42 device:151] [de60820] already installed vendor/app-uiautomator-2.0.3/app-uiautomator-test.apk
[D 191012 15:24:42 device:161] [de60820] forward atx-agent
[E 191012 15:24:42 main:262] Unknown error: unknown host service
Traceback (most recent call last):
File "main.py", line 245, in device_watch
await device.init()
File "/Users/kuaishou/atxserver2-android-provider/device.py", line 62, in init
await self._init_forwards()
File "/Users/kuaishou/atxserver2-android-provider/device.py", line 162, in _init_forwards
self._atx_proxy_port = await self.proxy_device_port(7912)
File "/Users/kuaishou/atxserver2-android-provider/device.py", line 205, in proxy_device_port
local_port = await self.adb_forward_to_any("tcp:" + str(device_port))
File "/Users/kuaishou/atxserver2-android-provider/device.py", line 194, in adb_forward_to_any
async for f in adb.forward_list():
File "/Users/kuaishou/atxserver2-android-provider/asyncadb.py", line 176, in forward_list
await conn.check_okay()
File "/Users/kuaishou/atxserver2-android-provider/asyncadb.py", line 60, in check_okay
raise AdbError(await self.read_string())
asyncadb.AdbError: unknown host service
Last login: Wed Mar 27 16:18:35 on ttys002
Mac-mini-4:~ mac$ cd /Users/mac/atxserver2-android-provider
Mac-mini-4:atxserver2-android-provider mac$ python3 main.py --server localhost:4000
[I 190327 16:21:10 main:222] ProviderURL: http://10.1.8.194:3500
[W 190327 16:21:10 heartbeat:113] WS connect error: [Errno 61] Connection refused, reconnect after 2s
[W 190327 16:21:12 heartbeat:113] WS connect error: [Errno 61] Connection refused, reconnect after 3s
[W 190327 16:21:15 heartbeat:113] WS connect error: [Errno 61] Connection refused, reconnect after 4s
[W 190327 16:21:19 heartbeat:113] WS connect error: [Errno 61] Connection refused, reconnect after 5s
[W 190327 16:21:24 heartbeat:113] WS connect error: [Errno 61] Connection refused, reconnect after 6s
[W 190327 16:21:30 heartbeat:113] WS connect error: [Errno 61] Connection refused, reconnect after 7s
Warning
These issues are not tracked. Please create new issues in the main atxserver2
repository: https://github.com/openatx/atxserver2/issues/new
原有atx-agent在python atxserver2版本里没看到有接收heartbeat实现。
看了下go版的实现
HMACSHA256(( Request.from["timestamp"] +‘:’ + Request.from["identifier"]),password)==request.from["messageMAC"]
password为:hello kitty
Warning
These issues are not tracked. Please create new issues in the main atxserver2
repository: https://github.com/openatx/atxserver2/issues/new
Warning
These issues are not tracked. Please create new issues in the main atxserver2
repository: https://github.com/openatx/atxserver2/issues/new
python3 main.py --server localhost:4000后报错
File "/Users/luyunpeng/Downloads/myworkspace/atx2/atxserver2-android-provider/device.py", line 136, in _init_apks
whatsinput_apk_path = get_whatsinput_apk()
NameError: name 'get_whatsinput_apk' is not defined
Warning
These issues are not tracked. Please create new issues in the main atxserver2
repository: https://github.com/openatx/atxserver2/issues/new
键盘设置 关闭安全输入法 否则会导致屏幕显示黑屏
Warning
These issues are not tracked. Please create new issues in the main atxserver2
repository: https://github.com/openatx/atxserver2/issues/new
能支持下模拟器吗,模拟器
host:killforward-all
host:list-forward
这些命令都不支持好像
127.0.0.1 - - [17/Feb/2020:10:32:28 +0800] "GET /minitouch HTTP/1.1" 200 0
2020/02/17 10:32:28 cmdctrl.go:28: DEBUG program finished
2020/02/17 10:32:28 cmdctrl.go:28: DEBUG Args: [/data/local/tmp/minicap -S -P 1080x1920@800x800/0]
2020/02/17 10:32:28 httpserver.go:980: minicap connection: 127.0.0.1:56113
2020/02/17 10:32:28 cmdctrl.go:28: DEBUG start args: [/data/local/tmp/minicap -S -P 1080x1920@800x800/0], env: [LD_LIBRARY_PATH=/data/local/tmp]
2020/02/17 10:32:28 httpserver.go:996: dial @minicap err: dial unix @minicap: connect: connection refused, wait 0.5s
2020/02/17 10:32:28 cmdctrl.go:28: DEBUG program pid: 3023
2020/02/17 10:32:28 httpserver.go:900: minitouch connection: 127.0.0.1:56116
2020/02/17 10:32:28 httpserver.go:919: dial @minitouchagent error: dial unix @minitouchagent: connect: connection refused, wait 0.5s
2020/02/17 10:32:28 cmdctrl.go:28: DEBUG ArgsFunc error: fork/exec /system/bin/pm: exec format error
2020/02/17 10:32:28 cmdctrl.go:28: DEBUG program finished
127.0.0.1 - - [17/Feb/2020:10:32:28 +0800] "GET /shell?command=input%20keyevent%20WAKEUP HTTP/1.1" 200 39
2020/02/17 10:32:28 httpserver.go:919: dial @minitouchagent error: dial unix @minitouchagent: connect: connection refused, wait 0.5s
127.0.0.1 - - [17/Feb/2020:10:32:28 +0800] "GET /shell?command=input%20keyevent%20WAKEUP HTTP/1.1" 200 39
2020/02/17 10:32:29 httpserver.go:919: dial @minitouchagent error: dial unix @minitouchagent: connect: connection refused, wait 0.5s
2020/02/17 10:32:29 httpserver.go:919: dial @minitouchagent error: dial unix @minitouchagent: connect: connection refused, wait 0.5s
2020/02/17 10:32:30 httpserver.go:919: dial @minitouchagent error: dial unix @minitouchagent: connect: connection refused, wait 0.5s
2020/02/17 10:32:30 httpserver.go:919: dial @minitouchagent error: dial unix @minitouchagent: connect: connection refused, wait 0.5s
2020/02/17 10:32:31 httpserver.go:919: dial @minitouchagent error: dial unix @minitouchagent: connect: connection refused, wait 0.5s
127.0.0.1 - - [17/Feb/2020:10:32:31 +0800] "GET /shell?command=input%20keyevent%20BACK HTTP/1.1" 200 39
2020/02/17 10:32:31 httpserver.go:919: dial @minitouchagent error: dial unix @minitouchagent: connect: connection refused, wait 0.5s
2020/02/17 10:32:32 httpserver.go:919: dial @minitouchagent error: dial unix @minitouchagent: connect: connection refused, wait 0.5s
2020/02/17 10:32:32 httpserver.go:919: dial @minitouchagent error: dial unix @minitouchagent: connect: connection refused, wait 0.5s
2020/02/17 10:32:33 httpserver.go:919: dial @minitouchagent error: dial unix @minitouchagent: connect: connection refused, wait 0.5s
2020/02/17 10:32:33 httpserver.go:911: unix @minitouchagent connect failed
2020/02/17 10:32:33 cmdctrl.go:28: DEBUG cmd args: [/data/local/tmp/minicap -S -P 1080x1920@800x800/0]
2020/02/17 10:32:33 httpserver.go:1012: minicap read error, try to read again
2020/02/17 10:32:33 httpserver.go:996: dial @minicap err: dial unix @minicap: connect: connection refused, wait 0.5s
2020/02/17 10:32:33 cmdctrl.go:28: DEBUG program finished
2020/02/17 10:32:33 cmdctrl.go:28: DEBUG Args: [/data/local/tmp/minicap -S -P 1080x1920@800x800/0]
2020/02/17 10:32:33 cmdctrl.go:28: DEBUG start args: [/data/local/tmp/minicap -S -P 1080x1920@800x800/0], env: [LD_LIBRARY_PATH=/data/local/tmp]
2020/02/17 10:32:33 cmdctrl.go:28: DEBUG program pid: 3092
127.0.0.1 - - [17/Feb/2020:10:32:33 +0800] "GET /shell?command=input%20keyevent%20WAKEUP HTTP/1.1" 200 39
127.0.0.1 - - [17/Feb/2020:10:32:33 +0800] "GET /info/rotation HTTP/1.1" 200 14
2020/02/17 10:32:35 cmdctrl.go:28: DEBUG cmd args: [/data/local/tmp/minicap -S -P 1080x1920@800x800/0]
2020/02/17 10:32:35 httpserver.go:1012: minicap read error, try to read again
2020/02/17 10:32:35 httpserver.go:996: dial @minicap err: dial unix @minicap: connect: connection refused, wait 0.5s
2020/02/17 10:32:35 cmdctrl.go:28: DEBUG program finished
2020/02/17 10:32:35 cmdctrl.go:28: DEBUG Args: [/data/local/tmp/minicap -S -P 1080x1920@800x800/0]
2020/02/17 10:32:35 cmdctrl.go:28: DEBUG start args: [/data/local/tmp/minicap -S -P 1080x1920@800x800/0], env: [LD_LIBRARY_PATH=/data/local/tmp]
2020/02/17 10:32:35 cmdctrl.go:28: DEBUG program pid: 3151
127.0.0.1 - - [17/Feb/2020:10:32:35 +0800] "GET /shell?command=input%20keyevent%20WAKEUP HTTP/1.1" 200 39
2020/02/17 10:32:35 httpserver.go:943: readJson err: read tcp 127.0.0.1:7912->127.0.0.1:56116: use of closed network connection
127.0.0.1 - - [17/Feb/2020:10:32:28 +0800] "GET /minitouch HTTP/1.1" 200 0
127.0.0.1 - - [17/Feb/2020:10:32:35 +0800] "GET /info/rotation HTTP/1.1" 200 14
127.0.0.1 - - [17/Feb/2020:10:32:36 +0800] "POST /info/battery HTTP/1.1" 200 7
127.0.0.1 - - [17/Feb/2020:10:32:46 +0800] "POST /info/battery HTTP/1.1" 200 7
2020/02/17 10:32:46 httpserver.go:1008: transfer closed
2020/02/17 10:32:46 httpserver.go:1039: stream finished
127.0.0.1 - - [17/Feb/2020:10:32:28 +0800] "GET /minicap HTTP/1.1" 200 0
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.