Voyz / ibeam

IBeam is an authentication and maintenance tool used for the Interactive Brokers Client Portal Web API Gateway.
Apache License 2.0
574 stars 114 forks source link

Unable to find propery p2loc on class #83

Closed MislavSag closed 2 years ago

MislavSag commented 2 years ago

Describe the bug I have tried to run gateway in Linode server using following video: https://www.youtube.com/watch?v=J2F6PrPUG6w&t=57s

In the end, after I have set IBEAM_ACCOUNT and IBEAM_PASSWORD, and added IP to allowed port in conf.yaml file:

ip2loc: "US"
proxyRemoteSsl: true
proxyRemoteHost: "https://api.ibkr.com"
listenPort: 5000
listenSsl: true
svcEnvironment: "v1"
sslCert: "vertx.jks"
sslPwd: "mywebapi"
authDelay: 3000
portalBaseURL: ""
serverOptions:
    blockedThreadCheckInterval: 1000000
    eventLoopPoolSize: 20
    workerPoolSize: 20
    maxWorkerExecuteTime: 100
    internalBlockingPoolSize: 20
cors:
    origin.allowed: "*"
    allowCredentials: false
webApps:
    - name: "demo"
      index: "index.html"
ips:
  allow:
    - 192.*
    - 131.216.*
    - 127.0.0.1
    - 0.0.0.0
    - 172.17.0.*
    - 93.*
  deny:
    - 212.90.324.10

I got an error:


Cannot create property=p2loc for JavaBean=ibgroup.web.core.clientportal.gw.Config@7e0b85f9
in 'reader ', line 1, column 1:
     p2loc: "US"
     ^
Unable to find propery p2loc on class: ibgroup.web.core.clientportal.gw.Config in reader, line 1 column 8:
p2loc: "US"
            ^

To Reproduce See the description

Expected behavior Gateway starts as expected.

Environment IBeam version: Docker image or standalone: docker image Python version (standalone users only): OS: Debian

Voyz commented 2 years ago

Hey @MislavSag thanks for reporting your bug 👍 Can you check what line endings your conf.yaml file has? It should be LF.

Also, note that this tutorial you linked is partially inaccurate and we don't recommend following it.

MislavSag commented 2 years ago

I tried to add a new line and run again with the command:

docker run -v /root/inputs:/srv/inputs --env-file env.list -p 5000:5000 voyz/ibeam

I get the sam error. I want to add I am nt from US, but from Europe (Croatia). Can you please explain which part is innacurate?

Voyz commented 2 years ago

What operating system are you on?

MislavSag commented 2 years ago

I was following instructions in the video an created server with Debian.

Debian GNU/Linux 10 (buster) Version_ID = 10

Voyz commented 2 years ago

Thanks. And how about your development system? The computer you use to develop?

MislavSag commented 2 years ago

It is shared CPU on Linode: Nanode 1GB.

https://www.linode.com/pricing/

Voyz commented 2 years ago

Okay thanks. Can you send me your modified conf.yaml file?

MislavSag commented 2 years ago
ip2loc: "US"
proxyRemoteSsl: true
proxyRemoteHost: "https://api.ibkr.com"
listenPort: 5000
listenSsl: true
svcEnvironment: "v1"
sslCert: "vertx.jks"
sslPwd: "mywebapi"
authDelay: 3000
portalBaseURL: ""
serverOptions:
    blockedThreadCheckInterval: 1000000
    eventLoopPoolSize: 20
    workerPoolSize: 20
    maxWorkerExecuteTime: 100
    internalBlockingPoolSize: 20
cors:
    origin.allowed: "*"
    allowCredentials: false
webApps:
    - name: "demo"
      index: "index.html"
ips:
  allow:
    - 192.*
    - 131.216.*
    - 127.0.0.1
    - 0.0.0.0
    - 172.17.0.*
    - 93.*
  deny:
    - 212.90.324.10
Voyz commented 2 years ago

Thanks, though I'd need you to send the actual file, not its contents

MislavSag commented 2 years ago

I don't understand what I have to send? This is the content of conf.yaml file.

Voyz commented 2 years ago

I suspect the line endings may be incorrect. Could you send me the actual file itself? Otherwise, analyse which line endings you file has and let me know.

https://stackoverflow.com/questions/3569997/how-to-find-out-line-endings-in-a-text-file

MislavSag commented 2 years ago

Sorry for late answer. I have tried to paste conf.yaml file through putty and now I don't get above error anymore.

MislavSag commented 2 years ago

@Voyz , I get nrew messages / warnings now:

root@localhost:~# docker run -v /root/inputs:/srv/inputs --env-file env.list -p 5000:5000 voyz/ibeam
2022-05-17 07:17:36,776|I| ############ Starting IBeam version 0.4.0 ############
2022-05-17 07:17:36,779|I| Custom conf.yaml found and will be used by the Gateway
2022-05-17 07:17:36,782|I| Gateway not found, starting new one...
2022-05-17 07:17:36,782|I| Note that the Gateway log below may display "Open https://localhost:5000 to login" - ignore this command.
running
 runtime path : root:dist/ibgroup.web.core.iblink.router.clientportal.gw.jar:build/lib/runtime/*
 verticle     :
2022-05-17 07:17:37,787|I| Gateway started with pid: 11
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by io.netty.util.internal.ReflectionUtil (file:/srv/clientportal.gw/build/lib/runtime/netty-common-4.1.15.Final.jar) to constructor java.nio.DirectByteBuffer(long,int)
WARNING: Please consider reporting this to the maintainers of io.netty.util.internal.ReflectionUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
 -> mount demo on /demo
Java Version: 11.0.12
****************************************************
version: ed4af2592e9dd4a784d5403843bd18292fd441ea Fri, 9 Nov 2018 13:23:18 -0500
****************************************************
This is a Beta release of the Client Portal Gateway
for any issues, please contact api@ibkr.com
and include a copy of your logs
****************************************************
https://www.interactivebrokers.com/api/doc.html
****************************************************
Open https://localhost:5000 to login
App demo is available after you login under: https://localhost:5000/demo/
2022-05-17 07:17:41,240|I| No active sessions, logging in...
^C2022-05-17 07:17:52,435|I| Credentials correct, but Gateway requires two-factor authentication.
2022-05-17 07:17:52,436|C| ######## ATTENTION! ######## No 2FA handler found. You may define your own 2FA handler or use built-in handlers. See documentation for more: https://github.com/Voyz/ibeam/wiki/Two-Factor-Authentication
2022-05-17 07:17:52,526|I| Authentication process failed
2022-05-17 07:17:52,527|W| Shutting IBeam down due to critical error.

Should I open another issue?

Voyz commented 2 years ago

Great, are you happy to close this issue now then @MislavSag?

Voyz commented 2 years ago

Closing this issue due to lack of activity. Feel free to reopen if you'd like to continue the discussion 👍