Giter Site home page Giter Site logo

nvnc's Introduction

NVNC No Maintenance Intended

The first open-source .NET VNC Server written entirely in the C# programming language.

NOTE: This project is no longer actively maintained, and the author is unable to provide help, support, or make further changes.

This project is not production ready and should serve as an PoC implementation.

Features

  • Very small and stable .NET VNC Server library
  • Supports the standard VNC Authentication with a password
  • Supports the following encodings: Raw, RRE, Hextile, CopyRect, ZRLE
  • Supports the following pseudo-encodings: Zlib
  • Minimum .NET Framework version: 2.0
  • Built for both x86 and x64 architectures
  • Supports Windows, Linux and macOS via the Mono Framework
  • Tested and compatible with the following viewers:
    • TightVNC Viewer 2.8.27
    • TightVNC Java Viewer 2.8.3
    • UltraVNC 1.2.4.0
    • NOT compatible with RealVNC 6+

Incomplete and experimental repeater support can be found on the branch experimental-repeater-support

If you find NVNC useful in any way, please rate it, and share the project

nvnc's People

Contributors

t1t4n 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

nvnc's Issues

Property BitsPerPixel in FrameBuffer

The number of Bits Per Pixel for the Framebuffer--one of 8, 24, or 32.

set
{
if (value == 32 || value == 16 || value == 8)
bpp = value;
else throw new ArgumentException("Wrong value for BitsPerPixel");
}

It seems like a mistake for 'value == 16' should be 'value == 24'.

Index out of bound.

While running the project in debug mode, getting index out of bound in PixelGrabber.CopyPixels method.

Stack Trace :
at NVNC.Utils.PixelGrabber.CopyPixels(Int32[] pixels, Int32 scanline, Int32 x, Int32 y, Int32 w, Int32 h) in C:\Users\Maity\Downloads\VNC\NVNC\NVNC-master\NVNC\Utils\PixelGrabber.cs:line 406
at NVNC.Utils.ScreenTree.QuadNode.GenerateChildren() in C:\Users\Maity\Downloads\VNC\NVNC\NVNC-master\NVNC\Utils\ScreenTree\QuadNode.cs:line 240
at NVNC.Utils.ScreenTree.QuadNode..ctor(Rectangle2 bounds, Int32[] data) in C:\Users\Maity\Downloads\VNC\NVNC\NVNC-master\NVNC\Utils\ScreenTree\QuadNode.cs:line 35
at NVNC.Utils.ScreenTree.QuadTree.BFSLowest() in C:\Users\Maity\Downloads\VNC\NVNC\NVNC-master\NVNC\Utils\ScreenTree\QuadTree.cs:line 121
at NVNC.Utils.ScreenTree.QuadTree..ctor(Rectangle2 screenSize, Int32[] pixels, Int32 minTileHeight, Int32 minTileWidth) in C:\Users\Maity\Downloads\VNC\NVNC\NVNC-master\NVNC\Utils\ScreenTree\QuadTree.cs:line 32
at NVNC.Utils.ScreenHandler..ctor(Rectangle screen, Boolean hashOnlyCompare) in C:\Users\Maity\Downloads\VNC\NVNC\NVNC-master\NVNC\Utils\ScreenHandler.cs:line 40
at NVNC.VncServer.Start() in C:\Users\Maity\Downloads\VNC\NVNC\NVNC-master\NVNC\VncServer.cs:line 81
at VNCTest.Program.Main(String[] args) in C:\Users\Maity\Downloads\VNC\NVNC\NVNC-master\NVNC Example\Program.cs:line 15

exception on CopyPixels ; buffer update

Hello! Your project is cool, I am watching it for some time.

This version has an exception in CopyPixel util, then you have 1440x900 monitor resolution.

And I don't know, maybe it is just me, but even in other resolution (1366x768) there is no exception, but framebuffer does not update. So client can see only 1st picture (and mouse cursor works on server, but client cant see it)

out of memory

download the zip,running the console app in vs2015,it tell me out of memory,the description like #3 ,how to resolve this problem,thanks.

License

Just curious what license this code is under so I can use some of it in a project

Only on localhost?

