Chrome screensharing plugin
For now we just use this extension here: https://chrome.google.com/webstore/detail/janus-webrtc-screensharin/hapfgfdkleiggjjpfpenajgdnfckjpaj?utm_source=chrome-app-launcher-info-dialog
This is a little bit misleading to the user because knockplop is not a janus related service. Alternatives:
Fork janus extension or any other open source extension, make it "product neutral" and notice the user about the potential security risk because it is allowing every webside to acces your screen! Make in install documentation one section about how to setup your own secure chrome-extension.
make a knockplop screensharing extension and whitlist all participating registered knockplop services.
maybe we could implement both alternatives...
I am not happy with the actual behavior and want to implement 2.
During last dev-meeting I mentioned that registered site needed, but I couldn't recall the reason. Now I found it, the reason is inline install.
Verified site requirement
For security reasons, inline installations can only be initiated by a page on a site that is verified (via Webmaster Tools) as being associated with that item in the Chrome Web Store.
See inline Install in detailed: https://developer.chrome.com/webstore/inline_installation?hl=hu
As decided I already separated the plugin: https://github.com/misi/knockplop-chrome-plugin TODO: Add a description how to setup.
I have made already a plugin that we could use. https://chrome.google.com/webstore/detail/knockplop-screensharing/glaipmkfbnnfjblbajlffkekbnebkpgg TODO: update icons any visual elements:
At least it is needed to make it configurable which plugin the service operator want to use: See this commit chrome service with inline/auto install. https://github.com/misi/knockplop/commit/17b254326227813c919331c459ff77dc86f7ceaa
Merged PR from misi for now, but this solves not the issue. We need more discussion here I think. As far as I understand the verified site requirement from chrome-plugin is for inline installation, so if the actual site is not verified it could just link to the extention and use it anyway with a little bit more user interaction? In that case I'm fine with this.
I think you see now the situation correctly, and sorry for the confusion I made. If so then our points I think splited in two ways, and so we need to make it configurable.. Because I still want to stick and take the advantage of inline extension install, to give better user experience in my services.
The three way and howto:
-
Without Chrome extension Inline Install:
- (A) Use a General Plugin
If You are happy with actual behaviour install janus plugin then we are done. This is the way if you stick with "easy service replication". But it is not user friendly...
-
Drawback: Depending an external component!!
-
(B) Use an own custom plugin
- Be a chrome extension developer. (Pay few $ to google) to access https://chrome.google.com/webstore/developer/dashboard/
- To customize the plugin name and design etc, you need to create and fork knockplop chrome plugin
- https://github.com/misi/knockplop-chrome-plugin/
- Install in chorme extension store https://chrome.google.com/webstore/developer/dashboard/
- Customize the knockplop code (replace plugin id) too to point your plugin.
-
(C) With Chrome extension Inline install: It gives a the best ultimate user experience. In nutshell: chrome for the first visit detects that the plugin is not yet installed, it offers the user to install with one click!
- Fork customize and upload your plugin the same Way as in Point (B).
- For Chrome extension inline install ("auto-magical install") see this commit : https://github.com/misi/knockplop/commit/17b254326227813c919331c459ff77dc86f7ceaa and make similar change on knockplop
- Drawback: Site must be validated with google.
e.g.
- Add in .gitignore a line:
- google_verify
- Add to server.js this line
- app.use('/',express.static(__dirname + '/google_verify'))
- And create the "token" (acquired from google webmasters page) file in this google_verify dir.
- And verify your page on: https://www.google.com/webmasters/tools/home