2021-06-30 11:58:22 -07:00
2021-06-29 11:48:39 -07:00
2021-06-28 08:44:03 -07:00
2021-06-28 13:43:43 -07:00
2021-06-28 15:20:07 -07:00
2021-06-30 11:58:22 -07:00
2021-06-28 15:06:26 -07:00
2020-11-09 10:13:02 -06:00
2021-06-28 15:20:07 -07:00
2020-10-28 11:00:18 -05:00
2021-01-03 08:16:16 -08:00
2020-04-21 20:49:55 -07:00
2021-06-28 08:48:53 -07:00
2020-11-04 10:14:20 -06:00
2021-06-29 07:19:46 -07:00
2021-06-28 08:44:03 -07:00
2020-04-21 20:49:55 -07:00
2021-06-28 15:06:26 -07:00
2021-06-28 09:07:30 -07:00
2021-06-28 18:48:24 -07:00
2021-06-28 08:21:14 -07:00
2021-06-28 08:44:03 -07:00

Test Coverage Status

Warning: This project is under active development and is not secure at the moment. Do not attempt to use this software in any production capacity until this notice is removed.

You have been warned.

CloudFire

  1. Intro
  2. Architecture
  3. Setup
  4. Usage
  5. Contributing

Intro

CloudFire is a host-it-yourself VPN and firewall configurable through a Web UI. It aims to be a simple way to setup a VPN and optional firewall for all your devices.

Use CloudFire to:

  • Set up your own VPN
  • Block, inspect, or capture outgoing traffic from your phone / tablet / computer to any IP(s)

Architecture

CloudFire is written in the Elixir programming language and composed as an Umbrella project consisting of three Elixir packages:

For now, CloudFire assumes these apps are all running on the same host.

Setup

curl https://github.com/CloudFire-LLC/cloudfire/releases/download/latest/cloudfire-init.sh | sudo bash -E

vagrant up

This will download the VM base box, provision it with dependencies, bootstrap the CloudFire DB, launch the CloudFire Services, and print instructions for connecting to the Web UI.

Creating Additional Users

CloudFire creates the first user for you upon installation and prints the credentials after vagrant up completes in the step above.

You may create additional users with the following command:

sudo -u cloudfire /opt/cloudfire/bin/cloudfire rpc 'CfHttp.Users.create_user(
  email: "USER_EMAIL",
  password: "USER_PASSWORD",
  password_confirmation: "USER_PASSWORD"
)'

This will create a user you can use to log into the Web UI.

Contributing

See CONTRIBUTING.md.

Description
No description provided
Readme Apache-2.0 169 MiB
Languages
Elixir 57.1%
Rust 29.2%
TypeScript 5.9%
Swift 3.3%
Kotlin 1.8%
Other 2.5%