Git Product home page Git Product logo

winpinator's Introduction

Winpinator

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.

Screenshots

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

Features

  • 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

Building

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

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:

Installer

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

Translations

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.

License

GNU General Public License version 3, available here

winpinator's People

Contributors

swiszczoo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

winpinator's Issues

Selecting disabled network interface breaks the app

For some reason Winpinator was choosing my WireGuard network interface rather than my local LAN - It showed the VPN IP instead of the local network IP at the bottom right. I changed the network adapter in the settings, but accidentally selected the wrong one. This completely crashed the app, and it wouldn't start up again until I deleted the network interface setting from the registry.

So I guess there's two bug reports here:

  1. It shouldn't crash with no error message 😄
  2. It should default to physical interfaces before VPN tunnels, as the user most likely wants to transfer a file on their local network

Unable to connect to Warpinator (after update to Warpinator)

A few weeks ago I installed Winpinator and it worked flawlessly. Sadly today I tried to send another file and it didn´t work. I think the update to warpinator I installed have something to do with it.
Steps:

  1. Boot Warpinator on Linux machine
  2. Boot Winpinator
  3. Click on Warpinator on Linux to detect machine

Result:
When Winpinator starts searching machines, Warpinator says "Waiting for two-way connection". After a while, it says "Unable to connect". Winpinator doesn´t find the device at all and times out after a while.

Can't send from Windows 10 device

I can transfer to linux from android, but I am unable to transfer to linux from windows. I enabled (outbound and inbound) ports and program on the firewall. It detects the computer, but when I click on it, it says its offline.

Winpinator 1
Winpinator 2

Notifications in Windows 7

On the downloads page, the following was said about running the program on Windows 7:

Winpinator will work on Windows 7 with UCRT update, but no notifications will be shown

What notification exactly is that quote referring to?

Connecting and maintaining Windows connections is erratic.

Warpinator for Linux works wonderfully on my LANs. But I am experiencing problems with Winpinator. If I can connect, and that is not always possible, with other Windows computers the connection will often break after some time, a few minutes or even hours, and it becomes difficult to reconnect. This is a problem mostly with laptops but not always. It seems to be related usually to WIFI connections, but wired computers also experience this sometimes. I realise laptops often go to sleep, but when they awake I should be able to easily reconnect; but my problem is also with laptops that do not go to sleep. I have fooled around with firewall setting on the Windows machines ad infinitum, but the problem persists. This happens on 2 completely different LANs. I have had better success with the Avast Firewall instead of the Windows Defender, but only slightly better. Turning off all the firewalls on the computer does little. Is there something I should be looking for to resolve this, because Winpinator is really nice when I get it to work!

New connection from Windows 10 to warpinator on linux mint timing out

Running warpinator on linux mint (20.2 - kernel 5.4.0-109) in debug mode shows the windows 10 winpinator discovered for new registration, then awaiting_duplex, deadline_exceeded, then unreachable, then going back to awaiting_duplex again and again.
Is there a debug mode for winpinator that can help diagnose yet?
Same group code used, same subnet, firewall ports opened (win10 fw is opened by app)
win10 is a laptop with wifi connected to the same router to which the linux desktop is connected.

Feature request: Option to make closing the window do "Exit and stop the service".

I only occasionally need to transfer files between devices, so I do not want to keep the service running all the time. Waiting for any incoming communication might not be good for security, even if the risk is small, so I would avoid it if I have no reason to take the risk.

Currently, closing the window only closes the window and keeps the service running, and I have to click File -> Exit and stop the service to really quit it. How about adding an option to make that happen when I close the window?

File for French translation

Hello,
I love your work and I translated to french.
I tested the translations for a few days and it seems pretty solid, so I'm posting it here :
winpinator.zip

I may tweak it some more in the future, if I do, I'll post the updates here if that's okay.

Unable to access transferred files (corporate computer requires admin account to install)

Steps to Reproduce:

  • log on to the computer as a normal user
  • install on a computer A that requires an administrator username and password to be able to install anything
  • transfer files and directories from a computer B to computer A via Winpinator
  • try to "open" or "show in explorer…" these files and directories

Actual result:
For a file, nothing happens. For a directory, nothing happens with "show in explorer…", but with "open" Windows says that we aren't authorized to access the directory C:\Users<admin account>\Documents\Winpinator<loaded directory>.

Expected result:
Be able to access and open files and directories that have been transferred to the computer, for example in C:\Users<normal user account>\Documents\Winpinator<loaded directory>.

Long story short, my administrator kindly entered his password for the installation, but he won't give access to the directory which belongs to the admin account.

