{"id":13437075,"url":"https://github.com/apache/guacamole-server","last_synced_at":"2025-05-13T20:17:29.729Z","repository":{"id":37951081,"uuid":"54452627","full_name":"apache/guacamole-server","owner":"apache","description":"Mirror of Apache Guacamole Server","archived":false,"fork":false,"pushed_at":"2025-05-06T18:36:13.000Z","size":8693,"stargazers_count":3336,"open_issues_count":45,"forks_count":678,"subscribers_count":130,"default_branch":"main","last_synced_at":"2025-05-06T19:46:32.031Z","etag":null,"topics":["c","guacamole","java","javascript","network-client","network-server"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apache.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":"CONTRIBUTING","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-03-22T07:00:06.000Z","updated_at":"2025-05-06T17:25:49.000Z","dependencies_parsed_at":"2023-11-08T04:33:31.467Z","dependency_job_id":"f1ee5c05-0ba1-4856-9fb7-17d54d035b6a","html_url":"https://github.com/apache/guacamole-server","commit_stats":null,"previous_names":[],"tags_count":62,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fguacamole-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fguacamole-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fguacamole-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fguacamole-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/guacamole-server/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254020656,"owners_count":22000757,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","guacamole","java","javascript","network-client","network-server"],"created_at":"2024-07-31T03:00:54.159Z","updated_at":"2025-05-13T20:17:29.711Z","avatar_url":"https://github.com/apache.png","language":"C","readme":"\n------------------------------------------------------------\n About this README\n------------------------------------------------------------\n\nThis README is intended to provide quick and to-the-point documentation for\ntechnical users intending to compile parts of Apache Guacamole themselves.\n\nSource archives are available from the downloads section of the project website:\n \n    http://guacamole.apache.org/\n\nA full manual is available as well:\n\n    http://guacamole.apache.org/doc/gug/\n\n\n------------------------------------------------------------\n What is guacamole-server?\n------------------------------------------------------------\n\nThe guacamole-server package is a set of software which forms the basis of the\nGuacamole stack. It consists of guacd, libguac, and several protocol support\nlibraries.\n\nguacd is the Guacamole proxy daemon used by the Guacamole web application and\nframework. As JavaScript cannot handle binary protocols (like VNC and remote\ndesktop) efficiently, a new text-based protocol was developed which would\ncontain a common superset of the operations needed for efficient remote desktop\naccess, but would be easy for JavaScript programs to process. guacd is the\nproxy which translates between arbitrary protocols and the Guacamole protocol.\n\n\n------------------------------------------------------------\n Required dependencies\n------------------------------------------------------------\n\nAll software within guacamole-server is built using the popular GNU Automake,\nand thus provides the standard configure script. Before compiling, at least\nthe following required dependencies must already be installed:\n\n    1) Cairo (http://cairographics.org/)\n\n    2) libjpeg-turbo (http://libjpeg-turbo.virtualgl.org/)\n       OR libjpeg (http://www.ijg.org/)\n\n    3) libpng (http://www.libpng.org/pub/png/libpng.html)\n\n    4) OSSP UUID (http://www.ossp.org/pkg/lib/uuid/)\n\n\n------------------------------------------------------------\n Optional dependencies\n------------------------------------------------------------\n\nIn addition, the following optional dependencies may be installed in order to\nenable optional features of Guacamole. Note that while the various supported\nprotocols are technically optional, you will no doubt wish to install the \ndependencies of at least ONE supported protocol, as Guacamole would be useless\notherwise.\n\n    RDP:\n        * FreeRDP (http://www.freerdp.com/)\n\n    SSH:\n        * libssh2 (http://www.libssh2.org/)\n        * OpenSSL (https://www.openssl.org/)\n        * Pango (http://www.pango.org/)\n\n    Telnet:\n        * libtelnet (https://github.com/seanmiddleditch/libtelnet)\n        * Pango (http://www.pango.org/)\n\n    VNC:\n        * libVNCserver (http://libvnc.github.io/)\n\n    Support for audio within VNC:\n        * PulseAudio (http://www.freedesktop.org/wiki/Software/PulseAudio/)\n\n    Support for SFTP file transfer for VNC or RDP:\n        * libssh2 (http://www.libssh2.org/)\n        * OpenSSL (https://www.openssl.org/)\n\n    Support for WebP image compression:\n        * libwebp (https://developers.google.com/speed/webp/)\n\n    \"guacenc\" video encoding utility:\n        * FFmpeg (https://ffmpeg.org/)\n\n\n------------------------------------------------------------\n Compiling and installing guacd, libguac, etc.\n------------------------------------------------------------\n\nAll software within guacamole-server is built using the popular GNU Automake,\nand thus provides the standard configure script.\n\n1) Run configure\n\n    $ ./configure\n\n    Assuming all dependencies have been installed, this should succeed without\n    errors. If you wish to install the init script as well, you need to specify\n    the location where your system init scripts are located (typically\n    /etc/init.d):\n\n    $ ./configure --with-init-dir=/etc/init.d\n\n    Running configure in this manner will cause the \"make install\" step to\n    install an init script to the specified directory, which you can then\n    activate using the service management mechanism provided by your\n    distribution).\n\n2) Run make\n\n    $ make\n\n    guacd, libguac, and any available protocol support libraries will now\n    compile.\n\n3) Install (as root)\n\n    # make install\n\n    All software that was just built, including documentation, will be\n    installed.\n\n    guacd will install to your /usr/local/sbin directory by default. You can\n    change the install location by using the --prefix option for configure.\n\n\n------------------------------------------------------------\n Running guacd \n------------------------------------------------------------\n\nIf you installed the init script during compile and install, you should be\nable to start guacd through the service management utilities provided by\nyour distribution (if any) or by running the init script directly (as root):\n\n    # /etc/init.d/guacd start\n\nRoot access is needed to write the pidfile /var/run/guacd.pid. You can also run\nguacd itself directly without the init script (as any user):\n\n    $ guacd\n\nguacd currently takes several command-line options:\n\n    -b HOST \n\n        Changes the host or address that guacd listens on.\n\n    -l PORT\n\n        Changes the port that guacd listens on (the default is port 4822).\n\n    -p PIDFILE\n\n        Causes guacd to write the PID of the daemon process to the specified\n        file. This is useful for init scripts and is used by the provided init\n        script.\n\n    -L LEVEL\n\n        Sets the maximum level at which guacd will log messages to syslog and,\n        if running in the foreground, the console.  Legal values are debug,\n        info, warning, and error.  The default value is info.\n\n    -f\n        Causes guacd to run in the foreground, rather than automatically\n        forking into the background. \n\nAdditional information can be found in the guacd man page:\n\n    $ man guacd\n\n------------------------------------------------------------\n Reporting problems\n------------------------------------------------------------\n\nPlease report any bugs encountered by opening a new issue in the JIRA system\nhosted at:\n    \n    https://issues.apache.org/jira/browse/GUACAMOLE\n\n","funding_links":[],"categories":["C","Resources","javascript"],"sub_categories":["[TeamViewer](https://www.teamviewer.com/)"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fguacamole-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fguacamole-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fguacamole-server/lists"}