6 noVNC example: simple example using default UI
7 Copyright (C) 2012 Joel Martin
8 noVNC is licensed under the MPL 2.0 (see LICENSE.txt)
9 This file is licensed under the 2-Clause BSD license (see LICENSE.txt).
11 Connect parameters are provided in query string:
12 http://example.com/?host=HOST&port=PORT&encrypt=1&true_color=1
16 <meta charset=
"utf-8">
18 <!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame
19 Remove this if you use the .htaccess -->
20 <meta http-equiv=
"X-UA-Compatible" content=
"IE=edge,chrome=1">
22 <!-- Apple iOS Safari settings -->
23 <meta name=
"viewport" content=
"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
24 <meta name=
"apple-mobile-web-app-capable" content=
"yes" />
25 <meta name=
"apple-mobile-web-app-status-bar-style" content=
"black-translucent" />
26 <!-- App Start Icon -->
27 <link rel=
"apple-touch-startup-image" href=
"images/screen_320x460.png" />
28 <!-- For iOS devices set the icon to use if user bookmarks app on their homescreen -->
29 <link rel=
"apple-touch-icon" href=
"images/screen_57x57.png">
31 <link rel="apple-touch-icon-precomposed" href="images/screen_57x57.png" />
36 <link rel=
"stylesheet" href=
"include/base.css" />
37 <link rel=
"alternate stylesheet" href=
"include/black.css" TITLE=
"Black" />
38 <link rel=
"alternate stylesheet" href=
"include/blue.css" TITLE=
"Blue" />
41 <script type='text/javascript'
42 src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'></script>
48 <div id=
"noVNC-control-bar">
49 <div id=
"noVNC-menu-bar" style=
"display:none;">
51 <!--noVNC Mobile Device only Buttons-->
52 <div class=
"noVNC-buttons-left">
53 <input type=
"image" src=
"images/drag.png"
54 id=
"noVNC_view_drag_button" class=
"noVNC_status_button"
55 title=
"Move/Drag Viewport">
56 <div id=
"noVNC_mobile_buttons">
57 <input type=
"image" src=
"images/mouse_none.png"
58 id=
"noVNC_mouse_button0" class=
"noVNC_status_button">
59 <input type=
"image" src=
"images/mouse_left.png"
60 id=
"noVNC_mouse_button1" class=
"noVNC_status_button">
61 <input type=
"image" src=
"images/mouse_middle.png"
62 id=
"noVNC_mouse_button2" class=
"noVNC_status_button">
63 <input type=
"image" src=
"images/mouse_right.png"
64 id=
"noVNC_mouse_button4" class=
"noVNC_status_button">
65 <input type=
"image" src=
"images/keyboard.png"
66 id=
"showKeyboard" class=
"noVNC_status_button"
67 value=
"Keyboard" title=
"Show Keyboard"/>
69 autocapitalize=
"off" autocorrect=
"off"
70 id=
"keyboardinput" class=
"noVNC_status_button"/>
75 <div class=
"noVNC-buttons-right">
76 <input type=
"image" src=
"images/ctrlaltdel.png"
77 id=
"sendCtrlAltDelButton" class=
"noVNC_status_button"
78 title=
"Send Ctrl-Alt-Del" />
79 <input type=
"image" src=
"images/clipboard.png"
80 id=
"clipboardButton" class=
"noVNC_status_button"
82 <input type=
"image" src=
"images/settings.png"
83 id=
"settingsButton" class=
"noVNC_status_button"
85 <input type=
"image" src=
"images/connect.png"
86 id=
"connectButton" class=
"noVNC_status_button"
88 <input type=
"image" src=
"images/disconnect.png"
89 id=
"disconnectButton" class=
"noVNC_status_button"
93 <!-- Description Panel -->
94 <!-- Shown by default when hosted at for kanaka.github.com -->
95 <div id=
"noVNC_description" style=
"display:none;" class=
"">
96 noVNC is a browser based VNC client implemented using HTML5 Canvas
97 and WebSockets. You will either need a VNC server with WebSockets
98 support (such as
<a href=
"http://libvncserver.sourceforge.net/">libvncserver
</a>)
99 or you will need to use
100 <a href=
"https://github.com/kanaka/websockify">websockify
</a>
101 to bridge between your browser and VNC server. See the noVNC
102 <a href=
"https://github.com/kanaka/noVNC">README
</a>
103 and
<a href=
"http://kanaka.github.com/noVNC">website
</a>
104 for more information.
106 <input id=
"descriptionButton" type=
"button" value=
"Close">
109 <!-- Clipboard Panel -->
110 <div id=
"noVNC_clipboard" class=
"triangle-right top">
111 <textarea id=
"noVNC_clipboard_text" rows=
5>
114 <input id=
"noVNC_clipboard_clear_button" type=
"button"
118 <!-- Settings Panel -->
119 <div id=
"noVNC_settings" class=
"triangle-right top">
120 <span id=
"noVNC_settings_menu">
122 <li><input id=
"noVNC_encrypt" type=
"checkbox"> Encrypt
</li>
123 <li><input id=
"noVNC_true_color" type=
"checkbox" checked
> True Color
</li>
124 <li><input id=
"noVNC_cursor" type=
"checkbox"> Local Cursor
</li>
125 <li><input id=
"noVNC_clip" type=
"checkbox"> Clip to Window
</li>
126 <li><input id=
"noVNC_shared" type=
"checkbox"> Shared Mode
</li>
127 <li><input id=
"noVNC_view_only" type=
"checkbox"> View Only
</li>
128 <li><input id=
"noVNC_connectTimeout" type=
"input"> Connect Timeout (s)
</li>
129 <li><input id=
"noVNC_path" type=
"input" value=
"websockify"> Path
</li>
130 <li><input id=
"noVNC_repeaterID" type=
"input" value=
""> Repeater ID
</li>
132 <!-- Stylesheet selection dropdown -->
133 <li><label><strong>Style:
</strong>
134 <select id=
"noVNC_stylesheet" name=
"vncStyle">
135 <option value=
"default">default
</option>
139 <!-- Logging selection dropdown -->
140 <li><label><strong>Logging:
</strong>
141 <select id=
"noVNC_logging" name=
"vncLogging">
145 <li><input type=
"button" id=
"noVNC_apply" value=
"Apply"></li>
150 <!-- Connection Panel -->
151 <div id=
"noVNC_controls" class=
"triangle-right top">
153 <li><label><strong>Host:
</strong><input id=
"noVNC_host" /></label></li>
154 <li><label><strong>Port:
</strong><input id=
"noVNC_port" /></label></li>
155 <li><label><strong>Password:
</strong><input id=
"noVNC_password" type=
"password" /></label></li>
156 <li><input id=
"noVNC_connect_button" type=
"button" value=
"Connect"></li>
160 </div> <!-- End of noVNC-control-bar -->
163 <div id=
"noVNC_screen">
164 <div id=
"noVNC_screen_pad"></div>
166 <div id=
"noVNC_status_bar" class=
"noVNC_status_bar">
167 <div id=
"noVNC_status">Loading
</div>
170 <h1 id=
"noVNC_logo"><span>no
</span><br />VNC
</h1>
172 <!-- HTML5 Canvas -->
173 <div id=
"noVNC_container">
174 <canvas id=
"noVNC_canvas" width=
"640px" height=
"20px">
175 Canvas not supported.
180 <script src=
"include/util.js"></script>
181 <script src=
"include/ui.js"></script>