openvpn config

This commit is contained in:
Otto Seiskari 2018-08-20 22:13:40 +03:00
parent 09176a6b05
commit 4aeb700019
5 changed files with 49 additions and 2 deletions

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
openvpn
local
*~

View File

@ -7,10 +7,17 @@ RUN export uid=1000 gid=1000 && \
echo "user:x:${uid}:" >> /etc/group && \ echo "user:x:${uid}:" >> /etc/group && \
chown ${uid}:${gid} -R /home/user chown ${uid}:${gid} -R /home/user
RUN apt-get install -y openvpn
RUN apt-get install -y curl sudo
RUN echo "user ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/user && \
chmod 0440 /etc/sudoers.d/user
USER user USER user
COPY files/user.js /home/user/ COPY files/user.js /home/user/
COPY files/start.sh /home/user/ COPY files/start.sh /home/user/
COPY files/start-openvpn-blocking.sh /home/user/
ENV HOME /home/user ENV HOME /home/user
CMD /bin/bash /home/user/start.sh CMD /bin/bash /home/user/start.sh

11
files/start-openvpn-blocking.sh Executable file
View File

@ -0,0 +1,11 @@
#!/bin/bash
set -eux -o pipefail
CONF="$1"
sudo openvpn "$CONF" > "$HOME/openvpn.log" &
while [ `tail "$HOME/openvpn.log" | grep "Initialization Sequence Completed" | wc -l` == "0" ];
do
# echo "still not done"
sleep 2
done

View File

@ -8,5 +8,23 @@ if [ ! -d "$HOME/.mozilla" ]; then
mv $HOME/user.js `find $HOME/.mozilla/firefox -type d | grep .default` mv $HOME/user.js `find $HOME/.mozilla/firefox -type d | grep .default`
fi fi
OPENVPN_CONF='/etc/openvpn/openvpn.conf'
if [ -f "$OPENVPN_CONF" ]; then
"$HOME/start-openvpn-blocking.sh" "$OPENVPN_CONF"
else
echo "no OpenVPN config"
fi
if [ ! -z ${ASSERT_COUNTRY+x} ]; then
IP_COUNTRY=`curl ifconfig.co/country`
echo " ---------------------------------------------------------------"
echo " The IP of this container seems to be in $IP_COUNTRY"
echo " ---------------------------------------------------------------"
if [ "$IP_COUNTRY" != "$ASSERT_COUNTRY" ]; then
echo "*** does not match $ASSERT_COUNTRY ***"
exit 1
fi
fi
# Start firefox # Start firefox
firefox firefox

12
run.sh
View File

@ -1,2 +1,10 @@
#!/bin/sh #!/bin/bash
docker run -ti --rm -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix docker-vpn-browser set -eux
docker run -ti --rm -e DISPLAY \
--privileged \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v `pwd`/openvpn:/etc/openvpn \
-v `pwd`/dbip:/home/user/dbip \
-e ASSERT_COUNTRY \
--dns 1.1.1.1 \
docker-vpn-browser