Add parameters to the open command, so that it waits for the process to
end. Otherwise the process returns immediately and causes ctbrec to go
on even though the login process didn't run in the browser.
Furthermore we now pass on the config dir for the minimal browser as a
command line argument
Since MFC uses different streaming technologies, the stream sources have
to be determined differently. This is now done in dedicated
StreamSourceProvider classes.
Since the JavaFX integrated browser does not work reliably for recaptcha and in general does not behave like standard browsers, I now use an external browser for the logins. The dependency to javafx-web has been removed.
The external browser is based on electron, which uses chromium as internal browser. The implementation can be found at https://github.com/0xboobface/ctbrec-minimal-browser
The browser is a minimal browser, which only shows the web page content without any other controls. It is launched by ctbrec in a new process and remote controlled over a socket connection. I first tried to control it via
stdin/stdout, but it turns out, that stdin is not supported by electron on windows.