Files
firezone/README.md
Jamil Bou Kheir 77bd1f44ad logo path
2021-07-29 11:31:39 -07:00

71 lines
2.2 KiB
Markdown

![](./apps/fz_http/assets/static/images/logo.svg)
![Test](https://github.com/firezone/firezone/workflows/Test/badge.svg)
[![Coverage Status](https://coveralls.io/repos/github/firezone/firezone/badge.svg?branch=master)](https://coveralls.io/github/FireZone-LLC/firezone?branch=master)
**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.
# FireZone
1. [Intro](#intro)
2. [Architecture](#architecture)
3. [Install](#install)
4. [Usage](#usage)
5. [Contributing](#contributing)
## Intro
`firezone` is an open-source WireGuard™ VPN and firewall manager for Linux
designed to be easy-to-use, secure, and useful for individuals and small teams.
Use `firezone` to:
- Connect remote teams in a secure virtual LAN
- Set up your own WireGuard™ VPN
- Block egress traffic to specific IPs and CIDR ranges
- Configure DNS in one central place for all your devices
## Architecture
`firezone` is written in the Elixir programming language and composed as an [Umbrella
project](https://elixir-lang.org/getting-started/mix-otp/dependencies-and-umbrella-projects.html)
consisting of three independent applications:
- [apps/fz_http](apps/fz_http): The Web Application
- [apps/fz_wall](apps/fz_wall): Firewall Management Process
- [apps/fz_vpn](apps/fz_vpn): WireGuard™ Management Process
For now, `firezone` assumes these apps are all running on the same host.
## Install
Prerequisites:
1. Postgresql Server 9.6 or higher. Access can be configured in
`/etc/firezone/secret/secrets.env` after installation.
2. `wg`, `openssl`, `ip`, and `iptables` must be in your PATH.
Then you can install `firezone` by [downloading the appropriate package
from the releases page](https://github.com/firezone/firezone/releases).
## Creating additional admin users
You may create additional admin users with the following command:
```bash
> firezone rpc 'FzHttp.Users.create_user(
email: "USER_EMAIL",
password: "USER_PASSWORD",
password_confirmation: "USER_PASSWORD"
)'
```
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md).
WireGuard™ is a registered trademark of Jason A. Donenfeld.