Running botvs docker on android

Author: ytrezq, Created: 2017-09-09 04:12:54, Updated: 2017-09-10 04:13:59

I don t have something like a raspberry pi in arm (the usb object I have use an intel atom but there s no 32 bits linux executables).

But what about using phones since they are always powered on and connected to internet? In my case I added python in the $PATH of my non rooted android marshmallow Samsung.

As the executable is statically linked, I have no problem on starting it.

$ /data/data/jackpal.androidterm/app_HOME/robot -s "rpcs BOTVS.com A server address" -p "mypassword"
2017/09/08 19:29:34 [RPC] not connected
2017/09/08 19:29:39 [RPC] not connected
2017/09/08 19:29:44 [RPC] not connected
2017/09/08 19:29:49 [RPC] not connected
2017/09/08 19:29:54 [RPC] not connected
2017/09/08 19:29:59 [RPC] not connected
2017/09/08 19:30:04 [RPC] not connected
2017/09/08 19:30:09 [RPC] not connected
2017/09/08 19:30:14 [RPC] not connected
2017/09/08 19:30:19 [RPC] not connected
2017/09/08 19:30:24 [RPC] not connected
2017/09/08 19:30:29 [RPC] not connected
2017/09/08 19:30:34 [RPC] not connected
2017/09/08 19:30:39 [RPC] not connected
2017/09/08 19:30:44 [RPC] not connected
2017/09/08 19:30:49 [RPC] not connected
^C
2017/09/08 19:30:54 [RPC] not connected
2017/09/08 19:30:54 Error: Interrupt

Obviously, it fails to connect whereas the same command works on my 64 bits cli Windows desktop. The reason is Linux and Android use a different system for getting the name server. I can replace a.botvs.com with it s ip address, but robots still need to etablish secure connections to external domains. I mean connections where the hostname needs to match the one used in the certificate.

GetAccount: Post https://www.okcoin.cn/api/v1/userinfo.do: dial tcp: lookup www.okcoin.cn on [::1]:53: read udp [::1]:39862->[::1]:53: read: connection refused

putting a hosts or resolve.conf doesn t works since the docker doesn t access them.

strace /data/data/jackpal.androidterm/app_HOME/robot -s rpcs@`/data/data/jackpal.androidterm/app_HOME/nslookup a.botvs.com`:9902/myuuid -p mypassword | grep '"/'
readlink("/proc/self/exe", "/data/data/jackpal.androidterm/app_HOME/robot", 4096) = 45
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
readlinkat(AT_FDCWD, "/proc/self/exe", "/data/data/jackpal.androidterm/app_HOME/robot", 128) = 45
openat(AT_FDCWD, "/proc/sys/net/core/somaxconn", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
^C

More

Zero Try download new version: ``` > ./robot -v BotVS docker 3.21 (darwin/amd64) compiled at 2017-09-12T14:02:52+0800 ```

Zero You can try ``` telnet a.botvs.com 9902 ``` if can not connect, you can try to resolve `a.botvs.com` on the phone use `ping`, if success, the problem is the mobile phone's firewall other ways you can try to connect to IP address directly use ``` ./robot -s rpcs@121.41.115.19:9902/[you uuid] -p password ```

Zero It now support bithumb and OKCOIN.COM and bittrex, I will add bitflyer ASAP

ytrezq it works… Except I can’t use your strategy.

ytrezq @Zero I updated the post. The problem is with strategies.