initial creation
commit
2e816aad5a
@ -0,0 +1,22 @@
|
||||
FROM sameersbn/debian:jessie.20140918
|
||||
|
||||
RUN wget -q -O - "https://dl-ssl.google.com/linux/linux_signing_key.pub" | sudo apt-key add - \
|
||||
&& echo "deb http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y xz-utils file locales dbus-x11 pulseaudio \
|
||||
fonts-dejavu fonts-liberation hicolor-icon-theme google-chrome-stable \
|
||||
libcanberra-gtk3-0 libcanberra-gtk-module libcanberra-gtk3-module \
|
||||
libasound2 libgtk2.0-0 libdbus-glib-1-2 libxt6 libexif12 \
|
||||
libgl1-mesa-glx libgl1-mesa-dri \
|
||||
&& update-locale LANG=C.UTF-8 LC_MESSAGES=POSIX \
|
||||
&& mkdir -p /usr/lib/tor-browser \
|
||||
&& wget -nv https://www.torproject.org/dist/torbrowser/3.6.5/tor-browser-linux64-3.6.5_en-US.tar.xz -O - \
|
||||
| tar -Jvxf - --strip=1 -C /usr/lib/tor-browser \
|
||||
&& ln -sf /usr/lib/tor-browser/start-tor-browser /usr/bin/tor-browser \
|
||||
&& rm -rf /var/lib/apt/lists/* # 20140919
|
||||
|
||||
ADD scripts /scripts
|
||||
ADD start /start
|
||||
RUN chmod 755 /start
|
||||
|
||||
ENTRYPOINT ["/start"]
|
@ -0,0 +1,29 @@
|
||||
all: help
|
||||
|
||||
help:
|
||||
@echo ""
|
||||
@echo "-- Help Menu"
|
||||
@echo ""
|
||||
@echo " 1. make build - build the browser-bundle image"
|
||||
@echo " 1. make install - install launch wrappers"
|
||||
@echo " 2. make google-chrome - launch google-chrome"
|
||||
@echo " 2. make tor-browser - launch tor-browser"
|
||||
@echo " 2. make bash - bash login"
|
||||
@echo ""
|
||||
|
||||
build:
|
||||
@docker build --tag=${USER}/browser-bundle .
|
||||
|
||||
install:
|
||||
@docker run -it --rm \
|
||||
--volume=/usr/local/bin:/target \
|
||||
${USER}/browser-bundle:latest install
|
||||
|
||||
google-chrome tor-browser bash:
|
||||
@docker run -it --rm \
|
||||
--env="USER_UID=$(shell id -u)" \
|
||||
--env="USER_GID=$(shell id -g)" \
|
||||
--env="DISPLAY=${DISPLAY}" \
|
||||
--volume=/tmp/.X11-unix:/tmp/.X11-unix \
|
||||
--volume=/run/user/$(shell id -u)/pulse:/run/pulse \
|
||||
${USER}/browser-bundle:latest $@
|
@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
PATH=/usr/sbin:/usr/bin:/sbin:/bin
|
||||
|
||||
prog=$(basename $0)
|
||||
exec=$(which $prog)
|
||||
|
||||
if [ -n "${exec}" ]; then
|
||||
exec ${exec} $@
|
||||
else
|
||||
USER_UID=$(id -u)
|
||||
USER_GID=$(id -g)
|
||||
|
||||
docker run -it --rm \
|
||||
--env="USER_UID=${USER_UID}" \
|
||||
--env="USER_GID=${USER_GID}" \
|
||||
--env="DISPLAY=${DISPLAY}" \
|
||||
--volume=/tmp/.X11-unix:/tmp/.X11-unix \
|
||||
--volume=/run/user/${USER_UID}/pulse:/run/pulse \
|
||||
sameersbn/browser-bundle:latest $(basename $0) $@
|
||||
fi
|
@ -0,0 +1,51 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
case "$1" in
|
||||
install)
|
||||
echo "Installing browser-bundle..."
|
||||
install -m 0755 /scripts/browser-bundle /target/
|
||||
echo "Installing google-chrome..."
|
||||
ln -sf browser-bundle /target/google-chrome
|
||||
echo "Installing google-chrome-stable..."
|
||||
ln -sf browser-bundle /target/google-chrome-stable
|
||||
echo "Installing tor-browser..."
|
||||
ln -sf browser-bundle /target/tor-browser
|
||||
;;
|
||||
uninstall)
|
||||
echo "Uninstalling browser-bundle..."
|
||||
rm -rf /target/browser-bundle
|
||||
echo "Uninstalling google-chrome..."
|
||||
rm -rf /target/google-chrome
|
||||
echo "Uninstalling google-chrome-stable..."
|
||||
rm -rf /target/google-chrome-stable
|
||||
echo "Uninstalling tor-browser..."
|
||||
rm -rf /target/tor-browser
|
||||
;;
|
||||
tor-browser|google-chrome|google-chrome-stable)
|
||||
# uid and gid of host user
|
||||
USER_UID=${USER_UID:-1000}
|
||||
USER_GID=${USER_GID:-1000}
|
||||
|
||||
# create user group
|
||||
groupadd -g ${USER_GID} anonymous
|
||||
|
||||
# create user with uid and gid matching that of the host user
|
||||
adduser --disabled-login --uid ${USER_UID} --gid ${USER_GID} \
|
||||
--gecos 'Anonymous' anonymous
|
||||
|
||||
extra_opts=
|
||||
case "$1" in
|
||||
google-chrome|google-chrome-stable)
|
||||
extra_opts="--no-sandbox"
|
||||
;;
|
||||
esac
|
||||
|
||||
# launch application as anonymous
|
||||
cd /home/anonymous
|
||||
exec sudo -u anonymous -H PULSE_SERVER=/run/pulse/native $@ ${extra_opts}
|
||||
;;
|
||||
*)
|
||||
exec $@
|
||||
;;
|
||||
esac
|
Loading…
Reference in New Issue