-
Notifications
You must be signed in to change notification settings - Fork 119
Home
The require-able cross-platform native application framework based on Chromium's content module
For the fist time, Thrust lets you distribute nodeJS, Go or Python cross-plaform GUI apps (MacOSX, Windows, Linux) through their native package managers.
Thrust's binary distribution exposes its API on the standard IO and language specific library packages automatically download the binary distribution at installation. It is based on Chromium's content module and uses web-pages as its GUI.

Thrust will be powering the next versions of Breach
require('node-thrust')(function(err, api) {
api.window({ root_url: 'https://breach.cc' }).show();
});
- node-thrust breach/node-thrust
- JankyBrowser by @morganrallen, the browser that fits in a gist!
npm install -g \
https://gist.github.com/morganrallen/f07f59802884bcdcad4a/download
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.Window{Url: "http://breach.cc/"}
thrustWindow.Create(nil)
thrustWindow.Show()
thrustWindow.Maximize()
thrustWindow.Focus()
dispatcher.RunLoop()
}
- go-thrust: miketheprogrammer/go-thrust
[Thurst 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
+------------+ +--------------+ # +-----------------------+ |
#
- List of API needed by various projects on Thrust: Request for API
- List of people relying on Thrust: List of Thrust Users
- 7.5k max Browser implementation based on Thrust. Coming soon. Ping dev@breach.cc if interested! (Credits to @morganrallen for the awesome idea)
- Mailing list: breach-dev@googlegroups.com
- IRC Channel: #breach on Freenode
- window creation create, show, close resize, minimize, maximize, ...
- window events close, blur, focus, unresponsive, crashed
- cross-platform equivalent support on
MacOSX,WindowsandLinux - sessions off the record, custom storage path, custom cookie store
- kiosk kiosk mode
- application menu global application menu (MacOSX, X11/Unity)
- webview webview tag (secure navigation, tabs management)
- frameless frameless window and draggable regions
- python python bindings library
- tray icon tray icon native integration
- remote thrust specific IPC mechanism for client/server communication
- protocol specific protocol reigstration (
fille://, ...) - proxy enable traffic proxying (Tor, header injection, ...)
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.
