Package Details: ibc 3.18.0-2

Git Clone URL: https://aur.archlinux.org/ibc.git (read-only, click to copy)
Package Base: ibc
Description: Manages headless Interactive Brokers IB Gateway instances (formerly known as IB Controller)
Upstream URL: https://github.com/IbcAlpha/IBC
Licenses: GPL3
Replaces: ib-controller
Submitter: benalexau
Maintainer: benalexau
Last Packager: benalexau
Votes: 4
Popularity: 0.000008
First Submitted: 2019-04-28 23:13 (UTC)
Last Updated: 2024-02-20 22:47 (UTC)

Pinned Comments

benalexau commented on 2020-05-16 02:20 (UTC) (edited on 2023-03-09 01:45 (UTC) by benalexau)

This package is intended to assist users in operating an IB API socket interface for their automated trading systems. Stepping back a little, there are 3 main ways that an Arch Linux user can operate an IB API socket interface:

  1. Install Trader Workstation, as provided by IB. The issues with this include Trader Workstation is a Java application that requires a desktop environment (making it difficult to deploy on servers, virtual machines, containers etc), there is no way to script configure important parameters such as the IB API socket to bind, no way to automate login, and there is no Arch Linux package.

  2. Install the AUR ib-tws package. This packages Trader Workstation as a proper Arch Linux package (with associated pacman-based file tracking, easy discovery and deployment of new package versions etc) but does not solve any of the other issues mentioned earlier.

  3. Install the AUR ibc package. This solves all the remaining issues listed in point 1, as it will provide a virtual framebuffer (so you have a headless execution environment), it will configure important parameters (such as the socket address), and it will automate login.

As mentioned earlier, this package is aimed at those needing a headless IB API socket interface for their automated trading systems to connect to. As such it depends on packages that enable a virtual framebuffer and provides Systemd configuration files to start IB Gateway (rather than Trader Workstation). IB Gateway is another "flavour" of Trader Workstation. Both are distributed by IB in the same package as Trader Workstation, and accordingly it is installed by the same AUR package, ib-tws. Please note the ibc AUR package depends on the ib-tws AUR package and will need to be installed for ibc to operate.

Given the specific intent of this ibc AUR package is for continuous unattended operation of IB API endpoints through IB Gateway, no attempt is made to provide IBC capabilities for Trader Workstation itself. As such this package does not ship any of the usual IBC startup scripts, as all the process management is encapsulated by the Systemd configuration files that this AUR package ships instead.

Using this package is quite simple. Once installed you make a new configuration file in /etc/ibc. These are the standard IBC INI files. Then you "systemctl start ibc@edemo" (replacing edemo with whatever INI profile name you made; the edemo ships with the IBC AUR package). You can verify it worked with "systemctl status ibc@edemo" and it will display standard IBC messages about dialogs being detected, opened, activated etc. As is the usual case, "systemctl enable ibc@edemo" will enable the service on startup.

If you have questions about this AUR package please use the IBC mailing list at https://groups.io/g/ibcalpha, as it offers a searchable archive for others and the IBC project lead (Richard King) is also active there and extremely helpful.

Latest Comments

benalexau commented on 2024-02-20 22:48 (UTC)

Thanks @ammar-r. I have updated the PKGBUILD.

ammar-r commented on 2024-02-20 04:19 (UTC) (edited on 2024-02-20 04:20 (UTC) by ammar-r)

I had to edit PKGBUILD to download it. - Changed the link in the first line of 'source' to "https://github.com/IbcAlpha/IBC/releases/download/${pkgver}-Update.1/IBCLinux-${pkgver}.zip" - Changed the first md5sum to '6c8def6512893ce002c93efe59cf940b'

benalexau commented on 2023-03-09 01:47 (UTC)

@weilinear try sudo systemctl start ibc@edemo. I updated the pinned comment.

weilinear commented on 2023-03-03 05:06 (UTC)

I ran into a problem with unit file not found when running systemd.

I ran the following and get sudo systemctl start edemo@ibc.service [21:02:29] Failed to start edemo@ibc.service: Unit edemo@ibc.service not found.

I did run with sudo systemctl daemon-reload to make sure the daemon file is reloaded.

systemd 253-1 ibc 3.16.0-1 linux 6.2.1.arch1-1

Thanks!

andr3as commented on 2020-05-16 07:24 (UTC)

thx benalexau.. i was very well aware of ibc as i am using it for years, just for starting up the TWS on windows and linux..

as the "normal" IBCAlpha release also manages the GUI part i thought your package does the same. which it obviously doesnt as it "only" manages the headless part (which is great nonetheless, but just provides no use for my use case)

so, i appreciate the verbose response but will use the "normal way" of using IBC via cronjob to provide the functionality i would need.

benalexau commented on 2020-05-16 02:20 (UTC) (edited on 2023-03-09 01:45 (UTC) by benalexau)

This package is intended to assist users in operating an IB API socket interface for their automated trading systems. Stepping back a little, there are 3 main ways that an Arch Linux user can operate an IB API socket interface:

  1. Install Trader Workstation, as provided by IB. The issues with this include Trader Workstation is a Java application that requires a desktop environment (making it difficult to deploy on servers, virtual machines, containers etc), there is no way to script configure important parameters such as the IB API socket to bind, no way to automate login, and there is no Arch Linux package.

  2. Install the AUR ib-tws package. This packages Trader Workstation as a proper Arch Linux package (with associated pacman-based file tracking, easy discovery and deployment of new package versions etc) but does not solve any of the other issues mentioned earlier.

  3. Install the AUR ibc package. This solves all the remaining issues listed in point 1, as it will provide a virtual framebuffer (so you have a headless execution environment), it will configure important parameters (such as the socket address), and it will automate login.

