Git Product home page Git Product logo

Comments (15)

miroslavpejic85 avatar miroslavpejic85 commented on July 20, 2024 3

Hello @eirannejad & @maverick74 Thank you so much, Your advice is greatly appreciated, I'm sure that all together we will find the best solution to make it so.

from p2p.

jsanchez2021 avatar jsanchez2021 commented on July 20, 2024 2

Descargue y compile la aplicación , la ejecute y la probé , ingrese la IP del punto remoto , presione el botón conectar y se queda en un while mostrando el mensaje e: 4 trying to connect to , que me puede estar faltando para que funcione,? , cuando lo ejecute acepte que permitiera realizar cambios en el dispositivo. Gracias

from p2p.

KieranDevvs avatar KieranDevvs commented on July 20, 2024 2

I've opened a PR to migrate the existing codebase over to .NET 8 (#61).
Once that gets merged, I can work on refactoring the code into a core class library and start picking apart the Windows specific code.
After we have a core library, I can start to look at using Avalonia as a second UI provider to this library which is cross platform.

from p2p.

miroslavpejic85 avatar miroslavpejic85 commented on July 20, 2024 1

Thank you so much for the valuable advice. It would be great to make it cross-platform.
Any contribution is always welcome!

from p2p.

KieranDevvs avatar KieranDevvs commented on July 20, 2024 1

Descargue y compile la aplicación , la ejecute y la probé , ingrese la IP del punto remoto , presione el botón conectar y se queda en un while mostrando el mensaje e: 4 trying to connect to , que me puede estar faltando para que funcione,? , cuando lo ejecute acepte que permitiera realizar cambios en el dispositivo. Gracias

Create a new issue. This topic is regarding cross platform builds.

from p2p.

KieranDevvs avatar KieranDevvs commented on July 20, 2024

The problem you have is that this project is using WinForms which is Windows dependent. To make this crossplatform, you would have to replace the UI with something like AvaloniaUI (MAUI doesnt support Linux / GTK at the moment).

I'm not sure if any of the socket libraries are also Windows dependent.

from p2p.

denisgolius avatar denisgolius commented on July 20, 2024

The problem you have is that this project is using WinForms which is Windows dependent. To make this crossplatform, you would have to replace the UI with something like AvaloniaUI (MAUI doesnt support Linux / GTK at the moment).

I'm not sure if any of the socket libraries are also Windows dependent.

AFAIK AvaloniaUI is supported by Wayland and most of used Linux Distributions works with Wayland. 😃

from p2p.

denisgolius avatar denisgolius commented on July 20, 2024

The problem you have is that this project is using WinForms which is Windows dependent. To make this crossplatform, you would have to replace the UI with something like AvaloniaUI (MAUI doesnt support Linux / GTK at the moment).

I'm not sure if any of the socket libraries are also Windows dependent.

Also I don't think that most of Gentoo users or i3 DE will be use this instead of using teamviewer or other proprietary software.

from p2p.

eirannejad avatar eirannejad commented on July 20, 2024

Highly suggest using Eto and the modern dotnet 6+ to very easily build your app cross-platform with not much UI rework. I usually spend my days in Eto.Xammac and Eto.Wpf so I can help with the conversion as well.

from p2p.

maverick74 avatar maverick74 commented on July 20, 2024

This is absolutely amazing!!!

But I too would like a cross-platform version.
Connecting to a Windows machine from my Linux machine easily is something I really miss!!!

I believe it would be best creating it in Qt (since it's already cross-platform ready) and that it can help reduce your problems @miroslavpejic85

(An AppImage of it would be gold!!!)

from p2p.

maverick74 avatar maverick74 commented on July 20, 2024

Qt ( https://www.qt.io/ ) is largely used by the KDE community ( https://kde.org/ ) so you get a lot of support and documentation and you also have examples such as the Falkon browser or Linus Torvalds' Sub-surface

from p2p.

KieranDevvs avatar KieranDevvs commented on July 20, 2024

I would advise against using Qt. While C# bindings exist, they're not actively maintained and ones that are, have no official support. Also, the winforms style of design is very old school, some form of markup language (i.e XAML) is favourable as most frameworks are taking this approach. Ive used AvaloniaUI in the past and it has good community support as well as official commercial support.

Or maybe even having a web UI either through Blazor (WASM), WebSocket / SignalR bidirectional communication or a pure javascript / HTML5 implementation.

from p2p.

miroslavpejic85 avatar miroslavpejic85 commented on July 20, 2024

Hi @jsanchez2021, I'm agree with @KieranDevvs,
Create a discussion about it, please in English, although I think it is explained in the Readme about how the app works, thank you very much.

from p2p.

denisgolius avatar denisgolius commented on July 20, 2024

Any updates on this? :D

from p2p.

KieranDevvs avatar KieranDevvs commented on July 20, 2024

Any updates on this? :D

I'm working on refactoring the code based to separate out the UI and platform specific code from each other. Specifically I'm working on the encryption. Right now, the AES key is hard coded into the binary so a man in the middle attack is very trivial. Adding a Diffie–Hellman key exchange to the initial request handshake allows us to send a randomly generated AES key and IV securely so that the network session can be encrypted without any keys being known prior.

Making this cross platform isn't as easy as just using something like Avalonia. Each platform has its own way of handling device inputs and providing a screen buffer. I'd have to add support for one platform at a time.

With that being said, I'll be looking at Linux. I have no interest in macOS or any other platform as I don't know them well enough. Maybe others will also contribute towards that effort. But the bottom line is that P2P will have the ability to have other platform support added.

I give no time frame, I'm working on it in my free time which I have almost none of.

from p2p.

Related Issues (20)

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.