CLI tool
pfsense/pfsense avatar
pfsense/pfsense

pfSense: a FreeBSD firewall whose repository ships no install path

Main repository for pfSense

5,789 stars1,600 forksPHPApache-2.0

At a glance

What is it?
The main pfSense repository holds the PHP web interface and the build tooling behind a FreeBSD based firewall distribution. It publishes no releases and no installation commands, so it is not where a new user starts.
Who is it for?
pfSense fits a network where rules are set through a browser and FreeBSD underneath is acceptable, and this repository is the place to read how that interface gets built. It is not where anything gets installed: no releases, no install command, no version.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Activity is slowing. The repository last received commits 7 months ago.
What is it written in?
Mainly PHP, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on November 14, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • pfsense/pfsense5,789 ★ · +46
Star history
Repository2026-09-232026-11-14
pfsense/pfsense5.7k5.8k

46 Stars in the last 52 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

FreeBSD with a custom kernel, wrapped in a web interface

pfSense is a network firewall distribution built on the FreeBSD operating system with a custom kernel, extended with third party free software packages for whatever extra functionality is needed. Everything those packages expose is configured from one place: a web interface that covers all included components. The argument the project makes for itself rests on the package system rather than on artificial limits in the software, with the stated aim of matching or exceeding what common commercial firewalls deliver. This is the main repository for the project and its primary language is PHP, which fits a browser interface rather than a packet path. The default branch is master, and the licence file at the root is the Apache-2.0 one, while the project pages describe the software as published under an open source licence.

A fork of m0n0wall, whose project ended in 2015

pfSense started in 2004 as a fork of the m0n0wall project, and the two are said to have diverged significantly since. m0n0wall itself ended on 2015-02-15, so the ancestor is gone and this line is the one that continued. Copyright runs from 2004 to 2026 and belongs to Rubicon Communications, LLC (Netgate), which is also where the linked licence information points. That arrangement explains one thing that trips newcomers: the software stays free while the company behind it sells something else, since the README asks people to support the team by buying bundled hardware appliances or commercial support. Nothing in these pages separates free features from paid ones, and no pricing or edition split is described here.

No rule set to hand edit, and a learning curve anyway

The interface promise is absolute for a firewall. No UNIX knowledge is needed, the command line is not required for anything, and no rule set ever has to be edited by hand. People already familiar with commercial firewalls are said to catch on to the web interface quickly. The same paragraph then concedes a learning curve for anyone not used to commercial grade equipment, which is the honest half of the claim. If your background is Linux networking rather than an enterprise appliance, the thing you go looking for is a documented file format for the rules, and no such format appears in these pages. The configuration story ends at the browser window; where those settings are stored is not described, and neither is how a configuration is carried between machines.

The root is build tooling, not a package index

The root listing says what kind of repository this is. There is build.conf.sample and build.sh beside a build/ directory, BOOTSTRAP.md for whoever starts from nothing, tools/ and tests/ for the working day, and src/ for the PHP sources. Dependencies go through Composer, with composer.json and composer.lock at the root, plus rector.php and zanata.xml beside them. .editorconfig and .gitattributes sit next to a LICENSE and a README.md, and .github/ holds CONTRIBUTING.md, the only contribution guidance named anywhere.

text
build.conf.sample
build.sh
composer.json
composer.lock
rector.php
zanata.xml
src/
tests/
tools/
vendor

What is absent matters as much as what is there. No Dockerfile and no binary index appear at the root, and build.conf.sample carries the sample suffix that marks it as a template to copy. This is a source tree that expects a FreeBSD build environment, which follows from the base it is built on.

Where users actually get pfSense

This repository publishes nothing a new user can install. No tagged releases are attached to it, and the last push to master landed on 2026-03-31. There is no download link, no image name, no version number and no install command in the overview, and the third party packages it says it includes are never named. The route offered instead is the project homepage at pfsense.org, where the software and the bundled hardware appliances are described, with commercial support as the paid side. So anyone arriving for an image to drop into a virtual machine will not find it here. The overview is two sections long and ends at a pointer to CONTRIBUTING, which sets the expectation for the whole repository: this is where pfSense is built, not where it is obtained.

What the overview leaves unanswered

A short list of things missing from these pages: which version you would be installing, which packages the distribution bundles, which hardware platforms are supported, what the web interface's default credentials are, how an upgrade carries existing configuration forward, and whether a virtual machine install differs from a dedicated appliance. Each one is a real question when the software sits at a network edge, and none is answered in the overview or visible in the root file listing. The two places the repository points are CONTRIBUTING, for information on how to contribute, and the project homepage. That is the whole information surface here, so the documentation you evaluate pfSense against has to be the running system itself rather than this repository.

The replacement claim names vendors, not features

One competitive sentence exists in the whole repository, and it is a claim of coverage rather than of parity. pfSense is said to have replaced big name commercial firewalls in installations around the world, with Check Point, Cisco PIX, Cisco ASA, Juniper, Sonicwall, Netgear, Watchguard and Astaro named among them. No dates, installation counts or version numbers sit next to that sentence, and no feature matrix accompanies it. The one architectural relationship stated concretely is the fork from m0n0wall. Weighing pfSense against another firewall means reading this ancestry and this vendor list, then testing the running system yourself: nothing here describes rule behaviour, throughput, or how either product handles the traffic on your own network.

Editorial conclusion

pfSense fits a network where rules are set through a browser and FreeBSD underneath is acceptable, and this repository is the place to read how that interface gets built. It is not where anything gets installed: no releases, no install command, no version. Before committing to it, take the version and the package list from the built system on pfsense.org, and check the rule features you need against the running web interface, since neither appears anywhere in this tree.

Frequently asked questions

What does pfSense do?

It is a free network firewall distribution based on the FreeBSD operating system with a custom kernel, extended with third party free software packages. All included components are configured through a web interface, so no command line work and no hand editing of rule sets are needed.

Is pfSense still free?

The project describes itself as a free network firewall distribution published under an open source licence, and the main repository carries the Apache-2.0 licence. Support is the paid side, sold as bundled hardware appliances and commercial support.

Is OPNsense or pfSense better?

The repository makes no comparison with OPNsense. Its own competitive claim names commercial firewalls it says it has replaced, including Check Point, Cisco PIX, Cisco ASA, Juniper, Sonicwall, Netgear, Watchguard and Astaro, and it names m0n0wall, the project it forked from, as its origin.

How do I install pfSense?

This repository has no installation command and no tagged releases. What it holds is a build system: build.sh, build.conf.sample and BOOTSTRAP.md at the root, with composer.json and composer.lock for the PHP dependencies. The project homepage at pfsense.org is where the software itself is described.

How do I access the pfSense web interface?

The web interface is how every included component gets configured, and it is the only configuration path the project describes. No address, port or default credentials appear in the overview or the root file listing, so those details come from a built installation rather than from this tree.

Official sources

  1. Issues
  2. License: Apache-2.0
  3. pfsense/pfsense on GitHub
  4. Project website
  5. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/pfsense-pfsense.svg)](https://hysenlabs.com/projects/pfsense-pfsense)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/pfsense-pfsense.svg)](https://hysenlabs.com/projects/pfsense-pfsense)

Was this useful?