From 24045274adc239ad023829a9264825ab617ff199 Mon Sep 17 00:00:00 2001 From: Codex Date: Mon, 1 Jun 2026 13:15:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4qiming-noVNC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + qiming-noVNC/.gitattributes | 1 + .../.github/ISSUE_TEMPLATE/bug_report.md | 34 + .../.github/ISSUE_TEMPLATE/config.yml | 5 + .../.github/ISSUE_TEMPLATE/feature_request.md | 17 + qiming-noVNC/.github/workflows/deploy.yml | 97 + qiming-noVNC/.github/workflows/lint.yml | 19 + qiming-noVNC/.github/workflows/test.yml | 28 + qiming-noVNC/.github/workflows/translate.yml | 15 + qiming-noVNC/.gitignore | 14 + qiming-noVNC/.gitmodules | 0 qiming-noVNC/AUTHORS | 13 + qiming-noVNC/LICENSE.txt | 62 + qiming-noVNC/LOCAL_DEV.md | 73 + qiming-noVNC/README.md | 228 + qiming-noVNC/app/audio.js | 392 ++ qiming-noVNC/app/clipboard.js | 252 + qiming-noVNC/app/error-handler.js | 79 + qiming-noVNC/app/images/alt.svg | 92 + qiming-noVNC/app/images/audio-muted.png | Bin 0 -> 367 bytes qiming-noVNC/app/images/audio-muted.svg | 5 + qiming-noVNC/app/images/audio-on.png | Bin 0 -> 553 bytes qiming-noVNC/app/images/audio-on.svg | 5 + qiming-noVNC/app/images/audio.svg | 6 + qiming-noVNC/app/images/bg.jpg | Bin 0 -> 376992 bytes qiming-noVNC/app/images/clipboard.svg | 106 + qiming-noVNC/app/images/connect.svg | 96 + qiming-noVNC/app/images/ctrl.svg | 96 + qiming-noVNC/app/images/ctrlaltdel.svg | 100 + qiming-noVNC/app/images/disconnect.svg | 94 + qiming-noVNC/app/images/drag.svg | 76 + qiming-noVNC/app/images/error.svg | 81 + qiming-noVNC/app/images/esc.svg | 92 + qiming-noVNC/app/images/expander.svg | 69 + qiming-noVNC/app/images/fullscreen.svg | 93 + qiming-noVNC/app/images/handle.svg | 82 + qiming-noVNC/app/images/handle_bg.svg | 172 + qiming-noVNC/app/images/icons/Makefile | 42 + qiming-noVNC/app/images/icons/fav.ico | Bin 0 -> 4286 bytes .../app/images/icons/novnc-icon-sm.svg | 163 + qiming-noVNC/app/images/icons/novnc-icon.svg | 163 + .../app/images/icons/novnc-ios-120.png | Bin 0 -> 3215 bytes .../app/images/icons/novnc-ios-152.png | Bin 0 -> 4190 bytes .../app/images/icons/novnc-ios-167.png | Bin 0 -> 4574 bytes .../app/images/icons/novnc-ios-180.png | Bin 0 -> 4730 bytes .../app/images/icons/novnc-ios-40.png | Bin 0 -> 1245 bytes .../app/images/icons/novnc-ios-58.png | Bin 0 -> 1602 bytes .../app/images/icons/novnc-ios-60.png | Bin 0 -> 1595 bytes .../app/images/icons/novnc-ios-80.png | Bin 0 -> 1825 bytes .../app/images/icons/novnc-ios-87.png | Bin 0 -> 2708 bytes .../app/images/icons/novnc-ios-icon.svg | 183 + qiming-noVNC/app/images/ime.svg | 9 + qiming-noVNC/app/images/info.svg | 81 + qiming-noVNC/app/images/keyboard.svg | 88 + qiming-noVNC/app/images/power.svg | 87 + qiming-noVNC/app/images/settings.svg | 76 + qiming-noVNC/app/images/tab.svg | 86 + qiming-noVNC/app/images/toggleextrakeys.svg | 90 + qiming-noVNC/app/images/warning.svg | 81 + qiming-noVNC/app/images/windows.svg | 65 + qiming-noVNC/app/ime.js | 296 + qiming-noVNC/app/locale/README | 1 + qiming-noVNC/app/locale/cs.json | 71 + qiming-noVNC/app/locale/de.json | 74 + qiming-noVNC/app/locale/el.json | 100 + qiming-noVNC/app/locale/es.json | 68 + qiming-noVNC/app/locale/fr.json | 82 + qiming-noVNC/app/locale/it.json | 68 + qiming-noVNC/app/locale/ja.json | 81 + qiming-noVNC/app/locale/ko.json | 70 + qiming-noVNC/app/locale/nl.json | 95 + qiming-noVNC/app/locale/pl.json | 80 + qiming-noVNC/app/locale/pt_BR.json | 72 + qiming-noVNC/app/locale/ru.json | 72 + qiming-noVNC/app/locale/sv.json | 83 + qiming-noVNC/app/locale/tr.json | 69 + qiming-noVNC/app/locale/zh_CN.json | 107 + qiming-noVNC/app/locale/zh_TW.json | 69 + qiming-noVNC/app/localization.js | 206 + qiming-noVNC/app/sounds/CREDITS | 4 + qiming-noVNC/app/sounds/bell.mp3 | Bin 0 -> 4531 bytes qiming-noVNC/app/sounds/bell.oga | Bin 0 -> 8495 bytes qiming-noVNC/app/styles/Orbitron700.ttf | Bin 0 -> 38580 bytes qiming-noVNC/app/styles/Orbitron700.woff | Bin 0 -> 17472 bytes qiming-noVNC/app/styles/base.css | 1296 ++++ qiming-noVNC/app/styles/constants.css | 30 + qiming-noVNC/app/styles/input.css | 628 ++ qiming-noVNC/app/ui.js | 2371 +++++++ qiming-noVNC/app/vendor/opus-decoder.min.js | 194 + qiming-noVNC/app/webutil.js | 250 + qiming-noVNC/core/base64.js | 104 + qiming-noVNC/core/crypto/aes.js | 178 + qiming-noVNC/core/crypto/bigint.js | 34 + qiming-noVNC/core/crypto/crypto.js | 90 + qiming-noVNC/core/crypto/des.js | 330 + qiming-noVNC/core/crypto/dh.js | 55 + qiming-noVNC/core/crypto/md5.js | 82 + qiming-noVNC/core/crypto/rsa.js | 132 + qiming-noVNC/core/decoders/copyrect.js | 27 + qiming-noVNC/core/decoders/h264.js | 321 + qiming-noVNC/core/decoders/hextile.js | 181 + qiming-noVNC/core/decoders/jpeg.js | 146 + qiming-noVNC/core/decoders/raw.js | 59 + qiming-noVNC/core/decoders/rre.js | 44 + qiming-noVNC/core/decoders/tight.js | 393 ++ qiming-noVNC/core/decoders/tightpng.js | 27 + qiming-noVNC/core/decoders/zlib.js | 51 + qiming-noVNC/core/decoders/zrle.js | 185 + qiming-noVNC/core/deflator.js | 84 + qiming-noVNC/core/display.js | 641 ++ qiming-noVNC/core/encodings.js | 54 + qiming-noVNC/core/inflator.js | 65 + qiming-noVNC/core/input/domkeytable.js | 311 + qiming-noVNC/core/input/fixedkeys.js | 129 + qiming-noVNC/core/input/gesturehandler.js | 567 ++ qiming-noVNC/core/input/keyboard.js | 294 + qiming-noVNC/core/input/keysym.js | 616 ++ qiming-noVNC/core/input/keysymdef.js | 688 +++ qiming-noVNC/core/input/util.js | 191 + qiming-noVNC/core/input/vkeys.js | 116 + qiming-noVNC/core/input/xtscancodes.js | 173 + qiming-noVNC/core/ra2.js | 312 + qiming-noVNC/core/rfb.js | 3450 +++++++++++ qiming-noVNC/core/util/browser.js | 233 + qiming-noVNC/core/util/cursor.js | 249 + qiming-noVNC/core/util/element.js | 32 + qiming-noVNC/core/util/events.js | 138 + qiming-noVNC/core/util/eventtarget.js | 35 + qiming-noVNC/core/util/int.js | 15 + qiming-noVNC/core/util/logging.js | 56 + qiming-noVNC/core/util/strings.js | 28 + qiming-noVNC/core/websock.js | 384 ++ qiming-noVNC/defaults.json | 1 + qiming-noVNC/docs/API-internal.md | 83 + qiming-noVNC/docs/API.md | 546 ++ qiming-noVNC/docs/EMBEDDING.md | 105 + qiming-noVNC/docs/LIBRARY.md | 31 + qiming-noVNC/docs/LICENSE.BSD-2-Clause | 22 + qiming-noVNC/docs/LICENSE.BSD-3-Clause | 24 + qiming-noVNC/docs/LICENSE.MPL-2.0 | 373 ++ qiming-noVNC/docs/LICENSE.OFL-1.1 | 91 + qiming-noVNC/docs/flash_policy.txt | 4 + qiming-noVNC/docs/links | 76 + qiming-noVNC/docs/notes | 5 + qiming-noVNC/docs/novnc_proxy.1 | 37 + qiming-noVNC/docs/rfb_notes | 147 + qiming-noVNC/docs/rfbproto-3.3.pdf | Bin 0 -> 110778 bytes qiming-noVNC/docs/rfbproto-3.7.pdf | Bin 0 -> 165552 bytes qiming-noVNC/docs/rfbproto-3.8.pdf | Bin 0 -> 143840 bytes qiming-noVNC/eslint.config.mjs | 102 + qiming-noVNC/karma.conf.js | 92 + qiming-noVNC/mandatory.json | 1 + qiming-noVNC/package.json | 72 + qiming-noVNC/pnpm-lock.yaml | 5305 ++++++++++++++++ qiming-noVNC/po/Makefile | 36 + qiming-noVNC/po/cs.po | 294 + qiming-noVNC/po/de.po | 303 + qiming-noVNC/po/el.po | 399 ++ qiming-noVNC/po/es.po | 284 + qiming-noVNC/po/fr.po | 345 ++ qiming-noVNC/po/it.po | 300 + qiming-noVNC/po/ja.po | 342 + qiming-noVNC/po/ko.po | 290 + qiming-noVNC/po/nl.po | 400 ++ qiming-noVNC/po/noVNC.pot | 333 + qiming-noVNC/po/pl.po | 325 + qiming-noVNC/po/po2js | 40 + qiming-noVNC/po/pt_BR.po | 299 + qiming-noVNC/po/ru.po | 302 + qiming-noVNC/po/sv.po | 348 ++ qiming-noVNC/po/tr.po | 288 + qiming-noVNC/po/xgettext-html | 119 + qiming-noVNC/po/zh_CN.po | 373 ++ qiming-noVNC/po/zh_TW.po | 285 + qiming-noVNC/scripts/start_desktop.sh | 165 + qiming-noVNC/snap/hooks/configure | 3 + qiming-noVNC/snap/local/svc_wrapper.sh | 29 + qiming-noVNC/snap/snapcraft.yaml | 61 + qiming-noVNC/tests/assertions.js | 105 + qiming-noVNC/tests/fake.websocket.js | 101 + qiming-noVNC/tests/playback-ui.js | 218 + qiming-noVNC/tests/playback.js | 171 + qiming-noVNC/tests/test.base64.js | 31 + qiming-noVNC/tests/test.browser.js | 241 + qiming-noVNC/tests/test.copyrect.js | 90 + qiming-noVNC/tests/test.deflator.js | 79 + qiming-noVNC/tests/test.display.js | 393 ++ qiming-noVNC/tests/test.gesturehandler.js | 1024 +++ qiming-noVNC/tests/test.h264.js | 241 + qiming-noVNC/tests/test.helper.js | 207 + qiming-noVNC/tests/test.hextile.js | 240 + qiming-noVNC/tests/test.inflator.js | 110 + qiming-noVNC/tests/test.int.js | 13 + qiming-noVNC/tests/test.jpeg.js | 290 + qiming-noVNC/tests/test.keyboard.js | 636 ++ qiming-noVNC/tests/test.localization.js | 145 + qiming-noVNC/tests/test.raw.js | 152 + qiming-noVNC/tests/test.rfb.js | 5499 +++++++++++++++++ qiming-noVNC/tests/test.rre.js | 113 + qiming-noVNC/tests/test.tight.js | 480 ++ qiming-noVNC/tests/test.tightpng.js | 143 + qiming-noVNC/tests/test.util.js | 87 + qiming-noVNC/tests/test.websock.js | 612 ++ qiming-noVNC/tests/test.webutil.js | 237 + qiming-noVNC/tests/test.zlib.js | 84 + qiming-noVNC/tests/test.zrle.js | 142 + qiming-noVNC/tests/vnc_playback.html | 26 + qiming-noVNC/utils/README.md | 14 + qiming-noVNC/utils/b64-to-binary.pl | 17 + qiming-noVNC/utils/convert.js | 140 + qiming-noVNC/utils/genkeysymdef.js | 127 + qiming-noVNC/utils/novnc_proxy | 234 + qiming-noVNC/utils/u2x11 | 28 + qiming-noVNC/utils/validate | 92 + qiming-noVNC/vendor/pako/LICENSE | 21 + qiming-noVNC/vendor/pako/README.md | 6 + qiming-noVNC/vendor/pako/lib/utils/common.js | 45 + qiming-noVNC/vendor/pako/lib/zlib/adler32.js | 27 + .../vendor/pako/lib/zlib/constants.js | 47 + qiming-noVNC/vendor/pako/lib/zlib/crc32.js | 36 + qiming-noVNC/vendor/pako/lib/zlib/deflate.js | 1846 ++++++ qiming-noVNC/vendor/pako/lib/zlib/gzheader.js | 35 + qiming-noVNC/vendor/pako/lib/zlib/inffast.js | 324 + qiming-noVNC/vendor/pako/lib/zlib/inflate.js | 1527 +++++ qiming-noVNC/vendor/pako/lib/zlib/inftrees.js | 322 + qiming-noVNC/vendor/pako/lib/zlib/messages.js | 11 + qiming-noVNC/vendor/pako/lib/zlib/trees.js | 1195 ++++ qiming-noVNC/vendor/pako/lib/zlib/zstream.js | 24 + qiming-noVNC/vnc.html | 495 ++ qiming-noVNC/vnc_lite.html | 180 + 230 files changed, 53429 insertions(+) create mode 100644 qiming-noVNC/.gitattributes create mode 100644 qiming-noVNC/.github/ISSUE_TEMPLATE/bug_report.md create mode 100644 qiming-noVNC/.github/ISSUE_TEMPLATE/config.yml create mode 100644 qiming-noVNC/.github/ISSUE_TEMPLATE/feature_request.md create mode 100644 qiming-noVNC/.github/workflows/deploy.yml create mode 100644 qiming-noVNC/.github/workflows/lint.yml create mode 100644 qiming-noVNC/.github/workflows/test.yml create mode 100644 qiming-noVNC/.github/workflows/translate.yml create mode 100644 qiming-noVNC/.gitignore create mode 100644 qiming-noVNC/.gitmodules create mode 100644 qiming-noVNC/AUTHORS create mode 100644 qiming-noVNC/LICENSE.txt create mode 100644 qiming-noVNC/LOCAL_DEV.md create mode 100644 qiming-noVNC/README.md create mode 100644 qiming-noVNC/app/audio.js create mode 100644 qiming-noVNC/app/clipboard.js create mode 100644 qiming-noVNC/app/error-handler.js create mode 100644 qiming-noVNC/app/images/alt.svg create mode 100644 qiming-noVNC/app/images/audio-muted.png create mode 100644 qiming-noVNC/app/images/audio-muted.svg create mode 100644 qiming-noVNC/app/images/audio-on.png create mode 100644 qiming-noVNC/app/images/audio-on.svg create mode 100644 qiming-noVNC/app/images/audio.svg create mode 100644 qiming-noVNC/app/images/bg.jpg create mode 100644 qiming-noVNC/app/images/clipboard.svg create mode 100644 qiming-noVNC/app/images/connect.svg create mode 100644 qiming-noVNC/app/images/ctrl.svg create mode 100644 qiming-noVNC/app/images/ctrlaltdel.svg create mode 100644 qiming-noVNC/app/images/disconnect.svg create mode 100644 qiming-noVNC/app/images/drag.svg create mode 100644 qiming-noVNC/app/images/error.svg create mode 100644 qiming-noVNC/app/images/esc.svg create mode 100644 qiming-noVNC/app/images/expander.svg create mode 100644 qiming-noVNC/app/images/fullscreen.svg create mode 100644 qiming-noVNC/app/images/handle.svg create mode 100644 qiming-noVNC/app/images/handle_bg.svg create mode 100644 qiming-noVNC/app/images/icons/Makefile create mode 100644 qiming-noVNC/app/images/icons/fav.ico create mode 100644 qiming-noVNC/app/images/icons/novnc-icon-sm.svg create mode 100644 qiming-noVNC/app/images/icons/novnc-icon.svg create mode 100644 qiming-noVNC/app/images/icons/novnc-ios-120.png create mode 100644 qiming-noVNC/app/images/icons/novnc-ios-152.png create mode 100644 qiming-noVNC/app/images/icons/novnc-ios-167.png create mode 100644 qiming-noVNC/app/images/icons/novnc-ios-180.png create mode 100644 qiming-noVNC/app/images/icons/novnc-ios-40.png create mode 100644 qiming-noVNC/app/images/icons/novnc-ios-58.png create mode 100644 qiming-noVNC/app/images/icons/novnc-ios-60.png create mode 100644 qiming-noVNC/app/images/icons/novnc-ios-80.png create mode 100644 qiming-noVNC/app/images/icons/novnc-ios-87.png create mode 100644 qiming-noVNC/app/images/icons/novnc-ios-icon.svg create mode 100644 qiming-noVNC/app/images/ime.svg create mode 100644 qiming-noVNC/app/images/info.svg create mode 100644 qiming-noVNC/app/images/keyboard.svg create mode 100644 qiming-noVNC/app/images/power.svg create mode 100644 qiming-noVNC/app/images/settings.svg create mode 100644 qiming-noVNC/app/images/tab.svg create mode 100644 qiming-noVNC/app/images/toggleextrakeys.svg create mode 100644 qiming-noVNC/app/images/warning.svg create mode 100644 qiming-noVNC/app/images/windows.svg create mode 100644 qiming-noVNC/app/ime.js create mode 100644 qiming-noVNC/app/locale/README create mode 100644 qiming-noVNC/app/locale/cs.json create mode 100644 qiming-noVNC/app/locale/de.json create mode 100644 qiming-noVNC/app/locale/el.json create mode 100644 qiming-noVNC/app/locale/es.json create mode 100644 qiming-noVNC/app/locale/fr.json create mode 100644 qiming-noVNC/app/locale/it.json create mode 100644 qiming-noVNC/app/locale/ja.json create mode 100644 qiming-noVNC/app/locale/ko.json create mode 100644 qiming-noVNC/app/locale/nl.json create mode 100644 qiming-noVNC/app/locale/pl.json create mode 100644 qiming-noVNC/app/locale/pt_BR.json create mode 100644 qiming-noVNC/app/locale/ru.json create mode 100644 qiming-noVNC/app/locale/sv.json create mode 100644 qiming-noVNC/app/locale/tr.json create mode 100644 qiming-noVNC/app/locale/zh_CN.json create mode 100644 qiming-noVNC/app/locale/zh_TW.json create mode 100644 qiming-noVNC/app/localization.js create mode 100644 qiming-noVNC/app/sounds/CREDITS create mode 100644 qiming-noVNC/app/sounds/bell.mp3 create mode 100644 qiming-noVNC/app/sounds/bell.oga create mode 100644 qiming-noVNC/app/styles/Orbitron700.ttf create mode 100644 qiming-noVNC/app/styles/Orbitron700.woff create mode 100644 qiming-noVNC/app/styles/base.css create mode 100644 qiming-noVNC/app/styles/constants.css create mode 100644 qiming-noVNC/app/styles/input.css create mode 100644 qiming-noVNC/app/ui.js create mode 100644 qiming-noVNC/app/vendor/opus-decoder.min.js create mode 100644 qiming-noVNC/app/webutil.js create mode 100644 qiming-noVNC/core/base64.js create mode 100644 qiming-noVNC/core/crypto/aes.js create mode 100644 qiming-noVNC/core/crypto/bigint.js create mode 100644 qiming-noVNC/core/crypto/crypto.js create mode 100644 qiming-noVNC/core/crypto/des.js create mode 100644 qiming-noVNC/core/crypto/dh.js create mode 100644 qiming-noVNC/core/crypto/md5.js create mode 100644 qiming-noVNC/core/crypto/rsa.js create mode 100644 qiming-noVNC/core/decoders/copyrect.js create mode 100644 qiming-noVNC/core/decoders/h264.js create mode 100644 qiming-noVNC/core/decoders/hextile.js create mode 100644 qiming-noVNC/core/decoders/jpeg.js create mode 100644 qiming-noVNC/core/decoders/raw.js create mode 100644 qiming-noVNC/core/decoders/rre.js create mode 100644 qiming-noVNC/core/decoders/tight.js create mode 100644 qiming-noVNC/core/decoders/tightpng.js create mode 100644 qiming-noVNC/core/decoders/zlib.js create mode 100644 qiming-noVNC/core/decoders/zrle.js create mode 100644 qiming-noVNC/core/deflator.js create mode 100644 qiming-noVNC/core/display.js create mode 100644 qiming-noVNC/core/encodings.js create mode 100644 qiming-noVNC/core/inflator.js create mode 100644 qiming-noVNC/core/input/domkeytable.js create mode 100644 qiming-noVNC/core/input/fixedkeys.js create mode 100644 qiming-noVNC/core/input/gesturehandler.js create mode 100644 qiming-noVNC/core/input/keyboard.js create mode 100644 qiming-noVNC/core/input/keysym.js create mode 100644 qiming-noVNC/core/input/keysymdef.js create mode 100644 qiming-noVNC/core/input/util.js create mode 100644 qiming-noVNC/core/input/vkeys.js create mode 100644 qiming-noVNC/core/input/xtscancodes.js create mode 100644 qiming-noVNC/core/ra2.js create mode 100644 qiming-noVNC/core/rfb.js create mode 100644 qiming-noVNC/core/util/browser.js create mode 100644 qiming-noVNC/core/util/cursor.js create mode 100644 qiming-noVNC/core/util/element.js create mode 100644 qiming-noVNC/core/util/events.js create mode 100644 qiming-noVNC/core/util/eventtarget.js create mode 100644 qiming-noVNC/core/util/int.js create mode 100644 qiming-noVNC/core/util/logging.js create mode 100644 qiming-noVNC/core/util/strings.js create mode 100644 qiming-noVNC/core/websock.js create mode 100644 qiming-noVNC/defaults.json create mode 100644 qiming-noVNC/docs/API-internal.md create mode 100644 qiming-noVNC/docs/API.md create mode 100644 qiming-noVNC/docs/EMBEDDING.md create mode 100644 qiming-noVNC/docs/LIBRARY.md create mode 100644 qiming-noVNC/docs/LICENSE.BSD-2-Clause create mode 100644 qiming-noVNC/docs/LICENSE.BSD-3-Clause create mode 100644 qiming-noVNC/docs/LICENSE.MPL-2.0 create mode 100644 qiming-noVNC/docs/LICENSE.OFL-1.1 create mode 100644 qiming-noVNC/docs/flash_policy.txt create mode 100644 qiming-noVNC/docs/links create mode 100644 qiming-noVNC/docs/notes create mode 100644 qiming-noVNC/docs/novnc_proxy.1 create mode 100644 qiming-noVNC/docs/rfb_notes create mode 100644 qiming-noVNC/docs/rfbproto-3.3.pdf create mode 100644 qiming-noVNC/docs/rfbproto-3.7.pdf create mode 100644 qiming-noVNC/docs/rfbproto-3.8.pdf create mode 100644 qiming-noVNC/eslint.config.mjs create mode 100644 qiming-noVNC/karma.conf.js create mode 100644 qiming-noVNC/mandatory.json create mode 100644 qiming-noVNC/package.json create mode 100644 qiming-noVNC/pnpm-lock.yaml create mode 100644 qiming-noVNC/po/Makefile create mode 100644 qiming-noVNC/po/cs.po create mode 100644 qiming-noVNC/po/de.po create mode 100644 qiming-noVNC/po/el.po create mode 100644 qiming-noVNC/po/es.po create mode 100644 qiming-noVNC/po/fr.po create mode 100644 qiming-noVNC/po/it.po create mode 100644 qiming-noVNC/po/ja.po create mode 100644 qiming-noVNC/po/ko.po create mode 100644 qiming-noVNC/po/nl.po create mode 100644 qiming-noVNC/po/noVNC.pot create mode 100644 qiming-noVNC/po/pl.po create mode 100644 qiming-noVNC/po/po2js create mode 100644 qiming-noVNC/po/pt_BR.po create mode 100644 qiming-noVNC/po/ru.po create mode 100644 qiming-noVNC/po/sv.po create mode 100644 qiming-noVNC/po/tr.po create mode 100644 qiming-noVNC/po/xgettext-html create mode 100644 qiming-noVNC/po/zh_CN.po create mode 100644 qiming-noVNC/po/zh_TW.po create mode 100644 qiming-noVNC/scripts/start_desktop.sh create mode 100644 qiming-noVNC/snap/hooks/configure create mode 100644 qiming-noVNC/snap/local/svc_wrapper.sh create mode 100644 qiming-noVNC/snap/snapcraft.yaml create mode 100644 qiming-noVNC/tests/assertions.js create mode 100644 qiming-noVNC/tests/fake.websocket.js create mode 100644 qiming-noVNC/tests/playback-ui.js create mode 100644 qiming-noVNC/tests/playback.js create mode 100644 qiming-noVNC/tests/test.base64.js create mode 100644 qiming-noVNC/tests/test.browser.js create mode 100644 qiming-noVNC/tests/test.copyrect.js create mode 100644 qiming-noVNC/tests/test.deflator.js create mode 100644 qiming-noVNC/tests/test.display.js create mode 100644 qiming-noVNC/tests/test.gesturehandler.js create mode 100644 qiming-noVNC/tests/test.h264.js create mode 100644 qiming-noVNC/tests/test.helper.js create mode 100644 qiming-noVNC/tests/test.hextile.js create mode 100644 qiming-noVNC/tests/test.inflator.js create mode 100644 qiming-noVNC/tests/test.int.js create mode 100644 qiming-noVNC/tests/test.jpeg.js create mode 100644 qiming-noVNC/tests/test.keyboard.js create mode 100644 qiming-noVNC/tests/test.localization.js create mode 100644 qiming-noVNC/tests/test.raw.js create mode 100644 qiming-noVNC/tests/test.rfb.js create mode 100644 qiming-noVNC/tests/test.rre.js create mode 100644 qiming-noVNC/tests/test.tight.js create mode 100644 qiming-noVNC/tests/test.tightpng.js create mode 100644 qiming-noVNC/tests/test.util.js create mode 100644 qiming-noVNC/tests/test.websock.js create mode 100644 qiming-noVNC/tests/test.webutil.js create mode 100644 qiming-noVNC/tests/test.zlib.js create mode 100644 qiming-noVNC/tests/test.zrle.js create mode 100644 qiming-noVNC/tests/vnc_playback.html create mode 100644 qiming-noVNC/utils/README.md create mode 100644 qiming-noVNC/utils/b64-to-binary.pl create mode 100644 qiming-noVNC/utils/convert.js create mode 100644 qiming-noVNC/utils/genkeysymdef.js create mode 100644 qiming-noVNC/utils/novnc_proxy create mode 100644 qiming-noVNC/utils/u2x11 create mode 100644 qiming-noVNC/utils/validate create mode 100644 qiming-noVNC/vendor/pako/LICENSE create mode 100644 qiming-noVNC/vendor/pako/README.md create mode 100644 qiming-noVNC/vendor/pako/lib/utils/common.js create mode 100644 qiming-noVNC/vendor/pako/lib/zlib/adler32.js create mode 100644 qiming-noVNC/vendor/pako/lib/zlib/constants.js create mode 100644 qiming-noVNC/vendor/pako/lib/zlib/crc32.js create mode 100644 qiming-noVNC/vendor/pako/lib/zlib/deflate.js create mode 100644 qiming-noVNC/vendor/pako/lib/zlib/gzheader.js create mode 100644 qiming-noVNC/vendor/pako/lib/zlib/inffast.js create mode 100644 qiming-noVNC/vendor/pako/lib/zlib/inflate.js create mode 100644 qiming-noVNC/vendor/pako/lib/zlib/inftrees.js create mode 100644 qiming-noVNC/vendor/pako/lib/zlib/messages.js create mode 100644 qiming-noVNC/vendor/pako/lib/zlib/trees.js create mode 100644 qiming-noVNC/vendor/pako/lib/zlib/zstream.js create mode 100644 qiming-noVNC/vnc.html create mode 100644 qiming-noVNC/vnc_lite.html diff --git a/.gitignore b/.gitignore index b72714bb..676d6bda 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ !/qiming-claude-code-acp-ts/ !/qiming-dev-inject/ !/qiming-mcp-proxy/ +!/qiming-noVNC/ !/qimingclaw/ !/qimingcode/ diff --git a/qiming-noVNC/.gitattributes b/qiming-noVNC/.gitattributes new file mode 100644 index 00000000..6814a11c --- /dev/null +++ b/qiming-noVNC/.gitattributes @@ -0,0 +1 @@ +app/vendor/opus-decoder.min.js -text diff --git a/qiming-noVNC/.github/ISSUE_TEMPLATE/bug_report.md b/qiming-noVNC/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 00000000..1b377d56 --- /dev/null +++ b/qiming-noVNC/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,34 @@ +--- +name: Bug report +about: Create a report to help us improve + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Client (please complete the following information):** + - OS: [e.g. iOS] + - Browser: [e.g. chrome, safari] + - Browser version: [e.g. 22] + +**Server (please complete the following information):** + - noVNC version: [e.g. 1.0.0 or git commit id] + - VNC server: [e.g. QEMU, TigerVNC] + - WebSocket proxy: [e.g. websockify] + +**Additional context** +Add any other context about the problem here. diff --git a/qiming-noVNC/.github/ISSUE_TEMPLATE/config.yml b/qiming-noVNC/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..cbd35aa7 --- /dev/null +++ b/qiming-noVNC/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: Question or discussion + url: https://groups.google.com/forum/?fromgroups#!forum/novnc + about: Ask a question or start a discussion diff --git a/qiming-noVNC/.github/ISSUE_TEMPLATE/feature_request.md b/qiming-noVNC/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 00000000..066b2d92 --- /dev/null +++ b/qiming-noVNC/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,17 @@ +--- +name: Feature request +about: Suggest an idea for this project + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/qiming-noVNC/.github/workflows/deploy.yml b/qiming-noVNC/.github/workflows/deploy.yml new file mode 100644 index 00000000..a11d3d0a --- /dev/null +++ b/qiming-noVNC/.github/workflows/deploy.yml @@ -0,0 +1,97 @@ +name: Publish + +on: + push: + pull_request: + release: + types: [published] + +jobs: + npm: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - run: | + GITREV=$(git rev-parse --short HEAD) + echo $GITREV + sed -i "s/^\(.*\"version\".*\)\"\([^\"]\+\)\"\(.*\)\$/\1\"\2-g$GITREV\"\3/" package.json + if: github.event_name != 'release' + - uses: actions/setup-node@v4 + with: + # Needs to be explicitly specified for auth to work + registry-url: 'https://registry.npmjs.org' + - run: npm install + - uses: actions/upload-artifact@v4 + with: + name: npm + path: lib + - run: npm publish --access public + env: + NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} + if: | + github.repository == 'novnc/noVNC' && + github.event_name == 'release' && + !github.event.release.prerelease + - run: npm publish --access public --tag beta + env: + NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} + if: | + github.repository == 'novnc/noVNC' && + github.event_name == 'release' && + github.event.release.prerelease + - run: npm publish --access public --tag dev + env: + NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} + if: | + github.repository == 'novnc/noVNC' && + github.event_name == 'push' && + github.event.ref == 'refs/heads/master' + snap: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - run: | + GITREV=$(git rev-parse --short HEAD) + echo $GITREV + sed -i "s/^\(.*\"version\".*\)\"\([^\"]\+\)\"\(.*\)\$/\1\"\2-g$GITREV\"\3/" package.json + if: github.event_name != 'release' + - run: | + VERSION=$(grep '"version"' package.json | cut -d '"' -f 4) + echo $VERSION + sed -i "s/^version:.*/version: '$VERSION'/" snap/snapcraft.yaml + - uses: snapcore/action-build@v1 + id: snapcraft + - uses: actions/upload-artifact@v4 + with: + name: snap + path: ${{ steps.snapcraft.outputs.snap }} + - uses: snapcore/action-publish@v1 + with: + snap: ${{ steps.snapcraft.outputs.snap }} + release: stable + env: + SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_LOGIN }} + if: | + github.repository == 'novnc/noVNC' && + github.event_name == 'release' && + !github.event.release.prerelease + - uses: snapcore/action-publish@v1 + with: + snap: ${{ steps.snapcraft.outputs.snap }} + release: beta + env: + SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_LOGIN }} + if: | + github.repository == 'novnc/noVNC' && + github.event_name == 'release' && + github.event.release.prerelease + - uses: snapcore/action-publish@v1 + with: + snap: ${{ steps.snapcraft.outputs.snap }} + release: edge + env: + SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_LOGIN }} + if: | + github.repository == 'novnc/noVNC' && + github.event_name == 'push' && + github.event.ref == 'refs/heads/master' diff --git a/qiming-noVNC/.github/workflows/lint.yml b/qiming-noVNC/.github/workflows/lint.yml new file mode 100644 index 00000000..540bb990 --- /dev/null +++ b/qiming-noVNC/.github/workflows/lint.yml @@ -0,0 +1,19 @@ +name: Lint + +on: [push, pull_request] + +jobs: + eslint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + - run: npm update + - run: npm run lint + html: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + - run: npm update + - run: git ls-tree --name-only -r HEAD | grep -E "[.](html|css)$" | xargs ./utils/validate diff --git a/qiming-noVNC/.github/workflows/test.yml b/qiming-noVNC/.github/workflows/test.yml new file mode 100644 index 00000000..b72195b5 --- /dev/null +++ b/qiming-noVNC/.github/workflows/test.yml @@ -0,0 +1,28 @@ +name: Test + +on: [push, pull_request] + +jobs: + test: + strategy: + matrix: + os: + - ubuntu-latest + - windows-latest + browser: + - ChromeHeadless + - FirefoxHeadless + include: + - os: macos-latest + browser: Safari + - os: windows-latest + browser: EdgeHeadless + fail-fast: false + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + - run: npm update + - run: npm run test + env: + TEST_BROWSER_NAME: ${{ matrix.browser }} diff --git a/qiming-noVNC/.github/workflows/translate.yml b/qiming-noVNC/.github/workflows/translate.yml new file mode 100644 index 00000000..a4da9cbf --- /dev/null +++ b/qiming-noVNC/.github/workflows/translate.yml @@ -0,0 +1,15 @@ +name: Translate + +on: [push, pull_request] + +jobs: + translate: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + - run: npm update + - run: sudo apt-get install gettext + - run: make -C po update-pot + - run: make -C po update-po + - run: make -C po update-js diff --git a/qiming-noVNC/.gitignore b/qiming-noVNC/.gitignore new file mode 100644 index 00000000..61ae4234 --- /dev/null +++ b/qiming-noVNC/.gitignore @@ -0,0 +1,14 @@ +*.pyc +*.o +tests/data_*.js +utils/rebind.so +utils/websockify +/node_modules +/build +/lib +recordings +*.swp +*~ +noVNC-*.tgz +.DS_Store +test-page/ \ No newline at end of file diff --git a/qiming-noVNC/.gitmodules b/qiming-noVNC/.gitmodules new file mode 100644 index 00000000..e69de29b diff --git a/qiming-noVNC/AUTHORS b/qiming-noVNC/AUTHORS new file mode 100644 index 00000000..e8fb1240 --- /dev/null +++ b/qiming-noVNC/AUTHORS @@ -0,0 +1,13 @@ +maintainers: +- Samuel Mannehed for Cendio AB (@samhed) +- Pierre Ossman for Cendio AB (@CendioOssman) +maintainersEmeritus: +- Joel Martin (@kanaka) +- Solly Ross (@directxman12) +- @astrand +contributors: +# There are a bunch of people that should be here. +# If you want to be on this list, feel free send a PR +# to add yourself. +- jalf +- NTT corp. diff --git a/qiming-noVNC/LICENSE.txt b/qiming-noVNC/LICENSE.txt new file mode 100644 index 00000000..0581c11e --- /dev/null +++ b/qiming-noVNC/LICENSE.txt @@ -0,0 +1,62 @@ +noVNC is Copyright (C) 2022 The noVNC authors +(./AUTHORS) + +The noVNC core library files are licensed under the MPL 2.0 (Mozilla +Public License 2.0). The noVNC core library is composed of the +Javascript code necessary for full noVNC operation. This includes (but +is not limited to): + + core/**/*.js + app/*.js + test/playback.js + +The HTML, CSS, font and images files that included with the noVNC +source distibution (or repository) are not considered part of the +noVNC core library and are licensed under more permissive licenses. +The intent is to allow easy integration of noVNC into existing web +sites and web applications. + +The HTML, CSS, font and image files are licensed as follows: + + *.html : 2-Clause BSD license + + app/styles/*.css : 2-Clause BSD license + + app/styles/Orbitron* : SIL Open Font License 1.1 + (Copyright 2009 Matt McInerney) + + app/images/ : Creative Commons Attribution-ShareAlike + http://creativecommons.org/licenses/by-sa/3.0/ + +Some portions of noVNC are copyright to their individual authors. +Please refer to the individual source files and/or to the noVNC commit +history: https://github.com/novnc/noVNC/commits/master + +The are several files and projects that have been incorporated into +the noVNC core library. Here is a list of those files and the original +licenses (all MPL 2.0 compatible): + + core/base64.js : MPL 2.0 + + core/des.js : Various BSD style licenses + + vendor/pako/ : MIT + +Any other files not mentioned above are typically marked with +a copyright/license header at the top of the file. The default noVNC +license is MPL-2.0. + +The following license texts are included: + + docs/LICENSE.MPL-2.0 + docs/LICENSE.OFL-1.1 + docs/LICENSE.BSD-3-Clause (New BSD) + docs/LICENSE.BSD-2-Clause (Simplified BSD / FreeBSD) + vendor/pako/LICENSE (MIT) + +Or alternatively the license texts may be found here: + + http://www.mozilla.org/MPL/2.0/ + http://scripts.sil.org/OFL + http://en.wikipedia.org/wiki/BSD_licenses + https://opensource.org/licenses/MIT diff --git a/qiming-noVNC/LOCAL_DEV.md b/qiming-noVNC/LOCAL_DEV.md new file mode 100644 index 00000000..836b55c4 --- /dev/null +++ b/qiming-noVNC/LOCAL_DEV.md @@ -0,0 +1,73 @@ +# 本地开发指南 + +> ⚠️ **注意**: 本文档及 `scripts/` 目录下的脚本仅用于**开发调试**,不影响原始业务逻辑。 + +## 启动开发服务器 + +```bash +npm run dev +# 或 +pnpm dev +``` + +服务器将在 `http://localhost:8080` 启动。 + +## 启动虚拟桌面服务 + +```bash +# 使用 npm 运行(推荐) +npm run start:desktop + +# 或直接运行脚本 +./scripts/start_desktop.sh + +# 自定义提示词 +npm run start:desktop -- "你好,帮我完成一个任务" + +# 自定义配置 +API_HOST=192.168.1.34 API_PORT=8086 USER_ID=my_user npm run start:desktop +``` + +## 测试地址 + +### 连接到内网 VNC 服务器 + +``` +http://localhost:8080/vnc.html?host=192.168.1.34&port=8088&path=computer/vnc/user_123/666/websockify&encrypt=0&resize=scale&autoconnect=true +``` + +### URL 参数说明 + +| 参数 | 说明 | 示例值 | +|------|------|--------| +| `host` | VNC WebSocket 服务器地址 | `192.168.1.34` | +| `port` | WebSocket 端口 | `8088` | +| `path` | WebSocket 路径 | `computer/vnc/user_123/666/websockify` | +| `encrypt` | 是否加密 (0=ws://, 1=wss://) | `0` | +| `resize` | 缩放模式 (`off`, `scale`, `remote`) | `scale` | +| `autoconnect` | 是否自动连接 | `true` | + +### 完整 WebSocket 地址 + +上述配置对应的 WebSocket 连接地址为: + +``` +ws://192.168.1.34:8088/computer/vnc/user_123/666/websockify +``` + +## 配置默认值 + +可以通过修改 `defaults.json` 来设置默认连接参数: + +```json +{ + "host": "192.168.1.34", + "port": 8088, + "path": "computer/vnc/user_123/666/websockify", + "encrypt": false, + "resize": "scale", + "autoconnect": true +} +``` + +> **注意**: URL 参数会覆盖 `defaults.json` 中的配置。 diff --git a/qiming-noVNC/README.md b/qiming-noVNC/README.md new file mode 100644 index 00000000..3c831be6 --- /dev/null +++ b/qiming-noVNC/README.md @@ -0,0 +1,228 @@ +## noVNC: HTML VNC client library and application + +[![Test Status](https://github.com/novnc/noVNC/workflows/Test/badge.svg)](https://github.com/novnc/noVNC/actions?query=workflow%3ATest) +[![Lint Status](https://github.com/novnc/noVNC/workflows/Lint/badge.svg)](https://github.com/novnc/noVNC/actions?query=workflow%3ALint) + +### Description + +noVNC is both a HTML VNC client JavaScript library and an application built on +top of that library. noVNC runs well in any modern browser including mobile +browsers (iOS and Android). + +Many companies, projects and products have integrated noVNC including +[OpenStack](http://www.openstack.org), +[OpenNebula](http://opennebula.org/), +[LibVNCServer](http://libvncserver.sourceforge.net), and +[ThinLinc](https://cendio.com/thinlinc). See +[the Projects and companies wiki page](https://github.com/novnc/noVNC/wiki/Projects-and-companies-using-noVNC) +for a more complete list with additional info and links. + +### Table of contents + +- [News/help/contact](#newshelpcontact) +- [Features](#features) +- [Screenshots](#screenshots) +- [Browser requirements](#browser-requirements) +- [Server requirements](#server-requirements) +- [Quick start](#quick-start) +- [Installation from snap package](#installation-from-snap-package) +- [Integration and deployment](#integration-and-deployment) +- [Authors/Contributors](#authorscontributors) + +### News/help/contact + +The project website is found at [novnc.com](http://novnc.com). + +If you are a noVNC developer/integrator/user (or want to be) please join the +[noVNC discussion group](https://groups.google.com/forum/?fromgroups#!forum/novnc). + +Bugs and feature requests can be submitted via +[github issues](https://github.com/novnc/noVNC/issues). If you have questions +about using noVNC then please first use the +[discussion group](https://groups.google.com/forum/?fromgroups#!forum/novnc). +We also have a [wiki](https://github.com/novnc/noVNC/wiki/) with lots of +helpful information. + +If you are looking for a place to start contributing to noVNC, a good place to +start would be the issues that are marked as +["patchwelcome"](https://github.com/novnc/noVNC/issues?labels=patchwelcome). +Please check our +[contribution guide](https://github.com/novnc/noVNC/wiki/Contributing) though. + +If you want to show appreciation for noVNC you could donate to a great non- +profits such as: +[Compassion International](http://www.compassion.com/), +[SIL](http://www.sil.org), +[Habitat for Humanity](http://www.habitat.org), +[Electronic Frontier Foundation](https://www.eff.org/), +[Against Malaria Foundation](http://www.againstmalaria.com/), +[Nothing But Nets](http://www.nothingbutnets.net/), etc. + + +### Features + +* Supports all modern browsers including mobile (iOS, Android) +* Supported authentication methods: none, classical VNC, RealVNC's + RSA-AES, Tight, VeNCrypt Plain, XVP, Apple's Diffie-Hellman, + UltraVNC's MSLogonII +* Supported VNC encodings: raw, copyrect, rre, hextile, tight, tightPNG, + ZRLE, JPEG, Zlib, H.264 +* Supports scaling, clipping and resizing the desktop +* Supports back & forward mouse buttons +* Local cursor rendering +* Clipboard copy/paste with full Unicode support +* Translations +* Touch gestures for emulating common mouse actions +* Licensed mainly under the [MPL 2.0](http://www.mozilla.org/MPL/2.0/), see + [the license document](LICENSE.txt) for details + +### Screenshots + +Running in Firefox before and after connecting: + +  + + +See more screenshots +[here](http://novnc.com/screenshots.html). + + +### Browser requirements + +noVNC uses many modern web technologies so a formal requirement list is +not available. However these are the minimum versions we are currently +aware of: + +* Chrome 89, Firefox 89, Safari 15, Opera 75, Edge 89 + + +### Server requirements + +noVNC follows the standard VNC protocol, but unlike other VNC clients it does +require WebSockets support. Many servers include support (e.g. +[x11vnc/libvncserver](http://libvncserver.sourceforge.net/), +[QEMU](http://www.qemu.org/), and +[MobileVNC](http://www.smartlab.at/mobilevnc/)), but for the others you need to +use a WebSockets to TCP socket proxy. noVNC has a sister project +[websockify](https://github.com/novnc/websockify) that provides a simple such +proxy. + + +### Quick start + +* Use the `novnc_proxy` script to automatically download and start websockify, which + includes a mini-webserver and the WebSockets proxy. The `--vnc` option is + used to specify the location of a running VNC server: + + `./utils/novnc_proxy --vnc localhost:5901` + +* If you don't need to expose the web server to public internet, you can + bind to localhost: + + `./utils/novnc_proxy --vnc localhost:5901 --listen localhost:6081` + +* Point your browser to the cut-and-paste URL that is output by the `novnc_proxy` + script. Hit the Connect button, enter a password if the VNC server has one + configured, and enjoy! + +### Installation from snap package +Running the command below will install the latest release of noVNC from snap: + +`sudo snap install novnc` + +#### Running noVNC from snap directly + +You can run the snap package installed novnc directly with, for example: + +`novnc --listen 6081 --vnc localhost:5901 # /snap/bin/novnc if /snap/bin is not in your PATH` + +If you want to use certificate files, due to standard snap confinement restrictions you need to have them in the /home/\/snap/novnc/current/ directory. If your username is jsmith an example command would be: + + `novnc --listen 8443 --cert ~jsmith/snap/novnc/current/self.crt --key ~jsmith/snap/novnc/current/self.key --vnc ubuntu.example.com:5901` + +#### Running noVNC from snap as a service (daemon) +The snap package also has the capability to run a 'novnc' service which can be +configured to listen on multiple ports connecting to multiple VNC servers +(effectively a service running multiple instances of novnc). +Instructions (with example values): + +List current services (out-of-box this will be blank): + +``` +sudo snap get novnc services +Key Value +services.n6080 {...} +services.n6081 {...} +``` + +Create a new service that listens on port 6082 and connects to the VNC server +running on port 5902 on localhost: + +`sudo snap set novnc services.n6082.listen=6082 services.n6082.vnc=localhost:5902` + +(Any services you define with 'snap set' will be automatically started) +Note that the name of the service, 'n6082' in this example, can be anything +as long as it doesn't start with a number or contain spaces/special characters. + +View the configuration of the service just created: + +``` +sudo snap get novnc services.n6082 +Key Value +services.n6082.listen 6082 +services.n6082.vnc localhost:5902 +``` + +Disable a service (note that because of a limitation in snap it's currently not +possible to unset config variables, setting them to blank values is the way +to disable a service): + +`sudo snap set novnc services.n6082.listen='' services.n6082.vnc=''` + +(Any services you set to blank with 'snap set' like this will be automatically stopped) + +Verify that the service is disabled (blank values): + +``` +sudo snap get novnc services.n6082 +Key Value +services.n6082.listen +services.n6082.vnc +``` + +### Integration and deployment + +Please see our other documents for how to integrate noVNC in your own software, +or deploying the noVNC application in production environments: + +* [Embedding](docs/EMBEDDING.md) - For the noVNC application +* [Library](docs/LIBRARY.md) - For the noVNC JavaScript library + + +### Authors/Contributors + +See [AUTHORS](AUTHORS) for a (full-ish) list of authors. If you're not on +that list and you think you should be, feel free to send a PR to fix that. + +* Core team: + * [Samuel Mannehed](https://github.com/samhed) (Cendio) + * [Pierre Ossman](https://github.com/CendioOssman) (Cendio) + +* Previous core contributors: + * [Joel Martin](https://github.com/kanaka) (Project founder) + * [Solly Ross](https://github.com/DirectXMan12) (Red Hat / OpenStack) + +* Notable contributions: + * UI and icons : Pierre Ossman, Chris Gordon + * Original logo : Michael Sersen + * tight encoding : Michael Tinglof (Mercuri.ca) + * RealVNC RSA AES authentication : USTC Vlab Team + +* Included libraries: + * base64 : Martijn Pieters (Digital Creations 2), Samuel Sieb (sieb.net) + * DES : Dave Zimmerman (Widget Workshop), Jef Poskanzer (ACME Labs) + * Pako : Vitaly Puzrin (https://github.com/nodeca/pako) + +Do you want to be on this list? Check out our +[contribution guide](https://github.com/novnc/noVNC/wiki/Contributing) and +start hacking! diff --git a/qiming-noVNC/app/audio.js b/qiming-noVNC/app/audio.js new file mode 100644 index 00000000..ac8d742b --- /dev/null +++ b/qiming-noVNC/app/audio.js @@ -0,0 +1,392 @@ +/* + * noVNC: HTML5 VNC client + * Audio streaming module for remote desktop audio playback + * + * 音频流模块 - 用于播放远程桌面的音频输出 + * + * 功能: + * - 通过 WebSocket 接收 Opus 编码的音频数据 + * - 使用 Web Audio API 解码并播放音频 + * - 支持音量控制和连接状态管理 + */ + +import * as Log from '../core/util/logging.js'; + +// 音频管理器类 +class AudioManager { + constructor() { + // WebSocket 连接 + this.ws = null; + this.connected = false; + + // Web Audio API 组件 + this.audioContext = null; + this.gainNode = null; + this.decoder = null; + + // 播放调度 + this.nextPlayTime = 0; + + // 配置 + this.volume = 0.8; // 默认音量 80% + this.sampleRate = 48000; + this.channels = 2; + + // 重试配置 + this.maxRetries = 5; // 最大重试次数 + this.retryCount = 0; // 当前重试次数 + this.retryDelay = 2000; // 重试间隔 (ms) + this.retryTimer = null; // 重试定时器 + this.lastWsUrl = null; // 上次连接的URL(用于重试) + this.autoRetryEnabled = true; // 是否启用自动重试 + + // 回调函数 + this.onStatusChange = null; + this.onMaxRetriesReached = null; // 达到最大重试次数的回调 + + // OpusDecoder 加载状态 + this.opusDecoderReady = false; + this._checkOpusDecoder(); + } + + /** + * 检查 OpusDecoder 是否已加载 + * @private + */ + _checkOpusDecoder() { + // opus-decoder 库使用 UMD 模式,导出为 window["opus-decoder"].OpusDecoder + const opusDecoderLib = window["opus-decoder"]; + if (opusDecoderLib && opusDecoderLib.OpusDecoder) { + window.OpusDecoder = opusDecoderLib.OpusDecoder; + this.opusDecoderReady = true; + Log.Info('[Audio] OpusDecoder 加载成功'); + } else { + Log.Warn('[Audio] OpusDecoder 未加载,音频功能可能无法使用'); + this.opusDecoderReady = false; + } + } + + /** + * 构建音频 WebSocket URL + * @param {string} baseUrl - 基础 URL (如 http://127.0.0.1:8088) + * @param {string} projectId - 项目 ID + * @param {string} userId - 用户 ID (可选,调试模式使用) + * @param {boolean} debugMode - 是否调试模式 + * @returns {string} WebSocket URL + */ + buildWsUrl(baseUrl, projectId, userId = null, debugMode = false) { + // 将 http/https 转换为 ws/wss + const wsUrl = baseUrl + .replace(/^http/, 'ws') + .replace(/\/+$/, ''); + + // 调试模式:包含 user_id + // 正式模式:不包含 user_id + if (debugMode && userId) { + return `ws://192.168.1.34:8088/computer/audio/${userId}/${projectId}/ws`; + } else { + return `${wsUrl}/computer/audio/${projectId}/ws`; + } + } + + /** + * 连接音频流 + * @param {string} wsUrl - WebSocket URL + * @returns {Promise} + */ + async connect(wsUrl) { + if (this.connected) { + Log.Warn('[Audio] 已经连接,请先断开'); + return; + } + + // 检查 OpusDecoder + if (!this.opusDecoderReady) { + this._checkOpusDecoder(); + if (!this.opusDecoderReady) { + Log.Error('[Audio] OpusDecoder 未加载,无法启动音频'); + this._updateStatus('error', 'OpusDecoder 未加载'); + return; + } + } + + try { + this._updateStatus('connecting', '音频连接中...'); + Log.Info('[Audio] 连接音频流: ' + wsUrl); + + // 初始化 Web Audio API + await this._initAudioContext(); + + // 保存URL用于重试 + this.lastWsUrl = wsUrl; + + // 连接 WebSocket + this.ws = new WebSocket(wsUrl); + this.ws.binaryType = 'arraybuffer'; + + this.ws.onopen = () => { + Log.Info('[Audio] WebSocket 已连接'); + this.connected = true; + this.retryCount = 0; // 连接成功,重置重试计数 + this._updateStatus('connected', '音频已连接'); + }; + + this.ws.onmessage = async (event) => { + try { + const data = new Uint8Array(event.data); + // 检查协议头 (0x01 表示 Opus 音频) + if (data[0] === 0x01) { + const opusData = data.slice(1); + await this._playAudioChunk(opusData); + } + } catch (err) { + Log.Error('[Audio] 处理音频数据失败: ' + err); + } + }; + + this.ws.onerror = (err) => { + Log.Error('[Audio] WebSocket 错误: ' + err); + this._updateStatus('error', '音频连接错误'); + }; + + this.ws.onclose = () => { + Log.Info('[Audio] WebSocket 已关闭'); + this.connected = false; + this._cleanup(); + + // 自动重试逻辑 + if (this.autoRetryEnabled && this.retryCount < this.maxRetries) { + this.retryCount++; + Log.Info('[Audio] 将在 ' + (this.retryDelay / 1000) + ' 秒后重试 (' + this.retryCount + '/' + this.maxRetries + ')'); + this._updateStatus('connecting', '重试中 (' + this.retryCount + '/' + this.maxRetries + ')'); + + this.retryTimer = setTimeout(() => { + if (this.lastWsUrl && this.autoRetryEnabled) { + this.connect(this.lastWsUrl); + } + }, this.retryDelay); + } else if (this.retryCount >= this.maxRetries) { + Log.Warn('[Audio] 已达到最大重试次数 (' + this.maxRetries + ')'); + this._updateStatus('error', '连接失败,请手动重试'); + if (this.onMaxRetriesReached) { + this.onMaxRetriesReached(); + } + } else { + this._updateStatus('disconnected', '音频已断开'); + } + }; + + } catch (err) { + Log.Error('[Audio] 连接失败: ' + err); + this._updateStatus('error', '音频启动失败'); + throw err; + } + } + + /** + * 断开音频流 + */ + disconnect() { + // 禁用自动重试 + this.autoRetryEnabled = false; + + // 清除重试定时器 + if (this.retryTimer) { + clearTimeout(this.retryTimer); + this.retryTimer = null; + } + + if (this.ws) { + this.ws.close(); + this.ws = null; + } + this.connected = false; + this.retryCount = 0; + this._cleanup(); + this._updateStatus('disconnected', '音频已停止'); + Log.Info('[Audio] 音频流已断开'); + } + + /** + * 设置音量 + * @param {number} volume - 音量值 (0-1) + */ + setVolume(volume) { + this.volume = Math.max(0, Math.min(1, volume)); + if (this.gainNode) { + this.gainNode.gain.value = this.volume; + } + Log.Debug('[Audio] 音量设置为: ' + Math.round(this.volume * 100) + '%'); + } + + /** + * 获取当前音量 + * @returns {number} 音量值 (0-1) + */ + getVolume() { + return this.volume; + } + + /** + * 初始化 Web Audio API + * @private + */ + async _initAudioContext() { + if (!this.audioContext) { + this.audioContext = new (window.AudioContext || window.webkitAudioContext)({ + sampleRate: this.sampleRate, + latencyHint: 'interactive' + }); + + this.gainNode = this.audioContext.createGain(); + this.gainNode.gain.value = this.volume; + this.gainNode.connect(this.audioContext.destination); + + this.nextPlayTime = this.audioContext.currentTime + 0.1; + } + + // 恢复 AudioContext(浏览器安全策略) + if (this.audioContext.state === 'suspended') { + try { + await this.audioContext.resume(); + Log.Info('[Audio] AudioContext 已恢复'); + } catch (e) { + Log.Warn('[Audio] AudioContext 自动恢复失败,等待用户交互: ' + e); + } + } + } + + /** + * 尝试恢复 AudioContext + */ + async resume() { + if (this.audioContext && this.audioContext.state === 'suspended') { + try { + await this.audioContext.resume(); + Log.Info('[Audio] AudioContext 已恢复'); + } catch (e) { + Log.Error('[Audio] 恢复失败: ' + e); + } + } + } + + + /** + * 播放音频数据块 + * @param {Uint8Array} opusData - Opus 编码的音频数据 + * @private + */ + async _playAudioChunk(opusData) { + try { + // 初始化或复用 Opus 解码器 + if (!this.decoder) { + Log.Debug('[Audio] 初始化 OpusDecoder...'); + this.decoder = new window.OpusDecoder({ + sampleRate: this.sampleRate, + channels: this.channels + }); + await this.decoder.ready; + Log.Debug('[Audio] OpusDecoder 初始化完成'); + } + + // 解码 Opus 数据 + const decoded = this.decoder.decodeFrame(opusData); + const channels = decoded.channelData; + const samplesDecoded = decoded.samplesDecoded; + + if (!channels || channels.length < 2) { + Log.Warn('[Audio] 输出声道数据无效'); + return; + } + + const leftChannelData = channels[0]; + const rightChannelData = channels[1]; + + // 创建 AudioBuffer + const audioBuffer = this.audioContext.createBuffer( + 2, samplesDecoded, this.sampleRate + ); + + // 填充声道数据 + audioBuffer.getChannelData(0).set(leftChannelData); + audioBuffer.getChannelData(1).set(rightChannelData); + + // 调度播放 + const source = this.audioContext.createBufferSource(); + source.buffer = audioBuffer; + source.connect(this.gainNode); + + // 计算播放时间 + const currentTime = this.audioContext.currentTime; + if (this.nextPlayTime < currentTime) { + this.nextPlayTime = currentTime + 0.05; // 50ms 缓冲 + } + + source.start(this.nextPlayTime); + + // 计算下一个播放时间点 + const duration = samplesDecoded / this.sampleRate; + this.nextPlayTime += duration; + + } catch (err) { + Log.Error('[Audio] 解码或播放失败: ' + err); + // 解码失败时重置解码器 + if (this.decoder) { + try { + this.decoder.free(); + } catch (e) { + // 忽略释放错误 + } + this.decoder = null; + } + } + } + + /** + * 清理资源 + * @private + */ + _cleanup() { + // 重置播放调度 + this.nextPlayTime = 0; + + // 释放解码器 + if (this.decoder) { + try { + this.decoder.free(); + } catch (e) { + // 忽略释放错误 + } + this.decoder = null; + } + } + + /** + * 更新状态并触发回调 + * @param {string} status - 状态 (connecting/connected/disconnected/error) + * @param {string} message - 状态消息 + * @private + */ + _updateStatus(status, message) { + if (this.onStatusChange) { + this.onStatusChange(status, message); + } + } + + /** + * 销毁音频管理器 + */ + destroy() { + this.disconnect(); + if (this.audioContext) { + this.audioContext.close(); + this.audioContext = null; + } + this.gainNode = null; + } +} + +// 导出单例 +const audioManager = new AudioManager(); +export default audioManager; + diff --git a/qiming-noVNC/app/clipboard.js b/qiming-noVNC/app/clipboard.js new file mode 100644 index 00000000..edff3dfe --- /dev/null +++ b/qiming-noVNC/app/clipboard.js @@ -0,0 +1,252 @@ +/* + * noVNC: HTML5 VNC client + * Clipboard management module + */ + +import * as Log from '../core/util/logging.js'; +import { l10n } from './localization.js'; + +const _ = l10n.get.bind(l10n); + +class ClipboardManager { + constructor() { + this.rfb = null; + this.autoSync = false; + this.permissionGranted = false; + this.lastLocalText = null; + this.syncFocusHandler = null; + + // Callbacks for UI updates + this.onStatusChange = null; // (status, message) => void + } + + setRFB(rfb) { + this.rfb = rfb; + } + + /** + * Initialize clipboard state based on permissions + * 根据权限状态初始化剪贴板自动同步 + * + * 注意:默认开启自动同步,因为: + * 1. 这是更好的用户体验 + * 2. Clipboard API 在用户手势(如点击、焦点切换)时才会真正读取 + * 3. 如果权限被拒绝,会在实际操作时处理 + */ + async init() { + Log.Info('[Clipboard] Initializing...'); + + // 检查 Clipboard API 是否可用 + if (!navigator.clipboard) { + Log.Warn('[Clipboard] Clipboard API not supported'); + this._updateStatus('error', _('Clipboard API not supported')); + return; + } + + // 尝试查询权限状态(某些浏览器可能不支持) + let permissionState = 'unknown'; + + if (navigator.permissions && navigator.permissions.query) { + try { + // 注意:某些浏览器不支持 "clipboard-read" 权限查询 + const result = await navigator.permissions.query({ name: "clipboard-read" }); + permissionState = result.state; + Log.Info('[Clipboard] Permission query result: ' + permissionState); + } catch (err) { + // 权限查询不支持(如 Firefox),这是正常的 + Log.Debug('[Clipboard] Permission query not supported: ' + err.message); + permissionState = 'unknown'; + } + } + + // 根据权限状态决定行为 + if (permissionState === 'denied') { + // 权限明确被拒绝 + Log.Info('[Clipboard] Permission denied, disabling auto sync'); + this.autoSync = false; + this._updateStatus('inactive', ''); + } else { + // granted / prompt / unknown 都默认开启 + // 实际权限检查会在用户手势时进行 + Log.Info('[Clipboard] Enabling auto sync (permission: ' + permissionState + ')'); + this.autoSync = true; + this._startSync(false); // 不立即执行,等待用户手势 + this._updateStatus('active', _('Auto sync enabled')); + } + } + + /** + * Toggle auto-sync state + * @param {boolean} enable + * @returns {Promise} resulting state + */ + async toggleAutoSync(enable) { + if (enable) { + const hasPermission = await this._requestPermission(); + if (!hasPermission) { + this._updateStatus('error', _('Clipboard permission denied')); + return false; + } + + this.autoSync = true; + this._startSync(); + this._updateStatus('active', _('Auto sync enabled')); + Log.Info('[Clipboard] Auto sync enabled'); + } else { + this.autoSync = false; + this._stopSync(); + this._updateStatus('inactive', ''); + Log.Info('[Clipboard] Auto sync disabled'); + } + return this.autoSync; + } + + /** + * Receive text from remote and sync to local if enabled + * @param {string} text + */ + handleRemoteText(text) { + if (this.autoSync) { + this.writeLocal(text); + } + } + + /** + * Read from local clipboard manually + */ + async readLocal() { + try { + if (!navigator.clipboard || !navigator.clipboard.readText) { + this._updateStatus('error', _('Clipboard API not supported')); + return null; + } + + const text = await navigator.clipboard.readText(); + this.lastLocalText = text; + Log.Debug('[Clipboard] Read from local: ' + text.substr(0, 40) + '...'); + + this._updateStatus('success', _('Read from local clipboard')); + this._resetStatus(); + + return text; + } catch (err) { + Log.Warn('[Clipboard] Failed to read local: ' + err.message); + this._updateStatus('error', _('Failed to read clipboard')); + return null; + } + } + + /** + * Write to local clipboard + * @param {string} text + */ + async writeLocal(text) { + try { + if (!navigator.clipboard || !navigator.clipboard.writeText) { + this._updateStatus('error', _('Clipboard API not supported')); + return; + } + + await navigator.clipboard.writeText(text); + this.lastLocalText = text; + Log.Debug('[Clipboard] Wrote to local: ' + text.substr(0, 40) + '...'); + + this._updateStatus('success', _('Copied to local clipboard')); + this._resetStatus(); + } catch (err) { + Log.Warn('[Clipboard] Failed to write local: ' + err.message); + this._updateStatus('error', _('Failed to write clipboard')); + } + } + + /** + * Send text to remote + * @param {string} text + */ + sendToRemote(text) { + if (this.rfb) { + this.rfb.clipboardPasteFrom(text); + Log.Debug('[Clipboard] Sent to remote: ' + text.substr(0, 40) + '...'); + } + } + + // Private methods + + async _requestPermission() { + try { + if (navigator.clipboard && navigator.clipboard.readText) { + await navigator.clipboard.readText(); + this.permissionGranted = true; + return true; + } + return false; + } catch (err) { + if (err.name === 'NotAllowedError') { + return false; + } + // Other errors (like empty clipboard) usually mean we have permission + return true; + } + } + + _startSync(runImmediately = true) { + this.syncFocusHandler = async () => { + if (!this.autoSync || !this.rfb) return; + + try { + // Focus event is a user gesture, so readText should work/prompt + const text = await navigator.clipboard.readText(); + if (text && text !== this.lastLocalText) { + this.lastLocalText = text; + this.sendToRemote(text); + } + } catch (err) { + // If it fails (e.g. denied), we might want to turn off autoSync? + // For now, just log and maybe show status + Log.Warn('[Clipboard] Auto-sync read failed: ' + err); + if (err.name === 'NotAllowedError') { + this._updateStatus('error', _('Clipboard permission denied')); + this.autoSync = false; // Disable if denied + // We might want to notify UI to uncheck box + // But we don't have a direct way to sync back to checkbox unless we use callback + // Current arch: init sets checkbox. toggle sets checkbox. + // If we change state here, checkbox might desync. + // We can use onStatusChange to signal "error"? Or add onStateChange? + // For now, keep simple. + } + } + }; + + window.addEventListener('focus', this.syncFocusHandler); + if (runImmediately) { + this.syncFocusHandler(); // Initial sync + } + } + + _stopSync() { + if (this.syncFocusHandler) { + window.removeEventListener('focus', this.syncFocusHandler); + this.syncFocusHandler = null; + } + this.lastLocalText = null; + } + + _updateStatus(status, message) { + if (this.onStatusChange) { + this.onStatusChange(status, message); + } + } + + _resetStatus() { + setTimeout(() => { + if (this.autoSync) { + this._updateStatus('active', _('Auto sync enabled')); + } else { + this._updateStatus('inactive', ''); + } + }, 2000); + } +} + +const clipboardManager = new ClipboardManager(); +export default clipboardManager; diff --git a/qiming-noVNC/app/error-handler.js b/qiming-noVNC/app/error-handler.js new file mode 100644 index 00000000..5f6ffb67 --- /dev/null +++ b/qiming-noVNC/app/error-handler.js @@ -0,0 +1,79 @@ +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2019 The noVNC authors + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * See README.md for usage and integration instructions. + */ + +// Fallback for all uncought errors +function handleError(event, err) { + try { + const msg = document.getElementById('noVNC_fallback_errormsg'); + + // Work around Firefox bug: + // https://bugzilla.mozilla.org/show_bug.cgi?id=1685038 + if (event.message === "ResizeObserver loop completed with undelivered notifications.") { + return false; + } + + // Only show the initial error + if (msg.hasChildNodes()) { + return false; + } + + let div = document.createElement("div"); + div.classList.add('noVNC_message'); + div.appendChild(document.createTextNode(event.message)); + msg.appendChild(div); + + if (event.filename) { + div = document.createElement("div"); + div.className = 'noVNC_location'; + let text = event.filename; + if (event.lineno !== undefined) { + text += ":" + event.lineno; + if (event.colno !== undefined) { + text += ":" + event.colno; + } + } + div.appendChild(document.createTextNode(text)); + msg.appendChild(div); + } + + if (err && err.stack) { + div = document.createElement("div"); + div.className = 'noVNC_stack'; + div.appendChild(document.createTextNode(err.stack)); + msg.appendChild(div); + } + + document.getElementById('noVNC_fallback_error') + .classList.add("noVNC_open"); + + } catch (exc) { + document.write("noVNC encountered an error."); + } + + // Try to disable keyboard interaction, best effort + try { + // Remove focus from the currently focused element in order to + // prevent keyboard interaction from continuing + if (document.activeElement) { document.activeElement.blur(); } + + // Don't let any element be focusable when showing the error + let keyboardFocusable = 'a[href], button, input, textarea, select, details, [tabindex]'; + document.querySelectorAll(keyboardFocusable).forEach((elem) => { + elem.setAttribute("tabindex", "-1"); + }); + } catch (exc) { + // Do nothing + } + + // Don't return true since this would prevent the error + // from being printed to the browser console. + return false; +} + +window.addEventListener('error', evt => handleError(evt, evt.error)); +window.addEventListener('unhandledrejection', evt => handleError(evt.reason, evt.reason)); diff --git a/qiming-noVNC/app/images/alt.svg b/qiming-noVNC/app/images/alt.svg new file mode 100644 index 00000000..e5bb4612 --- /dev/null +++ b/qiming-noVNC/app/images/alt.svg @@ -0,0 +1,92 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/qiming-noVNC/app/images/audio-muted.png b/qiming-noVNC/app/images/audio-muted.png new file mode 100644 index 0000000000000000000000000000000000000000..b87bc8f9f6b1101c0c3e66533b013d3e65bae30e GIT binary patch literal 367 zcmeAS@N?(olHy`uVBq!ia0vp^k|4~%3?x6Bmj(hU#^NA%C&rs6b?Si}&H|6fVg?3o zVGw3ym^DWND3}xA6XN>i^ZRR8FPWQ}+S=M|*}OqeP!K57*4oU>%>4S*^WfkhMMXtD zJ>B>3UVV7~T1G~C`?k%pvNBVqOjMAU*VWazasA5V$rC0{?3*;H-@?ND=8daDLP9%t zY*kcHXm4vVGBQ+AQBhV_*3r?vdiCP17I6=t>2o|?978JR?7eW1>yUu}%LPegQBU2B zjkcZa|Nl?7>D=P6RrIp+hKnrC9=(ec-ldAm@$B~AqxCP|qs&oq(gj7yiwY{q^I|Vw za+A7PA$W*aJktF_u;^oxm3v&)so%Njn7*~8>wEdfk7XV$O>g=b9qSIPIS_uyfAiF$ z-+K<`zP21lC)!`7YOX(jc< + + + + diff --git a/qiming-noVNC/app/images/audio-on.png b/qiming-noVNC/app/images/audio-on.png new file mode 100644 index 0000000000000000000000000000000000000000..b82edb763f702a5d9c8a8949858090d8e3a031f9 GIT binary patch literal 553 zcmV+^0@nSBP)P000>X0{{R3^EY)-00001b5ch_0olnc ze*gdg32;bRa{vGf6951U69E94oEQKA0MAfNR7Ldj@9*yF=jP+v+SgWARa{(JR8&$# zL__7|;J?1RH#asZDJWW5SYKaV^6~ANn3XImE8^kZKR!L4oty3K=x%Oo=;!0Y!M-*& zHNn8WqM@Jj^6p|`V5X&`PfktU+}P&k;zmV8q@Mc${_Pz=rK@+8zdpj_>ci4qrmt|{2qhy3&}fR z8Hn)^hUzovTMX(?WN%=|Xg-p^#=yj>a1}#F=f2WqAR&JZyJ>oNRW8C@pvrh2$puC? zHO|6at;u*A;%e<1pBT)q=$=6MlvVQ*P=?8Z@hF4oHNz(lu!fG#IpafEL)89^>C5ZL rvEayf`8AlqYR9;T$e2TyCqo7R;OSQyR%aC100000NkvXXu0mjfQXK`+ literal 0 HcmV?d00001 diff --git a/qiming-noVNC/app/images/audio-on.svg b/qiming-noVNC/app/images/audio-on.svg new file mode 100644 index 00000000..30730b5f --- /dev/null +++ b/qiming-noVNC/app/images/audio-on.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/qiming-noVNC/app/images/audio.svg b/qiming-noVNC/app/images/audio.svg new file mode 100644 index 00000000..d6a77b56 --- /dev/null +++ b/qiming-noVNC/app/images/audio.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/qiming-noVNC/app/images/bg.jpg b/qiming-noVNC/app/images/bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..921a7e39ee252f1dab3b62a98c2ed64232af9ae9 GIT binary patch literal 376992 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

