added chromium option

This commit is contained in:
Craig
2020-01-30 07:19:57 +00:00
parent aa3b2d9f31
commit b92aae251b
24 changed files with 591 additions and 323 deletions

View File

@ -1,16 +1,84 @@
#!/bin/bash
cd ../server \
&& go get \
&& ./build \
&& cd ../client \
&& npm install && npm run build \
&& cd ../ \
&& sudo docker build -f Dockerfile -t nurdism/neko . \
&& sudo docker images nurdism/neko
# sudo docker run -p 80:8080 -p 59000-59100:59000-59100/udp --cap-add SYS_ADMIN nurdism/neko:chromium
# sudo docker run -p 80:8080 -p 59000-59100:59000-59100/udp --shm-size=1gb nurdism/neko:firefox
# sudo docker run --network host --shm-size=1gb -it nurdism/neko:latest /bin/bash
# sudo docker images nurdism/neko
# sudo docker tag <image> nurdism/neko:1.0
# sudo docker push nurdism/neko:latest
# sudo docker run -p 80:8080 -p 59000-59100:59000-59100/udp --shm-size=1gb nurdism/neko:latest
# sudo docker run --network host --shm-size=1gb -it nurdism/neko:latest /bin/bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )/.."
build_gst() {
if [ ! -d /gst ]; then
sudo mkdir -p /workspace/.build/gst
sudo ln -s /workspace/.build/gst /gst
sudo chown -R neko /workspace/.build
fi
# build & install gstreamer
sudo su -c 'set -eux; \
sudo rm -rf /gst/local; \
cd /gst; \
for MODULE in \
gstreamer \
gst-plugins-base \
gst-plugins-good \
; do \
if [ ! -d $MODULE ]; then
git clone git://anongit.freedesktop.org/gstreamer/$MODULE; \
fi
cd $MODULE; \
git checkout 1.16; \
case $MODULE in \
gstreamer) GST_ARGS="--disable-gtk-doc" ;; \
gst-plugins-base) GST_ARGS="--disable-gtk-doc --disable-x --disable-xvideo" ;; \
gst-plugins-good) GST_ARGS="--disable-gtk-doc --disable-oss --disable-oss4 --disable-gst_v4l2" ;; \
esac; \
PATH=/gst/local/bin:$PATH PKG_CONFIG_PATH=/gst/local/lib/pkgconfig ./autogen.sh --prefix /gst/local $GST_ARGS; \
make; make install; \
cd /gst; \
done'
}
build_base() {
set -eux; \
cd $DIR/server; go get; ./build; \
cd $DIR/client; npm install; npm run build; \
cd $DIR; sudo docker build -f Dockerfile -t nurdism/neko:base . ;
}
build_firefox() {
set -eux; \
cd $DIR/.docker/files/firefox; \
sudo docker build -f Dockerfile -t nurdism/neko:firefox -t nurdism/neko:latest . ;
}
build_chromium() {
set -eux; \
cd $DIR/.docker/files/chromium; \
sudo docker build -f Dockerfile -t nurdism/neko:chromium -t nurdism/neko:latest . ;
}
build_docker() {
if [ ! -d /gst/local ]; then
build_gst
fi
set -eux; \
build_base; \
build_firefox; \
build_chromium; \
sudo docker images nurdism/neko
}
build_push() {
sudo docker push nurdism/neko:base
sudo docker push nurdism/neko:latest
sudo docker push nurdism/neko:firefox
sudo docker push nurdism/neko:chromium
}
case $1 in
push) build_push ;;
docker) build_docker ;;
gst) build_gst ;;
*) build_docker ;;
esac

View File

View File

