Firezone

firezone.dev
Firezone Icon

Open-source self-hosted VPN and firewall built on WireGuard®.

Open Source

Firezone Source Code

Author

firezone

Description

WireGuard®-based zero trust access platform that supports OIDC authentication, user/group sync, and requires zero firewall configuration.

#cloud#devsecops#elixir#elixir-lang#firewall#liveview#network#network-security#networking#phoenix#privacy#rust-lang#security#self-hosted#virtual-network#vpn#vpn-server#wireguard#wireguard-ui#wireguard-vpn

Homepage

https://www.firezone.dev

License

Apache-2.0

Created

22 Apr 20

Last Updated

30 Mar 24

Latest version

1.0.0-pre.11

Primary Language

Elixir

Size

105,806 KB

Stars

6,139

Forks

259

Watchers

6,139

Language Usage

Language Usage

Star History

Star History

Recent Commits

  • Jamil (29 Mar 24)

    chore(connlib): Remove atomicwrites and tokio::fs from apple compile path (#4395) Fixes #4377 Manually verified by running `nm` on the resulting binaries. I'll open another PR to handle #4393 --------- Signed-off-by: Jamil <jamilbk@users.noreply.github.com> Co-authored-by: Reactor Scram <ReactorScram@users.noreply.github.com>

  • Brian Manifold (29 Mar 24)

    refactor(portal): Move actor groups to own table in actor show page (#4392) Why: * When viewing an actor in the portal, all of the groups were listed in the top info table. This works for a small number of groups, but becomes difficult to use when an actor is in a large number of groups. This commit moves that information to it's own `live_table` element so that it's easier to parse and can be paginated.

  • Andrew Dryga (29 Mar 24)

    fix(portal): Reuse code across sync jobs, only lock one row per job and fetch data asynchronously (#4396)

  • Jamil (29 Mar 24)

    chore(portal): Add billing.firezone.dev Stripe checkout domains (#4389) Keeps the user inside the `firezone.dev` domain during checkout. <img width="862" alt="Screenshot 2024-03-28 at 5 08 35 PM" src="https://github.com/firezone/firezone/assets/167144/538c2608-40ca-4e65-be24-18027d9cb4e9">

  • Jamil (29 Mar 24)

    fix(connlib): Don't roll log files (#4390) Fixes #4377 Closes #3910 If we decide to implement diagnostic log collection in the future it will be opt-in and use something like Sentry.

  • Andrew Dryga (28 Mar 24)

    Create everyone group on account sign up (#4388)

  • Andrew Dryga (28 Mar 24)

    fix(portal): Serve static files with digests at root (#4386) Closes #4384

  • Andrew Dryga (28 Mar 24)

    fix(porta): Greatly improve HTTP 500 error page (#4382) <img width="1728" alt="Screenshot 2024-03-28 at 15 00 19" src="https://github.com/firezone/firezone/assets/1877644/174c54c2-b958-416f-ad50-9c2af4103bfc">

  • Andrew Dryga (28 Mar 24)

    fix(portal): Do not redact userpass virtual state (its a virtual field anyway) (#4370) Closes #4354

  • Andrew Dryga (28 Mar 24)

    chore(portal): Sign ref that is sent to the gateway (#4368) Closes #4360

  • Andrew Dryga (28 Mar 24)

    fix(portal): Filter group actors by group id (#4369) Closes #4365

  • Jamil (28 Mar 24)

    refactor(connlib): Reduce log noisiness for GA (#4381) Fixes #4380 Fixes #4379

  • Jamil (28 Mar 24)

    refactor(apple): Use AppleArchive not Zipfiles for log export (#4378) We were using an external library to compress the log folder on Apple, when Apple has native APIs for such things. The external library also doesn't have a good security track record, so this work was prioritized for GA. Default compression level I'm seeing is about 30:1, whereas the previous Zip compression level seemed to be disabled. Fixes #4377 Fixes #4362

  • Reactor Scram (28 Mar 24)

    refactor: remove `on_tunnel_ready` callback and switch Windows to `on_set_interface_config` (#4374) Closes #4305 The two callbacks fire within 1 ms of each other so I figure they're basically the same. If it's firing too early I can fix that after GA.

  • Reactor Scram (28 Mar 24)

    fix(Windows client): fix "Tauri error" to "Firezone is already running" (#4364) This regressed a while back when I was trying to fix a flaky test. Closes #4363

  • Brian Manifold (28 Mar 24)

    style(portal): Update portal UI polish/consistency (#4367) Why: * This commit was not intended to be a sweeping UI change, but rather a quick pass over the portal to make sure things were consistent and also to update small UI elements that were discussed offline.

  • Andrew Dryga (28 Mar 24)

    chore(portal): Change terraform configs for release (#4373) refs #4366

  • Andrew Dryga (28 Mar 24)

    chore(portal): Update Gateways deploy UI (#4352) Closes #4019 <img width="1728" alt="Screenshot 2024-03-27 at 14 53 30" src="https://github.com/firezone/firezone/assets/1877644/a2b8850e-49b7-4379-9851-5cb5453018d5"> <img width="1728" alt="Screenshot 2024-03-27 at 14 53 32" src="https://github.com/firezone/firezone/assets/1877644/5b35c045-6db8-4522-bba8-794d68eae879">

  • Reactor Scram (28 Mar 24)

    test(firezone-tunnel): create a tunnel device in unit tests during CI (#4254) This catches two of the mutants, according to `cargo-mutants`. ~~Unfortunately since `cargo test` runs in one process, it's all-or-nothing for sudo, this will run all unit tests as sudo.~~ (This explanation is not exactly correct, `cargo test` does run _a_ subprocess, but still, there is no way to request sudo or non-sudo runners for specific tests, since it's just an environment variable, and since many tests run in parallel in different threads of the same process.) Here it is passing in Linux: https://github.com/firezone/firezone/actions/runs/8382799272/job/22957555987#step:5:3160 And Windows: https://github.com/firezone/firezone/actions/runs/8382799272/job/22957558003#step:5:1006 ```[tasklist] ### Before merging - [x] Try `#[ignore]` attribute - [x] Fail gracefully if `sudo` isn't available ```

  • Reactor Scram (28 Mar 24)

    chore(firezone-tunnel): allow `cargo-mutants` to see Tun impls (#4253) Refs #3776 I think `Tun` could use some automated coverage, so here's the baseline if this PR goes in: For `cargo mutants -p firezone-tunnel -p firezone-gui-client --file connlib/tunnel/src/client.rs --file connlib/tunnel/src/device_channel/tun_windows.rs`, 113 mutants tested, 68 missed For `tun_linux.rs`, 128 tested, 76 missed This is only counting the unit tests, not integration tests or anything, but it's nice if we can cover some I/O stuff like `wintun` in unit tests locally.

  • Thomas Eizinger (28 Mar 24)

    chore(phoenix-channel): reset heartbeat on reconnect (#4361) Looking through the logs of https://github.com/firezone/firezone/issues/4348, I noticed that we would instantly reconnect to the portal due to a "missed heartbeat" if the connection was reset for any other error. That happens because the timer within `Heartbeat` was still active and would immediately fire was soon as we are connected. To fix this, we introduce a `reset` method that gets called every time we establish a connection to the portal.

  • Thomas Eizinger (28 Mar 24)

    chore: apply lints consistently across workspace (#4357) Motivated by: #4340. I also activated [`clippy::unnnecessary_wraps`](https://rust-lang.github.io/rust-clippy/master/#/unnecessary_wraps) which does create some false-positives for the platform-specific code but is IMO overall a net-positive. With the amount of Rust code and crates increasing, it is good to have tools point out simplifications like these as they are otherwise hard to spot, especially across crate boundaries.

  • Gabi (28 Mar 24)

    chore(connlib): unit tests for additional fields in messages (#4337) Fixes #4308

  • Gabi (28 Mar 24)

    feat(connlib): react to config updates (#4322) * Move the resource changes to `ClientState` to unit test easier * Add unit tests * Set new config on update from portal * Set parameters as told by portal on re-init Fixes: #2728

  • Andrew Dryga (28 Mar 24)

    hotfix: reload dns config before sending it

  • Andrew Dryga (28 Mar 24)

    hotfix: slug extraction from not formatted hubspot website url

  • Reactor Scram (27 Mar 24)

    chore(phoenix-channel): remove stray `dbg` (#4340) This was introduced in #4296 and I'm guessing it shouldn't be there because we are standardized on `tracing::*` and this goes straight to stderr, can't be filtered out, etc.

  • Reactor Scram (27 Mar 24)

    fix(apple client): sign in crash, closes #4350 (#4353)

  • Andrew Dryga (27 Mar 24)

    chore(portal): Temporarily hide address description (#4351) Closes #4250

  • Andrew Dryga (27 Mar 24)

    chore(portal): Encode client reply pid and socket ref instead of storing it (#4349)

Firezone Website

Website

Redirects

Does not redirect

Security Checks

2 security checks failed (64 passed)

  • Robots Noindex
  • Empty Page Title

Server Details

  • IP Address 76.76.21.93
  • Location Walnut, California, United States of America, NA
  • ISP Vercel Inc
  • ASN AS16509

Associated Countries

  • US

Saftey Score

Website marked as moderately safe

90%

Blacklist Check

www.firezone.dev was found on 0 blacklists

  • ThreatLog
  • OpenPhish
  • PhishTank
  • Phishing.Database
  • PhishStats
  • URLhaus
  • RPiList Not Serious
  • AntiSocial Blacklist
  • PhishFeed
  • NABP Not Recommended Sites
  • Spam404
  • CRDF
  • Artists Against 419
  • CERT Polska
  • PetScams
  • Suspicious Hosting IP
  • Phishunt
  • CoinBlockerLists
  • MetaMask EthPhishing
  • EtherScamDB
  • EtherAddressLookup
  • ViriBack C2 Tracker
  • Bambenek Consulting
  • Badbitcoin
  • SecureReload Phishing List
  • Fake Website Buster
  • TweetFeed
  • CryptoScamDB
  • StopGunScams
  • ThreatFox
  • PhishFort

Website Preview

Firezone Reviews

More Self-Hosted Network Security

About the Data: Firezone

API

You can access Firezone's data programmatically via our API. Simply make a GET request to:

https://api.awesome-privacy.xyz/networking/self-hosted-network-security/firezone

The REST API is free, no-auth and CORS-enabled. To learn more, view the Swagger Docs or read the API Usage Guide.

About the Data

Beyond the user-submitted YAML you see above, we also augment each listing with additional data dynamically fetched from several sources. To learn more about where the rest of data included in this page comes from, and how it is computed, see the About the Data section of our About page.

Share Firezone

Help your friends compare Self-Hosted Network Security, and pick privacy-respecting software and services.
Share Firezone and Awesome Privacy with your network!

View Self-Hosted Network Security (8)