l$6YvloC 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%0DwQJ$ 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 KyhHqF>i+>HFabXR literal 0 HcmV?d00001 diff --git a/qiming-noVNC/app/images/clipboard.svg b/qiming-noVNC/app/images/clipboard.svg new file mode 100644 index 00000000..79af2752 --- /dev/null +++ b/qiming-noVNC/app/images/clipboard.svg @@ -0,0 +1,106 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/qiming-noVNC/app/images/connect.svg b/qiming-noVNC/app/images/connect.svg new file mode 100644 index 00000000..56cde414 --- /dev/null +++ b/qiming-noVNC/app/images/connect.svg @@ -0,0 +1,96 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/qiming-noVNC/app/images/ctrl.svg b/qiming-noVNC/app/images/ctrl.svg new file mode 100644 index 00000000..856e9395 --- /dev/null +++ b/qiming-noVNC/app/images/ctrl.svg @@ -0,0 +1,96 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/qiming-noVNC/app/images/ctrlaltdel.svg b/qiming-noVNC/app/images/ctrlaltdel.svg new file mode 100644 index 00000000..d7744ea3 --- /dev/null +++ b/qiming-noVNC/app/images/ctrlaltdel.svg @@ -0,0 +1,100 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/qiming-noVNC/app/images/disconnect.svg b/qiming-noVNC/app/images/disconnect.svg new file mode 100644 index 00000000..6be7d187 --- /dev/null +++ b/qiming-noVNC/app/images/disconnect.svg @@ -0,0 +1,94 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/qiming-noVNC/app/images/drag.svg b/qiming-noVNC/app/images/drag.svg new file mode 100644 index 00000000..139caf94 --- /dev/null +++ b/qiming-noVNC/app/images/drag.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/qiming-noVNC/app/images/error.svg b/qiming-noVNC/app/images/error.svg new file mode 100644 index 00000000..8356d3f1 --- /dev/null +++ b/qiming-noVNC/app/images/error.svg @@ -0,0 +1,81 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/qiming-noVNC/app/images/esc.svg b/qiming-noVNC/app/images/esc.svg new file mode 100644 index 00000000..830152b5 --- /dev/null +++ b/qiming-noVNC/app/images/esc.svg @@ -0,0 +1,92 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/qiming-noVNC/app/images/expander.svg b/qiming-noVNC/app/images/expander.svg new file mode 100644 index 00000000..e1635358 --- /dev/null +++ b/qiming-noVNC/app/images/expander.svg @@ -0,0 +1,69 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/qiming-noVNC/app/images/fullscreen.svg b/qiming-noVNC/app/images/fullscreen.svg new file mode 100644 index 00000000..29bd05da --- /dev/null +++ b/qiming-noVNC/app/images/fullscreen.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/qiming-noVNC/app/images/handle.svg b/qiming-noVNC/app/images/handle.svg new file mode 100644 index 00000000..4a7a126f --- /dev/null +++ b/qiming-noVNC/app/images/handle.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/qiming-noVNC/app/images/handle_bg.svg b/qiming-noVNC/app/images/handle_bg.svg new file mode 100644 index 00000000..7579c42c --- /dev/null +++ b/qiming-noVNC/app/images/handle_bg.svg @@ -0,0 +1,172 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + diff --git a/qiming-noVNC/app/images/icons/Makefile b/qiming-noVNC/app/images/icons/Makefile new file mode 100644 index 00000000..03eaed07 --- /dev/null +++ b/qiming-noVNC/app/images/icons/Makefile @@ -0,0 +1,42 @@ +BROWSER_SIZES := 16 24 32 48 64 +#ANDROID_SIZES := 72 96 144 192 +# FIXME: The ICO is limited to 8 icons due to a Chrome bug: +# https://bugs.chromium.org/p/chromium/issues/detail?id=1381393 +ANDROID_SIZES := 96 144 192 +WEB_ICON_SIZES := $(BROWSER_SIZES) $(ANDROID_SIZES) + +#IOS_1X_SIZES := 20 29 40 76 # No such devices exist anymore +IOS_2X_SIZES := 40 58 80 120 152 167 +IOS_3X_SIZES := 60 87 120 180 +ALL_IOS_SIZES := $(IOS_1X_SIZES) $(IOS_2X_SIZES) $(IOS_3X_SIZES) + +ALL_ICONS := \ + $(ALL_IOS_SIZES:%=novnc-ios-%.png) \ + novnc.ico + +all: $(ALL_ICONS) + +# Our testing shows that the ICO file need to be sorted in largest to +# smallest to get the apporpriate behviour +WEB_ICON_SIZES_REVERSE := $(shell echo $(WEB_ICON_SIZES) | tr ' ' '\n' | sort -nr | tr '\n' ' ') +WEB_BASE_ICONS := $(WEB_ICON_SIZES_REVERSE:%=novnc-%.png) +.INTERMEDIATE: $(WEB_BASE_ICONS) + +novnc.ico: $(WEB_BASE_ICONS) + convert $(WEB_BASE_ICONS) "$@" + +# General conversion +novnc-%.png: novnc-icon.svg + convert -depth 8 -background transparent \ + -size $*x$* "$(lastword $^)" "$@" + +# iOS icons use their own SVG +novnc-ios-%.png: novnc-ios-icon.svg + convert -depth 8 -background transparent \ + -size $*x$* "$(lastword $^)" "$@" + +# The smallest sizes are generated using a different SVG +novnc-16.png novnc-24.png novnc-32.png: novnc-icon-sm.svg + +clean: + rm -f *.png diff --git a/qiming-noVNC/app/images/icons/fav.ico b/qiming-noVNC/app/images/icons/fav.ico new file mode 100644 index 0000000000000000000000000000000000000000..cfed03e3d4232332f92f915397d6bb4948772b3d GIT binary patch literal 4286 zcmc(j-A@xi5Wv^?;Hyu@7^6P=XZT`xvMLq9fJTExRQxtbln{6@F~kod5yc3I3W6vf zDjJPO5HS)XUy3Lwl8De!KH6UE^;+)6nG08Ld)K3i)FIQ}&hE@_c5Zj?3S*1#Z_OG; zpR9T*W6Kz0Yf;g})}fMJ73{N;F}rP*!*0t)twgQ;$4W7?h!L5?aNBhWz4@&rIDb;=zi-C`bF9D1G4C zw+DpEn;_KIz+_&IWsRmT6o9Yp9(YTyfg?E)$8G@krHkNy)Cm5jhagnl0%uw>7X#-{ zdm<`7^m7 z``61CVK!ZO%ddm4v7WPGFqk-%#ra$DDc48|4)k;Wl!G&ME69GoZYXkcvLQ75LuUh! zy&iBRZQ}gR_+uHnVe0G|korDx{?wovyAJN-VtB4y;l@!euEPfmwfoiblJiq@H@W{} zYYP`IvJn~`QP+~U3~O9}9~4pKhKO(9sP*TJ*qAzB5EGx)?0m#?r3j>+E-r);3W0Nb zN=$smwk;qF0_PuVL%ly#d*taw`p{!wN2@>C{ZF6h-DAEEejkLXb7u|Xy*En#h(DR1 zYlsnx!B&C(pL=I= zo6^_A;Io?W5V5TlgnP4XwF7gpdTyAVKia+VTrUa7)?W-hZwm8AJ7&)ccTpkG`qPW- z_km;U=D(W%MDA%i@bux->*=5bU1f#PTU`u_JgwRkS%&efqx^cn9kq+L9 zG7wu|L2&RJ1pB|>yVV15?o2~XMSBYbx;h}x*#W+W`}huKk9Gd#dQP0LOR)w=;>--! z1=)x2H^6e_`~O1@eqz&aAk1Tby!pt?AT|jkB~cC;ajJtrEXd1K+4>Kx$1?28#5_t+ p>37k;)DntK3_UZz*y + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qiming-noVNC/app/images/icons/novnc-icon.svg b/qiming-noVNC/app/images/icons/novnc-icon.svg new file mode 100644 index 00000000..1efff912 --- /dev/null +++ b/qiming-noVNC/app/images/icons/novnc-icon.svg @@ -0,0 +1,163 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qiming-noVNC/app/images/icons/novnc-ios-120.png b/qiming-noVNC/app/images/icons/novnc-ios-120.png new file mode 100644 index 0000000000000000000000000000000000000000..8da7bab3d0f0ff810af3073b14b52b557f91ada7 GIT binary patch literal 3215 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 literal 0 HcmV?d00001 diff --git a/qiming-noVNC/app/images/icons/novnc-ios-152.png b/qiming-noVNC/app/images/icons/novnc-ios-152.png new file mode 100644 index 0000000000000000000000000000000000000000..60b2bcef533e2030e2bb8d92bbbdf010d89f2d4f GIT binary patch literal 4190 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 JT=lypi-cL*%GNG~DMq5={U(y<`j@sI-2B}*(J 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 literal 0 HcmV?d00001 diff --git a/qiming-noVNC/app/images/icons/novnc-ios-40.png b/qiming-noVNC/app/images/icons/novnc-ios-40.png new file mode 100644 index 0000000000000000000000000000000000000000..cf14894daf12da14c536b26101fac933d47ddffe GIT binary patch literal 1245 zcmZ{iYfMuI6vxl)6G|}`ETyG9N?i+WX}N7Fr7b9ZT-x%oXj@QVwx#8v4nZpswndqA zgQ9_D(I9BFjx2*QhmYZ=(TwSIb2C#y6eQ6&l!-Vs(`7nQceii*un+(9JO7jXb3UBY zWiPcvGZGj85N)%XR}oDAM-gPAp5|NE5unr=N(=x;d!iOSRKoLXtgA`@+C%_5IspD6 zMmz2SY{dZXy8(240P#)xPnG2Ykm&Ye2d+>klu9M7i3U4>+)Nf|1Tu{*vM~~Q8(~>k zDwT@5i3+U%P5>8>>?EFp2h{+Z0k(liB+AOlg7qK}2;_1(%fUiLXp}oDDJe;#(FldY zn6wzChnbj|sMTt7b93VyaZ9vI(hO;gdIoHV{QP{rnGZF<=kswKk132H=}C-I1_>j{ zWHOeHMJ^yCI6}%Jp*$4BFss#Sv)Ps}Uw-IN?CaOy^Rb(o1$*~K1_CJ;E>P8K`HdU2 z>(|M0x%lka=*2~lNF-*ndBqC(!-vS!6kwP%D+`;Mp*?y8%a)-nEvX|TRD}YYo~BMt zg4fHtcoBw&VfSw6?q1r`64lw6xNRFUI}1HMjK)T8RTW*M$()@fEi8aqEz;}d3k&2s zcOW^L<@M6X$0==XXmxc&TN}5hhko!N+v7p<@}yH!NKQ_UN~O4ZmHhlU7!1ipMbc-_ zkckOMN=mR;MDz2=lP6%erEV=x%>dcDPBF&d4;lel|ar34Ufk;Obx?*F};Fp*8xHCqT4 z{i}th!qr4W57Wsr9^9NCJ7`a~N-?Qd z;t;sP%8)Ux)~Qyjw?=0$)Mc#o?eG3P^7+modwlWz`JJo;P6BtJufM;4U!|M&vGBv& zvJLp4aYLt(SE-Mx z_lCb4`||SG8S>%Y@bS-1)5D|J8Mai@y6vw!x|sGL^CQvB`zwzg&_y#psT4@}D~@m9 zORY*hw{hmNc1!AbJx|^}((AeTj<%^!UJ)@TU;AMGq)!}?QQ5frFdARs@%!;z-|lgp z7iSz7l!hNjeqjkFZzLMc-!9f~X+rqZdhr5L8eFnzVK@;`yMHu)NA WTmL^$2nT*80${^S%}0#x_x=V(2bBr{ literal 0 HcmV?d00001 diff --git a/qiming-noVNC/app/images/icons/novnc-ios-58.png b/qiming-noVNC/app/images/icons/novnc-ios-58.png new file mode 100644 index 0000000000000000000000000000000000000000..f6dfbebd2e233bfec83a4d557187eec9e660d0ed GIT binary patch literal 1602 zcmZ{iX;hO}8pofPm_(LLXtNxNq{$D$z~STV6>%ZT?hz_xL{C%D2t_a zX^T@p#!j(NK|w4>+)yhmgM=bic1554C+_jjLrp8q}f zKKFkxEyYOlVtD}o&1}-A6U6@)i%G;hl6{p$V9{nxvId~D+IxN@naG2)OzFu0C7}T2 z?*YsbTjfsxico;38wl;+00OpucGao|@Mug+vKeGD8HQnO8=JL;#a_)8Xa#}<0ecOb zujfZbMk0Fv7>;WhQ9*?I`C_n`a z1|uLKz&p_!ih#vpk&DQ%68!!BX*wE{$&8AMl1L@ z`Tch=7!1wLw7EIZY6Gp-@VPnU=ux2)>Tm>wg!snA#nsgKuU@^>Zs(Vm69t^QIyiNT{PD+LD_5>msiaSyApQLy z7K<=UHazS#F+sGHQd>)0EVQR*k<;l{S-C7X*Qc~JC^r{^gM)EAVra<2ZfDBn=$$(x zmkXp)epHlne4Kpe4*2GfeQ7m|{)e8-NUvNGZ*memS28+Ux1ct}WJA7yHa=sCyj z_W1sLqTV+rhci5k%*-I`*YnhBq_~(~SQw<$`XnWVXJ+D;FMD=$Kury8)vD06G+{)9 z$LZ6H8ykJBR<_wpR;wv*y|qFjp$LUSrBa%f=ELVx;^OEQ3nej;YBEvze11$!j8?1F zXf!I7O0U-w?)^Joqphch85WGY1nml;7INS|9g}HCG;3%rGAIjt%%??0NvTBcJgl@x5JN za9_mkklx!f**)EwX`{bp)+qCI{!;^U$ENEi_w1c@-d-!=H>-aYrVhwV=e34y+HlXq zeQzFrx8<}%VL8vLOYf$%Wh6dry7;oS*LdUU0nZaf&xY$uNTcZ54?f*{!K!aQ@~!-| zSzf>jd6iT9?bCti_=^Y5$9#0C`lR@sL*0xP8Gb<#e{pIRJ3e`!u^{*EuIE*b#-xj2w!!(OgH>JEe?4KRoZD-e`~Co)Ac_(2;NI2K|C6+^x*yFmv_t?+(_uhVnj(N#t4j8;mc=3PzOK z+-rEa^oq|~&uMF+BH-ta_EzzcPuQ28&y+9j@%LF?WItNi5BWLavrEQE&f1P$gIHA!W=Ff(b`n!%H^4ARs;>kK{XF_r>b=o-d za>2DQf9vko`*xOf{ZdB1+AW-)dDcY{>zZT7nj~BEv#t&G73VE|)WWx?$t895%(_}l z+F!~eA{7f8Kdff*vAFy->(6bGKbB^xhivoJoxyGYu=fiuT}jVqoAHbAWwqR-r~gP8 zmG3aT?XYijWaC+d*#rPXF-$DO#299i$#FCik5r0K6h~3jI)3IK1O?mdc{$EM7g(U- PF(Cl6Aw}Pz-B9^oj2c9P literal 0 HcmV?d00001 diff --git a/qiming-noVNC/app/images/icons/novnc-ios-60.png b/qiming-noVNC/app/images/icons/novnc-ios-60.png new file mode 100644 index 0000000000000000000000000000000000000000..8cda29530c8fc0a3ee7499be716f90e22b2c4fc8 GIT binary patch literal 1595 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 literal 0 HcmV?d00001 diff --git a/qiming-noVNC/app/images/icons/novnc-ios-87.png b/qiming-noVNC/app/images/icons/novnc-ios-87.png new file mode 100644 index 0000000000000000000000000000000000000000..4377d874b18d965cb430f80dc1f97d3e8f0daff0 GIT binary patch literal 2708 zcmbW3c{tQv8^?cx3`Ptg)mUQ;M#k93q=?57GM19D%!Dk-HWV_9EsQ5>2qB)3p0rq| zgh_Tv?^vG59!AK%3|X?g)BE51$NSHFU)Oy;=RW6r&$+I1|8d_bwl-!*1x^Y80C3d8 z+{BKd8&9+Y2)!*VuwuU#}V;gDlH7Z@=d@CTV+C2?5%A5Us5bK*?Ep%&Jr;2A*) zA#Q~yztp@q$Kowaj2yy;m-6rU!1|>-8oa+*+)~Q(q>o^SOI=6ah}82&emQmV;ljCG z6;THhsF8}f>6?4dsbZg})Hm|-tva%n#kTjqn)S;cc`$e`0blE4J}#aSkjpHF`&JDx z7w@ddEG#cxcc;@e8P*1c4Iy0x`lJ~Ky@CB}ze`_kX=w>3`Gd=G88q4{$(m1=d!6=w z!Uk$A7`z!*gg{xIjC?6=VgXvn!BH~wR^1GzIz%vB7MW0@d<5ef8JS@EWYqb&@q?Pv zQm6UolW_*+xn*%vF+x2c3~siXG3kF>zBNf~tEGEAXm0@I#u9h84+zzTd~T>FMjsd|OCB@G0dh@0-)! z$hSWAbxy1S^wQ#o{JVDbpDXx=Jut7+CtTI>J{Q}0-q}^F4t>kLSL^0>Z6q=I#c46q z6Ri2fwVB^PZ_^Wsl-F+U2W5GI5dTv1IU4FwJ`*vatGT9;)rTBBsEFN8u1i%1dFH=N{(%gTuv9s-;5{iB zLUB=~{3BS(Ga*PR2jww&)21w6IKlnPcUykCJ-2F(M)F3gPE(*A3s9xcnFmMc6XbD82cw0 zUfvvu3*YQd1^ViJ*=%;QiTq$K$@v&DcF^zRUX-7^U`vTrm?$j?VD zoK?aJBh|INL&}H#F^5vy^QzxnF5X%H1TBc155dKShB3v%$c8*}wW z%AJ*aUYDu^j$knPdUtNoSs+^nF~;p@a6h*gsR}2*^}BED>qX&8W~&S33yx=_NOb@4 zOZk9XglYZ#6It9i9PYv8E4C7z1cDmIKs|o%vGm}(?j$LL861v?3nky)LN3=_u*|$v zz!SZbNMO(0eLo<|1;f@*9vdhH9YlFF#VO=HIi(AvcVw{#Xz95pcLLL%q@a#q^#y+mw@_{xV5(4yXkb+@fW`WNNp(Fxh0HTk2Av4YK9 zAF&^E&zpPhV|yPl8yg$7osa>{R%HohYgnxw%;0h!0*`DYbz8%K#(Onihp^_Jl`D19 zcos*%gG)c(?+g*3gN)n9x(Xg94G;2dY^76X6*Es6LC@nJc{zwbA^*I3Y&2lU`|XV@ zJaGG;;)%!I^Us?mVj)o*A}H-Pm97vqHH{y0zHQqzQQg(m2q9Pv7gfdIzVNGqqodcp z)x#P#TaXt#&6nsE`|aCR9wI;7>h61ZyU?t-PPQAd5;@D#%G}kty$Ys@ z!7xQ)K&9t;Y&Lr;JuG)j9VX-v9^?_!a;6Sdea`kE2H^A7nXvIFkG9+6J5YhdiVEAo{ohGxh8PX{+oxEKwek?? zZT`!5R^Aph#E89m1yNRRFE-)NjIym$9AiR;Az2(u@r6r`yx=uux;dTW3vp3!Auz|Hvs=mlctO zP^v(rU@*P03R(8zMe2MDRF^ve>V(WH8W<7`*0i;^FCOlKlh`sSgj@nNx#;hq z<*+HHb+fI=uSfiEfhF*GmLmWx MOl?eF8x!LG4f?<8TL1t6 literal 0 HcmV?d00001 diff --git a/qiming-noVNC/app/images/icons/novnc-ios-icon.svg b/qiming-noVNC/app/images/icons/novnc-ios-icon.svg new file mode 100644 index 00000000..009452ac --- /dev/null +++ b/qiming-noVNC/app/images/icons/novnc-ios-icon.svg @@ -0,0 +1,183 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qiming-noVNC/app/images/ime.svg b/qiming-noVNC/app/images/ime.svg new file mode 100644 index 00000000..46a8fb1c --- /dev/null +++ b/qiming-noVNC/app/images/ime.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/qiming-noVNC/app/images/info.svg b/qiming-noVNC/app/images/info.svg new file mode 100644 index 00000000..557b772f --- /dev/null +++ b/qiming-noVNC/app/images/info.svg @@ -0,0 +1,81 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/qiming-noVNC/app/images/keyboard.svg b/qiming-noVNC/app/images/keyboard.svg new file mode 100644 index 00000000..137b350a --- /dev/null +++ b/qiming-noVNC/app/images/keyboard.svg @@ -0,0 +1,88 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/qiming-noVNC/app/images/power.svg b/qiming-noVNC/app/images/power.svg new file mode 100644 index 00000000..4925d3e8 --- /dev/null +++ b/qiming-noVNC/app/images/power.svg @@ -0,0 +1,87 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/qiming-noVNC/app/images/settings.svg b/qiming-noVNC/app/images/settings.svg new file mode 100644 index 00000000..dbb2e80a --- /dev/null +++ b/qiming-noVNC/app/images/settings.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/qiming-noVNC/app/images/tab.svg b/qiming-noVNC/app/images/tab.svg new file mode 100644 index 00000000..1ccb3229 --- /dev/null +++ b/qiming-noVNC/app/images/tab.svg @@ -0,0 +1,86 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/qiming-noVNC/app/images/toggleextrakeys.svg b/qiming-noVNC/app/images/toggleextrakeys.svg new file mode 100644 index 00000000..b578c0d4 --- /dev/null +++ b/qiming-noVNC/app/images/toggleextrakeys.svg @@ -0,0 +1,90 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/qiming-noVNC/app/images/warning.svg b/qiming-noVNC/app/images/warning.svg new file mode 100644 index 00000000..7114f9b1 --- /dev/null +++ b/qiming-noVNC/app/images/warning.svg @@ -0,0 +1,81 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/qiming-noVNC/app/images/windows.svg b/qiming-noVNC/app/images/windows.svg new file mode 100644 index 00000000..ad5eec36 --- /dev/null +++ b/qiming-noVNC/app/images/windows.svg @@ -0,0 +1,65 @@ + + + +image/svg+xml + + + \ No newline at end of file diff --git a/qiming-noVNC/app/ime.js b/qiming-noVNC/app/ime.js new file mode 100644 index 00000000..3240c664 --- /dev/null +++ b/qiming-noVNC/app/ime.js @@ -0,0 +1,296 @@ +/* + * noVNC: HTML5 VNC client + * IME (Input Method Editor) passthrough module + * + * 输入法透传模块 - 用于将本地输入法的输入传送到远程桌面 + * + * 功能: + * - 通过 WebSocket 连接 IME 服务 + * - 监听输入法事件(compositionend) + * - 将输入的文本发送到远程桌面 + */ + +import * as Log from '../core/util/logging.js'; + +// 输入法管理器类 +class IMEManager { + constructor() { + // WebSocket 连接 + this.ws = null; + this.connected = false; + + // 隐藏输入框元素 + this.inputElement = null; + + // 回调函数 + this.onStatusChange = null; + + // 绑定事件处理函数(用于移除监听器) + this._boundCompositionEnd = this._handleCompositionEnd.bind(this); + this._boundInput = this._handleInput.bind(this); + } + + /** + * 构建 IME WebSocket URL + * @param {string} baseUrl - 基础 URL (如 http://127.0.0.1:8088) + * @param {string} projectId - 项目 ID + * @param {string} userId - 用户 ID (可选,调试模式使用) + * @param {boolean} debugMode - 是否调试模式 + * @returns {string} WebSocket URL + */ + buildWsUrl(baseUrl, projectId, userId = null, debugMode = false) { + // 将 http/https 转换为 ws/wss + const wsUrl = baseUrl + .replace(/^http/, 'ws') + .replace(/\/+$/, ''); + + // 调试模式:包含 user_id + // 正式模式:不包含 user_id + if (debugMode && userId) { + return `ws://192.168.1.34:8088/computer/ime/${userId}/${projectId}/connect`; + } else { + return `${wsUrl}/computer/ime/${projectId}/connect`; + } + } + + /** + * 连接 IME 服务 + * @param {string} wsUrl - WebSocket URL + * @returns {Promise} + */ + async connect(wsUrl) { + if (this.connected) { + Log.Warn('[IME] 已经连接,请先断开'); + return; + } + + try { + this._updateStatus('connecting', 'IME 连接中...'); + Log.Info('[IME] 连接 IME 服务: ' + wsUrl); + + // 创建隐藏输入框 + this._createInputElement(); + + // 连接 WebSocket + this.ws = new WebSocket(wsUrl); + + this.ws.onopen = () => { + Log.Info('[IME] WebSocket 已连接'); + this.connected = true; + this._updateStatus('connected', 'IME 已连接'); + + // 启用输入监听 + this._enableInputListeners(); + }; + + this.ws.onmessage = (event) => { + try { + const response = JSON.parse(event.data); + if (response.status === 'ok') { + Log.Debug('[IME] 文本发送成功'); + } else { + Log.Warn('[IME] 服务器响应: ' + response.message); + } + } catch (err) { + Log.Error('[IME] 响应解析失败: ' + err); + } + }; + + this.ws.onerror = (err) => { + Log.Error('[IME] WebSocket 错误: ' + err); + this._updateStatus('error', 'IME 连接错误'); + }; + + this.ws.onclose = () => { + Log.Info('[IME] WebSocket 已关闭'); + this.connected = false; + this._updateStatus('disconnected', 'IME 已断开'); + this._disableInputListeners(); + }; + + } catch (err) { + Log.Error('[IME] 连接失败: ' + err); + this._updateStatus('error', 'IME 启动失败'); + throw err; + } + } + + /** + * 断开 IME 服务 + */ + disconnect() { + if (this.ws) { + this.ws.close(); + this.ws = null; + } + this.connected = false; + this._disableInputListeners(); + this._updateStatus('disconnected', 'IME 已停止'); + Log.Info('[IME] IME 服务已断开'); + } + + /** + * 发送文本到远程桌面 + * @param {string} text - 要发送的文本 + */ + sendText(text) { + if (!this.connected || !this.ws) { + Log.Warn('[IME] 未连接,无法发送文本'); + return; + } + + if (!text || text.length === 0) { + return; + } + + const message = JSON.stringify({ + type: 'text', + text: text, + method: 'xdotool' // 使用 xdotool 输入方法 + }); + + this.ws.send(message); + Log.Debug('[IME] 发送文本: ' + text); + } + + /** + * 激活输入(聚焦到隐藏输入框) + * 当用户点击 VNC 画面时调用 + */ + activateInput() { + if (this.inputElement && this.connected) { + this.inputElement.focus(); + } + } + + /** + * 创建隐藏输入框 + * @private + */ + _createInputElement() { + if (this.inputElement) { + return; + } + + // 创建隐藏的输入框,用于捕获输入法事件 + this.inputElement = document.createElement('input'); + this.inputElement.type = 'text'; + this.inputElement.id = 'noVNC_ime_input'; + this.inputElement.autocomplete = 'off'; + this.inputElement.autocapitalize = 'off'; + this.inputElement.spellcheck = false; + + // 设置样式 - 隐藏但可聚焦 + this.inputElement.style.cssText = ` + position: fixed; + top: -9999px; + left: -9999px; + opacity: 0; + pointer-events: none; + width: 1px; + height: 1px; + `; + + document.body.appendChild(this.inputElement); + Log.Debug('[IME] 隐藏输入框已创建'); + } + + /** + * 启用输入监听器 + * @private + */ + _enableInputListeners() { + if (!this.inputElement) { + return; + } + + // 监听输入法完成事件(如选择中文候选词) + this.inputElement.addEventListener('compositionend', this._boundCompositionEnd); + + // 监听直接输入事件(非输入法输入) + this.inputElement.addEventListener('input', this._boundInput); + + Log.Debug('[IME] 输入监听器已启用'); + } + + /** + * 禁用输入监听器 + * @private + */ + _disableInputListeners() { + if (!this.inputElement) { + return; + } + + this.inputElement.removeEventListener('compositionend', this._boundCompositionEnd); + this.inputElement.removeEventListener('input', this._boundInput); + + Log.Debug('[IME] 输入监听器已禁用'); + } + + /** + * 处理输入法完成事件 + * @param {CompositionEvent} event + * @private + */ + _handleCompositionEnd(event) { + const text = event.data; + if (text && text.length > 0) { + Log.Debug('[IME] 输入法完成: ' + text); + this.sendText(text); + + // 清空输入框 + if (this.inputElement) { + this.inputElement.value = ''; + } + } + } + + /** + * 处理直接输入事件 + * @param {InputEvent} event + * @private + */ + _handleInput(event) { + // 如果正在进行输入法输入,忽略 + if (event.isComposing) { + return; + } + + const text = event.target.value; + if (text && text.length > 0) { + Log.Debug('[IME] 直接输入: ' + text); + this.sendText(text); + event.target.value = ''; + } + } + + /** + * 更新状态并触发回调 + * @param {string} status - 状态 (connecting/connected/disconnected/error) + * @param {string} message - 状态消息 + * @private + */ + _updateStatus(status, message) { + if (this.onStatusChange) { + this.onStatusChange(status, message); + } + } + + /** + * 销毁 IME 管理器 + */ + destroy() { + this.disconnect(); + + if (this.inputElement && this.inputElement.parentNode) { + this.inputElement.parentNode.removeChild(this.inputElement); + this.inputElement = null; + } + } +} + +// 导出单例 +const imeManager = new IMEManager(); +export default imeManager; + diff --git a/qiming-noVNC/app/locale/README b/qiming-noVNC/app/locale/README new file mode 100644 index 00000000..ca4f548b --- /dev/null +++ b/qiming-noVNC/app/locale/README @@ -0,0 +1 @@ +DO NOT MODIFY THE FILES IN THIS FOLDER, THEY ARE AUTOMATICALLY GENERATED FROM THE PO-FILES. diff --git a/qiming-noVNC/app/locale/cs.json b/qiming-noVNC/app/locale/cs.json new file mode 100644 index 00000000..dd31e6c1 --- /dev/null +++ b/qiming-noVNC/app/locale/cs.json @@ -0,0 +1,71 @@ +{ + "Connecting...": "Připojení...", + "Disconnecting...": "Odpojení...", + "Reconnecting...": "Obnova připojení...", + "Internal error": "Vnitřní chyba", + "Must set host": "Hostitel musí být nastavení", + "Connected (encrypted) to ": "Připojení (šifrované) k ", + "Connected (unencrypted) to ": "Připojení (nešifrované) k ", + "Something went wrong, connection is closed": "Něco se pokazilo, odpojeno", + "Failed to connect to server": "Chyba připojení k serveru", + "Disconnected": "Odpojeno", + "New connection has been rejected with reason: ": "Nové připojení bylo odmítnuto s odůvodněním: ", + "New connection has been rejected": "Nové připojení bylo odmítnuto", + "Password is required": "Je vyžadováno heslo", + "noVNC encountered an error:": "noVNC narazilo na chybu:", + "Hide/Show the control bar": "Skrýt/zobrazit ovládací panel", + "Move/Drag viewport": "Přesunout/přetáhnout výřez", + "viewport drag": "přesun výřezu", + "Active Mouse Button": "Aktivní tlačítka myši", + "No mousebutton": "Žádné", + "Left mousebutton": "Levé tlačítko myši", + "Middle mousebutton": "Prostřední tlačítko myši", + "Right mousebutton": "Pravé tlačítko myši", + "Keyboard": "Klávesnice", + "Show keyboard": "Zobrazit klávesnici", + "Extra keys": "Extra klávesy", + "Show extra keys": "Zobrazit extra klávesy", + "Ctrl": "Ctrl", + "Toggle Ctrl": "Přepnout Ctrl", + "Alt": "Alt", + "Toggle Alt": "Přepnout Alt", + "Send Tab": "Odeslat tabulátor", + "Tab": "Tab", + "Esc": "Esc", + "Send Escape": "Odeslat Esc", + "Ctrl+Alt+Del": "Ctrl+Alt+Del", + "Send Ctrl-Alt-Del": "Poslat Ctrl-Alt-Del", + "Shutdown/Reboot": "Vypnutí/Restart", + "Shutdown/Reboot...": "Vypnutí/Restart...", + "Power": "Napájení", + "Shutdown": "Vypnout", + "Reboot": "Restart", + "Reset": "Reset", + "Clipboard": "Schránka", + "Clear": "Vymazat", + "Fullscreen": "Celá obrazovka", + "Settings": "Nastavení", + "Shared mode": "Sdílený režim", + "View only": "Pouze prohlížení", + "Clip to window": "Přizpůsobit oknu", + "Scaling mode:": "Přizpůsobení velikosti", + "None": "Žádné", + "Local scaling": "Místní", + "Remote resizing": "Vzdálené", + "Advanced": "Pokročilé", + "Repeater ID:": "ID opakovače", + "WebSocket": "WebSocket", + "Encrypt": "Šifrování:", + "Host:": "Hostitel:", + "Port:": "Port:", + "Path:": "Cesta", + "Automatic reconnect": "Automatická obnova připojení", + "Reconnect delay (ms):": "Zpoždění připojení (ms)", + "Show dot when no cursor": "Tečka místo chybějícího kurzoru myši", + "Logging:": "Logování:", + "Disconnect": "Odpojit", + "Connect": "Připojit", + "Password:": "Heslo", + "Send Password": "Odeslat heslo", + "Cancel": "Zrušit" +} \ No newline at end of file diff --git a/qiming-noVNC/app/locale/de.json b/qiming-noVNC/app/locale/de.json new file mode 100644 index 00000000..fa154637 --- /dev/null +++ b/qiming-noVNC/app/locale/de.json @@ -0,0 +1,74 @@ +{ + "Connecting...": "Verbinden...", + "Disconnecting...": "Verbindung trennen...", + "Reconnecting...": "Verbindung wiederherstellen...", + "Internal error": "Interner Fehler", + "Must set host": "Richten Sie den Server ein", + "Connected (encrypted) to ": "Verbunden mit (verschlüsselt) ", + "Connected (unencrypted) to ": "Verbunden mit (unverschlüsselt) ", + "Something went wrong, connection is closed": "Etwas lief schief, Verbindung wurde getrennt", + "Disconnected": "Verbindung zum Server getrennt", + "New connection has been rejected with reason: ": "Verbindung wurde aus folgendem Grund abgelehnt: ", + "New connection has been rejected": "Verbindung wurde abgelehnt", + "Password is required": "Passwort ist erforderlich", + "noVNC encountered an error:": "Ein Fehler ist aufgetreten:", + "Hide/Show the control bar": "Kontrollleiste verstecken/anzeigen", + "Move/Drag viewport": "Ansichtsfenster verschieben/ziehen", + "viewport drag": "Ansichtsfenster ziehen", + "Active Mouse Button": "Aktive Maustaste", + "No mousebutton": "Keine Maustaste", + "Left mousebutton": "Linke Maustaste", + "Middle mousebutton": "Mittlere Maustaste", + "Right mousebutton": "Rechte Maustaste", + "Keyboard": "Tastatur", + "Show keyboard": "Tastatur anzeigen", + "Extra keys": "Zusatztasten", + "Show extra keys": "Zusatztasten anzeigen", + "Ctrl": "Strg", + "Toggle Ctrl": "Strg umschalten", + "Alt": "Alt", + "Toggle Alt": "Alt umschalten", + "Send Tab": "Tab senden", + "Tab": "Tab", + "Esc": "Esc", + "Send Escape": "Escape senden", + "Ctrl+Alt+Del": "Strg+Alt+Entf", + "Send Ctrl-Alt-Del": "Strg+Alt+Entf senden", + "Shutdown/Reboot": "Herunterfahren/Neustarten", + "Shutdown/Reboot...": "Herunterfahren/Neustarten...", + "Power": "Energie", + "Shutdown": "Herunterfahren", + "Reboot": "Neustarten", + "Reset": "Zurücksetzen", + "Clipboard": "Zwischenablage", + "Clear": "Löschen", + "Fullscreen": "Vollbild", + "Settings": "Einstellungen", + "Shared mode": "Geteilter Modus", + "View only": "Nur betrachten", + "Clip to window": "Auf Fenster begrenzen", + "Scaling mode:": "Skalierungsmodus:", + "None": "Keiner", + "Local scaling": "Lokales skalieren", + "Remote resizing": "Serverseitiges skalieren", + "Advanced": "Erweitert", + "Repeater ID:": "Repeater ID:", + "WebSocket": "WebSocket", + "Encrypt": "Verschlüsselt", + "Host:": "Server:", + "Port:": "Port:", + "Path:": "Pfad:", + "Automatic reconnect": "Automatisch wiederverbinden", + "Reconnect delay (ms):": "Wiederverbindungsverzögerung (ms):", + "Logging:": "Protokollierung:", + "Disconnect": "Verbindung trennen", + "Connect": "Verbinden", + "Password:": "Passwort:", + "Cancel": "Abbrechen", + "Canvas not supported.": "Canvas nicht unterstützt.", + "Disconnect timeout": "Zeitüberschreitung beim Trennen", + "Local Downscaling": "Lokales herunterskalieren", + "Local Cursor": "Lokaler Mauszeiger", + "Forcing clipping mode since scrollbars aren't supported by IE in fullscreen": "'Clipping-Modus' aktiviert, Scrollbalken in 'IE-Vollbildmodus' werden nicht unterstützt", + "True Color": "True Color" +} \ No newline at end of file diff --git a/qiming-noVNC/app/locale/el.json b/qiming-noVNC/app/locale/el.json new file mode 100644 index 00000000..57d67316 --- /dev/null +++ b/qiming-noVNC/app/locale/el.json @@ -0,0 +1,100 @@ +{ + "HTTPS is required for full functionality": "Το HTTPS είναι απαιτούμενο για πλήρη λειτουργικότητα", + "Connecting...": "Συνδέεται...", + "Disconnecting...": "Aποσυνδέεται...", + "Reconnecting...": "Επανασυνδέεται...", + "Internal error": "Εσωτερικό σφάλμα", + "Must set host": "Πρέπει να οριστεί ο διακομιστής", + "Connected (encrypted) to ": "Συνδέθηκε (κρυπτογραφημένα) με το ", + "Connected (unencrypted) to ": "Συνδέθηκε (μη κρυπτογραφημένα) με το ", + "Something went wrong, connection is closed": "Κάτι πήγε στραβά, η σύνδεση διακόπηκε", + "Failed to connect to server": "Αποτυχία στη σύνδεση με το διακομιστή", + "Disconnected": "Αποσυνδέθηκε", + "New connection has been rejected with reason: ": "Η νέα σύνδεση απορρίφθηκε διότι: ", + "New connection has been rejected": "Η νέα σύνδεση απορρίφθηκε ", + "Credentials are required": "Απαιτούνται διαπιστευτήρια", + "noVNC encountered an error:": "το noVNC αντιμετώπισε ένα σφάλμα:", + "Hide/Show the control bar": "Απόκρυψη/Εμφάνιση γραμμής ελέγχου", + "Drag": "Σύρσιμο", + "Move/Drag Viewport": "Μετακίνηση/Σύρσιμο Θεατού πεδίου", + "Keyboard": "Πληκτρολόγιο", + "Show Keyboard": "Εμφάνιση Πληκτρολογίου", + "Extra keys": "Επιπλέον πλήκτρα", + "Show Extra Keys": "Εμφάνιση Επιπλέον Πλήκτρων", + "Ctrl": "Ctrl", + "Toggle Ctrl": "Εναλλαγή Ctrl", + "Alt": "Alt", + "Toggle Alt": "Εναλλαγή Alt", + "Toggle Windows": "Εναλλαγή Παράθυρων", + "Windows": "Παράθυρα", + "Send Tab": "Αποστολή Tab", + "Tab": "Tab", + "Esc": "Esc", + "Send Escape": "Αποστολή Escape", + "Ctrl+Alt+Del": "Ctrl+Alt+Del", + "Send Ctrl-Alt-Del": "Αποστολή Ctrl-Alt-Del", + "Shutdown/Reboot": "Κλείσιμο/Επανεκκίνηση", + "Shutdown/Reboot...": "Κλείσιμο/Επανεκκίνηση...", + "Power": "Απενεργοποίηση", + "Shutdown": "Κλείσιμο", + "Reboot": "Επανεκκίνηση", + "Reset": "Επαναφορά", + "Clipboard": "Πρόχειρο", + "Edit clipboard content in the textarea below.": "Επεξεργαστείτε το περιεχόμενο του πρόχειρου στην περιοχή κειμένου παρακάτω.", + "Full Screen": "Πλήρης Οθόνη", + "Settings": "Ρυθμίσεις", + "Shared Mode": "Κοινόχρηστη Λειτουργία", + "View Only": "Μόνο Θέαση", + "Clip to Window": "Αποκοπή στο όριο του Παράθυρου", + "Scaling Mode:": "Λειτουργία Κλιμάκωσης:", + "None": "Καμία", + "Local Scaling": "Τοπική Κλιμάκωση", + "Remote Resizing": "Απομακρυσμένη Αλλαγή μεγέθους", + "Advanced": "Για προχωρημένους", + "Quality:": "Ποιότητα:", + "Compression level:": "Επίπεδο συμπίεσης:", + "Repeater ID:": "Repeater ID:", + "WebSocket": "WebSocket", + "Encrypt": "Κρυπτογράφηση", + "Host:": "Όνομα διακομιστή:", + "Port:": "Πόρτα διακομιστή:", + "Path:": "Διαδρομή:", + "Automatic Reconnect": "Αυτόματη επανασύνδεση", + "Reconnect Delay (ms):": "Καθυστέρηση επανασύνδεσης (ms):", + "Show Dot when No Cursor": "Εμφάνιση Τελείας όταν δεν υπάρχει Δρομέας", + "Logging:": "Καταγραφή:", + "Version:": "Έκδοση:", + "Disconnect": "Αποσύνδεση", + "Connect": "Σύνδεση", + "Server identity": "Ταυτότητα Διακομιστή", + "The server has provided the following identifying information:": "Ο διακομιστής παρείχε την ακόλουθη πληροφορία ταυτοποίησης:", + "Fingerprint:": "Δακτυλικό αποτύπωμα:", + "Please verify that the information is correct and press \"Approve\". Otherwise press \"Reject\".": "Παρακαλώ επαληθεύσετε ότι η πληροφορία είναι σωστή και πιέστε \"Αποδοχή\". Αλλιώς πιέστε \"Απόρριψη\".", + "Approve": "Αποδοχή", + "Reject": "Απόρριψη", + "Credentials": "Διαπιστευτήρια", + "Username:": "Κωδικός Χρήστη:", + "Password:": "Κωδικός Πρόσβασης:", + "Send Credentials": "Αποστολή Διαπιστευτηρίων", + "Cancel": "Ακύρωση", + "Password is required": "Απαιτείται ο κωδικός πρόσβασης", + "viewport drag": "σύρσιμο θεατού πεδίου", + "Active Mouse Button": "Ενεργό Πλήκτρο Ποντικιού", + "No mousebutton": "Χωρίς Πλήκτρο Ποντικιού", + "Left mousebutton": "Αριστερό Πλήκτρο Ποντικιού", + "Middle mousebutton": "Μεσαίο Πλήκτρο Ποντικιού", + "Right mousebutton": "Δεξί Πλήκτρο Ποντικιού", + "Clear": "Καθάρισμα", + "Canvas not supported.": "Δεν υποστηρίζεται το στοιχείο Canvas", + "Disconnect timeout": "Παρέλευση χρονικού ορίου αποσύνδεσης", + "Local Downscaling": "Τοπική Συρρίκνωση", + "Local Cursor": "Τοπικός Δρομέας", + "Forcing clipping mode since scrollbars aren't supported by IE in fullscreen": "Εφαρμογή λειτουργίας αποκοπής αφού δεν υποστηρίζονται οι λωρίδες κύλισης σε πλήρη οθόνη στον IE", + "True Color": "Πραγματικά Χρώματα", + "Style:": "Στυλ:", + "default": "προεπιλεγμένο", + "Apply": "Εφαρμογή", + "Connection": "Σύνδεση", + "Token:": "Διακριτικό:", + "Send Password": "Αποστολή Κωδικού Πρόσβασης" +} \ No newline at end of file diff --git a/qiming-noVNC/app/locale/es.json b/qiming-noVNC/app/locale/es.json new file mode 100644 index 00000000..bb088243 --- /dev/null +++ b/qiming-noVNC/app/locale/es.json @@ -0,0 +1,68 @@ +{ + "Connecting...": "Conectando...", + "Connected (encrypted) to ": "Conectado (con encriptación) a", + "Connected (unencrypted) to ": "Conectado (sin encriptación) a", + "Disconnecting...": "Desconectando...", + "Disconnected": "Desconectado", + "Must set host": "Se debe configurar el host", + "Reconnecting...": "Reconectando...", + "Password is required": "La contraseña es obligatoria", + "Disconnect timeout": "Tiempo de desconexión agotado", + "noVNC encountered an error:": "noVNC ha encontrado un error:", + "Hide/Show the control bar": "Ocultar/Mostrar la barra de control", + "Move/Drag viewport": "Mover/Arrastrar la ventana", + "viewport drag": "Arrastrar la ventana", + "Active Mouse Button": "Botón activo del ratón", + "No mousebutton": "Ningún botón del ratón", + "Left mousebutton": "Botón izquierdo del ratón", + "Middle mousebutton": "Botón central del ratón", + "Right mousebutton": "Botón derecho del ratón", + "Keyboard": "Teclado", + "Show keyboard": "Mostrar teclado", + "Extra keys": "Teclas adicionales", + "Show Extra Keys": "Mostrar Teclas Adicionales", + "Ctrl": "Ctrl", + "Toggle Ctrl": "Pulsar/Soltar Ctrl", + "Alt": "Alt", + "Toggle Alt": "Pulsar/Soltar Alt", + "Send Tab": "Enviar Tabulación", + "Tab": "Tabulación", + "Esc": "Esc", + "Send Escape": "Enviar Escape", + "Ctrl+Alt+Del": "Ctrl+Alt+Del", + "Send Ctrl-Alt-Del": "Enviar Ctrl+Alt+Del", + "Shutdown/Reboot": "Apagar/Reiniciar", + "Shutdown/Reboot...": "Apagar/Reiniciar...", + "Power": "Encender", + "Shutdown": "Apagar", + "Reboot": "Reiniciar", + "Reset": "Restablecer", + "Clipboard": "Portapapeles", + "Clear": "Vaciar", + "Fullscreen": "Pantalla Completa", + "Settings": "Configuraciones", + "Encrypt": "Encriptar", + "Shared Mode": "Modo Compartido", + "View only": "Solo visualización", + "Clip to window": "Recortar al tamaño de la ventana", + "Scaling mode:": "Modo de escalado:", + "None": "Ninguno", + "Local Scaling": "Escalado Local", + "Local Downscaling": "Reducción de escala local", + "Remote resizing": "Cambio de tamaño remoto", + "Advanced": "Avanzado", + "Local Cursor": "Cursor Local", + "Repeater ID:": "ID del Repetidor:", + "WebSocket": "WebSocket", + "Host:": "Host:", + "Port:": "Puerto:", + "Path:": "Ruta:", + "Automatic reconnect": "Reconexión automática", + "Reconnect delay (ms):": "Retraso en la reconexión (ms):", + "Logging:": "Registrando:", + "Disconnect": "Desconectar", + "Connect": "Conectar", + "Password:": "Contraseña:", + "Cancel": "Cancelar", + "Canvas not supported.": "Canvas no soportado." +} \ No newline at end of file diff --git a/qiming-noVNC/app/locale/fr.json b/qiming-noVNC/app/locale/fr.json new file mode 100644 index 00000000..c8607ceb --- /dev/null +++ b/qiming-noVNC/app/locale/fr.json @@ -0,0 +1,82 @@ +{ + "Running without HTTPS is not recommended, crashes or other issues are likely.": "Lancer sans HTTPS n'est pas recommandé, crashs ou autres problèmes en vue.", + "Connecting...": "En cours de connexion...", + "Disconnecting...": "Déconnexion en cours...", + "Reconnecting...": "Reconnexion en cours...", + "Internal error": "Erreur interne", + "Failed to connect to server: ": "Échec de connexion au serveur ", + "Connected (encrypted) to ": "Connecté (chiffré) à ", + "Connected (unencrypted) to ": "Connecté (non chiffré) à ", + "Something went wrong, connection is closed": "Quelque chose s'est mal passé, la connexion a été fermée", + "Failed to connect to server": "Échec de connexion au serveur", + "Disconnected": "Déconnecté", + "New connection has been rejected with reason: ": "Une nouvelle connexion a été rejetée avec motif : ", + "New connection has been rejected": "Une nouvelle connexion a été rejetée", + "Credentials are required": "Les identifiants sont requis", + "noVNC encountered an error:": "noVNC a rencontré une erreur :", + "Hide/Show the control bar": "Masquer/Afficher la barre de contrôle", + "Drag": "Faire glisser", + "Move/Drag viewport": "Déplacer la fenêtre de visualisation", + "Keyboard": "Clavier", + "Show keyboard": "Afficher le clavier", + "Extra keys": "Touches supplémentaires", + "Show extra keys": "Afficher les touches supplémentaires", + "Ctrl": "Ctrl", + "Toggle Ctrl": "Basculer Ctrl", + "Alt": "Alt", + "Toggle Alt": "Basculer Alt", + "Toggle Windows": "Basculer Windows", + "Windows": "Fenêtre", + "Send Tab": "Envoyer Tab", + "Tab": "Tabulation", + "Esc": "Esc", + "Send Escape": "Envoyer Escape", + "Ctrl+Alt+Del": "Ctrl+Alt+Del", + "Send Ctrl-Alt-Del": "Envoyer Ctrl-Alt-Del", + "Shutdown/Reboot": "Arrêter/Redémarrer", + "Shutdown/Reboot...": "Arrêter/Redémarrer...", + "Power": "Alimentation", + "Shutdown": "Arrêter", + "Reboot": "Redémarrer", + "Reset": "Réinitialiser", + "Clipboard": "Presse-papiers", + "Edit clipboard content in the textarea below.": "Editer le contenu du presse-papier dans la zone ci-dessous.", + "Full screen": "Plein écran", + "Settings": "Paramètres", + "Shared mode": "Mode partagé", + "View only": "Afficher uniquement", + "Clip to window": "Ajuster à la fenêtre", + "Scaling mode:": "Mode mise à l'échelle :", + "None": "Aucun", + "Local scaling": "Mise à l'échelle locale", + "Remote resizing": "Redimensionnement à distance", + "Advanced": "Avancé", + "Quality:": "Qualité :", + "Compression level:": "Niveau de compression :", + "Repeater ID:": "ID Répéteur :", + "WebSocket": "WebSocket", + "Encrypt": "Chiffrer", + "Host:": "Hôte :", + "Port:": "Port :", + "Path:": "Chemin :", + "Automatic reconnect": "Reconnecter automatiquement", + "Reconnect delay (ms):": "Délai de reconnexion (ms) :", + "Show dot when no cursor": "Afficher le point lorsqu'il n'y a pas de curseur", + "Logging:": "Se connecter :", + "Version:": "Version :", + "Disconnect": "Déconnecter", + "Connect": "Connecter", + "Server identity": "Identité du serveur", + "The server has provided the following identifying information:": "Le serveur a fourni l'identification suivante :", + "Fingerprint:": "Empreinte digitale :", + "Please verify that the information is correct and press \"Approve\". Otherwise press \"Reject\".": "SVP, verifiez que l'information est correcte et pressez \"Accepter\". Sinon pressez \"Refuser\".", + "Approve": "Accepter", + "Reject": "Refuser", + "Credentials": "Envoyer les identifiants", + "Username:": "Nom d'utilisateur :", + "Password:": "Mot de passe :", + "Send credentials": "Envoyer les identifiants", + "Cancel": "Annuler", + "Must set host": "Doit définir l'hôte", + "Clear": "Effacer" +} \ No newline at end of file diff --git a/qiming-noVNC/app/locale/it.json b/qiming-noVNC/app/locale/it.json new file mode 100644 index 00000000..28e6f721 --- /dev/null +++ b/qiming-noVNC/app/locale/it.json @@ -0,0 +1,68 @@ +{ + "Connecting...": "Connessione in corso...", + "Disconnecting...": "Disconnessione...", + "Reconnecting...": "Riconnessione...", + "Internal error": "Errore interno", + "Must set host": "Devi impostare l'host", + "Connected (encrypted) to ": "Connesso (crittografato) a ", + "Connected (unencrypted) to ": "Connesso (non crittografato) a", + "Something went wrong, connection is closed": "Qualcosa è andato storto, la connessione è stata chiusa", + "Failed to connect to server": "Impossibile connettersi al server", + "Disconnected": "Disconnesso", + "New connection has been rejected with reason: ": "La nuova connessione è stata rifiutata con motivo: ", + "New connection has been rejected": "La nuova connessione è stata rifiutata", + "Credentials are required": "Le credenziali sono obbligatorie", + "noVNC encountered an error:": "noVNC ha riscontrato un errore:", + "Hide/Show the control bar": "Nascondi/Mostra la barra di controllo", + "Keyboard": "Tastiera", + "Show keyboard": "Mostra tastiera", + "Extra keys": "Tasti Aggiuntivi", + "Show Extra Keys": "Mostra Tasti Aggiuntivi", + "Ctrl": "Ctrl", + "Toggle Ctrl": "Tieni premuto Ctrl", + "Alt": "Alt", + "Toggle Alt": "Tieni premuto Alt", + "Toggle Windows": "Tieni premuto Windows", + "Windows": "Windows", + "Send Tab": "Invia Tab", + "Tab": "Tab", + "Esc": "Esc", + "Send Escape": "Invia Esc", + "Ctrl+Alt+Del": "Ctrl+Alt+Canc", + "Send Ctrl-Alt-Del": "Invia Ctrl-Alt-Canc", + "Shutdown/Reboot": "Spegnimento/Riavvio", + "Shutdown/Reboot...": "Spegnimento/Riavvio...", + "Power": "Alimentazione", + "Shutdown": "Spegnimento", + "Reboot": "Riavvio", + "Reset": "Reset", + "Clipboard": "Clipboard", + "Clear": "Pulisci", + "Fullscreen": "Schermo intero", + "Settings": "Impostazioni", + "Shared mode": "Modalità condivisa", + "View Only": "Sola Visualizzazione", + "Scaling mode:": "Modalità di ridimensionamento:", + "None": "Nessuna", + "Local Scaling": "Ridimensionamento Locale", + "Remote Resizing": "Ridimensionamento Remoto", + "Advanced": "Avanzate", + "Quality:": "Qualità:", + "Compression level:": "Livello Compressione:", + "Repeater ID:": "ID Ripetitore:", + "WebSocket": "WebSocket", + "Encrypt": "Crittografa", + "Host:": "Host:", + "Port:": "Porta:", + "Path:": "Percorso:", + "Automatic Reconnect": "Riconnessione Automatica", + "Reconnect Delay (ms):": "Ritardo Riconnessione (ms):", + "Show Dot when No Cursor": "Mostra Punto quando Nessun Cursore", + "Version:": "Versione:", + "Disconnect": "Disconnetti", + "Connect": "Connetti", + "Username:": "Utente:", + "Password:": "Password:", + "Send Credentials": "Invia Credenziale", + "Cancel": "Annulla" +} \ No newline at end of file diff --git a/qiming-noVNC/app/locale/ja.json b/qiming-noVNC/app/locale/ja.json new file mode 100644 index 00000000..4fc9b8a9 --- /dev/null +++ b/qiming-noVNC/app/locale/ja.json @@ -0,0 +1,81 @@ +{ + "Running without HTTPS is not recommended, crashes or other issues are likely.": "HTTPS接続なしで実行することは推奨されません。クラッシュしたりその他の問題が発生したりする可能性があります。", + "Connecting...": "接続しています...", + "Disconnecting...": "切断しています...", + "Reconnecting...": "再接続しています...", + "Internal error": "内部エラー", + "Must set host": "ホストを設定する必要があります", + "Failed to connect to server: ": "サーバーへの接続に失敗しました: ", + "Connected (encrypted) to ": "接続しました (暗号化済み): ", + "Connected (unencrypted) to ": "接続しました (暗号化されていません): ", + "Something went wrong, connection is closed": "問題が発生したため、接続が閉じられました", + "Failed to connect to server": "サーバーへの接続に失敗しました", + "Disconnected": "切断しました", + "New connection has been rejected with reason: ": "新規接続は次の理由で拒否されました: ", + "New connection has been rejected": "新規接続は拒否されました", + "Credentials are required": "資格情報が必要です", + "noVNC encountered an error:": "noVNC でエラーが発生しました:", + "Hide/Show the control bar": "コントロールバーを隠す/表示する", + "Drag": "ドラッグ", + "Move/Drag viewport": "ビューポートを移動/ドラッグ", + "Keyboard": "キーボード", + "Show keyboard": "キーボードを表示", + "Extra keys": "追加キー", + "Show extra keys": "追加キーを表示", + "Ctrl": "Ctrl", + "Toggle Ctrl": "Ctrl キーをトグル", + "Alt": "Alt", + "Toggle Alt": "Alt キーをトグル", + "Toggle Windows": "Windows キーをトグル", + "Windows": "Windows", + "Send Tab": "Tab キーを送信", + "Tab": "Tab", + "Esc": "Esc", + "Send Escape": "Escape キーを送信", + "Ctrl+Alt+Del": "Ctrl+Alt+Del", + "Send Ctrl-Alt-Del": "Ctrl-Alt-Del を送信", + "Shutdown/Reboot": "シャットダウン/再起動", + "Shutdown/Reboot...": "シャットダウン/再起動...", + "Power": "電源", + "Shutdown": "シャットダウン", + "Reboot": "再起動", + "Reset": "リセット", + "Clipboard": "クリップボード", + "Edit clipboard content in the textarea below.": "以下の入力欄からクリップボードの内容を編集できます。", + "Full screen": "全画面表示", + "Settings": "設定", + "Shared mode": "共有モード", + "View only": "表示専用", + "Clip to window": "ウィンドウにクリップ", + "Scaling mode:": "スケーリングモード:", + "None": "なし", + "Local scaling": "ローカルでスケーリング", + "Remote resizing": "リモートでリサイズ", + "Advanced": "高度", + "Quality:": "品質:", + "Compression level:": "圧縮レベル:", + "Repeater ID:": "リピーター ID:", + "WebSocket": "WebSocket", + "Encrypt": "暗号化", + "Host:": "ホスト:", + "Port:": "ポート:", + "Path:": "パス:", + "Automatic reconnect": "自動再接続", + "Reconnect delay (ms):": "再接続する遅延 (ミリ秒):", + "Show dot when no cursor": "カーソルがないときにドットを表示する", + "Logging:": "ロギング:", + "Version:": "バージョン:", + "Disconnect": "切断", + "Connect": "接続", + "Server identity": "サーバーの識別情報", + "The server has provided the following identifying information:": "サーバーは以下の識別情報を提供しています:", + "Fingerprint:": "フィンガープリント:", + "Please verify that the information is correct and press \"Approve\". Otherwise press \"Reject\".": "この情報が正しい場合は「承認」を、そうでない場合は「拒否」を押してください。", + "Approve": "承認", + "Reject": "拒否", + "Credentials": "資格情報", + "Username:": "ユーザー名:", + "Password:": "パスワード:", + "Send credentials": "資格情報を送信", + "Cancel": "キャンセル" +} \ No newline at end of file diff --git a/qiming-noVNC/app/locale/ko.json b/qiming-noVNC/app/locale/ko.json new file mode 100644 index 00000000..47b0805c --- /dev/null +++ b/qiming-noVNC/app/locale/ko.json @@ -0,0 +1,70 @@ +{ + "Connecting...": "연결중...", + "Disconnecting...": "연결 해제중...", + "Reconnecting...": "재연결중...", + "Internal error": "내부 오류", + "Must set host": "호스트는 설정되어야 합니다.", + "Connected (encrypted) to ": "다음과 (암호화되어) 연결되었습니다:", + "Connected (unencrypted) to ": "다음과 (암호화 없이) 연결되었습니다:", + "Something went wrong, connection is closed": "무언가 잘못되었습니다, 연결이 닫혔습니다.", + "Failed to connect to server": "서버에 연결하지 못했습니다.", + "Disconnected": "연결이 해제되었습니다.", + "New connection has been rejected with reason: ": "새 연결이 다음 이유로 거부되었습니다:", + "New connection has been rejected": "새 연결이 거부되었습니다.", + "Password is required": "비밀번호가 필요합니다.", + "noVNC encountered an error:": "noVNC에 오류가 발생했습니다:", + "Hide/Show the control bar": "컨트롤 바 숨기기/보이기", + "Move/Drag viewport": "움직이기/드래그 뷰포트", + "viewport drag": "뷰포트 드래그", + "Active Mouse Button": "마우스 버튼 활성화", + "No mousebutton": "마우스 버튼 없음", + "Left mousebutton": "왼쪽 마우스 버튼", + "Middle mousebutton": "중간 마우스 버튼", + "Right mousebutton": "오른쪽 마우스 버튼", + "Keyboard": "키보드", + "Show keyboard": "키보드 보이기", + "Extra keys": "기타 키들", + "Show extra keys": "기타 키들 보이기", + "Ctrl": "Ctrl", + "Toggle Ctrl": "Ctrl 켜기/끄기", + "Alt": "Alt", + "Toggle Alt": "Alt 켜기/끄기", + "Send Tab": "Tab 보내기", + "Tab": "Tab", + "Esc": "Esc", + "Send Escape": "Esc 보내기", + "Ctrl+Alt+Del": "Ctrl+Alt+Del", + "Send Ctrl-Alt-Del": "Ctrl+Alt+Del 보내기", + "Shutdown/Reboot": "셧다운/리붓", + "Shutdown/Reboot...": "셧다운/리붓...", + "Power": "전원", + "Shutdown": "셧다운", + "Reboot": "리붓", + "Reset": "리셋", + "Clipboard": "클립보드", + "Clear": "지우기", + "Fullscreen": "전체화면", + "Settings": "설정", + "Shared mode": "공유 모드", + "View only": "보기 전용", + "Clip to window": "창에 클립", + "Scaling mode:": "스케일링 모드:", + "None": "없음", + "Local scaling": "로컬 스케일링", + "Remote resizing": "원격 크기 조절", + "Advanced": "고급", + "Repeater ID:": "중계 ID", + "WebSocket": "웹소켓", + "Encrypt": "암호화", + "Host:": "호스트:", + "Port:": "포트:", + "Path:": "위치:", + "Automatic reconnect": "자동 재연결", + "Reconnect delay (ms):": "재연결 지연 시간 (ms)", + "Logging:": "로깅", + "Disconnect": "연결 해제", + "Connect": "연결", + "Password:": "비밀번호:", + "Send Password": "비밀번호 전송", + "Cancel": "취소" +} \ No newline at end of file diff --git a/qiming-noVNC/app/locale/nl.json b/qiming-noVNC/app/locale/nl.json new file mode 100644 index 00000000..61f2df3c --- /dev/null +++ b/qiming-noVNC/app/locale/nl.json @@ -0,0 +1,95 @@ +{ + "Running without HTTPS is not recommended, crashes or other issues are likely.": "Het is niet aan te raden om zonder HTTPS te werken, crashes of andere problemen zijn dan waarschijnlijk.", + "Connecting...": "Aan het verbinden…", + "Disconnecting...": "Bezig om verbinding te verbreken...", + "Reconnecting...": "Opnieuw verbinding maken...", + "Internal error": "Interne fout", + "Failed to connect to server: ": "Verbinding maken met server is mislukt", + "Connected (encrypted) to ": "Verbonden (versleuteld) met ", + "Connected (unencrypted) to ": "Verbonden (onversleuteld) met ", + "Something went wrong, connection is closed": "Er iets fout gelopen, verbinding werd verbroken", + "Failed to connect to server": "Verbinding maken met server is mislukt", + "Disconnected": "Verbinding verbroken", + "New connection has been rejected with reason: ": "Nieuwe verbinding is geweigerd met de volgende reden: ", + "New connection has been rejected": "Nieuwe verbinding is geweigerd", + "Credentials are required": "Inloggegevens zijn nodig", + "noVNC encountered an error:": "noVNC heeft een fout bemerkt:", + "Hide/Show the control bar": "Verberg/Toon de bedieningsbalk", + "Drag": "Sleep", + "Move/Drag viewport": "Verplaats/Versleep Kijkvenster", + "Keyboard": "Toetsenbord", + "Show keyboard": "Toon Toetsenbord", + "Extra keys": "Extra toetsen", + "Show extra keys": "Toon Extra Toetsen", + "Ctrl": "Ctrl", + "Toggle Ctrl": "Ctrl omschakelen", + "Alt": "Alt", + "Toggle Alt": "Alt omschakelen", + "Toggle Windows": "Vensters omschakelen", + "Windows": "Vensters", + "Send Tab": "Tab Sturen", + "Tab": "Tab", + "Esc": "Esc", + "Send Escape": "Escape Sturen", + "Ctrl+Alt+Del": "Ctrl-Alt-Del", + "Send Ctrl-Alt-Del": "Ctrl-Alt-Del Sturen", + "Shutdown/Reboot": "Uitschakelen/Herstarten", + "Shutdown/Reboot...": "Uitschakelen/Herstarten...", + "Power": "Systeem", + "Shutdown": "Uitschakelen", + "Reboot": "Herstarten", + "Reset": "Resetten", + "Clipboard": "Klembord", + "Edit clipboard content in the textarea below.": "Edit de inhoud van het klembord in het tekstveld hieronder", + "Full screen": "Volledig Scherm", + "Settings": "Instellingen", + "Shared mode": "Gedeelde Modus", + "View only": "Alleen Kijken", + "Clip to window": "Randen buiten venster afsnijden", + "Scaling mode:": "Schaalmodus:", + "None": "Geen", + "Local scaling": "Lokaal Schalen", + "Remote resizing": "Op Afstand Formaat Wijzigen", + "Advanced": "Geavanceerd", + "Quality:": "Kwaliteit:", + "Compression level:": "Compressieniveau:", + "Repeater ID:": "Repeater ID:", + "WebSocket": "WebSocket", + "Encrypt": "Versleutelen", + "Host:": "Host:", + "Port:": "Poort:", + "Path:": "Pad:", + "Automatic reconnect": "Automatisch Opnieuw Verbinden", + "Reconnect delay (ms):": "Vertraging voor Opnieuw Verbinden (ms):", + "Show dot when no cursor": "Geef stip weer indien geen cursor", + "Logging:": "Logmeldingen:", + "Version:": "Versie:", + "Disconnect": "Verbinding verbreken", + "Connect": "Verbinden", + "Server identity": "Serveridentiteit", + "The server has provided the following identifying information:": "De server geeft de volgende identificerende informatie:", + "Fingerprint:": "Vingerafdruk:", + "Please verify that the information is correct and press \"Approve\". Otherwise press \"Reject\".": "Verifieer dat de informatie is correct en druk “OK”. Druk anders op “Afwijzen”.", + "Approve": "OK", + "Reject": "Afwijzen", + "Credentials": "Inloggegevens", + "Username:": "Gebruikersnaam:", + "Password:": "Wachtwoord:", + "Send credentials": "Stuur inloggegevens", + "Cancel": "Annuleren", + "Must set host": "Host moeten worden ingesteld", + "Password is required": "Wachtwoord is vereist", + "viewport drag": "kijkvenster slepen", + "Active Mouse Button": "Actieve Muisknop", + "No mousebutton": "Geen muisknop", + "Left mousebutton": "Linker muisknop", + "Middle mousebutton": "Middelste muisknop", + "Right mousebutton": "Rechter muisknop", + "Clear": "Wissen", + "Send Password": "Verzend Wachtwoord:", + "Disconnect timeout": "Timeout tijdens verbreken van verbinding", + "Local Downscaling": "Lokaal Neerschalen", + "Local Cursor": "Lokale Cursor", + "Canvas not supported.": "Canvas wordt niet ondersteund.", + "Forcing clipping mode since scrollbars aren't supported by IE in fullscreen": "''Clipping mode' ingeschakeld, omdat schuifbalken in volledige-scherm-modus in IE niet worden ondersteund" +} \ No newline at end of file diff --git a/qiming-noVNC/app/locale/pl.json b/qiming-noVNC/app/locale/pl.json new file mode 100644 index 00000000..87c16905 --- /dev/null +++ b/qiming-noVNC/app/locale/pl.json @@ -0,0 +1,80 @@ +{ + "Connecting...": "Łączenie...", + "Disconnecting...": "Rozłączanie...", + "Reconnecting...": "Łączenie...", + "Internal error": "Błąd wewnętrzny", + "Must set host": "Host i port są wymagane", + "Connected (encrypted) to ": "Połączenie (szyfrowane) z ", + "Connected (unencrypted) to ": "Połączenie (nieszyfrowane) z ", + "Something went wrong, connection is closed": "Coś poszło źle, połączenie zostało zamknięte", + "Disconnected": "Rozłączony", + "New connection has been rejected with reason: ": "Nowe połączenie zostało odrzucone z powodu: ", + "New connection has been rejected": "Nowe połączenie zostało odrzucone", + "Password is required": "Hasło jest wymagane", + "noVNC encountered an error:": "noVNC napotkało błąd:", + "Hide/Show the control bar": "Pokaż/Ukryj pasek ustawień", + "Move/Drag Viewport": "Ruszaj/Przeciągaj Viewport", + "viewport drag": "przeciągnij viewport", + "Active Mouse Button": "Aktywny Przycisk Myszy", + "No mousebutton": "Brak przycisku myszy", + "Left mousebutton": "Lewy przycisk myszy", + "Middle mousebutton": "Środkowy przycisk myszy", + "Right mousebutton": "Prawy przycisk myszy", + "Keyboard": "Klawiatura", + "Show keyboard": "Pokaż klawiaturę", + "Extra keys": "Przyciski dodatkowe", + "Show extra keys": "Pokaż przyciski dodatkowe", + "Ctrl": "Ctrl", + "Toggle Ctrl": "Przełącz Ctrl", + "Alt": "Alt", + "Toggle Alt": "Przełącz Alt", + "Send Tab": "Wyślij Tab", + "Tab": "Tab", + "Esc": "Esc", + "Send Escape": "Wyślij Escape", + "Ctrl+Alt+Del": "Ctrl+Alt+Del", + "Send Ctrl-Alt-Del": "Wyślij Ctrl-Alt-Del", + "Shutdown/Reboot": "Wyłącz/Uruchom ponownie", + "Shutdown/Reboot...": "Wyłącz/Uruchom ponownie...", + "Power": "Włączony", + "Shutdown": "Wyłącz", + "Reboot": "Uruchom ponownie", + "Reset": "Resetuj", + "Clipboard": "Schowek", + "Clear": "Wyczyść", + "Fullscreen": "Pełny ekran", + "Settings": "Ustawienia", + "Shared Mode": "Tryb Współdzielenia", + "View Only": "Tylko Podgląd", + "Clip to Window": "Przytnij do Okna", + "Scaling Mode:": "Tryb Skalowania:", + "None": "Brak", + "Local scaling": "Skalowanie lokalne", + "Remote resizing": "Skalowanie zdalne", + "Advanced": "Zaawansowane", + "Repeater ID:": "ID Repeatera:", + "WebSocket": "WebSocket", + "Encrypt": "Szyfrowanie", + "Host:": "Host:", + "Port:": "Port:", + "Path:": "Ścieżka:", + "Automatic reconnect": "Automatycznie wznawiaj połączenie", + "Reconnect delay (ms):": "Opóźnienie wznawiania (ms):", + "Logging:": "Poziom logowania:", + "Disconnect": "Rozłącz", + "Connect": "Połącz", + "Password:": "Hasło:", + "Cancel": "Anuluj", + "Canvas not supported.": "Element Canvas nie jest wspierany.", + "Disconnect timeout": "Timeout rozłączenia", + "Local Downscaling": "Downscaling lokalny", + "Local Cursor": "Lokalny kursor", + "Forcing clipping mode since scrollbars aren't supported by IE in fullscreen": "Wymuszam clipping mode ponieważ paski przewijania nie są wspierane przez IE w trybie pełnoekranowym", + "True Color": "True Color", + "Style:": "Styl:", + "default": "domyślny", + "Apply": "Zapisz", + "Connection": "Połączenie", + "Token:": "Token:", + "Send Password": "Wyślij Hasło" +} \ No newline at end of file diff --git a/qiming-noVNC/app/locale/pt_BR.json b/qiming-noVNC/app/locale/pt_BR.json new file mode 100644 index 00000000..224b86ef --- /dev/null +++ b/qiming-noVNC/app/locale/pt_BR.json @@ -0,0 +1,72 @@ +{ + "Connecting...": "Conectando...", + "Disconnecting...": "Desconectando...", + "Reconnecting...": "Reconectando...", + "Internal error": "Erro interno", + "Must set host": "É necessário definir o host", + "Connected (encrypted) to ": "Conectado (com criptografia) a ", + "Connected (unencrypted) to ": "Conectado (sem criptografia) a ", + "Something went wrong, connection is closed": "Algo deu errado. A conexão foi encerrada.", + "Failed to connect to server": "Falha ao conectar-se ao servidor", + "Disconnected": "Desconectado", + "New connection has been rejected with reason: ": "A nova conexão foi rejeitada pelo motivo: ", + "New connection has been rejected": "A nova conexão foi rejeitada", + "Credentials are required": "Credenciais são obrigatórias", + "noVNC encountered an error:": "O noVNC encontrou um erro:", + "Hide/Show the control bar": "Esconder/mostrar a barra de controles", + "Drag": "Arrastar", + "Move/Drag viewport": "Mover/arrastar a janela", + "Keyboard": "Teclado", + "Show keyboard": "Mostrar teclado", + "Extra keys": "Teclas adicionais", + "Show extra keys": "Mostar teclas adicionais", + "Ctrl": "Ctrl", + "Toggle Ctrl": "Pressionar/soltar Ctrl", + "Alt": "Alt", + "Toggle Alt": "Pressionar/soltar Alt", + "Toggle Windows": "Pressionar/soltar Windows", + "Windows": "Windows", + "Send Tab": "Enviar Tab", + "Tab": "Tab", + "Esc": "Esc", + "Send Escape": "Enviar Esc", + "Ctrl+Alt+Del": "Ctrl+Alt+Del", + "Send Ctrl-Alt-Del": "Enviar Ctrl-Alt-Del", + "Shutdown/Reboot": "Desligar/reiniciar", + "Shutdown/Reboot...": "Desligar/reiniciar...", + "Power": "Ligar", + "Shutdown": "Desligar", + "Reboot": "Reiniciar", + "Reset": "Reiniciar (forçado)", + "Clipboard": "Área de transferência", + "Clear": "Limpar", + "Fullscreen": "Tela cheia", + "Settings": "Configurações", + "Shared mode": "Modo compartilhado", + "View only": "Apenas visualizar", + "Clip to window": "Recortar à janela", + "Scaling mode:": "Modo de dimensionamento:", + "None": "Nenhum", + "Local scaling": "Local", + "Remote resizing": "Remoto", + "Advanced": "Avançado", + "Quality:": "Qualidade:", + "Compression level:": "Nível de compressão:", + "Repeater ID:": "ID do repetidor:", + "WebSocket": "WebSocket", + "Encrypt": "Criptografar", + "Host:": "Host:", + "Port:": "Porta:", + "Path:": "Caminho:", + "Automatic reconnect": "Reconexão automática", + "Reconnect delay (ms):": "Atraso da reconexão (ms)", + "Show dot when no cursor": "Mostrar ponto quando não há cursor", + "Logging:": "Registros:", + "Version:": "Versão:", + "Disconnect": "Desconectar", + "Connect": "Conectar", + "Username:": "Nome de usuário:", + "Password:": "Senha:", + "Send credentials": "Enviar credenciais", + "Cancel": "Cancelar" +} \ No newline at end of file diff --git a/qiming-noVNC/app/locale/ru.json b/qiming-noVNC/app/locale/ru.json new file mode 100644 index 00000000..bd1bb534 --- /dev/null +++ b/qiming-noVNC/app/locale/ru.json @@ -0,0 +1,72 @@ +{ + "Connecting...": "Подключение...", + "Disconnecting...": "Отключение...", + "Reconnecting...": "Переподключение...", + "Internal error": "Внутренняя ошибка", + "Must set host": "Задайте имя сервера или IP", + "Connected (encrypted) to ": "Подключено (с шифрованием) к ", + "Connected (unencrypted) to ": "Подключено (без шифрования) к ", + "Something went wrong, connection is closed": "Что-то пошло не так, подключение разорвано", + "Failed to connect to server": "Ошибка подключения к серверу", + "Disconnected": "Отключено", + "New connection has been rejected with reason: ": "Новое соединение отклонено по причине: ", + "New connection has been rejected": "Новое соединение отклонено", + "Credentials are required": "Требуются учетные данные", + "noVNC encountered an error:": "Ошибка noVNC: ", + "Hide/Show the control bar": "Скрыть/Показать контрольную панель", + "Drag": "Переместить", + "Move/Drag viewport": "Переместить окно", + "Keyboard": "Клавиатура", + "Show keyboard": "Показать клавиатуру", + "Extra keys": "Дополнительные Кнопки", + "Show Extra Keys": "Показать Дополнительные Кнопки", + "Ctrl": "Ctrl", + "Toggle Ctrl": "Зажать Ctrl", + "Alt": "Alt", + "Toggle Alt": "Зажать Alt", + "Toggle Windows": "Зажать Windows", + "Windows": "Вкладка", + "Send Tab": "Передать нажатие Tab", + "Tab": "Tab", + "Esc": "Esc", + "Send Escape": "Передать нажатие Escape", + "Ctrl+Alt+Del": "Ctrl+Alt+Del", + "Send Ctrl-Alt-Del": "Передать нажатие Ctrl-Alt-Del", + "Shutdown/Reboot": "Выключить/Перезагрузить", + "Shutdown/Reboot...": "Выключить/Перезагрузить...", + "Power": "Питание", + "Shutdown": "Выключить", + "Reboot": "Перезагрузить", + "Reset": "Сброс", + "Clipboard": "Буфер обмена", + "Clear": "Очистить", + "Fullscreen": "Во весь экран", + "Settings": "Настройки", + "Shared mode": "Общий режим", + "View Only": "Только Просмотр", + "Clip to window": "В окно", + "Scaling mode:": "Масштаб:", + "None": "Нет", + "Local scaling": "Локальный масштаб", + "Remote resizing": "Удаленная перенастройка размера", + "Advanced": "Дополнительно", + "Quality:": "Качество", + "Compression level:": "Уровень Сжатия", + "Repeater ID:": "Идентификатор ID:", + "WebSocket": "WebSocket", + "Encrypt": "Шифрование", + "Host:": "Сервер:", + "Port:": "Порт:", + "Path:": "Путь:", + "Automatic reconnect": "Автоматическое переподключение", + "Reconnect delay (ms):": "Задержка переподключения (мс):", + "Show dot when no cursor": "Показать точку вместо курсора", + "Logging:": "Лог:", + "Version:": "Версия", + "Disconnect": "Отключение", + "Connect": "Подключение", + "Username:": "Имя Пользователя", + "Password:": "Пароль:", + "Send Credentials": "Передача Учетных Данных", + "Cancel": "Выход" +} \ No newline at end of file diff --git a/qiming-noVNC/app/locale/sv.json b/qiming-noVNC/app/locale/sv.json new file mode 100644 index 00000000..67f6675a --- /dev/null +++ b/qiming-noVNC/app/locale/sv.json @@ -0,0 +1,83 @@ +{ + "Running without HTTPS is not recommended, crashes or other issues are likely.": "Det är ej rekommenderat att köra utan HTTPS, krascher och andra problem är troliga.", + "Connecting...": "Ansluter...", + "Disconnecting...": "Kopplar ner...", + "Reconnecting...": "Återansluter...", + "Internal error": "Internt fel", + "Failed to connect to server: ": "Misslyckades att ansluta till servern: ", + "Connected (encrypted) to ": "Ansluten (krypterat) till ", + "Connected (unencrypted) to ": "Ansluten (okrypterat) till ", + "Something went wrong, connection is closed": "Något gick fel, anslutningen avslutades", + "Failed to connect to server": "Misslyckades att ansluta till servern", + "Disconnected": "Frånkopplad", + "New connection has been rejected with reason: ": "Ny anslutning har blivit nekad med följande skäl: ", + "New connection has been rejected": "Ny anslutning har blivit nekad", + "Credentials are required": "Användaruppgifter krävs", + "noVNC encountered an error:": "noVNC stötte på ett problem:", + "Hide/Show the control bar": "Göm/Visa kontrollbaren", + "Drag": "Dra", + "Move/Drag viewport": "Flytta/Dra vyn", + "Keyboard": "Tangentbord", + "Show keyboard": "Visa tangentbord", + "Extra keys": "Extraknappar", + "Show extra keys": "Visa extraknappar", + "Ctrl": "Ctrl", + "Toggle Ctrl": "Växla Ctrl", + "Alt": "Alt", + "Toggle Alt": "Växla Alt", + "Toggle Windows": "Växla Windows", + "Windows": "Windows", + "Send Tab": "Skicka Tab", + "Tab": "Tab", + "Esc": "Esc", + "Send Escape": "Skicka Escape", + "Ctrl+Alt+Del": "Ctrl+Alt+Del", + "Send Ctrl-Alt-Del": "Skicka Ctrl-Alt-Del", + "Shutdown/Reboot": "Stäng av/Boota om", + "Shutdown/Reboot...": "Stäng av/Boota om...", + "Power": "Ström", + "Shutdown": "Stäng av", + "Reboot": "Boota om", + "Reset": "Återställ", + "Clipboard": "Urklipp", + "Edit clipboard content in the textarea below.": "Redigera urklippets innehåll i fältet nedan.", + "Full screen": "Fullskärm", + "Settings": "Inställningar", + "Shared mode": "Delat läge", + "View only": "Endast visning", + "Clip to window": "Begränsa till fönster", + "Scaling mode:": "Skalningsläge:", + "None": "Ingen", + "Local scaling": "Lokal skalning", + "Remote resizing": "Ändra storlek", + "Advanced": "Avancerat", + "Quality:": "Kvalitet:", + "Compression level:": "Kompressionsnivå:", + "Repeater ID:": "Repeater-ID:", + "WebSocket": "WebSocket", + "Encrypt": "Kryptera", + "Host:": "Värd:", + "Port:": "Port:", + "Path:": "Sökväg:", + "Automatic reconnect": "Automatisk återanslutning", + "Reconnect delay (ms):": "Fördröjning (ms):", + "Show dot when no cursor": "Visa prick när ingen muspekare finns", + "Logging:": "Loggning:", + "Version:": "Version:", + "Disconnect": "Koppla från", + "Connect": "Anslut", + "Server identity": "Server-identitet", + "The server has provided the following identifying information:": "Servern har gett följande identifierande information:", + "Fingerprint:": "Fingeravtryck:", + "Please verify that the information is correct and press \"Approve\". Otherwise press \"Reject\".": "Kontrollera att informationen är korrekt och tryck sedan \"Godkänn\". Tryck annars \"Neka\".", + "Approve": "Godkänn", + "Reject": "Neka", + "Credentials": "Användaruppgifter", + "Username:": "Användarnamn:", + "Password:": "Lösenord:", + "Send credentials": "Skicka användaruppgifter", + "Cancel": "Avbryt", + "Must set host": "Du måste specifiera en värd", + "HTTPS is required for full functionality": "HTTPS krävs för full funktionalitet", + "Clear": "Rensa" +} \ No newline at end of file diff --git a/qiming-noVNC/app/locale/tr.json b/qiming-noVNC/app/locale/tr.json new file mode 100644 index 00000000..90f81624 --- /dev/null +++ b/qiming-noVNC/app/locale/tr.json @@ -0,0 +1,69 @@ +{ + "Connecting...": "Bağlanıyor...", + "Disconnecting...": "Bağlantı kesiliyor...", + "Reconnecting...": "Yeniden bağlantı kuruluyor...", + "Internal error": "İç hata", + "Must set host": "Sunucuyu kur", + "Connected (encrypted) to ": "Bağlı (şifrelenmiş)", + "Connected (unencrypted) to ": "Bağlandı (şifrelenmemiş)", + "Something went wrong, connection is closed": "Bir şeyler ters gitti, bağlantı kesildi", + "Disconnected": "Bağlantı kesildi", + "New connection has been rejected with reason: ": "Bağlantı aşağıdaki nedenlerden dolayı reddedildi: ", + "New connection has been rejected": "Bağlantı reddedildi", + "Password is required": "Şifre gerekli", + "noVNC encountered an error:": "Bir hata oluştu:", + "Hide/Show the control bar": "Denetim masasını Gizle/Göster", + "Move/Drag Viewport": "Görünümü Taşı/Sürükle", + "viewport drag": "Görüntü penceresini sürükle", + "Active Mouse Button": "Aktif Fare Düğmesi", + "No mousebutton": "Fare düğmesi yok", + "Left mousebutton": "Farenin sol düğmesi", + "Middle mousebutton": "Farenin orta düğmesi", + "Right mousebutton": "Farenin sağ düğmesi", + "Keyboard": "Klavye", + "Show Keyboard": "Klavye Düzenini Göster", + "Extra keys": "Ekstra tuşlar", + "Show extra keys": "Ekstra tuşları göster", + "Ctrl": "Ctrl", + "Toggle Ctrl": "Ctrl Değiştir ", + "Alt": "Alt", + "Toggle Alt": "Alt Değiştir", + "Send Tab": "Sekme Gönder", + "Tab": "Sekme", + "Esc": "Esc", + "Send Escape": "Boşluk Gönder", + "Ctrl+Alt+Del": "Ctrl + Alt + Del", + "Send Ctrl-Alt-Del": "Ctrl-Alt-Del Gönder", + "Shutdown/Reboot": "Kapat/Yeniden Başlat", + "Shutdown/Reboot...": "Kapat/Yeniden Başlat...", + "Power": "Güç", + "Shutdown": "Kapat", + "Reboot": "Yeniden Başlat", + "Reset": "Sıfırla", + "Clipboard": "Pano", + "Clear": "Temizle", + "Fullscreen": "Tam Ekran", + "Settings": "Ayarlar", + "Shared Mode": "Paylaşım Modu", + "View Only": "Sadece Görüntüle", + "Clip to Window": "Pencereye Tıkla", + "Scaling Mode:": "Ölçekleme Modu:", + "None": "Bilinmeyen", + "Local Scaling": "Yerel Ölçeklendirme", + "Remote Resizing": "Uzaktan Yeniden Boyutlandırma", + "Advanced": "Gelişmiş", + "Repeater ID:": "Tekralayıcı ID:", + "WebSocket": "WebSocket", + "Encrypt": "Şifrele", + "Host:": "Ana makine:", + "Port:": "Port:", + "Path:": "Yol:", + "Automatic Reconnect": "Otomatik Yeniden Bağlan", + "Reconnect Delay (ms):": "Yeniden Bağlanma Süreci (ms):", + "Logging:": "Giriş yapılıyor:", + "Disconnect": "Bağlantıyı Kes", + "Connect": "Bağlan", + "Password:": "Parola:", + "Cancel": "Vazgeç", + "Canvas not supported.": "Tuval desteklenmiyor." +} \ No newline at end of file diff --git a/qiming-noVNC/app/locale/zh_CN.json b/qiming-noVNC/app/locale/zh_CN.json new file mode 100644 index 00000000..671be6d3 --- /dev/null +++ b/qiming-noVNC/app/locale/zh_CN.json @@ -0,0 +1,107 @@ +{ + "Running without HTTPS is not recommended, crashes or other issues are likely.": "不建议在没有 HTTPS 的情况下运行,可能会出现崩溃或出现其他问题。", + "Connecting...": "连接中...", + "Disconnecting...": "正在断开连接...", + "Reconnecting...": "重新连接中...", + "Internal error": "内部错误", + "Must set host": "必须设置主机", + "Failed to connect to server: ": "无法连接到智能体电脑:", + "Connected (encrypted) to ": "已连接(已加密)到", + "Connected (unencrypted) to ": "已连接(未加密)到", + "Something went wrong, connection is closed": "出了点问题,连接已关闭", + "Failed to connect to server": "无法连接到智能体电脑", + "Disconnected": "已断开连接", + "New connection has been rejected with reason: ": "新连接被拒绝,原因如下:", + "New connection has been rejected": "新连接已被拒绝", + "Credentials are required": "需要凭证", + "noVNC encountered an error:": "noVNC 遇到一个错误:", + "Hide/Show the control bar": "显示/隐藏控制栏", + "Drag": "拖动", + "Move/Drag viewport": "移动/拖动窗口", + "Keyboard": "键盘", + "Show keyboard": "显示键盘", + "Extra keys": "额外按键", + "Show extra keys": "显示额外按键", + "Ctrl": "Ctrl", + "Toggle Ctrl": "切换 Ctrl", + "Alt": "Alt", + "Toggle Alt": "切换 Alt", + "Toggle Windows": "切换窗口", + "Windows": "窗口", + "Send Tab": "发送 Tab 键", + "Tab": "Tab", + "Esc": "Esc", + "Send Escape": "发送 Escape 键", + "Ctrl+Alt+Del": "Ctrl+Alt+Del", + "Send Ctrl-Alt-Del": "发送 Ctrl+Alt+Del 键", + "Shutdown/Reboot": "关机/重启", + "Shutdown/Reboot...": "关机/重启...", + "Power": "电源", + "Shutdown": "关机", + "Reboot": "重启", + "Reset": "重置", + "Clipboard": "剪贴板", + "Auto sync clipboard": "自动同步剪贴板", + "Auto sync enabled": "自动同步已开启", + "Clipboard permission denied": "剪贴板权限被拒绝", + "Clipboard API not supported": "浏览器不支持剪贴板 API", + "Read from local clipboard": "已读取本地剪贴板", + "Copied to local clipboard": "已复制到本地剪贴板", + "Failed to read clipboard": "读取剪贴板失败", + "Failed to write clipboard": "写入剪贴板失败", + "Read Local": "读取本地", + "Send Remote": "发送远程", + "Copy Local": "复制本地", + "Read from local clipboard": "从本地剪贴板读取", + "Send to remote clipboard": "发送到远程剪贴板", + "Copy to local clipboard": "复制到本地剪贴板", + "Edit clipboard content in the textarea below.": "在下面的文本区域中编辑剪贴板内容。", + "Full screen": "全屏", + "Settings": "设置", + "Shared mode": "分享模式", + "View only": "仅查看", + "Clip to window": "限制/裁切窗口大小", + "Scaling mode:": "缩放模式:", + "None": "无", + "Local scaling": "本地缩放", + "Remote resizing": "远程调整大小", + "Advanced": "高级", + "Quality:": "品质:", + "Compression level:": "压缩级别:", + "Repeater ID:": "中继站 ID", + "WebSocket": "WebSocket", + "Encrypt": "加密", + "Host:": "主机:", + "Port:": "端口:", + "Path:": "路径:", + "Automatic reconnect": "自动重新连接", + "Reconnect delay (ms):": "重新连接间隔 (ms):", + "Show dot when no cursor": "无光标时显示点", + "Logging:": "日志级别:", + "Version:": "版本:", + "Disconnect": "断开连接", + "Connect": "连接", + "Server identity": "智能体电脑身份", + "The server has provided the following identifying information:": "智能体电脑提供了以下识别信息:", + "Fingerprint:": "指纹:", + "Please verify that the information is correct and press \"Approve\". Otherwise press \"Reject\".": "请核实信息是否正确,并按 “同意”,否则按 “拒绝”。", + "Approve": "同意", + "Reject": "拒绝", + "Credentials": "凭证", + "Username:": "用户名:", + "Password:": "密码:", + "Send credentials": "发送凭证", + "Cancel": "取消", + "Password is required": "请提供密码", + "Disconnect timeout": "超时断开", + "viewport drag": "窗口拖动", + "Active Mouse Button": "启动鼠标按键", + "No mousebutton": "禁用鼠标按键", + "Left mousebutton": "鼠标左键", + "Middle mousebutton": "鼠标中键", + "Right mousebutton": "鼠标右键", + "Clear": "清除", + "Local Downscaling": "降低本地尺寸", + "Local Cursor": "本地光标", + "Canvas not supported.": "不支持 Canvas。" +} \ No newline at end of file diff --git a/qiming-noVNC/app/locale/zh_TW.json b/qiming-noVNC/app/locale/zh_TW.json new file mode 100644 index 00000000..9d292a31 --- /dev/null +++ b/qiming-noVNC/app/locale/zh_TW.json @@ -0,0 +1,69 @@ +{ + "Connecting...": "連線中...", + "Disconnecting...": "正在中斷連線...", + "Reconnecting...": "重新連線中...", + "Internal error": "內部錯誤", + "Must set host": "請提供主機資訊", + "Connected (encrypted) to ": "已加密連線到", + "Connected (unencrypted) to ": "未加密連線到", + "Something went wrong, connection is closed": "發生錯誤,連線已關閉", + "Failed to connect to server": "無法連線到伺服器", + "Disconnected": "連線已中斷", + "New connection has been rejected with reason: ": "連線被拒絕,原因:", + "New connection has been rejected": "連線被拒絕", + "Password is required": "請提供密碼", + "noVNC encountered an error:": "noVNC 遇到一個錯誤:", + "Hide/Show the control bar": "顯示/隱藏控制列", + "Move/Drag viewport": "拖放顯示範圍", + "viewport drag": "顯示範圍拖放", + "Active Mouse Button": "啟用滑鼠按鍵", + "No mousebutton": "無滑鼠按鍵", + "Left mousebutton": "滑鼠左鍵", + "Middle mousebutton": "滑鼠中鍵", + "Right mousebutton": "滑鼠右鍵", + "Keyboard": "鍵盤", + "Show keyboard": "顯示鍵盤", + "Extra keys": "額外按鍵", + "Show extra keys": "顯示額外按鍵", + "Ctrl": "Ctrl", + "Toggle Ctrl": "切換 Ctrl", + "Alt": "Alt", + "Toggle Alt": "切換 Alt", + "Send Tab": "送出 Tab 鍵", + "Tab": "Tab", + "Esc": "Esc", + "Send Escape": "送出 Escape 鍵", + "Ctrl+Alt+Del": "Ctrl-Alt-Del", + "Send Ctrl-Alt-Del": "送出 Ctrl-Alt-Del 快捷鍵", + "Shutdown/Reboot": "關機/重新啟動", + "Shutdown/Reboot...": "關機/重新啟動...", + "Power": "電源", + "Shutdown": "關機", + "Reboot": "重新啟動", + "Reset": "重設", + "Clipboard": "剪貼簿", + "Clear": "清除", + "Fullscreen": "全螢幕", + "Settings": "設定", + "Shared mode": "分享模式", + "View only": "僅檢視", + "Clip to window": "限制/裁切視窗大小", + "Scaling mode:": "縮放模式:", + "None": "無", + "Local scaling": "本機縮放", + "Remote resizing": "遠端調整大小", + "Advanced": "進階", + "Repeater ID:": "中繼站 ID", + "WebSocket": "WebSocket", + "Encrypt": "加密", + "Host:": "主機:", + "Port:": "連接埠:", + "Path:": "路徑:", + "Automatic reconnect": "自動重新連線", + "Reconnect delay (ms):": "重新連線間隔 (ms):", + "Logging:": "日誌級別:", + "Disconnect": "中斷連線", + "Connect": "連線", + "Password:": "密碼:", + "Cancel": "取消" +} \ No newline at end of file diff --git a/qiming-noVNC/app/localization.js b/qiming-noVNC/app/localization.js new file mode 100644 index 00000000..c8257fdb --- /dev/null +++ b/qiming-noVNC/app/localization.js @@ -0,0 +1,206 @@ +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2018 The noVNC authors + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * See README.md for usage and integration instructions. + */ + +/* + * Localization utilities + */ + +export class Localizer { + constructor() { + // Currently configured language + this.language = 'en'; + + // Current dictionary of translations + this._dictionary = undefined; + } + + // Configure suitable language based on user preferences + async setup(supportedLanguages, baseURL) { + this.language = 'en'; // Default: US English + this._dictionary = undefined; + + this._setupLanguage(supportedLanguages); + await this._setupDictionary(baseURL); + } + + _setupLanguage(supportedLanguages) { + /* + * Navigator.languages only available in Chrome (32+) and FireFox (32+) + * Fall back to navigator.language for other browsers + */ + let userLanguages; + if (typeof window.navigator.languages == 'object') { + userLanguages = window.navigator.languages; + } else { + userLanguages = [navigator.language || navigator.userLanguage]; + } + + for (let i = 0;i < userLanguages.length;i++) { + const userLang = userLanguages[i] + .toLowerCase() + .replace("_", "-") + .split("-"); + + // First pass: perfect match + for (let j = 0; j < supportedLanguages.length; j++) { + const supLang = supportedLanguages[j] + .toLowerCase() + .replace("_", "-") + .split("-"); + + if (userLang[0] !== supLang[0]) { + continue; + } + if (userLang[1] !== supLang[1]) { + continue; + } + + this.language = supportedLanguages[j]; + return; + } + + // Second pass: English fallback + if (userLang[0] === 'en') { + return; + } + + // Third pass pass: other fallback + for (let j = 0;j < supportedLanguages.length;j++) { + const supLang = supportedLanguages[j] + .toLowerCase() + .replace("_", "-") + .split("-"); + + if (userLang[0] !== supLang[0]) { + continue; + } + if (supLang[1] !== undefined) { + continue; + } + + this.language = supportedLanguages[j]; + return; + } + } + } + + async _setupDictionary(baseURL) { + if (baseURL) { + if (!baseURL.endsWith("/")) { + baseURL = baseURL + "/"; + } + } else { + baseURL = ""; + } + + if (this.language === "en") { + return; + } + + let response = await fetch(baseURL + this.language + ".json"); + if (!response.ok) { + throw Error("" + response.status + " " + response.statusText); + } + + this._dictionary = await response.json(); + } + + // Retrieve localised text + get(id) { + if (typeof this._dictionary !== 'undefined' && + this._dictionary[id]) { + return this._dictionary[id]; + } else { + return id; + } + } + + // Traverses the DOM and translates relevant fields + // See https://html.spec.whatwg.org/multipage/dom.html#attr-translate + translateDOM() { + const self = this; + + function process(elem, enabled) { + function isAnyOf(searchElement, items) { + return items.indexOf(searchElement) !== -1; + } + + function translateString(str) { + // We assume surrounding whitespace, and whitespace around line + // breaks is just for source formatting + str = str.split("\n").map(s => s.trim()).join(" ").trim(); + return self.get(str); + } + + function translateAttribute(elem, attr) { + const str = translateString(elem.getAttribute(attr)); + elem.setAttribute(attr, str); + } + + function translateTextNode(node) { + const str = translateString(node.data); + node.data = str; + } + + if (elem.hasAttribute("translate")) { + if (isAnyOf(elem.getAttribute("translate"), ["", "yes"])) { + enabled = true; + } else if (isAnyOf(elem.getAttribute("translate"), ["no"])) { + enabled = false; + } + } + + if (enabled) { + if (elem.hasAttribute("abbr") && + elem.tagName === "TH") { + translateAttribute(elem, "abbr"); + } + if (elem.hasAttribute("alt") && + isAnyOf(elem.tagName, ["AREA", "IMG", "INPUT"])) { + translateAttribute(elem, "alt"); + } + if (elem.hasAttribute("download") && + isAnyOf(elem.tagName, ["A", "AREA"])) { + translateAttribute(elem, "download"); + } + if (elem.hasAttribute("label") && + isAnyOf(elem.tagName, ["MENUITEM", "MENU", "OPTGROUP", + "OPTION", "TRACK"])) { + translateAttribute(elem, "label"); + } + // FIXME: Should update "lang" + if (elem.hasAttribute("placeholder") && + isAnyOf(elem.tagName, ["INPUT", "TEXTAREA"])) { + translateAttribute(elem, "placeholder"); + } + if (elem.hasAttribute("title")) { + translateAttribute(elem, "title"); + } + if (elem.hasAttribute("value") && + elem.tagName === "INPUT" && + isAnyOf(elem.getAttribute("type"), ["reset", "button", "submit"])) { + translateAttribute(elem, "value"); + } + } + + for (let i = 0; i < elem.childNodes.length; i++) { + const node = elem.childNodes[i]; + if (node.nodeType === node.ELEMENT_NODE) { + process(node, enabled); + } else if (node.nodeType === node.TEXT_NODE && enabled) { + translateTextNode(node); + } + } + } + + process(document.body, true); + } +} + +export const l10n = new Localizer(); +export default l10n.get.bind(l10n); diff --git a/qiming-noVNC/app/sounds/CREDITS b/qiming-noVNC/app/sounds/CREDITS new file mode 100644 index 00000000..ec1fb556 --- /dev/null +++ b/qiming-noVNC/app/sounds/CREDITS @@ -0,0 +1,4 @@ +bell + Copyright: Dr. Richard Boulanger et al + URL: http://www.archive.org/details/Berklee44v12 + License: CC-BY Attribution 3.0 Unported diff --git a/qiming-noVNC/app/sounds/bell.mp3 b/qiming-noVNC/app/sounds/bell.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..fdbf149a1e9e58aa6a39adb6c681b910347d161a GIT binary patch literal 4531 zcmeI0cTm$^v&VmlF@zEbRjLFCRZ0k;G^Ll&OF)Vsp^FHLC<4+uNUs9Yqy~5dq_@zd z3Mfr!Qlv;%d{BC>-gln4*O~j*JMW+OGiT23_w1ZKJ7@N<#i~j`fZy=ojE&WPSsDPi zpo4$xD0NK~BPA-1M*ny8UmNMf;D4$A+cmr6=JYG_D-A#f0JPzN#vge7LFON{|H<+n z9RC674}Mqjt7g03HB0^$|A6|(p$%sgd$sY9JfGM+Ly-lqj@b0w7NF zbcLf<@C7$vev(uIAP4}|vn%zdySsZGfwqf^AZjuY#3n+NCS)&U>CB%dWSw-1fL!2A z>Aa9B&lzx->teBP~q8o^sL@#)y=L!E9C()>?9D3X=>SxjzFO=vKAl+IiVRr3c*BHFuv72J!!iYG&0()-?eEJ1-tsIs71u#xyw zgd4Jx3IHGKF@yQo5z^#N4v4!nc1cMqNYLSna8{%6qPrDS*_wrOvtN%N47o-cq<)>} zm|~xEvNt+nw>1|mA@U1{K;B59?)L<5>rURcifnD!S?HF58a3TuE%963@i(E?CfHeX zu?F)OFnRbc2qo9jpL0IlwQy~8eP-yoQ+dsi zAMu=oo?<^?k1|d7KglthFQ4T|c}ZGTIH#4J`w$2V47sJ8s!*ho4=mzhd%pCLk9wn+ zQz%ps2)^fqfjU${6(@X=5-gZRwD?Swc5?L9Qw4`PFw+XN!KF3R&ZRJFXNovPM;4o0 z1m_{wM{jcQ?YBi$ikF;i$nyJt;%${;>e*stC+dVu%X39q@5!Ud=sZ}RB=jiSUZjtz z-impI)My(oyvRhts1-+dp&6QVQ^=3@?(dOK-r0`_!t5P!{_d*4-&6$s;T3@1{3ZS@ zHIR!`wW&~*2l5(m5Nom(bC-c0ugbqK|2Fg;L-{^p`5JRc>ZfW8E7V}pn;QYAYmAr4 zGWpI-k8f>mo@pPt=f15uUri+8TDRa+7bs$|;e;|-BzzwVb-bK{2Vb%(R?-~^0U9aD-f{j_`nN&Q&{baA%Uq}@ z6NUZvU8YTpmYJt5jU3!w&Y#vfSRc3F77J&Wu4QGVCy((hc63^PRT>$;y0`OgsDTa+ zCku&}#OL=BS{B^Xb4@Kpy#(uO=f4~DKdpZDigZLeX~=D>^_MLkt;rpl8`Rs}hsCCZ zSp@OhntcGLGzTS0#Tr4G$lYwl*s;^5*QHpTbkGn`p}z>ziWYr*8&)uXk@dVI$2&u1oIYWD*^+ z_oJUJoM+~=V3MZ?xH^hD55guFJ}5%$@A*M4sU2v1<_KZw?A4K=9F*kNrO3|e%jyFM zb*Y=Ou{64AE!wfJ3fG-f()d=>7;EyCW8u;lYYupNur7Q+kIwgIRYE_iFMuzx#M8rb zWj4Pwv`oat1!Yc$(i|^P_wc{EE1xAjdU2QUisqc*&FZ?#?*dLZrt&)9a4u$0&~?ik z@!ht|VoA327&^4%*o-Rovup$>NxA^q5v)CSg^G)i4FoJ*sh&2RSRiiC#fnA(!Sho~ zY$?r5m~aB7~hOm-5-#vaY_!wJUo0;u}11O)eQLS&$#+;KP?% zoLna# zlqz_+cgc&fWIc*gN(?@#!|yMo#}qsetrK&HftK?1gF;%D5!IxsSr`ia6js@L=%ScW zg7c|7y@p;qBi7xwwJDU_+rDP~>ipg@?X65d(n*#5Bmn7jnmpm-*bKhYeES}lV7SD1 zbGz`tCZ=YiEhYAB!5ct=Jf@TlgppBza}a{%K8#Y`zTYfq5vz452C`xJ0Ah;Y)=?}H z*^Xs;jC&ZK2vm$()3*eVc%JPJ9(leW&3sWRSv+vRh)FH>s@1& zZLtptcF5b1Tv;+;I8eQ6B9dcAO<`L%5wGyHlP6OX==$7yKM+H37juI3JBRivnmI;< zss$#PP&mQW$!id^g!m3Ug!{~J;+25`Ta&rHau)WzZ zc74pI;LAcAra!L6J)&QbQFSJT=IDh`#=1uk?2911)0QK3E9Bm%i;+`SgR}|s$);n$ zx&>UlU~qwV7@ArBwZphl_$D>tYfVGjfekux{D3=BasnEu%$1m>$&8wyq2QMM{0t)Q zUTl>ZC`w@srDi|`Du0o3smYR64x^~vPgP3`)s}29p+gym_6VQJI!ISV5pI5F*AABFWl$IpQ^@Lk$#A&g zg@}L?0fl9!S~Kmpf)B-BsMDaL<7+VK}3IINkbc1r^q*{1k8HRozqX z%Xd03U*pDCk=~LJ-2;%F+-)f~X9#0QLMSrSlg9dzyd@K{-EM<$3cvA`IPAj@>`4X` z-2`4^zMlLC11Ly{;lxiq$MLK4^%~Mc>iUn&kEVa7bW@a=9mQ+b_gK}1gvkr4Gk6*l z9c$s}DRPf?b^7?rDyIfDvZJ_Wh2r_)IsDOIyCdmdKl+G?E4SUxLgP&uaQ5~9^anrk z$igV;`qE2YMc4=%qruv8$cPWF77E_(8*(a(K%&Sg)8KcM@H49=pPqPwR2wr-o(>7I zwd*f%2mN5%zV&dsNlnTiPa~LWO=Y_Us(>keu-P#EagaDf%^`x967{`zu2Ekaq2I?_ z*wt<%fUs7L)%@-#Jn+K)huz6>2am9X+-$}(m){-t4uHtvaK1FGKGBpjukay$hDy0g z+i3T)z4R|_!EtYpWHWt8Vcs4tk9IN1rrj%`C#i{4&n3j#4{yBMmi@4-mt3SPM7$i3 zKcoHkTY?5lo?i*LGoa-wbGq_|N`&I`B6x-cp;n-G=d1NFCpJcOu+I<2s+vMpZun^ZxIwpsa%t3KyL6JOFK$9~qpqx2OLV&C!iFCycO`i} zeVW`lBKw}bc5(Vi!6^H7*Hmv%-qb*CfO2;7SCL(>vUKz4xAtK7m(Fx=YoE16CIoRl zud+!-)Cuh8QF>?omA>iMdRMG6{SF4~!fSCw6jF#wW$a8bF7rKqxAO3Viu2uGVgI|% z7LJZo@m8iE{VfutUDCV)L}~~GZAR=Jbe@k`{6;>J-y>}Q=c&wL^{pOx384huGkd@> zCbB-A&f}KtF#AK+PB;^TWaB;p1viChH9f##QO|{BEMzOAJ~N=ho)Z%e&BMYsg({=V zsy4-0x@RU#K1UpNnFpDN#S@o%L4|11BgA0V9|>=$Xi@&hXWnlI3N{WV+owF-YpBmhVT0s!Pc@z#F< DLJX+- literal 0 HcmV?d00001 diff --git a/qiming-noVNC/app/sounds/bell.oga b/qiming-noVNC/app/sounds/bell.oga new file mode 100644 index 0000000000000000000000000000000000000000..144d2b3670e8e294ee7cfe343355bf90123cb687 GIT binary patch literal 8495 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 literal 0 HcmV?d00001 diff --git a/qiming-noVNC/app/styles/Orbitron700.ttf b/qiming-noVNC/app/styles/Orbitron700.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e28729dc56b0662b5d2506ddfde5a368784f5755 GIT binary patch literal 38580 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 YaN=?Mu0Qj~2_>(2Mry;V1-x;lBPyVI3Q(tVP1 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 aYg+X)x}OQee;ks?lK=p?0sn=t1dRYj;d3$o literal 0 HcmV?d00001 diff --git a/qiming-noVNC/app/styles/base.css b/qiming-noVNC/app/styles/base.css new file mode 100644 index 00000000..9edc7a63 --- /dev/null +++ b/qiming-noVNC/app/styles/base.css @@ -0,0 +1,1296 @@ +/* + * noVNC base CSS + * Copyright (C) 2019 The noVNC authors + * noVNC is licensed under the MPL 2.0 (see LICENSE.txt) + * This file is licensed under the 2-Clause BSD license (see LICENSE.txt). + */ + +/* + * Z index layers: + * + * 0: Main screen + * 10: Control bar + * 50: Transition blocker + * 60: Connection popups + * 100: Status bar + * ... + * 1000: Javascript crash + * ... + * 10000: Max (used for polyfills) + */ + +/* + * State variables (set on :root): + * + * noVNC_loading: Page is still loading + * noVNC_connecting: Connecting to server + * noVNC_reconnecting: Re-establishing a connection + * noVNC_connected: Connected to server (most common state) + * noVNC_disconnecting: Disconnecting from server + */ + +:root { + font-family: sans-serif; + line-height: 1.6; +} + +body { + margin: 0; + padding: 0; + /*Background image with light grey curve.*/ + background-color: #ffffff; + background-repeat: no-repeat; + background-position: right bottom; + height: 100%; + touch-action: none; +} + +html { + height: 100%; +} + +.noVNC_only_touch.noVNC_hidden { + display: none; +} + +.noVNC_disabled { + color: var(--novnc-grey); +} + +/* ---------------------------------------- + * Spinner + * ---------------------------------------- + */ + +.noVNC_spinner { + position: relative; +} + +.noVNC_spinner, +.noVNC_spinner::before, +.noVNC_spinner::after { + width: 10px; + height: 10px; + border-radius: 2px; + box-shadow: -60px 10px 0 rgba(255, 255, 255, 0); + animation: noVNC_spinner 1.0s linear infinite; +} + +.noVNC_spinner::before { + content: ""; + position: absolute; + left: 0px; + top: 0px; + animation-delay: -0.1s; +} + +.noVNC_spinner::after { + content: ""; + position: absolute; + top: 0px; + left: 0px; + animation-delay: 0.1s; +} + +@keyframes noVNC_spinner { + 0% { + box-shadow: -60px 10px 0 rgba(255, 255, 255, 0); + width: 20px; + } + + 25% { + box-shadow: 20px 10px 0 rgba(255, 255, 255, 1); + width: 10px; + } + + 50% { + box-shadow: 60px 10px 0 rgba(255, 255, 255, 0); + width: 10px; + } +} + +/* ---------------------------------------- + * WebKit centering hacks + * ---------------------------------------- + */ + +.noVNC_center { + /* + * This is a workaround because webkit misrenders transforms and + * uses non-integer coordinates, resulting in blurry content. + * Ideally we'd use "top: 50%; transform: translateY(-50%);" on + * the objects instead. + */ + display: flex; + align-items: center; + justify-content: center; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + pointer-events: none; + z-index: 5; +} + +.noVNC_center>* { + pointer-events: auto; +} + +.noVNC_vcenter { + display: flex !important; + flex-direction: column; + justify-content: center; + position: fixed; + top: 0; + left: 0; + height: 100%; + margin: 0 !important; + padding: 0 !important; + pointer-events: none; +} + +.noVNC_vcenter>* { + pointer-events: auto; +} + +/* ---------------------------------------- + * Layering + * ---------------------------------------- + */ + +.noVNC_connect_layer { + z-index: 60; +} + +/* ---------------------------------------- + * Fallback error + * ---------------------------------------- + */ + +#noVNC_fallback_error { + z-index: 1000; + visibility: hidden; + /* Put a dark background in front of everything but the error, + and don't let mouse events pass through */ + background: rgba(0, 0, 0, 0.8); + pointer-events: all; +} + +#noVNC_fallback_error.noVNC_open { + visibility: visible; +} + +#noVNC_fallback_error>div { + max-width: calc(100vw - 30px - 30px); + max-height: calc(100vh - 30px - 30px); + overflow: auto; + + padding: 15px; + + transition: 0.5s ease-in-out; + + transform: translateY(-50px); + opacity: 0; + + text-align: center; + font-weight: bold; + color: #fff; + + border-radius: 12px; + box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5); + background: rgba(200, 55, 55, 0.8); +} + +#noVNC_fallback_error.noVNC_open>div { + transform: translateY(0); + opacity: 1; +} + +#noVNC_fallback_errormsg { + font-weight: normal; +} + +#noVNC_fallback_errormsg .noVNC_message { + display: inline-block; + text-align: left; + font-family: monospace; + white-space: pre-wrap; +} + +#noVNC_fallback_error .noVNC_location { + font-style: italic; + font-size: 0.8em; + color: rgba(255, 255, 255, 0.8); +} + +#noVNC_fallback_error .noVNC_stack { + padding: 10px; + margin: 10px; + font-size: 0.8em; + text-align: left; + font-family: monospace; + white-space: pre; + border: 1px solid rgba(0, 0, 0, 0.5); + background: rgba(0, 0, 0, 0.2); + overflow: auto; +} + +/* ---------------------------------------- + * Control bar + * ---------------------------------------- + */ + +#noVNC_control_bar_anchor { + /* The anchor is needed to get z-stacking to work */ + position: fixed; + z-index: 10; + + transition: 0.5s ease-in-out; + + /* Edge misrenders animations wihthout this */ + transform: translateX(0); +} + +:root.noVNC_connected #noVNC_control_bar_anchor.noVNC_idle { + opacity: 0.8; +} + +#noVNC_control_bar_anchor.noVNC_right { + left: auto; + right: 0; +} + +#noVNC_control_bar { + position: relative; + left: -100%; + + transition: 0.5s ease-in-out; + + background-color: var(--novnc-blue); + border-radius: 0 12px 12px 0; + + user-select: none; + -webkit-user-select: none; + -webkit-touch-callout: none; + /* Disable iOS image long-press popup */ +} + +#noVNC_control_bar.noVNC_open { + box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5); + left: 0; +} + +#noVNC_control_bar::before { + /* This extra element is to get a proper shadow */ + content: ""; + position: absolute; + z-index: -1; + height: 100%; + width: 30px; + left: -30px; + transition: box-shadow 0.5s ease-in-out; +} + +#noVNC_control_bar.noVNC_open::before { + box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5); +} + +.noVNC_right #noVNC_control_bar { + left: 100%; + border-radius: 12px 0 0 12px; +} + +.noVNC_right #noVNC_control_bar.noVNC_open { + left: 0; +} + +.noVNC_right #noVNC_control_bar::before { + visibility: hidden; +} + +#noVNC_control_bar_handle { + position: absolute; + left: -15px; + top: 0; + transform: translateY(35px); + width: calc(100% + 30px); + height: 50px; + z-index: -1; + cursor: pointer; + border-radius: 6px; + background-color: var(--novnc-darkblue); + background-image: url("../images/handle_bg.svg"); + background-repeat: no-repeat; + background-position: right; + box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.5); +} + +#noVNC_control_bar_handle:after { + content: ""; + transition: transform 0.5s ease-in-out; + background: url("../images/handle.svg"); + position: absolute; + top: 22px; + /* (50px-6px)/2 */ + right: 5px; + width: 5px; + height: 6px; +} + +#noVNC_control_bar.noVNC_open #noVNC_control_bar_handle:after { + transform: translateX(1px) rotate(180deg); +} + +:root:not(.noVNC_connected) #noVNC_control_bar_handle { + display: none; +} + +.noVNC_right #noVNC_control_bar_handle { + background-position: left; +} + +.noVNC_right #noVNC_control_bar_handle:after { + left: 5px; + right: 0; + transform: translateX(1px) rotate(180deg); +} + +.noVNC_right #noVNC_control_bar.noVNC_open #noVNC_control_bar_handle:after { + transform: none; +} + +/* Larger touch area for the handle, used when a touch screen is available */ +#noVNC_control_bar_handle div { + position: absolute; + right: -35px; + top: 0; + width: 50px; + height: 100%; + display: none; +} + +@media (any-pointer: coarse) { + #noVNC_control_bar_handle div { + display: initial; + } +} + +.noVNC_right #noVNC_control_bar_handle div { + left: -35px; + right: auto; +} + +#noVNC_control_bar>.noVNC_scroll { + max-height: 100vh; + /* Chrome is buggy with 100% */ + overflow-x: hidden; + overflow-y: auto; + padding: 0 10px; +} + +#noVNC_control_bar>.noVNC_scroll>* { + display: block; + margin: 10px auto; +} + +/* Control bar hint */ +#noVNC_hint_anchor { + position: fixed; + right: -50px; + left: auto; +} + +#noVNC_control_bar_anchor.noVNC_right+#noVNC_hint_anchor { + left: -50px; + right: auto; +} + +#noVNC_control_bar_hint { + position: relative; + transform: scale(0); + width: 100px; + height: 50%; + max-height: 600px; + + visibility: hidden; + opacity: 0; + transition: 0.2s ease-in-out; + background: transparent; + box-shadow: 0 0 10px black, inset 0 0 10px 10px var(--novnc-darkblue); + border-radius: 12px; + transition-delay: 0s; +} + +#noVNC_control_bar_hint.noVNC_active { + visibility: visible; + opacity: 1; + transition-delay: 0.2s; + transform: scale(1); +} + +#noVNC_control_bar_hint.noVNC_notransition { + transition: none !important; +} + +/* Control bar buttons */ +#noVNC_control_bar .noVNC_button { + min-width: unset; + padding: 4px 4px; + vertical-align: middle; + border: 1px solid rgba(255, 255, 255, 0.2); + border-radius: 6px; + background-color: transparent; +} + +#noVNC_control_bar .noVNC_button.noVNC_selected { + border-color: rgba(0, 0, 0, 0.8); + background-color: rgba(0, 0, 0, 0.5); +} + +#noVNC_control_bar .noVNC_button.noVNC_hidden { + display: none !important; +} + +/* Panels */ +.noVNC_panel { + transform: translateX(25px); + + transition: 0.5s ease-in-out; + + box-sizing: border-box; + /* so max-width don't have to care about padding */ + max-width: calc(100vw - 75px - 25px); + /* minus left and right margins */ + max-height: 100vh; + /* Chrome is buggy with 100% */ + overflow-x: hidden; + overflow-y: auto; + + visibility: hidden; + opacity: 0; + + padding: 15px; + + background: #fff; + border-radius: 12px; + color: #000; + border: 2px solid #E0E0E0; + box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5); +} + +.noVNC_panel.noVNC_open { + visibility: visible; + opacity: 1; + transform: translateX(75px); +} + +.noVNC_right .noVNC_vcenter { + left: auto; + right: 0; +} + +.noVNC_right .noVNC_panel { + transform: translateX(-25px); +} + +.noVNC_right .noVNC_panel.noVNC_open { + transform: translateX(-75px); +} + +.noVNC_panel>* { + display: block; + margin: 10px auto; +} + +.noVNC_panel>*:first-child { + margin-top: 0 !important; +} + +.noVNC_panel>*:last-child { + margin-bottom: 0 !important; +} + +.noVNC_panel hr { + border: none; + border-top: 1px solid var(--novnc-lightgrey); + width: 100%; + /*


