-
Notifications
You must be signed in to change notification settings - Fork 121
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.
Screenshot of Thrust one-line example running on each major platform.
require('node-thrust')(function(err, api) {
api.window({ root_url: 'https://github.com' }).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
- 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 [email protected] if interested! (Credits to @morganrallen for the awesome idea)
- Mailing list: [email protected]
- 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
,Windows
andLinux
- 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.