knockplop icon indicating copy to clipboard operation
knockplop copied to clipboard

Chrome screensharing plugin

Open so010 opened this issue 7 years ago • 6 comments

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...

so010 avatar Feb 07 '18 13:02 so010

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

misi avatar Feb 08 '18 08:02 misi

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:

misi avatar Feb 08 '18 08:02 misi

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

misi avatar Feb 08 '18 10:02 misi

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.

so010 avatar Feb 09 '18 08:02 so010

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.

misi avatar Feb 09 '18 08:02 misi

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

misi avatar Feb 14 '18 07:02 misi