inside a flexbox will otherwise be 0px wide */ +} + +.noVNC_panel label { + display: block; + white-space: nowrap; + margin: 5px; +} + +@media (max-width: 540px) { + + /* Allow wrapping on small screens */ + .noVNC_panel label { + white-space: unset; + } +} + +.noVNC_panel li { + margin: 5px; +} + +.noVNC_panel button, +.noVNC_panel select, +.noVNC_panel textarea, +.noVNC_panel input:not([type=checkbox]):not([type=radio]) { + margin-left: 6px; + /* Prevent inputs in panels from being too wide */ + max-width: calc(100% - 6px - var(--input-xpadding) * 2); +} + +.noVNC_panel .noVNC_heading { + background-color: var(--novnc-blue); + border-radius: 6px; + padding: 5px 8px; + /* Compensate for padding in image */ + padding-right: 11px; + display: flex; + align-items: center; + gap: 6px; + color: white; + font-size: 20px; + font-weight: bold; + white-space: nowrap; +} + +.noVNC_panel .noVNC_heading img { + vertical-align: bottom; +} + +.noVNC_panel form { + display: flex; + flex-direction: column; + gap: 12px +} + +.noVNC_panel .button_row { + margin-top: 10px; + display: flex; + gap: 10px; + justify-content: space-between; +} + +.noVNC_panel .button_row *:only-child { + margin-left: auto; + /* Align single buttons to the right */ +} + +/* Expanders */ +.noVNC_expander { + cursor: pointer; +} + +.noVNC_expander::before { + content: url("../images/expander.svg"); + display: inline-block; + margin-right: 5px; + transition: 0.2s ease-in-out; +} + +.noVNC_expander.noVNC_open::before { + transform: rotateZ(90deg); +} + +.noVNC_expander~* { + margin: 5px; + margin-left: 10px; + padding: 5px; + background: rgba(0, 0, 0, 0.04); + border-radius: 6px; +} + +.noVNC_expander:not(.noVNC_open)~* { + display: none; +} + +/* Control bar content */ + +#noVNC_control_bar .noVNC_logo { + font-size: 13px; +} + +.noVNC_logo+hr { + /* Remove all but top border */ + border: none; + border-top: 1px solid rgba(255, 255, 255, 0.2); +} + +:root:not(.noVNC_connected) #noVNC_view_drag_button { + display: none; +} + +/* noVNC Touch Device only buttons */ +:root:not(.noVNC_connected) #noVNC_mobile_buttons { + display: none; +} + +@media not all and (any-pointer: coarse) { + + /* FIXME: The button for the virtual keyboard is the only button in this + group of "mobile buttons". It is bad to assume that no touch + devices have physical keyboards available. Hopefully we can get + a media query for this: + https://github.com/w3c/csswg-drafts/issues/3871 */ + :root.noVNC_connected #noVNC_mobile_buttons { + display: none; + } +} + +/* Extra manual keys */ +:root:not(.noVNC_connected) #noVNC_toggle_extra_keys_button { + display: none; +} + +#noVNC_modifiers { + background-color: var(--novnc-darkgrey); + border: none; + padding: 10px; +} + +/* Shutdown/Reboot */ +:root:not(.noVNC_connected) #noVNC_power_button { + display: none; +} + +#noVNC_power {} + +#noVNC_power_buttons { + display: none; +} + +#noVNC_power input[type=button] { + width: 100%; +} + +/* Clipboard */ +:root:not(.noVNC_connected) #noVNC_clipboard_button { + display: none; +} + +/* 剪贴板控制区域 */ +.noVNC_clipboard_controls { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 10px; + padding: 8px 0; + border-bottom: 1px solid rgba(255, 255, 255, 0.1); +} + +/* 自动同步开关标签 */ +.noVNC_clipboard_sync_label { + display: flex; + align-items: center; + gap: 8px; + cursor: pointer; + font-size: 13px; +} + +.noVNC_clipboard_sync_label span { + user-select: none; +} + +/* 同步状态显示 */ +.noVNC_clipboard_sync_status { + display: none; + align-items: center; + gap: 6px; + font-size: 12px; + color: rgba(255, 255, 255, 0.7); +} + +/* 状态指示点 */ +.noVNC_sync_status_dot { + width: 8px; + height: 8px; + border-radius: 50%; + background-color: #888; + transition: background-color 0.3s ease; +} + +.noVNC_sync_status_dot.active { + background-color: #4CAF50; + box-shadow: 0 0 6px rgba(76, 175, 80, 0.6); +} + +.noVNC_sync_status_dot.inactive { + background-color: #888; +} + +.noVNC_sync_status_dot.success { + background-color: #2196F3; + box-shadow: 0 0 6px rgba(33, 150, 243, 0.6); +} + +.noVNC_sync_status_dot.error { + background-color: #F44336; + box-shadow: 0 0 6px rgba(244, 67, 54, 0.6); +} + +/* 快捷按钮容器 */ +.noVNC_clipboard_buttons { + display: flex; + gap: 8px; + margin-bottom: 10px; +} + +/* 快捷按钮样式 */ +.noVNC_clipboard_btn { + flex: 1; + padding: 8px 12px; + font-size: 12px; + border: none; + border-radius: 4px; + background-color: var(--novnc-buttongrey); + color: white; + cursor: pointer; + transition: background-color 0.2s ease, transform 0.1s ease; + white-space: nowrap; +} + +.noVNC_clipboard_btn:hover { + background-color: var(--novnc-blue); +} + +.noVNC_clipboard_btn:active { + transform: scale(0.98); +} + +.noVNC_clipboard_btn:disabled { + opacity: 0.5; + cursor: not-allowed; +} + +#noVNC_clipboard_text { + width: 360px; + min-width: 150px; + height: 160px; + min-height: 70px; + + box-sizing: border-box; + max-width: 100%; + /* minus approximate height of title, height of subtitle, and margin */ + max-height: calc(100vh - 10em - 25px); +} + +/* Settings */ +#noVNC_settings {} + +#noVNC_settings ul { + list-style: none; + padding: 0px; +} + +#noVNC_setting_port { + width: 80px; +} + +#noVNC_setting_path { + width: 100px; +} + +/* Version */ + +.noVNC_version_wrapper { + font-size: small; +} + +.noVNC_version { + margin-left: 1rem; +} + +/* Connection controls */ +:root:not(.noVNC_connected) #noVNC_disconnect_button { + display: none; +} + +/* ---------------------------------------- + * Status dialog + * ---------------------------------------- + */ + +#noVNC_status { + position: fixed; + top: 0; + left: 0; + width: 100%; + z-index: 100; + transform: translateY(-100%); + + cursor: pointer; + + transition: 0.5s ease-in-out; + + visibility: hidden; + opacity: 0; + + padding: 5px; + + display: flex; + flex-direction: row; + justify-content: center; + align-content: center; + + line-height: 1.6; + word-wrap: break-word; + color: #fff; + + border-bottom: 1px solid rgba(0, 0, 0, 0.9); +} + +#noVNC_status.noVNC_open { + transform: translateY(0); + visibility: visible; + opacity: 1; +} + +#noVNC_status::before { + content: ""; + display: inline-block; + width: 25px; + height: 25px; + margin-right: 5px; +} + +#noVNC_status.noVNC_status_normal { + background: rgba(128, 128, 128, 0.9); +} + +#noVNC_status.noVNC_status_normal::before { + content: url("../images/info.svg") " "; +} + +#noVNC_status.noVNC_status_error { + background: rgba(200, 55, 55, 0.9); +} + +#noVNC_status.noVNC_status_error::before { + content: url("../images/error.svg") " "; +} + +#noVNC_status.noVNC_status_warn { + background: rgba(180, 180, 30, 0.9); +} + +#noVNC_status.noVNC_status_warn::before { + content: url("../images/warning.svg") " "; +} + +/* ---------------------------------------- + * Connect dialog + * ---------------------------------------- + */ + +#noVNC_connect_dlg { + transition: 0.5s ease-in-out; + + transform: scale(0, 0); + visibility: hidden; + opacity: 0; +} + +#noVNC_connect_dlg.noVNC_open { + transform: scale(1, 1); + visibility: visible; + opacity: 1; + z-index: 10; +} + +#noVNC_connect_dlg .noVNC_logo { + transition: 0.5s ease-in-out; + padding: 10px; + margin-bottom: 10px; + + font-size: 80px; + text-align: center; + + border-radius: 6px; +} + +@media (max-width: 440px) { + #noVNC_connect_dlg { + max-width: calc(100vw - 100px); + } + + #noVNC_connect_dlg .noVNC_logo { + font-size: calc(25vw - 30px); + } +} + +#noVNC_connect_dlg div { + padding: 18px; + + background-color: var(--novnc-darkgrey); + border-radius: 12px; + text-align: center; + font-size: 20px; + + box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5); +} + +#noVNC_connect_button { + width: 100%; + padding: 6px 30px; + cursor: pointer; + border-color: transparent; + border-radius: 12px; + background-color: var(--novnc-blue); + color: white; + + display: flex; + justify-content: center; + place-items: center; + gap: 4px; +} + +#noVNC_connect_button img { + vertical-align: bottom; + height: 1.3em; +} + +/* ---------------------------------------- + * Server verification dialog + * ---------------------------------------- + */ + +#noVNC_verify_server_dlg { + position: relative; + + transform: translateY(-50px); +} + +#noVNC_verify_server_dlg.noVNC_open { + transform: translateY(0); +} + +#noVNC_fingerprint_block { + margin: 10px; +} + +/* ---------------------------------------- + * Password dialog + * ---------------------------------------- + */ + +#noVNC_credentials_dlg { + position: relative; + + transform: translateY(-50px); +} + +#noVNC_credentials_dlg.noVNC_open { + transform: translateY(0); +} + +#noVNC_username_block.noVNC_hidden, +#noVNC_password_block.noVNC_hidden { + display: none; +} + + +/* ---------------------------------------- + * Main area + * ---------------------------------------- + */ + +/* Transition screen */ +#noVNC_transition { + transition: 0.5s ease-in-out; + + display: flex; + opacity: 0; + visibility: hidden; + + position: fixed; + top: 0; + left: 0; + bottom: 0; + right: 0; + + color: #333; + background: rgba(255, 255, 255, 0.8); + z-index: 50; + + /*display: flex;*/ + align-items: center; + justify-content: center; + flex-direction: column; +} + +:root.noVNC_loading #noVNC_transition, +:root.noVNC_connecting #noVNC_transition, +:root.noVNC_disconnecting #noVNC_transition, +:root.noVNC_reconnecting #noVNC_transition { + opacity: 1; + visibility: visible; +} + +:root:not(.noVNC_reconnecting) #noVNC_cancel_reconnect_button { + display: none; +} + +#noVNC_transition_text { + font-size: 1.5em; +} + +/* Main container */ +#noVNC_container { + position: relative; + width: 100%; + height: 100%; + background-color: #ffffff; + display: flex; + align-items: center; + justify-content: center; + /* border-bottom-right-radius: 800px 600px; */ + /*border-top-left-radius: 800px 600px;*/ + + /* If selection isn't disabled, long-pressing stuff in the sidebar + can accidentally select the container or the canvas. This can + happen when attempting to move the handle. */ + user-select: none; + -webkit-user-select: none; +} + +/* Background image with opacity */ +#noVNC_container::before { + content: ""; + position: absolute; + top: -20px; + left: -20px; + width: calc(100% + 40px); + height: calc(100% + 40px); + background-image: url("../images/bg.jpg"); + background-size: cover; + background-position: center; + background-repeat: no-repeat; + opacity: 0.6; + filter: blur(8px); + -webkit-filter: blur(8px); + z-index: 0; + pointer-events: none; + transform: scale(1.5); + -webkit-transform: scale(1.5); +} + +/* Background placeholder - shows before VNC connection */ +#noVNC_background_placeholder { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 100%; + aspect-ratio: 1920 / 1080; + background-image: url("../images/bg.jpg"); + background-size: 100% 100%; + background-position: center; + background-repeat: no-repeat; + z-index: 1; +} + +/* Hide placeholder when connected */ +:root.noVNC_connected #noVNC_background_placeholder { + display: none; +} + +#noVNC_keyboardinput { + width: 1px; + height: 1px; + background-color: #fff; + color: #fff; + border: 0; + position: absolute; + left: -40px; + z-index: -1; + ime-mode: disabled; +} + +/*Default noVNC logo.*/ +/* From: http://fonts.googleapis.com/css?family=Orbitron:700 */ +@font-face { + font-family: 'Orbitron'; + font-style: normal; + font-weight: 700; + src: local('?'), url('Orbitron700.woff') format('woff'), + url('Orbitron700.ttf') format('truetype'); +} + +.noVNC_logo { + color: var(--novnc-yellow); + font-family: 'Orbitron', 'OrbitronTTF', sans-serif; + line-height: 0.9; + text-shadow: 0.1em 0.1em 0 black; +} + +.noVNC_logo span { + color: var(--novnc-green); +} + +#noVNC_bell { + display: none; +} + +/* ---------------------------------------- + * Media sizing + * ---------------------------------------- + */ + +@media screen and (max-width: 640px) { + #noVNC_logo { + font-size: 150px; + } +} + +@media screen and (min-width: 321px) and (max-width: 480px) { + #noVNC_logo { + font-size: 110px; + } +} + +@media screen and (max-width: 320px) { + #noVNC_logo { + font-size: 90px; + } +} + +/* ---------------------------------------- + * Audio Panel (音频面板) + * ---------------------------------------- + */ + +#noVNC_audio_button.noVNC_audio_active { + background-color: var(--novnc-green); +} + +#noVNC_audio { + min-width: 180px; +} + +.noVNC_audio_controls { + display: flex; + align-items: center; + gap: 8px; + margin-bottom: 10px; +} + +.noVNC_audio_toggle_btn { + padding: 8px 16px; + border: none; + border-radius: 6px; + background: var(--novnc-blue); + color: white; + font-size: 14px; + cursor: pointer; + transition: all 0.2s ease; + width: 100%; +} + +.noVNC_audio_toggle_btn:hover { + background: var(--novnc-darkblue); +} + +.noVNC_audio_toggle_btn.active { + background: var(--novnc-green); +} + +.noVNC_audio_controls label { + font-size: 12px; + white-space: nowrap; +} + +.noVNC_audio_controls input[type="range"] { + flex: 1; + min-width: 80px; + height: 4px; + -webkit-appearance: none; + appearance: none; + background: var(--novnc-light-grey); + border-radius: 2px; + outline: none; +} + +.noVNC_audio_controls input[type="range"]::-webkit-slider-thumb { + -webkit-appearance: none; + appearance: none; + width: 14px; + height: 14px; + border-radius: 50%; + background: var(--novnc-green); + cursor: pointer; +} + +.noVNC_audio_controls input[type="range"]::-moz-range-thumb { + width: 14px; + height: 14px; + border-radius: 50%; + background: var(--novnc-green); + cursor: pointer; + border: none; +} + +#noVNC_audio_volume_value { + font-size: 12px; + min-width: 35px; + text-align: right; +} + +.noVNC_audio_status, +.noVNC_ime_status { + display: flex; + align-items: center; + gap: 8px; + padding: 6px 10px; + background: var(--novnc-light-grey); + border-radius: 4px; + font-size: 12px; +} + +.noVNC_status_dot { + width: 8px; + height: 8px; + border-radius: 50%; + background: var(--novnc-red); +} + +.noVNC_audio_status.connected .noVNC_status_dot, +.noVNC_ime_status.connected .noVNC_status_dot { + background: var(--novnc-green); +} + +.noVNC_audio_status.connecting .noVNC_status_dot, +.noVNC_ime_status.connecting .noVNC_status_dot { + background: var(--novnc-yellow); + animation: noVNC_status_blink 1s ease-in-out infinite; +} + +@keyframes noVNC_status_blink { + + 0%, + 100% { + opacity: 1; + } + + 50% { + opacity: 0.4; + } +} + +/* ---------------------------------------- + * IME Panel (输入法面板) + * ---------------------------------------- + */ + +#noVNC_ime_button.noVNC_ime_active { + background-color: var(--novnc-green); +} + +#noVNC_ime { + min-width: 150px; +} \ No newline at end of file diff --git a/qiming-noVNC/app/styles/constants.css b/qiming-noVNC/app/styles/constants.css new file mode 100644 index 00000000..1123a3ef --- /dev/null +++ b/qiming-noVNC/app/styles/constants.css @@ -0,0 +1,30 @@ +/* + * noVNC general CSS constant variables + * Copyright (C) 2025 The noVNC authors + * noVNC is licensed under the MPL 2.0 (see LICENSE.txt) + * This file is licensed under the 2-Clause BSD license (see LICENSE.txt). + */ + +/* ---------- COLORS ----------- */ + +:root { + --novnc-grey: rgb(128, 128, 128); + --novnc-lightgrey: rgb(192, 192, 192); + --novnc-darkgrey: rgb(92, 92, 92); + + /* Transparent to make button colors adapt to the background */ + --novnc-buttongrey: rgba(192, 192, 192, 0.5); + + --novnc-blue: rgb(110, 132, 163); + --novnc-lightblue: rgb(74, 144, 217); + --novnc-darkblue: rgb(83, 99, 122); + + --novnc-green: rgb(0, 128, 0); + --novnc-yellow: rgb(255, 255, 0); +} + +/* ------ MISC PROPERTIES ------ */ + +:root { + --input-xpadding: 1em; +} diff --git a/qiming-noVNC/app/styles/input.css b/qiming-noVNC/app/styles/input.css new file mode 100644 index 00000000..8273d70a --- /dev/null +++ b/qiming-noVNC/app/styles/input.css @@ -0,0 +1,628 @@ +/* + * noVNC general input element CSS + * Copyright (C) 2025 The noVNC authors + * noVNC is licensed under the MPL 2.0 (see LICENSE.txt) + * This file is licensed under the 2-Clause BSD license (see LICENSE.txt). + */ + +/* ------- SHARED BETWEEN INPUT ELEMENTS -------- */ + +input, +textarea, +button, +select, +input::file-selector-button { + padding: 0.5em var(--input-xpadding); + border-radius: 6px; + appearance: none; + text-overflow: ellipsis; + + /* Respect standard font settings */ + font: inherit; + line-height: 1.6; +} +input:disabled, +textarea:disabled, +button:disabled, +select:disabled, +label[disabled] { + opacity: 0.4; +} + +input:focus-visible, +textarea:focus-visible, +button:focus-visible, +select:focus-visible, +input:focus-visible::file-selector-button { + outline: 2px solid var(--novnc-lightblue); + outline-offset: 1px; +} + +/* ------- TEXT INPUT -------- */ + +input:not([type]), +input[type=date], +input[type=datetime-local], +input[type=email], +input[type=month], +input[type=number], +input[type=password], +input[type=search], +input[type=tel], +input[type=text], +input[type=time], +input[type=url], +input[type=week], +textarea { + border: 1px solid var(--novnc-lightgrey); + /* Account for borders on text inputs, buttons dont have borders */ + padding: calc(0.5em - 1px) var(--input-xpadding); +} +input:not([type]):focus-visible, +input[type=date]:focus-visible, +input[type=datetime-local]:focus-visible, +input[type=email]:focus-visible, +input[type=month]:focus-visible, +input[type=number]:focus-visible, +input[type=password]:focus-visible, +input[type=search]:focus-visible, +input[type=tel]:focus-visible, +input[type=text]:focus-visible, +input[type=time]:focus-visible, +input[type=url]:focus-visible, +input[type=week]:focus-visible, +textarea:focus-visible { + outline-offset: -1px; +} + +textarea { + margin: unset; /* Remove Firefox's built in margin */ + /* Prevent layout from shifting when scrollbars show */ + scrollbar-gutter: stable; + /* Make textareas show at minimum one line. This does not work when + using box-sizing border-box, in which case, vertical padding and + border width needs to be taken into account. */ + min-height: 1lh; + vertical-align: baseline; /* Firefox gives "text-bottom" by default */ +} + +/* ------- NUMBER PICKERS ------- */ + +/* We can't style the number spinner buttons: + https://github.com/w3c/csswg-drafts/issues/8777 */ +input[type=number]::-webkit-inner-spin-button, +input[type=number]::-webkit-outer-spin-button { + /* Get rid of increase/decrease buttons in WebKit */ + appearance: none; +} +input[type=number] { + /* Get rid of increase/decrease buttons in Firefox */ + appearance: textfield; +} + +/* ------- BUTTON ACTIVATIONS -------- */ + +/* A color overlay that depends on the activation level. The level can then be + set for different states on an element, for example hover and click on a + + +
+ + + 80% +
+
+ + 未连接 +
+ + + + +
+ +
+ + + +
+
+ + + + + + +
+
+ + + +
+
+
+ Power +
+ + + +
+
+ + + + + + + + +
+
+
+ Clipboard +
+ +
+ +
+ + +
+
+ +
+ + + +
+

