diff --git a/README.md b/README.md index b18880428..d9814b413 100644 --- a/README.md +++ b/README.md @@ -1,45 +1,69 @@ -![](./apps/fz_http/assets/static/images/logo.svg) +

+ firezone logo +

+

+ + firezone + + + firezone Slack + + + firezone Slack + + firezone + firezone + + follow on Twitter + +

-![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) -# FireZone +FireZone is a simple [WireGuard](https://www.wireguard.com/) based VPN server and firewall for Linux designed to be secure, easy to manage, and quick to set up. -1. [Intro](#intro) -2. [Requirements](#requirements) -3. [Install](#install) -4. [Usage](#usage) -5. [Architecture](#architecture) -6. [Contributing](#contributing) +![Architecture](https://user-images.githubusercontent.com/167144/134593363-870c982d-921b-4f0c-b210-e77c8860d9ca.png) -![IMG_0023](https://user-images.githubusercontent.com/167144/132162016-c17635ae-a715-41ca-b6f9-7cbdf202f8d5.png) +# What is Firezone? -## Intro +Firezone can be set up in minutes to manage your WireGuard VPN through a simple web interface. -FireZone is an open-source WireGuard-based VPN server and firewall for Linux -designed to be secure, easy to manage, and quick to set up. +## Features -Use FireZone to: +- **Fast:** [3-4 times](https://wireguard.com/performance/) faster than OpenVPN. +- **Firewall built in:** Uses [nftables](https://netfilter.org) to block + unwanted egress traffic. +- **No dependencies:** All dependencies are bundled thanks to + [Chef Omnibus](https://github.com/chef/omnibus). +- **Secure:** Runs unprivileged. HTTPS enforced. Encrypted cookies. -- Connect remote teams to a shared private cloud network -- Set up your own WireGuard VPN -- Block egress traffic from your devices to specific IPs and CIDR ranges -- Connect remote teams to a secure virtual LAN +![Firezone](./apps/fz_http/assets/static/images/firezone-usage.gif) + +# Deploying and Configuring ## Requirements -FireZone currently supports the following Linux distros: +FireZone currently supports the following operating systems: -- CentOS: `7`, `8` -- Ubuntu: `18.04`, `20.04` -- Debian: `10`, `11` -- Fedora: `33`, `34` +| Name | Status | +| --- | --- | +| CentOS 7 | **Fully-supported** | +| CentOS 8 | **Fully-supported** | +| Ubuntu 18.04 | **Fully-supported** | +| Ubuntu 20.04 | **Fully-supported** | +| Debian 10 | **Fully-supported** | +| Debian 11 | **Fully-supported** | +| Fedora 33 | **Fully-supported** | +| Fedora 34 | **Fully-supported** | +| macOS | Unsupported at this time | +| Windows | Unsupported at this time | If your distro isn't listed here please [open an issue](https://github.com/firezone/firezone/issues/new/choose) and we'll look into adding it. -FireZone requires a valid SSL certificate and a matching DNS record to run in production. +FireZone requires a valid SSL certificate and a matching DNS record to run in +production. We recommend using [Let's Encrypt](https://letsencrypt.org) to +generate a free SSL cert for your domain. -## Install +## Installation Instructions 1. Download the relevant package for your distribution from the [releases page](https://github.com/firezone/firezone/releases) 2. Install with `sudo rpm -i firezone-.rpm` or `sudo dpkg -i firezone-.deb` depending on your distribution. This will unpack the application and set up necessary directory structure. @@ -49,7 +73,7 @@ FireZone requires a valid SSL certificate and a matching DNS record to run in pr 6. Finally, create an admin user with `sudo firezone-ctl create_admin`. Check the console for the login credentials. 7. Now you should be able to log into the web UI at `https://` -## Usage +# Using Firezone Your FireZone installation can be managed via the `firezone-ctl` command, as shown below. Most subcommands require prefixing with `sudo`. @@ -103,7 +127,7 @@ Service Management Commands: Send the services a USR2. ``` -## Architecture +# 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) @@ -111,14 +135,21 @@ 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 +- [apps/fz_vpn](apps/fz_vpn): WireGuard™ Management Process For now, FireZone assumes these apps are all running on the same host. [Chef Omnibus](https://github.com/chef/omnibus) is used to bundle all FireZone dependencies into a single distributable Linux package. -## Contributing +# Getting Support +For help, feedback or contributions please join our [Slack group](https://admin.typeform.com/form/rpMtkZw4/create?block=a9c11a46-1dcf-4155-b447-0d8ce5700d5f). We're actively working to improve Firezone, and the Slack group is the best way to coordinate our efforts. -See [CONTRIBUTING.md](CONTRIBUTING.md). -WireGuard is a registered trademark of Jason A. Donenfeld. +## Developing and Contributing + +- See [CONTRIBUTING.md](CONTRIBUTING.md). +- Report issues and bugs in [this Github project](). + +## License + +WireGuard™ is a registered trademark of Jason A. Donenfeld. diff --git a/apps/fz_http/assets/static/images/firezone-usage.gif b/apps/fz_http/assets/static/images/firezone-usage.gif new file mode 100644 index 000000000..29aaefee4 Binary files /dev/null and b/apps/fz_http/assets/static/images/firezone-usage.gif differ diff --git a/apps/fz_http/assets/static/images/logo-text.svg b/apps/fz_http/assets/static/images/logo-text.svg new file mode 100644 index 000000000..3459c07e3 --- /dev/null +++ b/apps/fz_http/assets/static/images/logo-text.svg @@ -0,0 +1,6 @@ + + + + + +