📜 ⬆️ ⬇️

As I wrote my VNC, and then no

0. Background


It so happened that several times I tried to write something to replace teamviwer for myself, each time I raised this issue in the internal forum of my head when I once again had to buy an additional channel to my “engineers”.

What vnc is and what teamviwer / rms / ammyy is, no one needs to explain for a long time what options to “raise” its analogue here have also been raised more than once, in the simplest version it is a script for connecting back to the forward port, I don't know why The option does not fit many, incl. and to me, but it always seemed to me that it was not very difficult to write something of my own. With this thought, I spent a whole year in the mode of work in my free time on my “realization”. Called her "Visit" .

Many who wrote to me in the mail and in PM on several resources were worried about the question, what is my “interest”, “how is it” and the like ... In general, I answered everyone honestly that this is pure enthusiasm and the solution of several of my tasks First, it’s still the creation of a budget analogue, the second - I dreamed of becoming a programmer (at least some), but I’m supposed to get some practice.

In the process of solving this big task, I got a general idea of ​​multithreading, synchronization objects, the network subsystem from the program side and many other interesting things and not so much. If this part is interesting, I can throw out pieces of code describing the problems that I solved.
')
In the end, I got something more or less working, but since the development environment was chosen as “c builder 6,” there was a problem of support and error detection. What is the reason for such an original choice? Human laziness, at the university we studied on it, on it I wrote a term paper - an instant messenger, so I took my instant messenger and “added”, even the internal name slipped somewhere - vaim (initials and Instant Messenger).

As time went on, mistakes accumulated, I finally moved to another country, got a job as a programmer and everything seemed to be fine. But there was a need to “learn” the golang and of course the guinea pig was chosen my “favorite” project, the benefit, in my own country, the need for this never disappeared.

But this time it was decided to revise the principle of work radically: there are already a dozen ready-made VNC implementations, why are we taking bread from them (why didn’t I think so at once ...)? Let's just make a “switch”, it’s enough to close your task and help others.

So reVisit appeared. Here I want to tell you how you can work with it and maybe start your server. This is certainly not the final implementation, and I’m sure that I’ve missed something somewhere. I know that people around have more experience, so maybe a little criticism will be appropriate.

1. Quick Support


image

So, to work in qs mode, it is enough to start the client, it will download vnc by default, unpack it into temp and start the server in listening mode from localhost . Next to connect, we use the id and password. The password is checked on the client side, the server does not store such data.

2. Create an account


image

This is useful if there is a need to periodically connect to the same computers. To create, we indicate in the upper field above the registration button your e-mail and in a moment the password will come to your mailbox. Now using this combination, we can enter.

2.1 Creating, Editing, Deleting, Managing


image

Creating and editing your list is no different from other programs under the windows system, right-clicking and selecting what interests us from the pop-up menu, you can create not only groups, but also subgroups (I don’t understand why it’s not implemented yet) in other managers). There is a search line above the contact list.

2.2 Change VNC Version


image

In addition, in the contact list, in addition to editing the data of the contact itself, you can change the vnc on a remote system available on our server, this item calls "Management". To change its version, this panel can be obtained from the “Control” in the traybar.

3. Run your server


You can use the source code on github and compile it under linux , remove / fix / add and get your version, but you will also need to add vnc information there (you can also take it from the finished build). And you can use a ready- bundle , changing only the settings for the smtp server, it is through this account that the passwords for the new profiles will be sent. And run the client with the argument -server 1.2.3.4 , after the first run, a file with settings is created and the address is saved.

That's all, thank you all!

Source: https://habr.com/ru/post/350734/


All Articles