Browse by type

Chromium-based cross-platform / cross-language application framework
Thrust is require/import-able, it lets you distribute NodeJS, Go or Python GUI apps directly
through their native package managers.
Thrust is based on Chromium's Content Module and is supported on Linux, MacOSX and Windows:
Screenshot of Thrust Getting Started example running on each major platform.
Thrust will be powering the next versions of Breach
To better understand what Thrust can do, check out JankyBrowser by @morganrallen, the cross-platform browser that fits in a gist:
npm install -g \
https://gist.github.com/morganrallen/f07f59802884bcdcad4a/download
Thrust's binary distribution exposes its API on the standard IO and language specific library packages automatically download the binary distribution at installation. Thrust is based on Chromium's content module and uses web-pages as its GUI.
All these Getting Started example work as is on each major platform (MacOSX, Windows, Linux)
First install with npm install node-thrust
require('node-thrust')(function(err, api) {
api.window({ root_url: 'https://breach.cc' }).show();
});
First download with go get -u github.com/miketheprogrammer/go-thrust/
package main
import (
"github.com/miketheprogrammer/go-thrust/dispatcher"
"github.com/miketheprogrammer/go-thrust/spawn"
"github.com/miketheprogrammer/go-thrust/window"
)
func main() {
spawn.Run()
thrustWindow := window.NewWindow("http://breach.cc/", nil)
thrustWindow.Show()
thrustWindow.Maximize()
thrustWindow.Focus()
dispatcher.RunLoop()
}
First install with pip3 install pythrust [--user] (requires Python3)
import asyncio, pythrust
loop = asyncio.get_event_loop()
api = pythrust.API(loop)
asyncio.async(api.spawn())
asyncio.async(api.window({ 'root_url': 'http://breach.cc' }).show())
loop.run_forever()
The API reference as well as links to specific language bindings documentations are availble in the docs/ directory.
[Thrust Architecture]
(Platform) [stdio] (Your Implementation)
#
+--------------+ # +-----------------------+ |
| Cocoa / Aura | # +---| win3: (HTML/JS) | |
+-------+------+ # | +-----------------------++ |
| # +--| win2: (HTML/JS) | | cli
+------------+ +-------+------+ # | +-----------------------++ |
| +-+ thrust (C++) +-------+-+ win1: (HTML/JS) | |
| ContentAPI | +-------+------+ # +-----------------------+ |
| | | # | (TCP/FS)
| (Blink/v8) | +-------+------+ # +-----------------------+ |
| | + JSON RPC srv +---------+ Client App (any Lang) | | srv
+------------+ +--------------+ # +-----------------------+ |
#
MacOSX, Windows and Linuxfile://, ...)You will generally don't need to build thrust yourself. A binary version of thrust should be automatically fetched by the library you're reyling on at installation.
To build thrust, you'll need to have python 2.7.x and git installed. You can
then boostrap the project with:
./scripts/boostrap.py
Build both the Release and Debug targets with the following commands:
./scripts/update.py
./scripts/build.py
Note that bootstrap.py may take some time as it checks out brightray and
downloads libchromiumcontent for your platform.
$ claude mcp add thrust \
-- python -m otcore.mcp_server <graph>