Proposed solution: create a Winpinator directory per user, in his personal directory, in order to have no problem with reading and writing rights.

Network Mapped Drives

Winpinator is currently unable to access network mapped drives. I have a NAS where I store files, and it would be more convenient to be able to copy those files from the NAS to my Steam Deck directly instead of moving the files to my computer first and then moving it to my Steam Deck. Is this something that could possibly be supported in the future?

Winpinator unable to transfer large folder between Windows machines (Unexpected Error)

Hi.

I tried sending my music folder (1 GB) to my other Windows computer, but at around 200 MB got an error message, "Unexpected error" or something like that. I tried using the 64-bit version of Winpinator on both machines, didn't help. Used the network interface that said "Ethernet" on both computers. Didn't help. I don't know if I can provide more details, I'm not very good at networking things.

Defender on Install

During the x64 Windows 10 installation Widows Defender pops up for no particular reason (i hope)

Right Click -> Send to (Winpinator) Error

Just installed Winpinator yesterday and have had no issues using the in-client sending feature. Attempting to use the "Send To" in File Explorer results in this error. I've attempted with my VPN enabled (which allows for split tunneling, which is enabled for Winpinator) and disabled.

image

New version ?

Hi,
I was wondering if you were planning to release a new version of winpinator soon :)

Regards.

Problem with automatic network selection, missing redistributable.

Hi, this is really cool :)

I wanted to poke at it a bit, and had a couple of issues getting it working initially -

(Windows 10, more or less up-to-date)

  • After installation, when I ran it for the first time, it told me I was missing the vc redistributable. I actually had it, but it wasn't new enough I guess. Downloading and installing a newer one resolved it.
  • I had to select the correct network interface, automatic didn't work - a couple of times it selected a virtualbox interface, another none at all. It worked if I went and selected the correct one, but if I restarted, the selector would be back to 'automatic'.
  • The explorer context menu item didn't seem to do anything.

Thanks!

btw, I added a link to this project in Warpinator's readme. Hopefully this generates a little more traffic here.

Can't see PC/Steam Deck

I'm trying to connect my Windows 11 PC to Steam Deck to throw over some files, but I only get "There are no other computers found on your network" on the PC, and the Steam Deck also sees nothing. I've tried changing the group code but to no avail. What am I missing?

File for Spanish translation

I like your work, it has been of great help to me, that's why I took on the task of translating it into Spanish.
I hope you find it useful, as your app is for me.
Cheers

winpinator.zip

Caracters encoding issue.

Hi !
First of all, thank you so much for this Windows version of Warpinator. A dream come true !

I have an issue with french caracters like "é" in the names of my peripheral though. Here is an example 👍
image

I think it should be an encoding issue :)

Winpinator failing to get correct IP address?

Hi!

I have Warpinator on my 4 Linux machines, and just installed Winpinator to try on my Win10 desktop. Winpinator launches and can see my other Linux machines, but claims there is no connection. Also, none of my Linux machines can see the machine with Winpinator?

I've tried restarting the program and the Windows computer it's installed on and Winpinator still claims the same thing - no connection to the other machines...?

I noticed that the IP address listed at the bottom-right in Winpinator isn't correct? Instead of the 192.168.. address it should be getting from the ethernet card my Win10 desktop is plugged into, the IP address that Winpinator is listing itself as using is 169.254.. ?

Is there a way to change the settings or re-force Winpinator to use a different IP?

Thanks for all the hard work on this project! :)

Winpinator doesn't seem to work with warpinator-android by slowscript

Hi, I'm unable to get Winpinator to work well with slowscript/warpinator-android. I'm able to get a duplex connection set up and working for the first few minutes but after that Winpinator sees the phone as offline and doesn't connect to it again unless I exit and stop the service and start it again and it works for a few minutes again.

However, if I use slowscript's Windows port of Warpinator, I don't seem to run into this issue. I raised an issue with warpinator-android here with logs from the device: slowscript/warpinator-android#113

However, it'd be useful to get Winpinator logs as well to see what its seeing. I couldn't figure out where Winpinator is logging to. I checked AppData\Roaming\Winpinator but there's no log file there and I couldn't find any references to it when monitoring Winpinator using Process Monitor.

These are the logs I see from warpinator-android when it fails to connect to Winpinator:
warpinator-android-failure-with-winpinator.log

Files for German translation

Hello swiszczoo
winpinator is great and I love it. In order to support your project I translated it into German. I'm not a programmer and this is my first time I translated a program. So please let me know if it works and if you have any issues with it, drop a note.
de-DE.zip

Thank you very much for your great work.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.