As mentioned earlier, this package is aimed at those needing a headless IB API socket interface for their automated trading systems to connect to. As such it depends on packages that enable a virtual framebuffer and provides Systemd configuration files to start IB Gateway (rather than Trader Workstation). IB Gateway is another "flavour" of Trader Workstation. Both are distributed by IB in the same package as Trader Workstation, and accordingly it is installed by the same AUR package, ib-tws. Please note the ibc AUR package depends on the ib-tws AUR package and will need to be installed for ibc to operate.

Given the specific intent of this ibc AUR package is for continuous unattended operation of IB API endpoints through IB Gateway, no attempt is made to provide IBC capabilities for Trader Workstation itself. As such this package does not ship any of the usual IBC startup scripts, as all the process management is encapsulated by the Systemd configuration files that this AUR package ships instead.

Using this package is quite simple. Once installed you make a new configuration file in /etc/ibc. These are the standard IBC INI files. Then you "systemctl start ibc@edemo" (replacing edemo with whatever INI profile name you made; the edemo ships with the IBC AUR package). You can verify it worked with "systemctl status ibc@edemo" and it will display standard IBC messages about dialogs being detected, opened, activated etc. As is the usual case, "systemctl enable ibc@edemo" will enable the service on startup.

If you have questions about this AUR package please use the IBC mailing list at https://groups.io/g/ibcalpha, as it offers a searchable archive for others and the IBC project lead (Richard King) is also active there and extremely helpful.

andr3as commented on 2020-05-15 14:44 (UTC)

hey, thx for the package.. however, how is it supposed to work?

i figured there is the config files in /etc/ibc and a service.. i tried to start the service and see a process running but nothing else happens..? nothing opens up?

i am a IBC user for some time now (manual "install"), so i have seen it working, so i clearly must miss something.. any hint is highly appreciated!

thanks, Andreas

benalexau commented on 2020-02-11 02:55 (UTC)

Thanks @rrprabhu. Fixed.

rrprabhu commented on 2020-02-10 01:13 (UTC)

Downloading IBCLinux-3.8.2.zip... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 609 0 609 0 0 2682 0 --:--:-- --:--:-- --:--:-- 2671 100 221k 100 221k 0 0 407k 0 --:--:-- --:--:-- --:--:-- 407k -> Downloading IBC.jar... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 136 100 136 0 0 357 0 --:--:-- --:--:-- --:--:-- 357 100 82009 100 82009 0 0 119k 0 --:--:-- --:--:-- --:--:-- 1213k -> Found edemo.ini -> Found fdemo.ini -> Found ibc@.service ==> Validating source files with md5sums... IBCLinux-3.8.2.zip ... Passed IBC.jar ... FAILED edemo.ini ... Passed fdemo.ini ... Passed ibc@.service ... Passed

rrprabhu commented on 2020-02-10 00:56 (UTC)

IBC fails with the following error

Checking keyring... Checking integrity... Loading packages files... Checking file conflicts... Checking available disk space... Installing ib-tws (978.1i-1)... Running post-transaction hooks... Arming ConditionNeedsUpdate... Updating the desktop file MIME type cache...

Building ibc... ==> Making package: ibc 3.8.2-1 (Sun 09 Feb 2020 06:52:22 PM CST) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Retrieving sources... -> Downloading IBCLinux-3.8.2.zip... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed

0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 609 0 609 0 0 2495 0 --:--:-- --:--:-- --:--:-- 2495

100 221k 100 221k 0 0 379k 0 --:--:-- --:--:-- --:--:-- 379k -> Downloading IBC.jar... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed

0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 136 100 136 0 0 657 0 --:--:-- --:--:-- --:--:-- 657

0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 82009 100 82009 0 0 184k 0 --:--:-- --:--:-- --:--:-- 385k -> Found edemo.ini -> Found fdemo.ini -> Found ibc@.service ==> Validating source files with md5sums... IBCLinux-3.8.2.zip ... Passed IBC.jar ... FAILED edemo.ini ... Passed fdemo.ini ... Passed ibc@.service ... Passed ==> ERROR: One or more files did not pass the validity check! Failed to build ibc

Preparing... Cloning ibc build files... Checking ibc dependencies... Resolving dependencies... Checking inter-conflicts... Transaction cancelled.

Preparing... Cloning ibc build files... Checking ibc dependencies... Resolving dependencies... Checking inter-conflicts...

Building ibc... ==> Making package: ibc 3.8.2-1 (Sun 09 Feb 2020 06:53:58 PM CST) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Retrieving sources... -> Found IBCLinux-3.8.2.zip -> Found IBC.jar -> Found edemo.ini -> Found fdemo.ini -> Found ibc@.service ==> Validating source files with md5sums... IBCLinux-3.8.2.zip ... Passed IBC.jar ... FAILED edemo.ini ... Passed fdemo.ini ... Passed ibc@.service ... Passed ==> ERROR: One or more files did not pass the validity check! Failed to build ibc