Code Monkey home page Code Monkey logo

browser-plugins's Introduction

Subutai E2E Plugin

Effortlessly secure the doors to your Subutai Cloud

Security is utterly important in Subutai and this plugin helps keep you and your cloud secure. We use encryption, digital signatures, and keys all over the place. Even simple things you do involve complicated security operations behind the scenes. One of most important principles is to make sure your keys for performing these tasks are never transferred or taken off your computer to get into the wrong hands. To help enforce this, we have to make sure everything transferred is encrypted, or signed end-to-end. We also don't want to slow and weigh you down with complicated things you would have to do manually without this plugin. The complexity could lead to a mistake if you had to do some things manually and that would greatly reduce security.

The Subutai E2E plugin works on your computer with your browser to manage the keys to your cloud environments. It works with Subutai and the Hub to perform complicated tasks seamlessly for you. These keys are never exposed, or transferred, always staying right where they were created and protected by a passcode. In the future, the plugin will interoperate with USB hardware security modules to not even store keys on your computer and allow them to move around with you and your USB device.

Development

  1. Install Node.js and NPM

    Add Node.js PPA

     sudo apt-get install python-software-properties
     curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
    

    Install Node.js

     sudo apt-get install nodejs
     sudo apt-get install nodejs-legacy
     sudo apt-get install npm
    

    Make sure you have successfully installed node.js and npm on your system

     node --version
     npm --version
    
  2. Install Grunt using NPM

     sudo npm install -g grunt
    

    After successful installation make sure grunt has been installed successful and check version.

     grunt --version
    
  3. Install Bower using NPM

     sudo npm install -g bower
    

    Let's check the installed version of bower on your system using following command.

     bower --version
    

Run:

bash setup.sh

browser-plugins's People

Contributors

akarasulu avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

browser-plugins's Issues

Console debug in prod

The Chrome plugin has an annoying habit of writing debug information in the console of every web page.

When we accidentally input some password

When we accidentally input some password and turn off button "Protect your key with password" appears alert(watch video). Button should clear all inputed information.

Install extension from chrome store results in duplicate extensions (when a previous one was in place)

I have installed the chrome extension a couple months ago. Yesterday, while trying to access a recently created environment, I found a link almost hidden in its container view:

image

From that, it seems the e2e plugin is on version 4.0.0 already. So I decided to upgrade it. I'm not sure I remember, but I think it has been installed back then from a file then offered on the getting-started page. Yesterday I haven't found it in the same spot. The release page offers zip files with no explanation on how to install. Then I tried the chrome store, found it and installed. Instead of updating the e2e plugin, I ended up with two plugins installed:

image

EZ-Desktop with E2E plugin

Implement trigger, which is listening for Subutai Console and Hub ez-desktop buttons and triggers Subutai Tray

[Generate] Can't chose another options in advancedl.

For replay this situation you need:

Test case

  1. Go to E2E plugin page.
  2. Click on button "Generate".
  3. Click on checkbox "Advanced"

Result: Observe "Advanced" menu. If try to change options can observe that we have only one variation of settings.
It will be better if we hide "Advanced" checkbox.

Typo in enter password form

image
When browser plugin requests user to enter password of key, in title of input field there is a type:
"mAssage" should be "message".

[Export] Need to add button like "export as..."

For replay this enhancement you need:

Test case

  1. Go to E2E plugin page.
  2. Click on button "export".

Result: Observe pop-up window "Export keys". Need to add button "export as..." to chose directory to save file.

SSH via Tray directly to any container in any environment from web application

Although the starting point could be the SSH capability but any functionality of the Tray can be triggered by the browser plugin via directives embedded into web applications like the SS console or the Hub. The idea is a web UI component can expose some hidden tag that triggers the browser plugin to enable a button. Once pressed this would trigger the Tray application via local socket or some other mechanism to SSH into the container.

The question the requires some research is what's the best mechanism to use. The Tray application could provide even a command interface via CLI or via socket so the browser plugin can invoke commands on it like for example to SSH into a container in an environment.

Solve deploy warnings of Firefox

0 errors, 36 warnings, 1 notice

