Ibeam

Latest version: v0.5.8

Safety actively analyzes 723217 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

0.5.8

* parsing 200 response for errors, fixing 'error: "no session"'

0.5.7

- updated requests to 2.31.*
- added SIGINT and SIGTERM handlers that will shutdown the health server
- changed CMD in order to better handle SIGINT
- changed IBEAM_TWO_FA_INPUT_EL_ID and IBEAM_TWO_FA_SELECT_EL_ID defaults to IDxyz-field-bronze-response
- changed default conf.yaml to avoid allowing all addresses
- added live/paper toggle handling

Minor:

- replaced deprecated strtobool
- update docker compose
- added build/docs/parse_vars.py for parsing the var.py into documentation table

0.5.4

* fixed deprecated Google Messages handler code
* added support for /activate and /deactivate routes
* updated handling of the IB Key promo
* running ibeam_starter.py with -s flag causes IBeam to get into an infinite loop to allow only starting the Gateway within the Docker image
* fixed logs not having 'outputs' directory
* added support for the authentication initialise endpoint auth/ssodh/init
* added additional errors if account or password are not provided
* increased IBEAM_MAX_STATUS_CHECK_RETRIES from 15 to 120 and fixed var.all_variables
* Added Dockerfile armv7

0.5.1

Minor Changes
* added fix to imports when running in standalone
* added better verbosity for env vars that need to be defined
* specified outputs_dir parameter in TwoFaHandlers as a kwarg to fix 165

0.5.0

Breaking changes:
* We expanded customisability for different versions of website found. Each env var that specifies the DOM element looked for, requires a `[TYPE][IDENTIFIER]` format, eg.: `CSS_SELECTOR.btn.btn-lg.btn-primary` for the primary submit button. I concluded that such system is necessary when I realised that the 2FA forms have a very different layout for different users. Now it can be customised even more. If you used custom env vars for DOM elements: due to the change in the env var DOM elements processing, you'll need to specify the [TYPE][IDENTIFIER]. This will most likely mean you'll need to add [TYPE] to your existing env vars that specify custom DOM elements if you had any.

Major changes:

Login Strategies:

* IBeam now supports various login logic flows - we call them strategies. These can be selected by setting `IBEAM_AUTHENTICATION_STRATEGY` env var as `A` or `B`. It is possible that this is a temporary feature that will be removed once a clear winning strategy is found.
* Currently used login logic is called strategy 'A'
* New strategy 'B' was added, and is now used by default, based on migoohao's suggestions in 146. The new logic is described in detail in 147. This is done in an attempt to simplify the login logic and rely on `reauthenticate` more than on full re-login. Many thanks for suggesting this logic flow migoohao 👏 I also want to give kudos to any other users who mentioned using `reauthenticate` in the past. See: https://github.com/Voyz/ibeam/issues/147

Authentication rework:

* reworking the authenticate.py. Now it is broken down to step-by-step functions, and hopefully has a much better readability and maintainability. It's functionality has been moved to [login_handler.py](https://github.com/Voyz/ibeam/blob/v0.5.0/ibeam/src/handlers/login_handler.py)
* removing reading environment variables throughout the app. Now all env vars are read in `ibeam_starter.py` and then everything is passed as arguments
* decoupling things from GatewayClient even more. Now we have a bunch of handlers that are responsible for different things



Minor changes:
* updated information about ignoring gateway log display
* added support for UI scaling
* passing current chrome WebDriver to TwoFaHandler.get_two_fa_code()
* 2fa submitting action is now handled by pressing RETURN key instead of looking for the submit element, as the button is not always visible
* added call to validate on each maintenance
* added GCP Secrets Manager as one of the secrets source
* added handling of 503 service unavailable
* fixed boolean env var parsing
* fixed process starting and killing, ensuring we kill all processes
* added more verbosity to 'Gateway running and authenticated' by attaching * session_id and server_name added support for GET and POST requests according to IBKR docs
* logging to sys.stdout instead of default sys.stder, sending logs below WARNING to stdout and equal and above to stderr


Setup changes:
* changed env var defaults: IBEAM_REQUEST_RETRIES from 1 to 2 IBEAM_MAX_REAUTHENTICATE_RETRIES from 5 to 3
* post-authentication treating `not status.running or not status.session` as a reason to kill and restart too


Documentation:
* updated README with GPC Secret Manager
* Mention IBC for TWS/Gateway


Dependencies:
* updated the Gateway to 24 Apr 2023
* updated selenium to 4.12.*
* added pillow to requirements.txt to support cropping and manipulating webpage screenshots

0.4.6

- added small fix to timeout exception handling
- added missing Gateway files
- added incremental presubmit buffer
- clearing input fields before typing into them to prevent inputting incorrect/duplicated text
- added call to reauthenticate after a wait upon failed authentication before logging out and restarting
- added call to validate before tickling

Page 1 of 2

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.