18/08/2022 vnc, AntOS, Remote Desktop, WVNC, VDE

Web based VNC client with AntOS docker image

Long time ago i developed WVNC, a simple protocol based on Web socket that allows to connect to VNC server from browser. WVNC consist of

  • A server side plugin (for Antd web server) that (1) acts as a bridge between VNC server and the web server; (2) defines the base protocol on top of websocket for streaming screen data and events to client. JPEG is used as data compression to reduce stream bandwidth.
  • A client side API called wvnc.js that implements the protocol defined by the server plugin, decodes JPEG data from the server and renders the data on HTML5 canvas

The protocol works really well for my personal need as i used it on a daily basis to access to my VNC home server from work :), using nothing but the web browser. However, setting up WVNC from scratch is not a trivial task, as it depends on my Antd server which is not a popular web server, thus Stack overflow is not an option :). I've received many contacts from readers on the howto instruction.

As WVNC is finally a part of AntOS eco-system, and AntOS is available as an all-in-one docker image, anyone can now easily run their own web-base VNC client via a single command line without the headache of building every thing from scratch.

Monitoring and collecting syslog messages from Unix Domain Socket

Application log is the traditional way to monitor an application/service. On *nix-based system, Syslog is a common but powerful tool for centrally monitoring applications logs. The primary use of syslog is for system management as capturing log data is critical for sysadmin, devOp team, or system analysts, etc. This log data is helpful in case of investigating/troubleshooting problems and maintaining healthy functioning of systems.

Syslog offers a standard log format and a standard alert system with different severity levels to applications in form of a log API. Log daemons such as rsyslog are versatile and flexible with various configuration options that enable different way to interact with the logs: log to file, log to a remote server via network (TCP, UDP sockets), log to local Unix domain socket. Log clients or log analytic applications can collect log data from the log daemon via these interfaces.

Although it is feasible to directly read log messages from the regular syslog output files, it is more preferable to collect log data from the daemon using the socket interface since socket is more suitable for data streaming. TCP/UDP sockets can be used to access log data from the network (TCP/IP). But if the application runs locally on the same machine as the log daemon, Unix domain socket (UDS) may be the best option.

Unix Domain Socket is an inter-process communication mechanism that allows bidirectional data exchange between processes running on the same machine. Thus, UDSs can avoid some checks and operations (like routing); which makes them faster and lighter than IP sockets.

In this post, we will learn how to collect log data from syslog via UDS in C. We will use rsyslog as log daemon in this post.

A use case will be presented at the end of the post.

13/06/2021 release, AntOS, SDK, documentation

AntOS v1.2.0-beta release

After a long testing period, AntOS v1.2.0-beta is now released!!!

Change logs

  • Improvement GUI API
    • [x] File dialog should remember last opened folder
    • [x] Add dynamic key-value dialog that work on any object
    • [x] Window list panel should show window title in tooltip when mouse hovering on an application icon
    • [x] Allow pinning application to system panel
    • [x] Improvement application list in market place
    • [x] Allow triplet keyboard shortcut in GUI
    • [x] CodePad allows setting shortcut in CommandPalette commands
    • [x] CodePad should have recent menu entry that remember top n file opened
    • [x] Improve File application grid view
    • [x] Label text should be selectable
    • [x] switch window using shortcut (CTRL+ALT+1, CTRL+ALT+2)
    • [x] Loading bar animation on system panel
    • [x] Multiple file upload support
    • [x] Generic key-value dialog
    • [x] Add bootstrap font support for icons
    • [x] Classify applications by categories in start menu
    • [x] Support vertical and horizontal resize window
  • MarketPlace now classifies application by categories
  • CodePad is no longer default system application, it has been moved to MarketPlace
  • More applications added to MarketPlace
  • Antos SDK
    • SDK is no longer included in Antos base release, it can be installed via MarketPlace
    • The SDK now has a generic API that can be used in different development tasks other than AntOS application
    • Heavy SDK tasks are now offloaded to workers
    • Introduce new JSON based syntax for SDK task/target definition
  • From this version, docker image of All-in-one AntOS system is available at: https://hub.docker.com/r/xsangle/antosaio

Demo

A demo of the VDE is available at https://app.iohub.dev/antos/ using username: demo and password: demo.

If one want to run AntOS VDE locally in their system, a docker image is available at:
https://hub.docker.com/r/xsangle/antosaio/

AntOS applications (Available on the MarketPlace)

https://github.com/lxsang/antosdk-apps

Documentation

Powered by antd server, (c) 2017 - 2024 Dany LE.This site does not use cookie, but some third-party contents (e.g. Youtube, Twitter) may do.