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
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:
- apps/cf_http: The Web Application
- apps/cf_wall: Firewall Management Process
- apps/cf_vpn: WireGuard™ Management Process
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.