Skip to content

heshiming/ibga

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IB Gateway Automation (IBGA)

IBGA is IB Gateway in headless mode. It is a container image preloaded with scripts for automating user interactions with IBG.

Now with second factor authentication support!

Benefits:

  • A "docker compose" flavored configuration
  • Store username, password, time zone and other options in one place
  • Automatic installation and easy upgrade of IBG
  • Automatic handling of daily restarts beyond the one week limit, upon exit or crash
  • Automatic handling of paper trading confirmation and options dialog
  • Automatic daily export of logs
  • Retaining of settings after an upgrade
  • A disposable container design
  • Support two-factor authentication (as of Nov 11, 2022)

Under the hood:

  • IBGA runs in a set of bash scripts.
  • IBGA relies on JAuto, a JVMTI agent to determine screen locations of windows, text boxes, and buttons.
  • IBGA relies on xdotool to simulate keyboard and mouse input.
  • IBGA relies on Xvfb, x11vnc, novnc to provide a VNC-capable X11 environment for IBG.

Documentation

https://heshiming.github.io/ibga/

Example docker-compose.yml

version: '2'
services:
  my-ibga:
    image: heshiming/ibga
    restart: unless-stopped
    environment:
      - TERM=xterm
      - IB_USERNAME=username
      - IB_PASSWORD=password
      - IB_REGION=America
      - IB_TIMEZONE=America/New York
      - IB_LOGINTAB=IB API
      - IB_LOGINTYPE=Live Trading
      - IB_LOGOFF=11:55 PM
      - IB_APILOG=data
      - IB_LOGLEVEL=Error
    volumes:
      - ./run/program:/home/ibg
      - ./run/settings:/home/ibg_settings
    ports:
      - "15800:5800"
      - "4000:4000"

Contributing

Bug reports and feature requests are welcome. But since the source code is dual-licensed, code contributions (i.e. pull requests) are not directly accepted at this point.