Skip to content
forked from cartesiancs/vessel

Orchestrate physical devices with a single platform 🦾

License

Notifications You must be signed in to change notification settings

raininja/vessel

 
 

Vessel

The open source alternative to Anduril for self-defence

Visit Website · Report Bugs · Docs

About The Project

banner

Vessel is the C2 (Command & Control) software. It empowers you to connect, monitor, and orchestrate a wide array of physical sensors through an intuitive, visual flow-based interface.

This project is to build a "proactive security system". To achieve this, the following three functions are necessary:

  1. Physical device Connection
  2. Threat Detect
  3. Device Control

This project solves the problems with existing home security systems. Current systems fail to protect against burglaries, trespassing, theft—and even war.

So we plan to open-source the technology used in existing defense systems.

We are developing "surveillance technology" and "active drone control systems" that have been used for border defense. And if humanoid technology is perfected, we will apply that as well.

When everything is implemented, individuals will be able to create a medieval-level army.

Note

🚧 This project is under active development. Some features may be unstable or subject to change without notice.

Features

  • Connect all sensers (MQTT, RTP, RTSP, ...)
  • RTP Audio Streaming
  • RTSP Video Streaming
  • Flow Visual Logic
  • Publish MQTT with Flow
  • Map based UI

Develop

Get your local copy up and running.

Prerequisites

1. Server Setup

# 1. Clone the repository
git clone https://github.com/cartesiancs/vessel.git
cd vessel/apps/server

# 2. Copy and configure environment variables
cp .env.example .env
# nano .env (Modify if needed)

# 3. Run database migrations
diesel setup
diesel migration run

# 4. Run the server
cargo run

2. Client Setup

# 1. Install dependencies
npm install

# 2. Run the development server
npm run client

Compile

This command compiles the entire project, including both the server and the client, into a single executable file.

npm run build

The compiled binary, named 'server', will be located in the target/release directory.

To run the server executable, you must have a .env file in the same directory (target/release).

Roadmap

Please visit our Roadmap page below:

Roadmap Page >

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

Please refer to our CONTRIBUTING.md for details.

Contributors

License

Distributed under the Apache-2.0 License. See LICENSE for more information.

Disclaimer

This project is intended for academic and research purposes only. It is designed to facilitate the connection and control of physical devices. All responsibility for its use lies with the user.

About

Orchestrate physical devices with a single platform 🦾

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 64.8%
  • Rust 30.7%
  • CSS 1.6%
  • JavaScript 1.3%
  • Go 1.2%
  • HTML 0.4%