@ -0,0 +1,24 @@
FROM nurdism/neko:base
# install neko chromium
RUN set -eux; apt-get update; \
apt-get install -y --no-install-recommends unzip chromium; \
#
# install widevine module
WIDEVINE_VERSION=$(wget --quiet -O - https://dl.google.com/widevine-cdm/versions.txt | tail -n 1); \
wget "https://dl.google.com/widevine-cdm/$WIDEVINE_VERSION-linux-x64.zip" -O /tmp/widevine.zip ; \
unzip -p /tmp/widevine.zip libwidevinecdm.so > /usr/lib/chromium/libwidevinecdm.so; \
chmod 644 /usr/lib/chromium/libwidevinecdm.so; \
rm /tmp/widevine.zip; \
#
# clean up
apt-get --purge autoremove -y unzip; \
apt-get autoremove -y; \
apt-get clean -y; \
rm -rf /var/lib/apt/lists/* /var/cache/apt/*
#
# copy configuation files
COPY supervisord.conf /etc/neko/supervisord/chromium.conf
COPY preferences.json /usr/share/chromium/master_preferences
COPY policies.json /etc/chromium/policies/managed/policies.json

View File

@ -0,0 +1,36 @@
{
"HomepageLocation": "",
"AutoFillEnabled": false,
"AutofillAddressEnabled": false,
"AutofillCreditCardEnabled": false,
"BrowserSignin": 0,
"DefaultNotificationsSetting": 2,
"DeveloperToolsAvailability": 2,
"EditBookmarksEnabled": false,
"FullscreenAllowed": true,
"IncognitoModeAvailability": 1,
"SyncDisabled": true,
"AutoplayAllowed": true,
"BrowserAddPersonEnabled": false,
"BrowserGuestModeEnabled": false,
"DefaultPopupsSetting": 2,
"DownloadRestrictions": 3,
"VideoCaptureAllowed": true,
"AllowFileSelectionDialogs": false,
"PromptForDownloadLocation": false,
"BookmarkBarEnabled": false,
"PasswordManagerEnabled": false,
"URLBlacklist": [
"file://*",
"chrome://policy"
],
"ExtensionInstallWhitelist": [
"cjpalhdlnbpafiamejdnhcphjbkeiagm"
],
"ExtensionInstallBlacklist": [
"*"
],
"ExtensionInstallForcelist": [
"cjpalhdlnbpafiamejdnhcphjbkeiagm"
]
}

View File

@ -0,0 +1,110 @@
{
"homepage": "http://www.google.com",
"homepage_is_newtabpage": false,
"first_run_tabs": [
"https://www.google.com/_/chrome/newtab?ie=UTF-8"
],
"custom_links": {
"initialized": true,
"list": [
{
"title": "YouTube",
"url": "https://www.youtube.com/"
},
{
"title": "Netflix",
"url": "https://netflix.com"
},
{
"title": "Hulu",
"url": "https://www.hulu.com/"
},
{
"title": "9Anime",
"url": "https://9anime.to/"
},
{
"title": "Crunchy Roll",
"url": "https://www.crunchyroll.com/"
},
{
"title": "Funimation",
"url": "https://www.funimation.com/"
},
{
"title": "Disney+",
"url": "https://www.disneyplus.com/"
},
{
"title": "HBO Now",
"url": "https://play.hbonow.com/"
},
{
"title": "Amazon Video",
"url": "https://www.amazon.com/Amazon-Video/b?node=2858778011"
},
{
"title": "VRV",
"url": "https://vrv.co/"
},
{
"title": "Twitch",
"url": "https://www.twitch.tv/"
},
{
"title": "Mixer",
"url": "https://mixer.com/"
}
]
},
"browser": {
"custom_chrome_frame": false,
"show_home_button": true,
"window_placement": {
"maximized": true
}
},
"bookmark_bar": {
"show_on_all_tabs": false
},
"sync_promo": {
"show_on_first_run_allowed": false
},
"distribution": {
"import_bookmarks_from_file": "bookmarks.html",
"import_bookmarks": true,
"import_history": true,
"import_home_page": true,
"import_search_engine": true,
"ping_delay": 60,
"do_not_create_desktop_shortcut": true,
"do_not_create_quick_launch_shortcut": true,
"do_not_create_taskbar_shortcut": true,
"do_not_launch_chrome": true,
"do_not_register_for_update_launch": true,
"make_chrome_default": true,
"make_chrome_default_for_user": true,
"system_level": false,
"verbose_logging": false
},
"profile": {
"avatar_index": 19,
"default_content_setting_values": {
"clipboard": 2,
"cookies": 4,
"geolocation": 2,
"media_stream_camera": 2,
"media_stream_mic": 2,
"midi_sysex": 2,
"payment_handler": 2,
"usb_guard": 2
},
"name": "neko",
"using_default_avatar": false,
"using_default_name": false,
"using_gaia_avatar": false
},
"signin": {
"allowed": false
}
}

View File

@ -0,0 +1,15 @@
# https://peter.sh/experiments/chromium-command-line-switches/ --no-sandbox
[program:chromium]
environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY="%(ENV_DISPLAY)s"
command=/usr/lib/chromium/chromium --window-position=0,0 --window-size=%(ENV_SCREEN_WIDTH)s,%(ENV_SCREEN_HEIGHT)s --display=%(ENV_DISPLAY)s --start-maximized --bwsi --test-type --force-dark-mode --disable-file-system --disable-gpu --disable-software-rasterizer --disable-dev-shm-usage
autorestart=true
priority=800
user=%(ENV_USER)s
stdout_logfile=/var/log/neko/chromium.log
stdout_logfile_maxbytes=100MB
stdout_logfile_backups=10
redirect_stderr=true
stderr_logfile=/var/log/neko/chromium.err.log
stderr_logfile_maxbytes=100MB
stderr_logfile_backups=10

29
.docker/files/chromium/test Executable file
View File

@ -0,0 +1,29 @@
#!/bin/bash
#
# chromium
mkdir -p /etc/chromium/policies/managed
# https://cloud.google.com/docs/chrome-enterprise/policies/
cp files/chromium/policies.json /etc/chromium/policies/managed/policies.json
#rm -f /etc/chromium/policies/managed/policies.json
cp files/chromium/preferences.json /usr/share/chromium/master_preferences
#rm -f /usr/share/chromium/master_preferences
cp files/chromium/supervisord.conf /etc/neko/supervisord/chromium.conf
#rm -f /etc/neko/supervisord/firefox.conf
# install widevine module
if [ ! -f /usr/lib/chromium/libwidevinecdm.so ]; then
WIDEVINE_VERSION=$(wget --quiet -O - https://dl.google.com/widevine-cdm/versions.txt | tail -n 1)
wget "https://dl.google.com/widevine-cdm/$WIDEVINE_VERSION-linux-x64.zip" -O /tmp/widevine.zip
unzip -p /tmp/widevine.zip libwidevinecdm.so > /usr/lib/chromium/libwidevinecdm.so
chmod 644 /usr/lib/chromium/libwidevinecdm.so
rm /tmp/widevine.zip
fi
#
# clean up old sessions
rm -rf /home/$USER/.cache/chromium
rm -rf /home/$USER/.config/chromium

View File

@ -4,8 +4,8 @@ if [ ! -d /var/run/dbus ]; then
mkdir -p /var/run/dbus
fi
if [ -f /var/run/dbus.pid ]; then
rm -f /var/run/dbus.pid
if [ -f /var/run/dbus/pid ]; then
rm -f /var/run/dbus/pid
fi
/usr/bin/dbus-daemon --nofork --print-pid --config-file=/usr/share/dbus-1/system.conf

View File

@ -0,0 +1,23 @@
FROM nurdism/neko:base
# install firefox-esr
RUN set -eux; apt-get update; \
apt-get install -y --no-install-recommends firefox-esr; \
#
# install extensions
mkdir -p /usr/lib/firefox-esr/distribution/extensions; \
wget -O /usr/lib/firefox-esr/distribution/extensions/uBlock0@raymondhill.net.xpi https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi; \
wget -O /usr/lib/firefox-esr/distribution/extensions/nordvpnproxy@nordvpn.com.xpi https://addons.mozilla.org/firefox/downloads/latest/nordvpn-proxy-extension/latest.xpi; \
#
# clean up
apt-get --purge autoremove -y wget ca-certificates; \
apt-get autoremove -y; \
apt-get clean -y; \
rm -rf /var/lib/apt/lists/* /var/cache/apt/*
#
# copy configuation files
COPY supervisord.conf /etc/neko/supervisord/firefox.conf
COPY neko.js /usr/lib/firefox-esr/mozilla.cfg
COPY autoconfig.js /usr/lib/firefox-esr/defaults/pref/autoconfig.js
COPY policies.json /usr/lib/firefox-esr/distribution/policies.json

View File

@ -0,0 +1,14 @@
[program:firefox-esr]
environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY="%(ENV_DISPLAY)s"
command=/usr/lib/firefox-esr/firefox-esr --display=%(ENV_DISPLAY)s --setDefaultBrowser -width %(ENV_SCREEN_WIDTH)s -height %(ENV_SCREEN_HEIGHT)s
autorestart=true
priority=800
user=%(ENV_USER)s
stdout_logfile=/var/log/neko/firefox-esr.log
stdout_logfile_maxbytes=100MB
stdout_logfile_backups=10
redirect_stderr=true
stderr_logfile=/var/log/neko/firefox-esr.err.log
stderr_logfile_maxbytes=100MB
stderr_logfile_backups=10

34
.docker/files/firefox/test Executable file
View File

@ -0,0 +1,34 @@
#!/bin/bash
#
# firefox
cp files/firefox/neko.js /usr/lib/firefox-esr/mozilla.cfg
#rm -f /usr/lib/firefox-esr/mozilla.cfg
cp files/firefox/autoconfig.js /usr/lib/firefox-esr/defaults/pref/autoconfig.js
#rm -f /usr/lib/firefox-esr/defaults/pref/autoconfig.js
#https://github.com/mozilla/policy-templates
cp files/firefox/policies.json /usr/lib/firefox-esr/distribution/policies.json
#rm -f /usr/lib/firefox-esr/distribution/policies.json
cp files/firefox/supervisord.conf /etc/neko/supervisord/firefox.conf
#rm -f /etc/neko/supervisord/firefox.conf
#
# install extensions
mkdir -p /usr/lib/firefox/distribution/extensions
# uBlock0
if [ ! -f /usr/lib/firefox/distribution/extensions/uBlock0@raymondhill.net.xpi ]; then
curl -o /usr/lib/firefox/distribution/extensions/uBlock0@raymondhill.net.xpi https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/addon-607454-latest.xpi
fi
# nordvpnproxy
if [ ! -f /usr/lib/firefox/distribution/extensions/nordvpnproxy@nordvpn.com.xpi ]; then
curl -o /usr/lib/firefox/distribution/extensions/nordvpnproxy@nordvpn.com.xpi https://addons.mozilla.org/firefox/downloads/latest/nordvpn-proxy-extension/latest.xpi
fi
#
# clean up old sessions
rm -rf /home/$USER/.mozilla

View File

@ -0,0 +1,14 @@
[program:neko]
environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY="%(ENV_DISPLAY)s"
command=/usr/bin/neko serve -d --static "/var/www"
autorestart=true
priority=800
user=%(ENV_USER)s
stdout_logfile=/var/log/neko/neko.log
stdout_logfile_maxbytes=100MB
stdout_logfile_backups=10
redirect_stderr=true
stderr_logfile=/var/log/neko/neko.err.log
stderr_logfile_maxbytes=100MB
stderr_logfile_backups=10

View File

@ -12,13 +12,19 @@
</resistance>
<applications>
<!-- Match all windows and remove their decorations -->
<!-- Match all windows and remove their decorations (obxprop | grep "^_OB_APP") -->
<application class="Firefox*" name="Navigator">
<decor>no</decor>
<maximized>true</maximized>
<focus>yes</focus>
<layer>normal</layer>
</application>
<application class="Chromium*" name="chromium-browser">
<decor>no</decor>
<maximized>true</maximized>
<focus>yes</focus>
<layer>normal</layer>
</application>
</applications>
<focus>

View File

View File

@ -5,17 +5,20 @@ logfile=/dev/null
logfile_maxbytes=0
loglevel=debug
[include]
files=/etc/neko/supervisord/*.conf
[program:dbus]
environment=HOME="/root",USER="root"
command=/usr/bin/dbus
autorestart=true
priority=100
user=root
stdout_logfile=/home/%(ENV_USER)s/.neko/logs/dbus.log
stdout_logfile=/var/log/neko/dbus.log
stdout_logfile_maxbytes=100MB
stdout_logfile_backups=10
redirect_stderr=true
stderr_logfile=/home/%(ENV_USER)s/.neko/logs/dbus.err.log
stderr_logfile=/var/log/neko/dbus.err.log
stderr_logfile_maxbytes=100MB
stderr_logfile_backups=10
@ -25,11 +28,11 @@ command=/usr/bin/Xvfb %(ENV_DISPLAY)s -screen 0 %(ENV_SCREEN_WIDTH)sx%(ENV_SCREE
autorestart=true
priority=300
user=%(ENV_USER)s
stdout_logfile=/home/%(ENV_USER)s/.neko/logs/xvfb.log
stdout_logfile=/var/log/neko/xvfb.log
stdout_logfile_maxbytes=100MB
stdout_logfile_backups=10
redirect_stderr=true
stderr_logfile=/home/%(ENV_USER)s/.neko/logs/xvfb.err.log
stderr_logfile=/var/log/neko/xvfb.err.log
stderr_logfile_maxbytes=100MB
stderr_logfile_backups=10
@ -39,11 +42,11 @@ command=/usr/bin/pulseaudio --disallow-module-loading -vvvv --disallow-exit --ex
autorestart=true
priority=300
user=%(ENV_USER)s
stdout_logfile=/home/%(ENV_USER)s/.neko/logs/pulseaudio.log
stdout_logfile=/var/log/neko/pulseaudio.log
stdout_logfile_maxbytes=100MB
stdout_logfile_backups=10
redirect_stderr=true
stderr_logfile=/home/%(ENV_USER)s/.neko/logs/pulseaudio.err.log
stderr_logfile=/var/log/neko/pulseaudio.err.log
stderr_logfile_maxbytes=100MB
stderr_logfile_backups=10
@ -53,38 +56,10 @@ command=/usr/bin/openbox --config-file /etc/neko/openbox.xml
autorestart=true
priority=300
user=%(ENV_USER)s
stdout_logfile=/home/%(ENV_USER)s/.neko/logs/openbox.log
stdout_logfile=/var/log/neko/openbox.log
stdout_logfile_maxbytes=100MB
stdout_logfile_backups=10
redirect_stderr=true
stderr_logfile=/home/%(ENV_USER)s/.neko/logs/openbox.err.log
stderr_logfile_maxbytes=100MB
stderr_logfile_backups=10
[program:firefox-esr]
environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY="%(ENV_DISPLAY)s"
command=/usr/lib/firefox-esr/firefox-esr --display=%(ENV_DISPLAY)s --setDefaultBrowser -width %(ENV_SCREEN_WIDTH)s -height %(ENV_SCREEN_HEIGHT)s
autorestart=true
priority=400
user=%(ENV_USER)s
stdout_logfile=/home/%(ENV_USER)s/.neko/logs/firefox-esr.log
stdout_logfile_maxbytes=100MB
stdout_logfile_backups=10
redirect_stderr=true
stderr_logfile=/home/%(ENV_USER)s/.neko/logs/firefox-esr.err.log
stderr_logfile_maxbytes=100MB
stderr_logfile_backups=10
[program:neko]
environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY="%(ENV_DISPLAY)s"
command=/usr/bin/neko serve -d --static "/var/www"
autorestart=true
priority=800
user=%(ENV_USER)s
stdout_logfile=/home/%(ENV_USER)s/.neko/logs/neko.log
stdout_logfile_maxbytes=100MB
stdout_logfile_backups=10
redirect_stderr=true
stderr_logfile=/home/%(ENV_USER)s/.neko/logs/neko.err.log
stderr_logfile=/var/log/neko/openbox.err.log
stderr_logfile_maxbytes=100MB
stderr_logfile_backups=10

View File

@ -1,76 +0,0 @@
[supervisord]
nodaemon=true
pidfile=/var/run/supervisord.pid
logfile=/dev/null
logfile_maxbytes=0
loglevel=debug
[program:dbus]
environment=HOME="/root",USER="root"
command=/usr/bin/dbus
autorestart=true
priority=100
user=root
stdout_logfile=./logs/dbus.log
stdout_logfile_maxbytes=100MB
stdout_logfile_backups=10
redirect_stderr=true
stderr_logfile=./logs/dbus.err.log
stderr_logfile_maxbytes=100MB
stderr_logfile_backups=10
[program:xvfb]
environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s"
command=/usr/bin/Xvfb %(ENV_DISPLAY)s -screen 0 %(ENV_SCREEN_WIDTH)sx%(ENV_SCREEN_HEIGHT)sx%(ENV_SCREEN_DEPTH)s
autorestart=true
priority=300
user=%(ENV_USER)s
stdout_logfile=./logs/xvfb.log
stdout_logfile_maxbytes=100MB
stdout_logfile_backups=10
redirect_stderr=true
stderr_logfile=./logs/xvfb.err.log
stderr_logfile_maxbytes=100MB
stderr_logfile_backups=10
[program:pulseaudio]
environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY="%(ENV_DISPLAY)s"
command=/usr/bin/pulseaudio --disallow-module-loading -vvvv --disallow-exit --exit-idle-time=-1
autorestart=true
priority=300
user=%(ENV_USER)s
stdout_logfile=./logs/pulseaudio.log
stdout_logfile_maxbytes=100MB
stdout_logfile_backups=10
redirect_stderr=true
stderr_logfile=./logs/pulseaudio.err.log
stderr_logfile_maxbytes=100MB
stderr_logfile_backups=10
[program:openbox]
environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY="%(ENV_DISPLAY)s"
command=/usr/bin/openbox --config-file /etc/neko/openbox.xml
autorestart=true
priority=300
user=%(ENV_USER)s
stdout_logfile=./logs/openbox.log
stdout_logfile_maxbytes=100MB
stdout_logfile_backups=10
redirect_stderr=true
stderr_logfile=./logs/openbox.err.log
stderr_logfile_maxbytes=100MB
stderr_logfile_backups=10
[program:firefox-esr]
environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY="%(ENV_DISPLAY)s"
command=/usr/lib/firefox-esr/firefox-esr --display=%(ENV_DISPLAY)s --setDefaultBrowser -width %(ENV_SCREEN_WIDTH)s -height %(ENV_SCREEN_HEIGHT)s
autorestart=true
priority=400
user=%(ENV_USER)s
stdout_logfile=./logs/firefox-esr.log
stdout_logfile_maxbytes=100MB
stdout_logfile_backups=10
redirect_stderr=true
stderr_logfile=./logs/firefox-esr.err.log
stderr_logfile_maxbytes=100MB
stderr_logfile_backups=10

View File

@ -7,65 +7,72 @@ if [[ $EUID -ne 0 ]]; then
exit 1
fi
# if [ ! -f ../server/bin/neko ]; then
# echo "build server before testing"
# exit 1
# fi
# if [ ! -d ../client/dist/ ]; then
# echo "build client before testing"
# exit 1
# fi
sudo mkdir -p /var/run/dbus /etc/neko
sudo rm -rf /var/run/dbus.pid
sudo cp files/firefox/neko.js /usr/lib/firefox-esr/mozilla.cfg
#sudo rm -f /usr/lib/firefox-esr/mozilla.cfg
sudo cp files/firefox/autoconfig.js /usr/lib/firefox-esr/defaults/pref/autoconfig.js
#sudo rm -f /usr/lib/firefox-esr/defaults/pref/autoconfig.js
sudo cp files/firefox/policies.json /usr/lib/firefox-esr/distribution/policies.json
#sudo rm -f /usr/lib/firefox-esr/distribution/policies.json
sudo cp files/dbus /usr/bin/dbus
sudo cp files/default.pa /etc/pulse/default.pa
sudo cp files/supervisord.conf /etc/neko/supervisord.conf
sudo cp files/openbox.xml /etc/neko/openbox.xml
sudo mkdir -p /usr/lib/firefox/distribution/extensions
if [ ! -f /usr/lib/firefox/distribution/extensions/uBlock0@raymondhill.net.xpi ]; then
sudo curl -o /usr/lib/firefox/distribution/extensions/uBlock0@raymondhill.net.xpi https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/addon-607454-latest.xpi
fi
if [ ! -f /usr/lib/firefox/distribution/extensions/nordvpnproxy@nordvpn.com.xpi ]; then
sudo curl -o /usr/lib/firefox/distribution/extensions/nordvpnproxy@nordvpn.com.xpi https://addons.mozilla.org/firefox/downloads/latest/nordvpn-proxy-extension/latest.xpi
fi
sudo cp ../server/bin/neko /usr/bin/neko
sudo cp -R ../client/dist /var/www/
sudo rm -rf $HOME/.mozilla
mkdir -p $HOME/.config/pulse
echo "default-server=unix:/tmp/pulseaudio.socket" > $HOME/.config/pulse/client.conf
export USER=neko
export SCREEN_WIDTH=1280
export SCREEN_HEIGHT=720
export SCREEN_DEPTH=24
export DISPLAY=:99.0
export NEKO_PASSWORD=neko
export NEKO_BIND=:8080
export NEKO_KEY=
export NEKO_CERT=
#
# create log folders
if [ ! -L /var/log/neko ]; then
mkdir -p /var/log/neko
mkdir -p logs
if [ -d logs ]; then
sudo rm -rf logs
ln -s /workspace/.docker/logs /var/log/neko
chown -R $USER logs
chown -R $USER /var/log/neko
fi
mkdir logs
supervisord --configuration ./supervisord.conf
#
# clean up old logs
if [ -d logs ]; then
rm -rf logs/*.log
fi
#
# copy neko config
mkdir -p /etc/neko/supervisord
cp files/dbus /usr/bin/dbus
cp files/default.pa /etc/pulse/default.pa
cp files/supervisord.conf /etc/neko/supervisord.conf
cp files/openbox.xml /etc/neko/openbox.xml
#
# remove old configs
rm -rf /etc/neko/supervisord/*.conf
#
# copy dist files
if [ -f ../server/bin/neko ]; then
cp ../server/bin/neko /usr/bin/neko
fi
if [ -d ../client/dist ]; then
cp -R ../client/dist /var/www/
fi
#
# setup pules
if [ ! -f /home/$USER/.config/pulse/client.conf ]; then
mkdir -p /home/$USER/.config/pulse
echo "default-server=unix:/tmp/pulseaudio.socket" > /home/$USER/.config/pulse/client.conf
chown -R $USER /home/$USER/.config;
fi
#
# run setup for browser
case $1 in
firefox) ./files/firefox/test ;;
chromium) ./files/chromium/test ;;
*) ./files/chromium/test ;;
esac
#
# clean up old sessions
rm -rf /home/$USER/.dbus
#
# run supervisord
supervisord --configuration ./files/supervisord.conf