+ Edit clipboard content in the textarea below. +

+ +
+
+ + + + + + +
+
+
+ Settings +
+
    +
  • + +
  • +
  • + +
  • +
  • +
    +
  • +
  • + +
  • +
  • + + +
  • +
  • +
    +
  • +
  • +
    Advanced
    +
    +
      +
    • + + +
    • +
    • + + +
    • +
    • +
      +
    • +
    • + + +
    • +
    • +
      WebSocket
      +
      +
        +
      • + +
      • +
      • + + +
      • +
      • + + +
      • +
      • + + +
      • +
      +
      +
    • +
    • +
      +
    • +
    • + +
    • +
    • + + +
    • +
    • +
      +
    • +
    • + +
    • +
    • +
      +
    • + +
    • + +
    • +
    +
    +
  • +
  • +
    +
  • +
  • + Version: + +
  • +
+
+
+ + + + + + + + + +
+
+
+
+ + +
+ + +
+
+
+ +
+
+
+ + +
+
+
+
+ Server identity +
+
+ The server has provided the following identifying information: +
+
+ Fingerprint: + +
+
+ Please verify that the information is correct and press + "Approve". Otherwise press "Reject". +
+
+ + +
+
+
+
+ + +
+
+
+
+ Credentials +
+
+ + +
+
+ + +
+
+ +
+
+
+
+ + +
+
+
+ +
+
+
+ + +
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/qiming-noVNC/vnc_lite.html b/qiming-noVNC/vnc_lite.html new file mode 100644 index 00000000..79d48146 --- /dev/null +++ b/qiming-noVNC/vnc_lite.html @@ -0,0 +1,180 @@ + + + + + + noVNC + + + + + + + +
+
Loading
+
Send CtrlAltDel
+
+
+ +
+ +