Unsafe assignment to outerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/dep/purify.js line 340 column 13
Unsafe call to insertAdjacentHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/dep/purify.js line 429 column 21
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/dep/purify.js line 439 column 13
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/sweetalert2.min.js line 1 column 4594
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/sweetalert2.min.js line 1 column 4898
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/sweetalert2.min.js line 1 column 5012
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/sweetalert2.min.js line 1 column 6200
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/sweetalert2.min.js line 1 column 6235
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/sweetalert2.min.js line 1 column 11221
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/sweetalert.min.js line 1 column 3407
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/sweetalert.min.js line 1 column 9898
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/sweetalert.min.js line 1 column 13216
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/sweetalert.min.js line 1 column 13290
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/sweetalert.min.js line 1 column 15299
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/sweetalert.min.js line 1 column 15367
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/sweetalert2.js line 516 column 5
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/sweetalert2.js line 553 column 5
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/sweetalert2.js line 570 column 5
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/sweetalert2.js line 576 column 7
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/sweetalert2.js line 672 column 5
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/sweetalert2.js line 673 column 5
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/swal2.js line 575 column 5
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/swal2.js line 612 column 5
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/swal2.js line 629 column 5
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/swal2.js line 635 column 7
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/swal2.js line 733 column 5
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/swal2.js line 734 column 5
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/dep/qrcodejs/qrcode.js line 254 column 4
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

lib/common/closure-library/closure/goog/string.js line 604 column 7
eval can be harmful.
Warning: Evaluation of strings as code can lead to security vulnerabilities and performance issues, even in the most innocuous of circumstances. Please avoid using eval and the Function constructor when at all possible.'

require.js line 2071 column 16
eval can be harmful.
Warning: Evaluation of strings as code can lead to security vulnerabilities and performance issues, even in the most innocuous of circumstances. Please avoid using eval and the Function constructor when at all possible.'

common/dep/jquery.min.js line 2 column 2397
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/dep/jquery.min.js line 3 column 13453
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/dep/jquery.min.js line 3 column 15724
eval can be harmful.
Warning: Evaluation of strings as code can lead to security vulnerabilities and performance issues, even in the most innocuous of circumstances. Please avoid using eval and the Function constructor when at all possible.'

common/scripts/libs/jquery-2.1.1.min.js line 2 column 2400
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/jquery-2.1.1.min.js line 3 column 13933
Unsafe assignment to innerHTML
Warning: Due to both security and performance concerns, this may not be set using dynamic values which have not been adequately sanitized. This can lead to security issues or fairly serious performance degradation.

common/scripts/libs/jquery-2.1.1.min.js line 3 column 16160
Known JS library detected
Warning: JavaScript libraries are discouraged for simple add-ons, but are generally accepted.

common/dep/bootstrap/js/bootstrap.js

Solution: https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Security/Security_Automation

Invisible pop-up disabled plugin's page in Edge Browser

Manually (not from the Store) installed Subutai Edge plugin, when I opened plugin's Options page,
an invisible pop-up appeared and disabled plugin's functionality.

To see the pop-up window:

  1. I opened browser Console (F12) in plugin's Options page
  2. Refreshed the page, tried to resize, scroll down
  3. Finally, in the bottom, a pop-up window appeared.
  4. Just closed that window

The version of E2E does not show up.

The version of E2E does not show up. Also options button does not respond on Firefox. I am facing with this problem everyday. I have to remove and reinstall E2E plugin to authorize and work further.

e2e.png

Reload button doesn't react

When I push "Reload" button, nothing happens, maybe something reloads on the background, but I don't see it.
As a user I want to see some action after pushing this button.
image.png

Key selector is not visible in Firefox

Sometimes (almost always) key selector is not visible even if key selector parent form is visible. This happens only in Firefox when I'm setting key in Hub user settings form. Ctrl+F5 doesn't help, but i noticed that if i close selector form by clicking 'x' icon (red circle on picture) and then reload page, then when i open settings form, key selector become visible.

image

My OS: Ubuntu 16.04.
Firefox version is:
image

It may be UI issue.

Improve key sign password pop-up message

Currently when key has passphrase during signing will be the pop-up menu to enter the password. But, it's not so user friendly to understand

Proper message:

The key you're using is password protected by the E2E
plugin. To sign with your key, provide the password
you used when it was created.

[Import PGP] Can import empty PGP key.

For replay this bug you need:

Test case

  1. Go to E2E plugin page.
  2. Click on button "Import".
  3. Click on button "Import" (do not enter or upload PGP key).

Result: Observe pop-up window "Import success"

Port firefox add-on from cfx to jpm format

Firefox migrated to new add-on developing standards and in order to be able to publish our plugin we need to comply with their policies.
cfx -> jpm migration influences dependent modules, mainly openpgp library.

Getting "Oh, SubutaiTray running?" on first EZ-SSH from HUB

  1. Install fresh SS with windows installer;
  2. Create new gpg-key;
  3. Register peer on HUB;
  4. Create local SS environment;
  5. Go to the environment tab in HUB;
  6. Try to create EZ-SSH to container;
    Getting this error, checked twice:
    image

Refreshing HUB page fix this error, but first attempt fails.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.