Hello, thanks for this VNC, this work only on localhost?
I tried to open tcp port and connect with another pc, but with NVNC not work.. while i start tightvnc server or other this work fine

Kinds regars,

Speed is very slow

Hi!
I really like your project and you did a good work! But sadly speed is very slow but the quality is great. I was looking in code if I could change the speed or quality of an image but I did not find anything. Because current settings are not useful to me.

License

Is there any chance of switching to MIT/BSD? We are interested in using this library in OSS project with MIT license, but we can't do that because your code is licensed under GPL.

How to use?

Hi,
Kindly tell us how to try this library, I couldn't figure out how to run the exampl, It just show a console form.
thanx

NVNC.pfx cetificate key

i have been trying to compile but cant. it keep asking for a key for NVNC.pfx file i cant compile

OutOfRange at CopyPixels

Hi! My desktop has 1920x1080 screen resolution. I tried to run the example NVNC Example, but when it starts it throw this exception:

System.IndexOutOfRangeException was unhandled
Message=Índice fuera de los límites de la matriz
Source=NVNC
StackTrace:
en NVNC.Utils.PixelGrabber.CopyPixels(Int32[] pixels, Int32 scanline, Int32 x, Int32 y, Int32 w, Int32 h) en c:\Users\Emanuel\Documents\GitHub\NVNC\NVNC\Utils\PixelGrabber.cs:línea 420
en NVNC.Utils.ScreenTree.QuadNode.GenerateChildren() en c:\Users\Emanuel\Documents\GitHub\NVNC\NVNC\Utils\ScreenTree\QuadNode.cs:línea 240
en NVNC.Utils.ScreenTree.QuadNode..ctor(Rectangle2 bounds, Int32[] data) en c:\Users\Emanuel\Documents\GitHub\NVNC\NVNC\Utils\ScreenTree\QuadNode.cs:línea 35
en NVNC.Utils.ScreenTree.QuadTree.BFSLowest() en c:\Users\Emanuel\Documents\GitHub\NVNC\NVNC\Utils\ScreenTree\QuadTree.cs:línea 121
en NVNC.Utils.ScreenTree.QuadTree..ctor(Rectangle2 screenSize, Int32[] pixels, Int32 minTileHeight, Int32 minTileWidth) en c:\Users\Emanuel\Documents\GitHub\NVNC\NVNC\Utils\ScreenTree\QuadTree.cs:línea 32
en NVNC.Utils.ScreenHandler..ctor(Rectangle screen, Boolean hashOnlyCompare) en c:\Users\Emanuel\Documents\GitHub\NVNC\NVNC\Utils\ScreenHandler.cs:línea 40
en NVNC.VncServer.Start() en c:\Users\Emanuel\Documents\GitHub\NVNC\NVNC\VncServer.cs:línea 81
en VNCTest.Program.Main(String[] args) en c:\Users\Emanuel\Documents\GitHub\NVNC\NVNC Example\Program.cs:línea 15
en System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
en System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
en Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
en System.Threading.ThreadHelper.ThreadStart_Context(Object state)
en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
en System.Threading.ThreadHelper.ThreadStart()
InnerException:

Here you have a screenshot.

ior

Cheers!

Not running on Windows Embedded Compact 2013

Tried to compile the source for Windows Embedded Compact 2013, using .NET Compact Framework 3.5. But got a lot of warnings and errors.
Perhaps someone else tried to adapt NVNC (server) to Windows Embedded Compact 2013 and has some experience with it?

Unable to read data from the transport connection (Remmina)

When using Remmina from Linux, a black screen is shown in the viewer (Remmina) and it then closes the connection.
On the trace output of NVNC I see:

Started VNC Server at port: 5900
192.168.1.101
Wrote Protocol Version
Read Protocol Version
Awaiting Authentication
Authentication successfull !
Share: True
Server name: T!T@N-VNC
Read SetPixelFormat
Read SetEncodings
Read FrameBufferUpdateRequest
Read PointerEvent
Read PointerEvent
Read PointerEvent
Read PointerEvent
Read PointerEvent
Unable to read beyond the end of the stream.
Read SetPixelFormat
Unable to read data from the transport connection: A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.

Also, after any exception in NVNC it is impossible to make new connections to NVNC.

NVNC needs to be restarted...

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.