Git Product home page Git Product logo

dromix's Introduction

dromix

Docker based (read only) linux apps

dromix-s is an extendible dromix image that proivdes security by using VNC over unix socket to communicate to the app inside the docker container.

Installing

Running the ./install script will install all the necessary prerequisites (except docker itself), build all the containers and set up all the links.

The invocation of the dromix app will be /usr/bin/dromix-<appname> for exmple to run chromium run dromix-chromium

The dromix-s invocation of the app will be /usr/bin/dromix-s-<appname>

If you want to build a custom image take a look at one of the Dockerfiles and customize it then:

Build the Docker Image:

  docker build -t romich-g/dromix .

Extend the image by running it and installing whatever soft is desired

 docker run -it --name setup_soft romich-g/dromix /bin/bash

Commit the changes to a new image

 docker commit setup_soft romich-g/dromix-<name of image>

Run the new image

dromix.sh --dromix-<name of image> --dri=[Y/N]  <name of soft executable>

Note that this will automaticaly delete the container after closing. If you want to keep the changes then use a local copy of dromix.sh, and remove the "--rm" in the docker run line

To run the new image in VNC mode, which is more secure do

dromix-s.sh <name of the soft executable>

VNC mode is more secure since whatever is running does not have direct access to your X server. In VNC mode we communicate back to your X through a VNC veiwer talking to a VNC server via unix socket. It is still slower and you cannot resize the window.

Once you've set things up time to integrate things with your desktop. For the browser, for exmaple, create an executable file /usr/bin/dromix-browser and add this line

 dromix-s.sh --dromix=firefox --dri=N firefox --no-remote

Then use udate-alternatives

update-alternatives --install /usr/bin/x-www-browser x-www/browser /usr/bin/dromix-browser

Special thanks to: https://www.jann.cc/2014/09/06/sandboxing_proprietary_applications_with_docker.html

Yoctoproject Matchbox Window Manager https://www.yoctoproject.org/tools-resources/projects

dromix's People

Contributors

romichg avatar

Watchers

 avatar

dromix's Issues

Unable to resize windows

This is something that will require extensive support from x11vnc as well as xvfb and probably will never happen.

Add a networking dromix to route all networking through it

Right now networking goes through the main OS. It would be cool if we could create a networking container such that all the networking routs through it. That container is respoinsible for establishing appropriate VPN/SSHt sessions, DNS etc. It is also responsible for setting proper IP tables rules.

Need to compile from scratch x11vnc

Because debian maintainers screwed up with the version 0.9.13 of x11vnc the unixsocket transport method does not work. Compiling from scratch fixes the issue.

Currently there is a new version 0.9.14 upstream. Once this version is pulled into the distro (hopefully) we will be able to use the packaged version.

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.