README.md
June 7, 2026 · View on GitHub
TinyWall
A free, lightweight and non-intrusive firewall
Website » | Download »
About
TinyWall is a free, lightweight, and non-intrusive, secure by default firewall for Windows. Built to just simply sit in your system tray, quietly blocking any application you did not explicitly allow network access. TinyWall installs no kernel drivers, so it cannot negatively influence system stability. It also repects your privacy and collects absolutely no data about the user or their computer.
This repository houses the source code of TinyWall as found at its official website.
How to build
Necessary tools
- Microsoft Visual Studio 2026 (or 2022)
- Wix v3.14 Toolset
- Visual Studio extension for Wix v3 Toolset
To build the application
- Open the solution file in Visual Studio and compile the
TinyWallproject. The other projects referenced inside the solution need not be built separately as they will be statically compiled into the application. - Done.
To update/build build the database of known applications
- Adjust the individual JSON files in the
TinyWall\Databasefolder. - Start the application with the
/develtoolflag. - Use the
Database creatortab to create one combined database file in JSON format. The output file will be calledprofiles.json. - To use the new database in debug builds, copy the output file to the
TinyWall\bin\Debugfolder. - Done.
To build the installer
- Copy the compiled application files and all dependencies into the
MsiSetup\Sources\ProgramFiles\TinyWallfolder. - Update the files as necessary inside the
MsiSetup\Sources\CommonAppData\TinyWallfolder. See instructions above about creating the database. - Open the solution file in Visual Studio and compile the
MsiSetupproject. - Done.
Contributing
Feel free to open issues, feature- or pull-requests. I kindly ask for patience though, as TinyWall is in maintenance mode and my responses are often delayed. Nevertheless all issues and requests are looked at.
New features are more likely to get implemented if you provide the necessary code changes yourself. The process for that is the same as for most other projects here on GitHub, in short:
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request on GitHub
For complex features or large changes, please contact me first if your changes are still within the vision of TinyWall staying small, efficient and simple.
If your goal with forking is not code contribution but to build and distribute your own binaries, please choose a name dissimilar to "TinyWall" to avoid confusing users.
License
| Contents in | Maintainer | Origin | License |
|---|---|---|---|
| Microsoft.Samples\TaskDialog\ | KevinGre | link (archive.org) | Public Domain |
| Microsoft.Samples\Privilege.cs | Mark Novak | link | see Privilege.cs.LICENSE |
| DarkModeCS.cs | BlueMystic | link | MIT |
| Everything else | Károly Pados | this repo | GPLv3 |
Contact
Károly Pados - find e-mail at the bottom of the project website
Website: https://tinywall.pados.hu