GithubHelp home page GithubHelp logo

miroslavpejic85 / p2p Goto Github PK

View Code? Open in Web Editor NEW
2.1K 38.0 292.0 6.45 MB

🖥️ P2P Remote Desktop - Portable, No Configuration or Installation Needed.

License: MIT License

C# 100.00%
remote-desktop remote-control remote-access p2p-chat p2p anydesk vnc teamviewer rdp administration

p2p's Introduction

P2P Remote Desktop

Remote Desktop P2P based - Portable, No Configuration or Installation Needed.


How it works

  • Compile and Open p2p.exe as admin in 2 different PC's.

p2p-exe

  • Copy the My Lan or Wan IP and communicate it to other peer and vice versa.

p2p-connection

  • The 2 peers have now the 2 endpoint to connect to, so press on both Connect.
  • The 2 peers now are able to sent messages or take the Remote Desktop Control between them.

p2p-remote-desktop


It's use UDT protocol and thanks to rendezvous connection, it should be able to bypass most firewall rules, like a small concept of TeamViewer at 0 cost!

p2p-logic

Note

The app doesn't have a digital signature being an open source project, it may be detected as a false positive by AVs. When you compile it from the source code, just add the project in the exception. Thank you for understanding.

Contributing

Contributions are welcome and greatly appreciated!

License

License: MIT

Support

"Buy Me A Coffee"

p2p's People

Contributors

297498075 avatar germanaizek avatar hastadhana avatar miroslavpejic85 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  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

p2p's Issues

Virus Total

Why on the x86 release compilation is there 19/70 virus detections according to virustotal? I'm a bit confused as to what's going on.

Stun servers are hardcoded

I noticed in 171947c that the stun servers are hardcoded. Wouldn't it be better practice to leave them easily editable in a config file (possibly eventually in the GUI)?

Trojan:MSIL/AgentTesla.LQL!MTB

Build executive file was detected by Windows Defender as "Trojan:MSIL/AgentTesla.LQL!MTB".

Defender version:
Antimalware Client Version: 4.18.2203.5
Engine Version: 1.1.19100.5
Antivirus Version: 1.363.519.0
Antispyware Version: 1.363.519.0

Index was outside the bounds of the array.

Hi, first of all, thanks for making this beautiful project open source. Everything works fine but after a long desktop connection, i get this error:
Receive Streaming: System.IndexOutOfRangeException: Index was outside the bounds of the array.
at QuickLZ.Decompress(Byte[] source) in C:\myworkspace\vs2022\p2p\p2pconn\StreamingDesktop\QuickLZ.cs:line 293
at p2pcopy.SenderReceiver.Run(Object conn) in C:\myworkspace\vs2022\p2p\p2pconn\SenderReceiver.cs:line 92

I used one pc, with two instance of the app. One in VS2017, one in VS2022.
Capture

Capture UAC messages

Actually UAC messages doesn't show at remote desktop.

Would be great usefull to show them.

Rendezvous connection

First of all - Thanks a lot for your project !!!

It isn't an issue report, but suggestion to change ...rendezvous connection, it should be able to bypass **all** firewall rules etc because it isn't true for all cases. In corporate environments, it pretty common that all outgoing connections are restricted by default on a border gateway and the only way to go "outside" is via proxy with authentication, so TeamViewer also will get stuck in such environments unless explicitly enabled.

Virus Detected

Hi,

Windows Defender does not like the executable when I build it and reports it as a virus.
Trojan:MSIL/Dropper.CSC!MTB

Any ideas on what's going on here?

I can resolve it by allowing the exe file, but this is obv not a permanent or acceptable solution.

Thanks

Idea about cryptography

Have you considered also encrypting the image stream?
BTW, why did you encrypt the text string "yourself"?
In C#, there is the CryptoStream class, which could handle this for you.

Thx
Martin

Support Copying Files Via Drag 'n' Drop

First of all, Thank you so much for this very useful piece of software especially because it is fully written in C#. For months, I was looking for an MVP that does this with no luck! and I was amazed to see this yesterday on HN

