Awesome Open Source
Awesome Open Source


GitHub release (latest by date) License GitHub issues

Winpinator is an unofficial Windows port of Warpinator, rewritten from scratch in C++. It supports the gRPC based protocol of its Linux equivalent, as well as zeroconf/mDNS based service discovery. Due to the fact that Windows has a completely different filesystem, some Warpinator features have to be emulated, e.g. sending filesystem permissions along with the files.

Winpinator should integrate well into Windows ecosystem by supporting drag-and-drop and appearing in Windows Explorer's Send to context menu.


readme/screen1.png readme/screen2.png readme/screen4.png readme/screen3.png


  • Answer and process mDNS queries to be able to discover Warpinator clients running on local network
  • Support both Warpinator registration protocols (v1 and v2)
  • Send and receive files, directories or any combination of those
  • Support deflate compression of data stream during transfers
  • Optionally save zone information to received files (This file came from another computer and might be blocked to help protect this computer. in File Properties dialog)
  • Store transfer history as well as all transferred file paths
  • Accept files to send as command line parameters and handle the Send to option in Windows Explorer's context menu
  • Optionally start on system startup
  • Run in background and show toast notifications when someone sends some files


As for now, Visual Studio 2019 is used to compile binaries. Any newer version of VS should work, but is not actively tested. C++14 is used to develop the software.


Dependencies of Winpinator are managed by vcpkg, but using vcpkg during compilation is optional. In that case all header and lib files have to be installed manually. Currently, Winpinator depends on the following libraries and tools:


Winpinator uses NSIS as its install system. Currently, only one additional NSIS plugin is required for the script to compile - inetc.


Winpinator makes use of wxWidgets' built-in gettext implementation, so it should be localizable using standard set of gettext tools (like Poedit). POT template file is available at po/winpinator.pot. To make the language appear in preferences, an additional line is required to be added in res/to_copy/Languages.xml. Its format is:

    <Language code="[ISO language code, e.g. de_DE]" name="[Local name of the language, e.g. Deutsch]" flag="[flag filename, e.g. de.png]" />

Remember that you should also localize the installer by inserting a line

!insertmacro MUI_LANGUAGE "[Language name in English, e.g. German]"

and then translating all the lines right below, starting with LangString.

After translating all the strings and adding that line to Languages.xml, please submit a Pull Request.


GNU General Public License version 3, available here

Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
C Plus Plus (241,643
Wxwidgets (694
File Sharing (642
File Transfer (412
Linux Mint (119