mirror of
https://github.com/m1k1o/neko.git
synced 2024-07-24 14:40:50 +12:00
0371a7dc4c
* novnc wip. * remove blacklistKeys. * eslint ignore all js files. * ad common keyboard interface. * upgrade novnc. * fix novnc. * fix novnc keyboard. * fix keyboard remapping. * conditionally include novnc at build time.
1.6 KiB
1.6 KiB
neko-client
Connect to demodesk/neko backend with self contained vue component.
For community edition neko with GUI and plug & play deployment visit m1k1o/neko.
Installation
Code is published to public GitHub npm repository.
# npm command
npm i @demodesk/neko
# yarn command
yarn add @demodesk/neko
Registry setup
# npm command
echo @demodesk:registry=https://npm.pkg.github.com >> .npmrc
# yarn command
echo \"@demodesk:registry\" \"https://npm.pkg.github.com\" >> .yarnrc
Build
You can set keyboard provider at build time, either novnc
or the default guacamole
.
# by default uses guacamole keybaord
npm run build
# uses novnc keybaord
KEYBOARD=novnc npm run build
Example
API consists of accessing Vue reactive state, calling various methods and subscribing to events. Simple usage:
<!-- import vue -->
<script src="https://unpkg.com/vue"></script>
<!-- import neko -->
<script src="./neko.umd.js"></script>
<link rel="stylesheet" href="./neko.css">
<div id="app">
<neko ref="neko" server="http://127.0.0.1:3000/api" autologin autoplay />
</div>
<script>
new Vue({
components: { neko },
mounted() {
// access state
// this.$refs.neko.state.session_id
// call methods
// this.$refs.neko.setUrl('http://127.0.0.1:3000/api')
// this.$refs.neko.login('username', 'password')
// this.$refs.neko.logout()
// subscribe to events
// this.$refs.neko.events.on('room.control.host', (id) => { })
},
}).$mount('#app')
</script>