forked from oomer/bellatui
200 lines
4.9 KiB
Markdown
200 lines
4.9 KiB
Markdown
# bellatui
|
|
|
|
Command line bella renderer with encrypted networking ,text user interface and file monitoring.
|
|
|
|
## Usage
|
|
|
|
commands: help, send, get, stat, render, stop
|
|
|
|
### Server
|
|
```
|
|
bellatui --server
|
|
BellaTUI server started ...
|
|
Awaiting new client ...
|
|
Client connected
|
|
```
|
|
|
|
### Client
|
|
```
|
|
bellatui --serverAddress:discord.beantip.ca
|
|
|
|
bellatui connecting to discord.beantip.ca ...
|
|
Connection to discord.beantip.ca successful
|
|
send orange-juice.bsz
|
|
Sending:orange-juice.bsz
|
|
Server Readiness: RDY
|
|
sending
|
|
.........................................................................
|
|
render
|
|
Server response: render started...type stat to get progress
|
|
stat
|
|
Server response: Saturn | Elapsed: 6s | Bench: 1704
|
|
stat
|
|
Server response: Saturn | Elapsed: 41s | Progress: 22.65%
|
|
```
|
|
|
|
### Precompiled Binaries
|
|
|
|
[Windows](https://a4g4.c14.e2-1.dev/bellatui/bellatui-windows.zip)
|
|
|
|
[MacOS](https://a4g4.c14.e2-1.dev/bellatui/bellatui-mac.zip)
|
|
```
|
|
Apple Gatekeeper blocks non-notarized executables by default.
|
|
```
|
|
|
|
[Ubuntu Linux](https://a4g4.c14.e2-1.dev/bellatui/bellatui-linux.tar.gz)
|
|
```
|
|
apt install -y libsodium-dev
|
|
```
|
|
|
|
|
|
# Build
|
|
```
|
|
workdir/
|
|
├── bella_engine_sdk/
|
|
├── libsodium/
|
|
├── libzmq/
|
|
├── cppzmq/
|
|
├── efsw/
|
|
├── belatui/
|
|
|
|
( additional Windows package manager dependency )
|
|
├── vcpkg/
|
|
|
|
( additional MacOS package manager dependency )
|
|
└── homebrew/
|
|
```
|
|
|
|
## MacOS
|
|
Install Cmake to /Applications
|
|
```
|
|
curl -LO https://github.com/Kitware/CMake/releases/download/v3.31.6/cmake-3.31.6-macos-universal.dmg
|
|
open cmake-3.31.6-macos-universal.dmg
|
|
```
|
|
Install Xcode
|
|
|
|
```
|
|
mkdir workdir
|
|
cd workdir
|
|
mkdir homebrew
|
|
curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip-components 1 -C homebrew
|
|
eval "$(homebrew/bin/brew shellenv)"
|
|
brew update --force --quiet
|
|
brew install libsodium
|
|
brew install pkg-config
|
|
cd ..
|
|
git clone https://github.com/zeromq/libzmq
|
|
mkdir -p libzmq/build
|
|
cd libzmq/build
|
|
/Applications/CMake.app/Contents/bin/cmake .. -DENABLE_CURVE=ON -DWITH_LIBSODIUM=../../homebrew/Cellar/libsodium/1.0.20/include/sodium -DSODIUM_INCLUDE_DIRS=~/homebrew/Cellar/libsodium/1.0.20/include -DSODIUM_LIBRARIES=~/homebrew/Cellar/libsodium/1.0.20/lib/libsodium.a
|
|
make -j4
|
|
cd ../..
|
|
git clone https://github.com/zeromq/cppzmq
|
|
git clone https://github.com/SpartanJ/efsw.git
|
|
mkdir -p efsw/build
|
|
cd efsw/build
|
|
/Applications/CMake.app/Contents/bin/cmake ..
|
|
make -j4
|
|
cd ../..
|
|
git clone https://github.com/oomer/bellatui.git
|
|
cd bellatui
|
|
make all -j4
|
|
```
|
|
|
|
## Ubuntu Linux x64 and arm64
|
|
|
|
### bella_engine_sdk
|
|
```
|
|
curl -O https://downloads.bellarender.com/bella_engine_sdk-24.6.0.tar.gz
|
|
tar -xvf bella_engine_sdk-24.6.0.tar.gz
|
|
```
|
|
|
|
#### ubuntu dependencies
|
|
```
|
|
apt install -y build-essential
|
|
apt install -y libx11-dev
|
|
apt install -y libgl1-mesa-dev
|
|
apt install -y libtool
|
|
apt install -y libsodium-dev
|
|
apt install -y cmake
|
|
apt install pkg-config
|
|
```
|
|
|
|
### building libzmq cppzmq
|
|
```
|
|
mkdir workdir && cd workdir
|
|
mkdir libsodium libzmq cppzmq efsw bellatui
|
|
|
|
# Build libsodium
|
|
cd libsodium && git clone https://github.com/jedisct1/libsodium.git
|
|
wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.20-stable.tar.gz
|
|
tar xvf libsodium-1.0.20-stable.tar.gz --strip-components=1
|
|
./configure
|
|
make -j$(nproc)
|
|
|
|
# Build libzmq
|
|
cd ../libzmq && git clone https://github.com/zeromq/libzmq .
|
|
cmake -B ./build -DENABLE_DRAFTS=OFF -DWITH_TLS=OFF -DENABLE_CURVE=ON -DWITH_LIBSODIUM=../libsodium/src/libsodium/include/sodium -DSODIUM_INCLUDE_DIRS=../libsodium/src/libsodium/include -DSODIUM_LIBRARIES=../libsodium/src/libsodium/.libs/libsodium.so
|
|
cmake --build ./build -j$(nproc)
|
|
|
|
# Build cppzmq
|
|
cd ../cppzmq && git clone https://github.com/zeromq/cppzmq .
|
|
cmake -B ./build -DZeroMQ_LIBRARY=../libzmq/build/lib/libzmq.so -DZeroMQ_INCLUDE_DIR=../libzmq/include
|
|
cmake --build ./build -j$(nproc)
|
|
|
|
# Build efsw
|
|
cd ../efsw && git clone https://github.com/SpartanJ/efsw.git .
|
|
cmake -B ./build
|
|
make -j$(nproc)
|
|
|
|
# Get bella sdk
|
|
cd ..
|
|
wget https://downloads.bellarender.com/bella_engine_sdk-25.3.0-linux.tar.gz
|
|
tar -xvf bella_engine_sdk-25.3.0-linux.tar.gz
|
|
|
|
# Get oom
|
|
cd ..
|
|
git clone https://git.indoodle.com/oomer/oom.git
|
|
|
|
|
|
# Build bellatui
|
|
cd ../bellatui
|
|
git clone https://github.com/oomer/bellatui.git .
|
|
make all -j$(nproc)
|
|
```
|
|
|
|
[TODO]
|
|
Fix in Makefile
|
|
cp ../bella_engine_sdk/lib/libdl_usd_ms.so bin/Linux/release/
|
|
cp ../libzmq/build/lib/libzmq.so.5 bin/Linux/release/
|
|
|
|
# Windows
|
|
https://aka.ms/vs/17/release/vs_BuildTools.exe
|
|
[ ] Desktop development with C++
|
|
|
|
Get bella_engine_sdk
|
|
|
|
#### x64 Developer console
|
|
```
|
|
git clone https://github.com/microsoft/vcpkg.git
|
|
cd vcpkg
|
|
bootstrap-vcpkg.bat
|
|
vcpkg install zeromq[sodium]:x64-windows
|
|
vcpkg.exe install cppzmq:x64-windows
|
|
vcpkg integrate install
|
|
cd ..
|
|
git clone https://github.com/SpartanJ/efsw.git
|
|
mkdir -p efsw/build
|
|
cd efsw/build
|
|
cmake ..
|
|
msbuild efsw.sln /p:Configuration=Release /p:Platform=x64
|
|
cd ../..
|
|
git clone https://github.com/oomer/bellatui.git
|
|
|
|
msbuild bellatui.vcxproj /p:Configuration=release /p:Platform=x64 /p:PlatformToolset=v143
|
|
```
|
|
|
|
|
|
|
|
|