One request is, if possible to add copying files from the host PC by dragging and dropping them directly on the "p2p_desktop" window to have them copied to the guest PC (on its desktop or the active app's window)

Prebuilt binaries

Hello @miroslavpejic85

Great work, very interesting idea.

Is it possible that you provide pre-built binaries for the software somewhere?, for the ones who'd like to try but don't have Visual Studio to build and compile.

Thanks!

Grey Screen During Remote

Firstly congratulations for your amazing work. I do encounter one problem though, when i connect to another desktop and trying to access the desktop so that i can remote control it i cant see his desktop image, it's completely greyed out. I noticed though that it is still working. What i mean is that if i get my mouse inside the greyed area i can control the desktop of the connected pc but i cant see the remote Desktop image.
p2pError

connect between Windows 10&11

I gave it a try. I says Connected successfully. Chat works both ways but when trying to open a Desktop share (aither way) there is an error in the log:
user [01:19]: Start Sharing Desktop
user [01:19]: Stop Sharing Desktop: Arithmetic operation resulted in an overflow.
How can I provide detailed logs?

Compile Error 'RuntimeInformation' does not exist in the current context

When I was trying to compile this project at first time with Visual Studio 2015, I ran into these errors.

Error	CS0103	The name 'RuntimeInformation' does not exist in the current context
Error	CS0103	The name 'OSPlatform' does not exist in the current context

And before those errors vs 2015 was asking me for .NET Framework 4.8.

First I was trying to install .NET Framework 4.8, but didn't solve the errors.
https://dotnet.microsoft.com/download/dotnet-framework/net48

Then after few googling, I found this site was helping.
https://www.nuget.org/packages/System.Runtime.InteropServices.RuntimeInformation/

So I go to Solution Explorer find this project, right-click, Manage Nuget Package... In the Browse tab, Search "RuntimeInformation" then find the "System.Runtime.InteropServices.RuntimeInformation" Package name, 4.3.0 is the newest for now, and click Install.

Then rebuild, all errors are gone.

Trojan Horse detected

Visual Studio won't run your code and messages to have found a trojan horse.
Same message from Windows Defender!

Connect clients using WAN

Hi Miroslave,

Can you tell me is there any practical workaround to connect clients over WAN IP's directlly since you have WAN IP's as well?
In local lan working very well.

Nice work!

Keep going.

Cheers.

Unreachable code

In Channel.cs there are 2 methods that have unreachable code, nothing is executed after first return.
Should remove the return statements for additional information.

        void TraceSend(IPEndPoint destination, Packet packet)
        {
            return;
            StringBuilder sb = new StringBuilder();
            sb.Append(DateTime.Now.ToString("hh:mm:ss.fff"));
            sb.AppendFormat(" SND {0} => {1}", m_socket.LocalEndPoint, destination);
            sb.AppendLine();
            sb.AppendLine(packet.ToString());
            sb.AppendLine();
            Console.WriteLine(sb.ToString());
        }
        void TraceRecv(IPEndPoint source, Packet packet)
        {
            return;
            StringBuilder sb = new StringBuilder();
            sb.Append(DateTime.Now.ToString("hh:mm:ss.fff"));
            sb.AppendFormat(" RCV {0} <= {1}", m_socket.LocalEndPoint, source);
            sb.AppendLine();
            sb.AppendLine(packet.ToString());
            sb.AppendLine();
            Console.WriteLine(sb.ToString());
        }

Missing the Code of Conduct

Hello, this project is currently missing the Code of Conduct. If you want to add that, then I would submit a PR with that. Please let me know what do you think about that.

Unattended Connections

Is there a possible way to set this up so that its more teamviewer like in the way that once the product is installed you can connect to a PC without having live interactions with the far end computer. This would then make it a very good substitution for teamviewer.

rdpwrap

hey. does this need rdpwrap to have multiple users access a pc? can it even do multiple concurrent connections?

this looks nice but i would love to have multiple concurrent connections which currently require rdpwrap

test result

(1)two pc connect different wifi ,test no pass
(1)two pc connect same wifi ,the ip are in same subnetwork ,test ok

Ctrl+Alt+Del

Firstly congratulations for your amazing work.

There's some way to send "Ctrl+Alt+Del" to unlock remote desktop ?

Security?

I don't see any thing about security in the Readme. what Security features are in place? Is there End-To-End encryption?

Could not find a working STUN server

Hello friend, first of all thanks for your job. I've open the project in Visual Studio, compile and run it and get the message screen - Your external IP can't be obtained. Could not find a working STUN server.

The program shows: stun.l.google.com 19302

Will you be so kind to help me with it? Thanks in advance.

Commandline options

Hello,

Exciting new project here!! Is it possible to control this from the commandline?

Thanks

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.