diff --git a/.docker/build b/.docker/build
deleted file mode 100755
index 1c19ff55..00000000
--- a/.docker/build
+++ /dev/null
@@ -1,108 +0,0 @@
-#!/bin/bash
-
-# sudo docker run -p 80:8080 -p 59000-59100:59000-59100/udp --cap-add SYS_ADMIN --shm-size=1gb 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:base /bin/bash
-
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )/.."
-
-build_gst() {
- if [ ! -L /gst || ! -d /gst ]; then
- sudo rm -rf /gst;
- 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; \
- 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 -v -t -d . ; ./build; \
- cd $DIR/client; npm install; npm run build; \
- cd $DIR; sudo docker build -f .docker/files/base/Dockerfile -t nurdism/neko:base . ;
-}
-
-build_latest() {
- set -eux; \
- cd $DIR; sudo docker build -f .docker/files/$1/Dockerfile -t nurdism/neko:latest . ;
-}
-
-build_image() {
- set -eux; \
- cd $DIR; sudo docker build -f .docker/files/$1/Dockerfile -t nurdism/neko:$1 . ;
-}
-
-build() {
- if [ ! -d /gst/local ]; then
- build_gst
- fi
-
- if [ $1 != "" ]; then
- build_image $1
- else
- set -eux; \
- build_image "deps"; \
- build_image "base"; \
- build_base; \
- build_image "openbox"; \
- build_image "xfce4"; \
- build_image "jwm"; \
- build_image "firefox"; \
- build_image "chromium"; \
- build_image "tor-browser";
- fi
-
- sudo docker images nurdism/neko
-}
-
-push() {
- if [ $1 != "" ]; then
- sudo docker push nurdism/neko:$1
- else
- sudo docker push nurdism/neko:deps
- sudo docker push nurdism/neko:base
- sudo docker push nurdism/neko:openbox
- sudo docker push nurdism/neko:xfce4
- sudo docker push nurdism/neko:jwm
- sudo docker push nurdism/neko:firefox
- sudo docker push nurdism/neko:chromium
- sudo docker push nurdism/neko:tor-browser
- fi
-}
-
-case $1 in
- images) build;;
- image) build $2 ;;
- push) push $2 ;;
- latest) build_latest ;;
- base) build_image "base" ;;
- deps) build_image "deps" ;;
- dev) build_image "dev" ;;
- gst) build_gst ;;
- *) build_docker ;;
-esac
diff --git a/.docker/files/base/Dockerfile b/.docker/files/base/Dockerfile
deleted file mode 100644
index 4342880f..00000000
--- a/.docker/files/base/Dockerfile
+++ /dev/null
@@ -1,59 +0,0 @@
-FROM nurdism/neko:deps
-
-#
-# avoid warnings by switching to noninteractive
-ENV DEBIAN_FRONTEND=noninteractive
-
-ARG USERNAME=neko
-ARG USER_UID=1000
-ARG USER_GID=$USER_UID
-
-#
-# install neko dependencies
-RUN set -eux; apt-get update; \
- apt-get install -y --no-install-recommends wget ca-certificates supervisor; \
- #
- # create a non-root user
- groupadd --gid $USER_GID $USERNAME; \
- useradd --uid $USER_UID --gid $USERNAME --shell /bin/bash --create-home $USERNAME; \
- adduser $USERNAME audio; \
- adduser $USERNAME video; \
- adduser $USERNAME pulse; \
- #
- # setup pulseaudio
- mkdir -p /home/$USERNAME/.config/pulse/; \
- echo "default-server=unix:/tmp/pulseaudio.socket" > /home/$USERNAME/.config/pulse/client.conf; \
- #
- # workaround for an X11 problem: http://blog.tigerteufel.de/?p=476
- mkdir /tmp/.X11-unix; chmod 1777 /tmp/.X11-unix; chown $USERNAME /tmp/.X11-unix/; \
- #
- # make directories for neko
- mkdir -p /etc/neko /var/www /var/log/neko; chmod 1777 /var/log/neko; chown $USERNAME /var/log/neko/; \
- chown -R $USERNAME:$USERNAME /home/$USERNAME; \
- #
- # clean up
- apt-get clean -y; \
- rm -rf /var/lib/apt/lists/* /var/cache/apt/*
-
-#
-# env
-ENV USER=$USERNAME
-ENV DISPLAY=:99.0
-ENV NEKO_PASSWORD=neko
-ENV NEKO_PASSWORD_ADMIN=admin
-ENV NEKO_BIND=:8080
-
-#
-# neko config
-COPY .docker/files/base/supervisord.conf /etc/neko/supervisord.conf
-COPY .docker/files/base/xorg.conf /etc/neko/xorg.conf
-COPY .docker/files/base/neko.conf /etc/neko/supervisord/neko.conf
-
-#
-# neko dist
-COPY client/dist/ /var/www
-COPY server/bin/neko /usr/bin/neko
-
-#
-# run neko
-CMD ["/usr/bin/supervisord", "-c", "/etc/neko/supervisord.conf"]
\ No newline at end of file
diff --git a/.docker/files/base/neko.conf b/.docker/files/base/neko.conf
deleted file mode 100644
index e51a15ba..00000000
--- a/.docker/files/base/neko.conf
+++ /dev/null
@@ -1,11 +0,0 @@
-
-[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
\ No newline at end of file
diff --git a/.docker/files/base/supervisord.conf b/.docker/files/base/supervisord.conf
deleted file mode 100644
index d33de54e..00000000
--- a/.docker/files/base/supervisord.conf
+++ /dev/null
@@ -1,42 +0,0 @@
-[supervisord]
-nodaemon=true
-pidfile=/var/run/supervisord.pid
-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=/var/log/neko/dbus.log
-stdout_logfile_maxbytes=100MB
-stdout_logfile_backups=10
-redirect_stderr=true
-
-[program:x-server]
-environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s"
-command=/usr/bin/X -config /etc/neko/xorg.conf %(ENV_DISPLAY)s
-autorestart=true
-priority=300
-user=%(ENV_USER)s
-stdout_logfile=/var/log/neko/xorg.log
-stdout_logfile_maxbytes=100MB
-stdout_logfile_backups=10
-redirect_stderr=true
-
-[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=/var/log/neko/pulseaudio.log
-stdout_logfile_maxbytes=100MB
-stdout_logfile_backups=10
-redirect_stderr=true
\ No newline at end of file
diff --git a/.docker/files/base/xorg.conf b/.docker/files/base/xorg.conf
deleted file mode 100644
index eab523cb..00000000
--- a/.docker/files/base/xorg.conf
+++ /dev/null
@@ -1,90 +0,0 @@
-# This xorg configuration file is meant to be used by xpra
-# to start a dummy X11 server.
-# For details, please see:
-# https://xpra.org/trac/wiki/Xdummy
-
-Section "ServerFlags"
- Option "DontVTSwitch" "true"
- Option "AllowMouseOpenFail" "true"
- Option "PciForceNone" "true"
- Option "AutoEnableDevices" "false"
- Option "AutoAddDevices" "false"
-EndSection
-
-Section "InputDevice"
- Identifier "dummy_mouse"
- Option "CorePointer" "true"
- Driver "void"
-EndSection
-
-Section "InputDevice"
- Identifier "dummy_keyboard"
- Option "CoreKeyboard" "true"
- Driver "void"
-EndSection
-
-Section "Device"
- Identifier "dummy_videocard"
- Driver "dummy"
- Option "ConstantDPI" "true"
- #VideoRam 4096000
- #VideoRam 256000
- VideoRam 192000
-EndSection
-
-Section "Monitor"
- Identifier "dummy_monitor"
- HorizSync 5.0 - 1000.0
- VertRefresh 5.0 - 200.0
- #This can be used to get a specific DPI, but only for the default resolution:
- #DisplaySize 508 317
- #NOTE: the highest modes will not work without increasing the VideoRam
- # for the dummy video card.
- # https://arachnoid.com/modelines/
-
- # 1280x720 @ 30.00 Hz (GTF) hsync: 21.99 kHz; pclk: 33.78 MHz
- Modeline "1280x720_30.00" 33.78 1280 1288 1408 1536 720 721 724 733 -HSync +Vsync
-
- # 1280x720 @ 60.00 Hz (GTF) hsync: 44.76 kHz; pclk: 74.48 MHz
- Modeline "1280x720_60.00" 74.48 1280 1336 1472 1664 720 721 724 746 -HSync +Vsync
- # 1152x648 @ 60.00 Hz (GTF) hsync: 40.26 kHz; pclk: 59.91 MHz
- Modeline "1152x648_60.00" 59.91 1152 1200 1320 1488 648 649 652 671 -HSync +Vsync
- # 1024x576 @ 60.00 Hz (GTF) hsync: 35.82 kHz; pclk: 47.00 MHz
- Modeline "1024x576_60.00" 47.00 1024 1064 1168 1312 576 577 580 597 -HSync +Vsync
- # 960x720 @ 60.00 Hz (GTF) hsync: 44.76 kHz; pclk: 55.86 MHz
- Modeline "960x720_60.00" 55.86 960 1008 1104 1248 720 721 724 746 -HSync +Vsync
- # 800x600 @ 60.00 Hz (GTF) hsync: 37.32 kHz; pclk: 38.22 MHz
- Modeline "800x600_60.00" 38.22 800 832 912 1024 600 601 604 622 -HSync +Vsync
-
- # 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz
- Modeline "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync
- # 1920x1080 @ 30.00 Hz (GTF) hsync: 32.97 kHz; pclk: 80.18 MHz
- Modeline "1920x1080_30.00" 80.18 1920 1984 2176 2432 1080 1081 1084 1099 -HSync +Vsync
- # 1152x648 @ 30.00 Hz (GTF) hsync: 19.80 kHz; pclk: 26.93 MHz
- Modeline "1152x648_30.00" 26.93 1152 1144 1256 1360 648 649 652 660 -HSync +Vsync
- # 1024x576 @ 30.00 Hz (GTF) hsync: 17.61 kHz; pclk: 20.85 MHz
- Modeline "1024x576_30.00" 20.85 1024 1008 1104 1184 576 577 580 587 -HSync +Vsync
- # 960x720 @ 30.00 Hz (GTF) hsync: 21.99 kHz; pclk: 25.33 MHz
- Modeline "960x720_30.00" 25.33 960 960 1056 1152 720 721 724 733 -HSync +Vsync
- # 800x600 @ 30.00 Hz (GTF) hsync: 18.33 kHz; pclk: 17.01 MHz
- Modeline "800x600_30.00" 17.01 800 792 864 928 600 601 604 611 -HSync +Vsync
-EndSection
-
-Section "Screen"
- Identifier "dummy_screen"
- Device "dummy_videocard"
- Monitor "dummy_monitor"
- DefaultDepth 24
- SubSection "Display"
- Viewport 0 0
- Depth 24
- Modes "1280x720_30.00" "1920x1080_60.00" "1280x720_60.00" "1152x648_60.00" "1024x576_60.00" "960x720_60.00" "800x600_60.00" "1920x1080_30.00" "1152x648_30.00" "1024x576_30.00" "960x720_30.00" "800x600_30.00"
- EndSubSection
-EndSection
-
-Section "ServerLayout"
- Identifier "dummy_layout"
- Screen "dummy_screen"
- InputDevice "dummy_mouse"
- InputDevice "dummy_keyboard"
-EndSection
diff --git a/.docker/files/chromium/Dockerfile b/.docker/files/chromium/Dockerfile
deleted file mode 100644
index 5b42c07b..00000000
--- a/.docker/files/chromium/Dockerfile
+++ /dev/null
@@ -1,25 +0,0 @@
-FROM nurdism/neko:openbox
-
-#
-# 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 -O /tmp/widevine.zip "https://dl.google.com/widevine-cdm/$WIDEVINE_VERSION-linux-x64.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 clean -y; \
- rm -rf /var/lib/apt/lists/* /var/cache/apt/*
-
-#
-# copy configuation files
-COPY .docker/files/chromium/supervisord.conf /etc/neko/supervisord/chromium.conf
-COPY .docker/files/chromium/preferences.json /usr/share/chromium/master_preferences
-COPY .docker/files/chromium/policies.json /etc/chromium/policies/managed/policies.json
-COPY .docker/files/chromium/openbox.xml /etc/neko/openbox.xml
\ No newline at end of file
diff --git a/.docker/files/chromium/openbox.xml b/.docker/files/chromium/openbox.xml
deleted file mode 100644
index f79f3a3c..00000000
--- a/.docker/files/chromium/openbox.xml
+++ /dev/null
@@ -1,763 +0,0 @@
-
-
-
-
-
-
-
- 10
- 20
-
-
-
-
-
- no
- true
- yes
- normal
-
-
-
-
- yes
-
- no
-
- yes
-
- no
-
- 200
-
- no
-
-
-
-
- Smart
-
- yes
-
- Primary
-
- 1
-
-
-
-
- Clearlooks
- NLIMC
-
- yes
- yes
-
- sans
- 8
-
- bold
-
- normal
-
-
-
- sans
- 8
-
- bold
-
- normal
-
-
-
- sans
- 9
-
- normal
-
- normal
-
-
-
- sans
- 9
-
- normal
-
- normal
-
-
-
- sans
- 9
-
- bold
-
- normal
-
-
-
- sans
- 9
-
- bold
-
- normal
-
-
-
-
-
-
- 1
- 1
-
-
-
- 875
-
-
-
-
- yes
- Nonpixel
-
- Center
-
-
-
-
- 10
-
- 10
-
-
-
-
-
-
- 0
- 0
- 0
- 0
-
-
-
- TopLeft
-
- 0
- 0
- no
- Above
-
- Vertical
-
- no
- 300
-
- 300
-
- Middle
-
-
-
-
- C-g
-
-
-
- leftno
-
-
- rightno
-
-
- upno
-
-
- downno
-
-
- leftno
-
-
- rightno
-
-
- upno
-
-
- downno
-
-
- 1
-
-
- 2
-
-
- 3
-
-
- 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- scrot -s
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- yesyes
-
-
-
-
-
-
-
-
-
-
-
- right
-
-
-
-
- left
-
-
-
-
- up
-
-
-
-
- down
-
-
-
-
-
-
-
- true
- Konqueror
-
- kfmclient openProfile filemanagement
-
-
-
-
- scrot
-
-
-
-
- 1
-
- 500
-
- 400
-
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- previous
-
-
- next
-
-
- previous
-
-
- next
-
-
- previous
-
-
- next
-
-
-
-
-
-
-
-
-
-
-
-
-
- no
-
-
-
-
-
-
-
-
-
-
- yes
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- top
-
-
-
-
-
- left
-
-
-
-
-
- right
-
-
-
-
-
- bottom
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- vertical
-
-
- horizontal
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- previous
-
-
- next
-
-
-
- previous
-
-
- next
-
-
- previous
-
-
- next
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- previous
-
-
- next
-
-
- previous
-
-
- next
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.docker/files/chromium/policies.json b/.docker/files/chromium/policies.json
deleted file mode 100644
index 8ac6543c..00000000
--- a/.docker/files/chromium/policies.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "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",
- "fjoaledfpmneenckfbpdfhkmimnjocfa"
- ],
- "ExtensionInstallBlacklist": [
- "*"
- ],
- "ExtensionInstallForcelist": [
- "cjpalhdlnbpafiamejdnhcphjbkeiagm",
- "fjoaledfpmneenckfbpdfhkmimnjocfa"
- ]
-}
\ No newline at end of file
diff --git a/.docker/files/chromium/preferences.json b/.docker/files/chromium/preferences.json
deleted file mode 100644
index 31cd367a..00000000
--- a/.docker/files/chromium/preferences.json
+++ /dev/null
@@ -1,110 +0,0 @@
-{
- "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
- }
-}
diff --git a/.docker/files/chromium/supervisord.conf b/.docker/files/chromium/supervisord.conf
deleted file mode 100644
index d281d441..00000000
--- a/.docker/files/chromium/supervisord.conf
+++ /dev/null
@@ -1,12 +0,0 @@
-
-# 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 --display=%(ENV_DISPLAY)s --start-maximized --bwsi --test-type --force-dark-mode --disable-file-system --disable-gpu --disable-software-rasterizer --disable-dev-shm-usage %(ENV_START_URL)s
-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
diff --git a/.docker/files/chromium/test b/.docker/files/chromium/test
deleted file mode 100755
index aadd45a6..00000000
--- a/.docker/files/chromium/test
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/bash
-
-set -eux
-
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
-
-#
-# chromium
-mkdir -p /etc/chromium/policies/managed
-
-# https://cloud.google.com/docs/chrome-enterprise/policies/
-cp $DIR/policies.json /etc/chromium/policies/managed/policies.json
-#rm -f /etc/chromium/policies/managed/policies.json
-
-cp $DIR/preferences.json /usr/share/chromium/master_preferences
-#rm -f /usr/share/chromium/master_preferences
-
-cp $DIR/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 -O /tmp/widevine.zip "https://dl.google.com/widevine-cdm/$WIDEVINE_VERSION-linux-x64.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
diff --git a/.docker/files/deps/Dockerfile b/.docker/files/deps/Dockerfile
deleted file mode 100644
index e81d5662..00000000
--- a/.docker/files/deps/Dockerfile
+++ /dev/null
@@ -1,23 +0,0 @@
-FROM debian:stretch-slim
-
-#
-# install neko dependencies
-RUN set -eux; apt-get update; \
- apt-get install -y --no-install-recommends pulseaudio dbus-x11 xserver-xorg-video-dummy; \
- apt-get install -y --no-install-recommends libcairo2 libxcb1 libxrandr2 libxv1 libopus0 libvpx4; \
- #
- # clean up
- apt-get clean -y; \
- rm -rf /var/lib/apt/lists/* /var/cache/apt/*
-
-#
-# add gst to env
-ENV PATH=/gst/local/bin:$PATH
-ENV LD_LIBRARY_PATH=/gst/local/lib:$LD_LIBRARY_PATH
-ENV PKG_CONFIG_PATH=/gst/local/lib/pkgconfig:$PKG_CONFIG_PATH
-
-#
-# copy gst
-COPY .build/gst/local /gst/local/
-COPY .docker/files/deps/dbus /usr/bin/dbus
-COPY .docker/files/deps/default.pa /etc/pulse/default.pa
\ No newline at end of file
diff --git a/.docker/files/deps/dbus b/.docker/files/deps/dbus
deleted file mode 100755
index 2859a0e2..00000000
--- a/.docker/files/deps/dbus
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-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
-fi
-
-/usr/bin/dbus-daemon --nofork --print-pid --config-file=/usr/share/dbus-1/system.conf
\ No newline at end of file
diff --git a/.docker/files/deps/default.pa b/.docker/files/deps/default.pa
deleted file mode 100644
index 799bba55..00000000
--- a/.docker/files/deps/default.pa
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/pulseaudio -nF
-
-# Allow pulse audio to be accessed via TCP (from localhost only), to allow other users to access the virtual devices
-load-module module-native-protocol-unix socket=/tmp/pulseaudio.socket auth-anonymous=1
-
-### Make sure we always have a sink around, even if it is a null sink.
-load-module module-always-sink
\ No newline at end of file
diff --git a/.docker/files/dev/Dockerfile b/.docker/files/dev/Dockerfile
deleted file mode 100644
index 9569f3ef..00000000
--- a/.docker/files/dev/Dockerfile
+++ /dev/null
@@ -1,191 +0,0 @@
-FROM debian:stretch-slim
-
-#
-# cluster fuck of packages for neko, node, go and gstreamer
-RUN set -eux; apt-get update; apt-get install -y --no-install-recommends \
- apt-transport-https gnupg-agent software-properties-common lsb-release \
- autoconf ca-certificates curl netbase wget gnupg dirmngr libatomic1 \
- libghc-zlib-dev libexpat1-dev \
- bzr mercurial openssh-client subversion procps cmake automake bzip2 dpkg-dev file g++ gcc \
- libbz2-dev libc6-dev libcurl4-openssl-dev libdb-dev libevent-dev libffi-dev libgdbm-dev libglib2.0-dev libgmp-dev \
- libjpeg-dev libkrb5-dev liblzma-dev libmagickcore-dev libmagickwand-dev libmaxminddb-dev libncurses5-dev libncursesw5-dev \
- libpng-dev libpq-dev libreadline-dev libsqlite3-dev libssl-dev libtool libwebp-dev libxml2-dev libxslt-dev libyaml-dev \
- make patch unzip xz-utils zlib1g-dev pkg-config \
- build-essential perl python autopoint bison flex \
- gettext openssl libopus-dev libvpx-dev libpulse-dev libx11-dev libxv-dev libxt-dev libxrandr-dev \
- libxfixes-dev apt-utils x11vnc libxtst-dev dialog \
- pulseaudio openbox chromium firefox-esr dbus-x11 xserver-xorg-video-dummy supervisor;
-
-#
-# add git
-ENV GIT_VERSION 2.21.0
-
-RUN set -eux; \
- cd /tmp/; \
- wget https://github.com/git/git/archive/v$GIT_VERSION.zip -O latestgit.zip; \
- unzip latestgit.zip; \
- cd git-$GIT_VERSION; \
- make prefix=/usr/local all; \
- make prefix=/usr/local install; \
- rm -rf /tmp/latestgit.zip /tmp/git-$GIT_VERSION;
-
-#
-# install libclipboard
-RUN set -eux; \
- cd /tmp; \
- git clone https://github.com/jtanx/libclipboard; \
- cd libclipboard; \
- cmake . ; \
- make -j4; \
- make install; \
- rm -rf /tmp/libclipboard;
-
-#
-# set up env for gst
-ENV PATH=/gst/local/bin:$PATH
-ENV LD_LIBRARY_PATH=/gst/local/lib:$LD_LIBRARY_PATH
-ENV PKG_CONFIG_PATH=/gst/local/lib/pkgconfig:$PKG_CONFIG_PATH
-
-#
-# copy gst
-COPY .build/gst/local /gst/local/
-
-#
-# add node
-ENV NODE_VERSION 12.16.2
-RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \
- && case "${dpkgArch##*-}" in \
- amd64) ARCH='x64';; \
- ppc64el) ARCH='ppc64le';; \
- s390x) ARCH='s390x';; \
- arm64) ARCH='arm64';; \
- armhf) ARCH='armv7l';; \
- i386) ARCH='x86';; \
- *) echo "unsupported architecture"; exit 1 ;; \
- esac \
- && set -ex \
- && for key in \
- 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
- FD3A5288F042B6850C66B31F09FE44734EB7990E \
- 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
- DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
- C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
- B9AE9905FFD7803F25714661B63B535A4C206CA9 \
- 77984A986EBC2AA786BC0F66B01FBB92821C587A \
- 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \
- 4ED778F539E3634C779C87C6D7062848A1AB005C \
- A48C2BEE680E841632CD4E44F07496B3EB3C1762 \
- B9E2F5981AA6E0CD28160D9FF13993A75599653C \
- ; do \
- gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$key" || \
- gpg --batch --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \
- gpg --batch --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \
- done \
- && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" \
- && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
- && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
- && grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
- && tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
- && rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
- && apt-mark auto '.*' > /dev/null \
- && find /usr/local -type f -executable -exec ldd '{}' ';' \
- | awk '/=>/ { print $(NF-1) }' \
- | sort -u \
- | xargs -r dpkg-query --search \
- | cut -d: -f1 \
- | sort -u \
- | xargs -r apt-mark manual \
- && ln -s /usr/local/bin/node /usr/local/bin/nodejs \
- # smoke tests
- && node --version \
- && npm --version
-
-#
-# add golang
-ENV GOLANG_VERSION 1.14.2
-RUN set -eux; \
- dpkgArch="$(dpkg --print-architecture)"; \
- case "${dpkgArch##*-}" in \
- amd64) goRelArch='linux-amd64'; goRelSha256='6272d6e940ecb71ea5636ddb5fab3933e087c1356173c61f4a803895e947ebb3' ;; \
- armhf) goRelArch='linux-armv6l'; goRelSha256='eb4550ba741506c2a4057ea4d3a5ad7ed5a887de67c7232f1e4795464361c83c' ;; \
- arm64) goRelArch='linux-arm64'; goRelSha256='bb6d22fe5806352c3d0826676654e09b6e41eb1af52e8d506d3fa85adf7f8d88' ;; \
- i386) goRelArch='linux-386'; goRelSha256='cab5f51e6ffb616c6ee963c3d0650ca4e3c4108307c44f2baf233fcb8ff098f6' ;; \
- ppc64el) goRelArch='linux-ppc64le'; goRelSha256='48c22268c81ced9084a43bbe2c1596d3e636b5560b30a32434a7f15e561de160' ;; \
- s390x) goRelArch='linux-s390x'; goRelSha256='501cc919648c9d85b901963303c5061ea6814c80f0d35fda9e62980d3ff58cf4' ;; \
- *) goRelArch='src'; goRelSha256='98de84e69726a66da7b4e58eac41b99cbe274d7e8906eeb8a5b7eb0aadee7f7c'; \
- echo >&2; echo >&2 "warning: current architecture ($dpkgArch) does not have a corresponding Go binary release; will be building from source"; echo >&2 ;; \
- esac; \
- url="https://golang.org/dl/go${GOLANG_VERSION}.${goRelArch}.tar.gz"; \
- wget -O go.tgz "$url"; \
- echo "${goRelSha256} *go.tgz" | sha256sum -c -; \
- tar -C /usr/local -xzf go.tgz; \
- rm go.tgz; \
- if [ "$goRelArch" = 'src' ]; then \
- echo >&2; \
- echo >&2 'error: UNIMPLEMENTED'; \
- echo >&2 'TODO install golang-any from jessie-backports for GOROOT_BOOTSTRAP (and uninstall after build)'; \
- echo >&2; \
- exit 1; \
- fi; \
- export PATH="/usr/local/go/bin:$PATH"; \
- go version
-
-ENV GOPATH /go
-ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH
-RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH"
-
-#
-# install Go tools w/module support
-RUN mkdir -p /tmp/gotools \
- && cd /tmp/gotools \
- && GOPATH=/tmp/gotools GO111MODULE=on go get -v golang.org/x/tools/gopls@latest 2>&1 \
- && GOPATH=/tmp/gotools GO111MODULE=on go get -v \
- honnef.co/go/tools/...@latest \
- golang.org/x/tools/cmd/gorename@latest \
- golang.org/x/tools/cmd/goimports@latest \
- golang.org/x/tools/cmd/guru@latest \
- golang.org/x/lint/golint@latest \
- github.com/mdempsky/gocode@latest \
- github.com/cweill/gotests/...@latest \
- github.com/haya14busa/goplay/cmd/goplay@latest \
- github.com/sqs/goreturns@latest \
- github.com/josharian/impl@latest \
- github.com/davidrjenni/reftools/cmd/fillstruct@latest \
- github.com/uudashr/gopkgs/v2/cmd/gopkgs@latest \
- github.com/ramya-rao-a/go-outline@latest \
- github.com/acroca/go-symbols@latest \
- github.com/godoctor/godoctor@latest \
- github.com/rogpeppe/godef@latest \
- github.com/zmb3/gogetdoc@latest \
- github.com/fatih/gomodifytags@latest \
- github.com/mgechev/revive@latest \
- github.com/go-delve/delve/cmd/dlv@latest 2>&1 \
- #
- # build Go tools w/o module support
- && GOPATH=/tmp/gotools go get -v github.com/alecthomas/gometalinter 2>&1 \
- #
- # build gocode-gomod
- && GOPATH=/tmp/gotools go get -x -d github.com/stamblerre/gocode 2>&1 \
- && GOPATH=/tmp/gotools go build -o gocode-gomod github.com/stamblerre/gocode \
- #
- # install Go tools
- && mv /tmp/gotools/bin/* /usr/local/bin/ \
- && mv gocode-gomod /usr/local/bin/ \
- #
- # install golangci-lint
- && curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b /usr/local/bin 2>&1 \
- #
- # setup paths
- && mkdir -p "$GOPATH/src" "$GOPATH/bin" "$GOPATH/pkg/mod" \
- && chmod -R 777 "$GOPATH"
-
-#
-# turn on go modules
-ENV GO111MODULE=on
-
-#
-# install docker
-RUN set -eux; \
- curl -fsSL https://download.docker.com/linux/$(lsb_release -is | tr '[:upper:]' '[:lower:]')/gpg | (OUT=$(apt-key add - 2>&1) || echo $OUT); \
- add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/$(lsb_release -is | tr '[:upper:]' '[:lower:]') $(lsb_release -cs) stable"; \
- apt-get update; apt-get install -y docker-ce-cli;
\ No newline at end of file
diff --git a/.docker/files/firefox/Dockerfile b/.docker/files/firefox/Dockerfile
deleted file mode 100644
index 544bbd5e..00000000
--- a/.docker/files/firefox/Dockerfile
+++ /dev/null
@@ -1,23 +0,0 @@
-FROM nurdism/neko:openbox
-
-#
-# 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 clean -y; \
- rm -rf /var/lib/apt/lists/* /var/cache/apt/*
-
-#
-# copy configuation files
-COPY .docker/files/firefox/supervisord.conf /etc/neko/supervisord/firefox.conf
-COPY .docker/files/firefox/neko.js /usr/lib/firefox-esr/mozilla.cfg
-COPY .docker/files/firefox/autoconfig.js /usr/lib/firefox-esr/defaults/pref/autoconfig.js
-COPY .docker/files/firefox/policies.json /usr/lib/firefox-esr/distribution/policies.json
-COPY .docker/files/firefox/openbox.xml /etc/neko/openbox.xml
diff --git a/.docker/files/firefox/autoconfig.js b/.docker/files/firefox/autoconfig.js
deleted file mode 100644
index 87d65796..00000000
--- a/.docker/files/firefox/autoconfig.js
+++ /dev/null
@@ -1,2 +0,0 @@
-pref("general.config.obscure_value", 0);
-pref("general.config.filename", "mozilla.cfg");
\ No newline at end of file
diff --git a/.docker/files/firefox/neko.js b/.docker/files/firefox/neko.js
deleted file mode 100644
index 2a1abb4b..00000000
--- a/.docker/files/firefox/neko.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// firefox config for neko
-lockPref("browser.tabs.closeWindowWithLastTab", false);
-lockPref("app.update.auto", false);
-lockPref("app.update.enabled", false);
-lockPref("app.update.silent", true);
-lockPref("browser.cache.disk.capacity", 1000);
-lockPref("browser.download.useDownloadDir", false);
-lockPref("browser.rights.3.shown", true);
-lockPref("browser.search.update", false);
-lockPref("browser.shell.checkDefaultBrowser", false);
-lockPref("extensions.update.enabled", false);
-lockPref("plugin.default_plugin_disabled", false);
-lockPref("plugin.scan.plid.all", true);
-lockPref("plugins.hide_infobar_for_missing_plugin", true);
-lockPref("profile.allow_automigration", false);
-lockPref("signon.prefillForms", false);
-lockPref("signon.rememberSignons", false);
-lockPref("xpinstall.enabled", false);
-lockPref("xpinstall.whitelist.required", true);
-lockPref("browser.download.manager.retention", 0);
-lockPref("browser.download.folderList", 2);
-lockPref("browser.download.forbid_open_with", true);
-lockPref("browser.safebrowsing.downloads.enabled", false);
-lockPref("browser.safebrowsing.downloads.remote.enabled", false);
-lockPref("browser.helperApps.alwaysAsk.force", false);
-lockPref("browser.helperApps.neverAsk.saveToDisk", "application/zip,application/octet-stream,image/jpeg,application/vnd.ms-outlook,text/html,application/pdf");
-lockPref("browser.helperApps.neverAsk.openFile", "application/zip,application/octet-stream,image/jpeg,application/vnd.ms-outlook,text/html,application/pdf");
-lockPref("browser.newtabpage.activity-stream.default.sites", "https://www.youtube.com/,https://netflix.com,https://www.hulu.com/,https://9anime.to/,https://www.funimation.com/,https://www.disneyplus.com/,https://play.hbonow.com/,https://www.twitch.tv/");
-// dark mode
-lockPref("reader.color_scheme", "dark");
-lockPref("devtools.theme", "dark");
-lockPref("ui.systemUsesDarkTheme", 1);
-lockPref("lightweightThemes.usedThemes","[]");
-lockPref("lightweightThemes.selectedThemeID", "firefox-compact-dark@mozilla.org");
-lockPref("browser.in-content.dark-mode", true);
diff --git a/.docker/files/firefox/openbox.xml b/.docker/files/firefox/openbox.xml
deleted file mode 100644
index 0e73a076..00000000
--- a/.docker/files/firefox/openbox.xml
+++ /dev/null
@@ -1,763 +0,0 @@
-
-
-
-
-
-
-
- 10
- 20
-
-
-
-
-
- no
- true
- yes
- normal
-
-
-
-
- yes
-
- no
-
- yes
-
- no
-
- 200
-
- no
-
-
-
-
- Smart
-
- yes
-
- Primary
-
- 1
-
-
-
-
- Clearlooks
- NLIMC
-
- yes
- yes
-
- sans
- 8
-
- bold
-
- normal
-
-
-
- sans
- 8
-
- bold
-
- normal
-
-
-
- sans
- 9
-
- normal
-
- normal
-
-
-
- sans
- 9
-
- normal
-
- normal
-
-
-
- sans
- 9
-
- bold
-
- normal
-
-
-
- sans
- 9
-
- bold
-
- normal
-
-
-
-
-
-
- 1
- 1
-
-
-
- 875
-
-
-
-
- yes
- Nonpixel
-
- Center
-
-
-
-
- 10
-
- 10
-
-
-
-
-
-
- 0
- 0
- 0
- 0
-
-
-
- TopLeft
-
- 0
- 0
- no
- Above
-
- Vertical
-
- no
- 300
-
- 300
-
- Middle
-
-
-
-
- C-g
-
-
-
- leftno
-
-
- rightno
-
-
- upno
-
-
- downno
-
-
- leftno
-
-
- rightno
-
-
- upno
-
-
- downno
-
-
- 1
-
-
- 2
-
-
- 3
-
-
- 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- scrot -s
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- yesyes
-
-
-
-
-
-
-
-
-
-
-
- right
-
-
-
-
- left
-
-
-
-
- up
-
-
-
-
- down
-
-
-
-
-
-
-
- true
- Konqueror
-
- kfmclient openProfile filemanagement
-
-
-
-
- scrot
-
-
-
-
- 1
-
- 500
-
- 400
-
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- previous
-
-
- next
-
-
- previous
-
-
- next
-
-
- previous
-
-
- next
-
-
-
-
-
-
-
-
-
-
-
-
-
- no
-
-
-
-
-
-
-
-
-
-
- yes
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- top
-
-
-
-
-
- left
-
-
-
-
-
- right
-
-
-
-
-
- bottom
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- vertical
-
-
- horizontal
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- previous
-
-
- next
-
-
-
- previous
-
-
- next
-
-
- previous
-
-
- next
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- previous
-
-
- next
-
-
- previous
-
-
- next
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.docker/files/firefox/policies.json b/.docker/files/firefox/policies.json
deleted file mode 100644
index d75ba66e..00000000
--- a/.docker/files/firefox/policies.json
+++ /dev/null
@@ -1,192 +0,0 @@
-{
- "policies": {
- "BlockAboutAddons": false,
- "BlockAboutConfig": true,
- "BlockAboutProfiles": true,
- "BlockAboutSupport": true,
- "Bookmarks": [
- {
- "Title": "YouTube",
- "URL": "https://www.youtube.com/",
- "Favicon": "https://www.youtube.com/favicon.ico",
- "Folder": "Media",
- "Placement": "toolbar"
- },
- {
- "Title": "Netflix",
- "URL": "https://netflix.com",
- "Favicon": "https://www.netflix.com/favicon.ico",
- "Folder": "Media",
- "Placement": "toolbar"
- },
- {
- "Title": "Hulu",
- "URL": "https://www.hulu.com/",
- "Favicon": "https://www.hulu.com/favicon.ico",
- "Folder": "Media",
- "Placement": "toolbar"
- },
- {
- "Title": "9Anime",
- "URL": "https://9anime.to/",
- "Favicon": "https://staticf.akacdn.ru/assets/favicons/favicon.png",
- "Folder": "Media",
- "Placement": "toolbar"
- },
- {
- "Title": "Crunchy Roll",
- "URL": "https://www.crunchyroll.com/",
- "Favicon": "https://www.crunchyroll.com/favicons/favicon-16x16.png",
- "Folder": "Media",
- "Placement": "toolbar"
- },
- {
- "Title": "Funimation",
- "URL": "https://www.funimation.com/",
- "Favicon": "https://www.funimation.com/static/img/favicon.ico",
- "Folder": "Media",
- "Placement": "toolbar"
- },
- {
- "Title": "Disney+",
- "URL": "https://www.disneyplus.com/",
- "Favicon": "https://prod-static.disney-plus.net/builds/79e07c421f069edf597cdaa753376b64e5de337f_1578322635943/images/favicons/favicon-32x32.png",
- "Folder": "Media",
- "Placement": "toolbar"
- },
- {
- "Title": "HBO Now",
- "URL": "https://play.hbonow.com/",
- "Favicon": "https://play.hbonow.com/assets/images/branding/desktop/hbonow/favicon.ico",
- "Folder": "Media",
- "Placement": "toolbar"
- },
- {
- "Title": "Amazon Video",
- "URL": "https://www.amazon.com/Amazon-Video/b?node=2858778011",
- "Favicon": "https://www.amazon.com/favicon.ico",
- "Folder": "Media",
- "Placement": "toolbar"
- },
- {
- "Title": "VRV",
- "URL": "https://vrv.co/",
- "Favicon": "https://static.vrv.co/vrvweb/assets/img/favicons/favicon-16x16.png",
- "Folder": "Media",
- "Placement": "toolbar"
- },
- {
- "Title": "Twitch",
- "URL": "https://www.twitch.tv/",
- "Favicon": "https://static.twitchcdn.net/assets/favicon-16-2d5d1f5ddd489ee10398.png",
- "Folder": "Media",
- "Placement": "toolbar"
- },
- {
- "Title": "Mixer",
- "URL": "https://mixer.com/",
- "Favicon": "https://mixer.com/_latest/assets/favicons/favicon-16x16.png",
- "Folder": "Media",
- "Placement": "toolbar"
- }
- ],
- "CaptivePortal": false,
- "DisableAppUpdate": true,
- "DisableBuiltinPDFViewer": true,
- "DisableDeveloperTools": false,
- "DisableFeedbackCommands": true,
- "DisableFirefoxAccounts": true,
- "DisableFirefoxScreenshots": true,
- "DisableFirefoxStudies": true,
- "DisableForgetButton": true,
- "DisableMasterPasswordCreation": true,
- "DisablePocket": true,
- "DisablePrivateBrowsing": true,
- "DisableProfileImport": true,
- "DisableProfileRefresh": true,
- "DisableSafeMode": true,
- "DisableSetDesktopBackground": true,
- "DisableSystemAddonUpdate": true,
- "DisableTelemetry": true,
- "DisplayBookmarksToolbar": false,
- "DontCheckDefaultBrowser": true,
- "EnableTrackingProtection": {
- "Cryptomining": true,
- "Fingerprinting": true,
- "Value": true
- },
- "ExtensionSettings": {
- "*": {
- "installation_mode": "blocked"
- },
- "nordvpnproxy@nordvpn.com": {
- "install_url": "https://addons.mozilla.org/firefox/downloads/latest/nordvpn-proxy-extension/latest.xpi",
- "installation_mode": "force_installed"
- },
- "uBlock0@raymondhill.net": {
- "install_url": "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi",
- "installation_mode": "force_installed"
- }
- },
- "ExtensionUpdate": false,
- "FirefoxHome": {
- "Highlights": false,
- "Pocket": false,
- "Search": true,
- "Snippets": false,
- "TopSites": true
- },
- "FlashPlugin": {},
- "HardwareAcceleration": false,
- "Homepage": {
- "Additional": [],
- "StartPage": "none"
- },
- "NewTabPage": true,
- "NoDefaultBookmarks": true,
- "OfferToSaveLogins": false,
- "OfferToSaveLoginsDefault": false,
- "OverrideFirstRunPage": "",
- "OverridePostUpdatePage": "",
- "PasswordManagerEnabled": false,
- "Permissions": {
- "Camera": {
- "BlockNewRequests": true
- },
- "Location": {
- "BlockNewRequests": true
- },
- "Microphone": {
- "BlockNewRequests": true
- },
- "Notifications": {
- "BlockNewRequests": true
- }
- },
- "Preferences": {
- "browser.tabs.warnOnClose": false,
- "browser.urlbar.suggest.bookmark": false,
- "browser.urlbar.suggest.history": false,
- "browser.urlbar.suggest.openpage": false,
- "datareporting.policy.dataSubmissionPolicyBypassNotification": true,
- "dom.disable_window_flip": true,
- "dom.disable_window_move_resize": true,
- "dom.event.contextmenu.enabled": false,
- "extensions.getAddons.showPane": false,
- "places.history.enabled": false,
- "privacy.file_unique_origin": true,
- "ui.key.menuAccessKeyFocuses": false
- },
- "PromptForDownloadLocation": false,
- "SanitizeOnShutdown": {
- "Cache": true,
- "Cookies": true,
- "Downloads": true,
- "FormData": true,
- "History": true,
- "OfflineApps": true,
- "Sessions": true,
- "SiteSettings": true
- }
- }
-}
\ No newline at end of file
diff --git a/.docker/files/firefox/supervisord.conf b/.docker/files/firefox/supervisord.conf
deleted file mode 100644
index 8eb9dccd..00000000
--- a/.docker/files/firefox/supervisord.conf
+++ /dev/null
@@ -1,11 +0,0 @@
-
-[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 1280 -height 720
-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
\ No newline at end of file
diff --git a/.docker/files/firefox/test b/.docker/files/firefox/test
deleted file mode 100755
index 74f3e6bc..00000000
--- a/.docker/files/firefox/test
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/bash
-
-set -eux
-
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
-
-#
-# firefox
-cp $DIR/neko.js /usr/lib/firefox-esr/mozilla.cfg
-#rm -f /usr/lib/firefox-esr/mozilla.cfg
-
-cp $DIR/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 $DIR/policies.json /usr/lib/firefox-esr/distribution/policies.json
-#rm -f /usr/lib/firefox-esr/distribution/policies.json
-
-cp $DIR/supervisord.conf /etc/neko/supervisord/firefox.conf
-#rm -f /etc/neko/supervisord/firefox.conf
-
-#
-# install extensions
-mkdir -p /usr/lib/firefox/distribution/extensions
-
-#
-# uBlock
-if [ ! -f /usr/lib/firefox/distribution/extensions/uBlock0@raymondhill.net.xpi ]; then
- wget -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
- wget -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
\ No newline at end of file
diff --git a/.docker/files/jwm/Dockerfile b/.docker/files/jwm/Dockerfile
deleted file mode 100644
index 7a7ab59e..00000000
--- a/.docker/files/jwm/Dockerfile
+++ /dev/null
@@ -1,11 +0,0 @@
-FROM nurdism/neko:base
-
-#
-# install jwm
-RUN set -eux; apt-get update; \
- apt-get install -y --no-install-recommends jwm;
-
-#
-# copy jwm conf and supervisord conf
-COPY .docker/files/jwm/supervisord.conf /etc/neko/supervisord/jwm.conf
-COPY .docker/files/jwm/conf.xml /etc/neko/jwm.xml
diff --git a/.docker/files/jwm/conf.xml b/.docker/files/jwm/conf.xml
deleted file mode 100644
index d8a17960..00000000
--- a/.docker/files/jwm/conf.xml
+++ /dev/null
@@ -1,209 +0,0 @@
-
-
-
-
-
- /etc/jwm/debian-menu
- xterm
-
-
- xlock -mode blank
-
-
-
-
-
-
-
-
-
-
-
-
- Pidgin
-
-
-
- xterm
-
-
-
- xclock
-
-
-
-
-
-
-
- root:1
-
- showdesktop
-
-
-
-
-
-
-
-
-
-
-
-
-
- Sans-9:bold
- 4
- 21
- 3
- #FFFFFF
- #555555
- #000000
- 0.5
-
- #FFFFFF
- #0077CC
- #000000
- 1.0
-
-
-
- Sans-9
- #333333
- #FFFFFF
- #000000
- 0.75
-
-
- #000000
- #555555
- #333333
- #FFFFFF
-
- #0077CC
- #004488
-
-
-
- Sans-9
- #FFFFFF
- #333333
- #000000
-
- #FFFFFF
- #0077CC
-
- 0.85
-
-
- Sans-9
- #000000
- #999999
-
-
-
- /usr/share/icons/gnome/256x256/actions
- /usr/share/icons/gnome/256x256/apps
- /usr/share/icons/gnome/256x256/categories
- /usr/share/icons/gnome/256x256/devices
- /usr/share/icons/gnome/256x256/emblems
- /usr/share/icons/gnome/256x256/mimetypes
- /usr/share/icons/gnome/256x256/places
- /usr/share/icons/gnome/256x256/status
- /usr/share/icons/gnome/32x32/actions
- /usr/share/icons/gnome/32x32/animations
- /usr/share/icons/gnome/32x32/apps
- /usr/share/icons/gnome/32x32/categories
- /usr/share/icons/gnome/32x32/devices
- /usr/share/icons/gnome/32x32/emblems
- /usr/share/icons/gnome/32x32/mimetypes
- /usr/share/icons/gnome/32x32/places
- /usr/share/icons/gnome/32x32/status
- /usr/share/icons/gnome/scalable/actions
- /usr/share/icons/gnome/scalable/apps
- /usr/share/icons/gnome/scalable/categories
- /usr/share/icons/gnome/scalable/devices
- /usr/share/icons/gnome/scalable/emblems
- /usr/share/icons/gnome/scalable/mimetypes
- /usr/share/icons/gnome/scalable/places
- /usr/share/icons/gnome/scalable/status
- /usr/share/icons/hicolor/256x256/apps
- /usr/share/icons/hicolor/256x256/mimetypes
- /usr/share/icons/hicolor/32x32/actions
- /usr/share/icons/hicolor/32x32/apps
- /usr/share/icons/hicolor/32x32/categories
- /usr/share/icons/hicolor/32x32/devices
- /usr/share/icons/hicolor/32x32/emblems
- /usr/share/icons/hicolor/32x32/mimetypes
- /usr/share/icons/hicolor/32x32/status
- /usr/share/icons/hicolor/512x512/apps
- /usr/share/icons/hicolor/512x512/mimetypes
- /usr/share/icons/hicolor/scalable/actions
- /usr/share/icons/hicolor/scalable/apps
- /usr/share/icons/hicolor/scalable/categories
- /usr/share/icons/hicolor/scalable/devices
- /usr/share/icons/hicolor/scalable/emblems
- /usr/share/icons/hicolor/scalable/mimetypes
- /usr/share/icons/hicolor/scalable/places
- /usr/share/icons/hicolor/scalable/status
- /usr/share/icons
- /usr/share/pixmaps
-
- /usr/local/share/jwm
-
-
-
-
-
-
- #111111
-
-
-
- 400
-
-
- 2
-
-
- sloppy
-
-
- border
-
-
- opaque
-
-
- opaque
-
-
- up
- down
- right
- left
- left
- down
- up
- right
- select
- escape
-
- nextstacked
- close
- desktop#
- root:1
- window
- maximize
- rdesktop
- ldesktop
- udesktop
- ddesktop
-
-
\ No newline at end of file
diff --git a/.docker/files/jwm/supervisord.conf b/.docker/files/jwm/supervisord.conf
deleted file mode 100644
index ddac11d9..00000000
--- a/.docker/files/jwm/supervisord.conf
+++ /dev/null
@@ -1,10 +0,0 @@
-[program:jwm]
-environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY="%(ENV_DISPLAY)s"
-command=/usr/bin/jwm -f /etc/neko/jwm.xml -display %(ENV_DISPLAY)s
-autorestart=true
-priority=300
-user=%(ENV_USER)s
-stdout_logfile=/var/log/neko/jwm.log
-stdout_logfile_maxbytes=100MB
-stdout_logfile_backups=10
-redirect_stderr=true
\ No newline at end of file
diff --git a/.docker/files/openbox/Dockerfile b/.docker/files/openbox/Dockerfile
deleted file mode 100644
index c7d9635e..00000000
--- a/.docker/files/openbox/Dockerfile
+++ /dev/null
@@ -1,11 +0,0 @@
-FROM nurdism/neko:base
-
-#
-# install openbox
-RUN set -eux; apt-get update; \
- apt-get install -y --no-install-recommends openbox;
-
-#
-# copy openbox conf and supervisord conf
-COPY .docker/files/openbox/supervisord.conf /etc/neko/supervisord/openbox.conf
-COPY .docker/files/openbox/conf.xml /etc/neko/openbox.xml
diff --git a/.docker/files/openbox/conf.xml b/.docker/files/openbox/conf.xml
deleted file mode 100644
index 5e7aff0e..00000000
--- a/.docker/files/openbox/conf.xml
+++ /dev/null
@@ -1,753 +0,0 @@
-
-
-
-
-
-
-
- 10
- 20
-
-
-
- yes
-
- no
-
- yes
-
- no
-
- 200
-
- no
-
-
-
-
- Smart
-
- yes
-
- Primary
-
- 1
-
-
-
-
- Clearlooks
- NLIMC
-
- yes
- yes
-
- sans
- 8
-
- bold
-
- normal
-
-
-
- sans
- 8
-
- bold
-
- normal
-
-
-
- sans
- 9
-
- normal
-
- normal
-
-
-
- sans
- 9
-
- normal
-
- normal
-
-
-
- sans
- 9
-
- bold
-
- normal
-
-
-
- sans
- 9
-
- bold
-
- normal
-
-
-
-
-
-
- 10
- 1
-
-
-
- 875
-
-
-
-
- yes
- Nonpixel
-
- Center
-
-
-
-
- 10
-
- 10
-
-
-
-
-
-
- 0
- 0
- 0
- 0
-
-
-
- TopLeft
-
- 0
- 0
- no
- Above
-
- Vertical
-
- no
- 300
-
- 300
-
- Middle
-
-
-
-
- C-g
-
-
-
- leftno
-
-
- rightno
-
-
- upno
-
-
- downno
-
-
- leftno
-
-
- rightno
-
-
- upno
-
-
- downno
-
-
- 1
-
-
- 2
-
-
- 3
-
-
- 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- scrot -s
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- yesyes
-
-
-
-
-
-
-
-
-
-
-
- right
-
-
-
-
- left
-
-
-
-
- up
-
-
-
-
- down
-
-
-
-
-
-
-
- true
- Konqueror
-
- kfmclient openProfile filemanagement
-
-
-
-
- scrot
-
-
-
-
- 1
-
- 500
-
- 400
-
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- previous
-
-
- next
-
-
- previous
-
-
- next
-
-
- previous
-
-
- next
-
-
-
-
-
-
-
-
-
-
-
-
-
- no
-
-
-
-
-
-
-
-
-
-
- yes
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- top
-
-
-
-
-
- left
-
-
-
-
-
- right
-
-
-
-
-
- bottom
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- vertical
-
-
- horizontal
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- previous
-
-
- next
-
-
-
- previous
-
-
- next
-
-
- previous
-
-
- next
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- previous
-
-
- next
-
-
- previous
-
-
- next
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.docker/files/openbox/supervisord.conf b/.docker/files/openbox/supervisord.conf
deleted file mode 100644
index eb906344..00000000
--- a/.docker/files/openbox/supervisord.conf
+++ /dev/null
@@ -1,10 +0,0 @@
-[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=/var/log/neko/openbox.log
-stdout_logfile_maxbytes=100MB
-stdout_logfile_backups=10
-redirect_stderr=true
diff --git a/.docker/files/popcorn/Dockerfile b/.docker/files/popcorn/Dockerfile
deleted file mode 100644
index 18f342b2..00000000
--- a/.docker/files/popcorn/Dockerfile
+++ /dev/null
@@ -1,15 +0,0 @@
-FROM nurdism/neko:openbox
-
-#
-# install popcorn time
-RUN set -eux; apt-get update; \
- apt-get install -y --no-install-recommends ; \
- #
- # clean up
- apt-get clean -y; \
- rm -rf /var/lib/apt/lists/* /var/cache/apt/*
-
-#
-# copy configuation files
-COPY .docker/files/popcorn/supervisord.conf /etc/neko/supervisord/popcorn.conf
-COPY .docker/files/popcorn/openbox.xml /etc/neko/openbox.xml
\ No newline at end of file
diff --git a/.docker/files/popcorn/openbox.xml b/.docker/files/popcorn/openbox.xml
deleted file mode 100644
index 0e73a076..00000000
--- a/.docker/files/popcorn/openbox.xml
+++ /dev/null
@@ -1,763 +0,0 @@
-
-
-
-
-
-
-
- 10
- 20
-
-
-
-
-
- no
- true
- yes
- normal
-
-
-
-
- yes
-
- no
-
- yes
-
- no
-
- 200
-
- no
-
-
-
-
- Smart
-
- yes
-
- Primary
-
- 1
-
-
-
-
- Clearlooks
- NLIMC
-
- yes
- yes
-
- sans
- 8
-
- bold
-
- normal
-
-
-
- sans
- 8
-
- bold
-
- normal
-
-
-
- sans
- 9
-
- normal
-
- normal
-
-
-
- sans
- 9
-
- normal
-
- normal
-
-
-
- sans
- 9
-
- bold
-
- normal
-
-
-
- sans
- 9
-
- bold
-
- normal
-
-
-
-
-
-
- 1
- 1
-
-
-
- 875
-
-
-
-
- yes
- Nonpixel
-
- Center
-
-
-
-
- 10
-
- 10
-
-
-
-
-
-
- 0
- 0
- 0
- 0
-
-
-
- TopLeft
-
- 0
- 0
- no
- Above
-
- Vertical
-
- no
- 300
-
- 300
-
- Middle
-
-
-
-
- C-g
-
-
-
- leftno
-
-
- rightno
-
-
- upno
-
-
- downno
-
-
- leftno
-
-
- rightno
-
-
- upno
-
-
- downno
-
-
- 1
-
-
- 2
-
-
- 3
-
-
- 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- scrot -s
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- yesyes
-
-
-
-
-
-
-
-
-
-
-
- right
-
-
-
-
- left
-
-
-
-
- up
-
-
-
-
- down
-
-
-
-
-
-
-
- true
- Konqueror
-
- kfmclient openProfile filemanagement
-
-
-
-
- scrot
-
-
-
-
- 1
-
- 500
-
- 400
-
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- previous
-
-
- next
-
-
- previous
-
-
- next
-
-
- previous
-
-
- next
-
-
-
-
-
-
-
-
-
-
-
-
-
- no
-
-
-
-
-
-
-
-
-
-
- yes
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- top
-
-
-
-
-
- left
-
-
-
-
-
- right
-
-
-
-
-
- bottom
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- vertical
-
-
- horizontal
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- previous
-
-
- next
-
-
-
- previous
-
-
- next
-
-
- previous
-
-
- next
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- previous
-
-
- next
-
-
- previous
-
-
- next
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.docker/files/popcorn/supervisord.conf b/.docker/files/popcorn/supervisord.conf
deleted file mode 100644
index 3ba90fcc..00000000
--- a/.docker/files/popcorn/supervisord.conf
+++ /dev/null
@@ -1,11 +0,0 @@
-
-[program:popcorn]
-environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY="%(ENV_DISPLAY)s"
-command=
-autorestart=true
-priority=800
-user=%(ENV_USER)s
-stdout_logfile=/var/log/neko/popcorn.log
-stdout_logfile_maxbytes=100MB
-stdout_logfile_backups=10
-redirect_stderr=true
\ No newline at end of file
diff --git a/.docker/files/tor-browser/Dockerfile b/.docker/files/tor-browser/Dockerfile
deleted file mode 100644
index f8b76d3f..00000000
--- a/.docker/files/tor-browser/Dockerfile
+++ /dev/null
@@ -1,28 +0,0 @@
-FROM nurdism/neko:openbox
-
-#
-# install dependencies
-RUN set -eux; apt-get update; \
- apt-get install -y --no-install-recommends curl xz-utils file libgtk-3-0 libdbus-glib-1-2; \
- #
- # clean up
- apt-get clean -y; \
- rm -rf /var/lib/apt/lists/* /var/cache/apt/*
-
-WORKDIR /home/neko
-USER neko
-
-#
-# download TOR browser
-RUN DOWNLOAD_URI="$(curl -s -N https://www.torproject.org/download/ | grep -Po -m 1 '(?=(dist/torbrowser)).*(?<=.tar.xz)')"; \
- echo "Downloading $DOWNLOAD_URI"; \
- curl -sSL -o tor.tar.xz "https://www.torproject.org/$DOWNLOAD_URI"; \
- tar -xvJf tor.tar.xz; \
- rm -f tor.tar.xz*;
-
-USER root
-
-#
-# copy configuation file
-COPY .docker/files/tor-browser/supervisord.conf /etc/neko/supervisord/tor-browser.conf
-COPY .docker/files/tor-browser/openbox.xml /etc/neko/openbox.xml
diff --git a/.docker/files/tor-browser/openbox.xml b/.docker/files/tor-browser/openbox.xml
deleted file mode 100644
index f288d364..00000000
--- a/.docker/files/tor-browser/openbox.xml
+++ /dev/null
@@ -1,763 +0,0 @@
-
-
-
-
-
-
-
- 10
- 20
-
-
-
-
-
- no
- true
- yes
- normal
-
-
-
-
- yes
-
- no
-
- yes
-
- no
-
- 200
-
- no
-
-
-
-
- Smart
-
- yes
-
- Primary
-
- 1
-
-
-
-
- Clearlooks
- NLIMC
-
- yes
- yes
-
- sans
- 8
-
- bold
-
- normal
-
-
-
- sans
- 8
-
- bold
-
- normal
-
-
-
- sans
- 9
-
- normal
-
- normal
-
-
-
- sans
- 9
-
- normal
-
- normal
-
-
-
- sans
- 9
-
- bold
-
- normal
-
-
-
- sans
- 9
-
- bold
-
- normal
-
-
-
-
-
-
- 1
- 1
-
-
-
- 875
-
-
-
-
- yes
- Nonpixel
-
- Center
-
-
-
-
- 10
-
- 10
-
-
-
-
-
-
- 0
- 0
- 0
- 0
-
-
-
- TopLeft
-
- 0
- 0
- no
- Above
-
- Vertical
-
- no
- 300
-
- 300
-
- Middle
-
-
-
-
- C-g
-
-
-
- leftno
-
-
- rightno
-
-
- upno
-
-
- downno
-
-
- leftno
-
-
- rightno
-
-
- upno
-
-
- downno
-
-
- 1
-
-
- 2
-
-
- 3
-
-
- 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- scrot -s
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- yesyes
-
-
-
-
-
-
-
-
-
-
-
- right
-
-
-
-
- left
-
-
-
-
- up
-
-
-
-
- down
-
-
-
-
-
-
-
- true
- Konqueror
-
- kfmclient openProfile filemanagement
-
-
-
-
- scrot
-
-
-
-
- 1
-
- 500
-
- 400
-
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- previous
-
-
- next
-
-
- previous
-
-
- next
-
-
- previous
-
-
- next
-
-
-
-
-
-
-
-
-
-
-
-
-
- no
-
-
-
-
-
-
-
-
-
-
- yes
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- top
-
-
-
-
-
- left
-
-
-
-
-
- right
-
-
-
-
-
- bottom
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- vertical
-
-
- horizontal
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- previous
-
-
- next
-
-
-
- previous
-
-
- next
-
-
- previous
-
-
- next
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- previous
-
-
- next
-
-
- previous
-
-
- next
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.docker/files/tor-browser/supervisord.conf b/.docker/files/tor-browser/supervisord.conf
deleted file mode 100644
index 49cd15b6..00000000
--- a/.docker/files/tor-browser/supervisord.conf
+++ /dev/null
@@ -1,13 +0,0 @@
-[program:tor-browser]
-environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY="%(ENV_DISPLAY)s"
-command=/home/neko/tor-browser_en-US/Browser/start-tor-browser --display=%(ENV_DISPLAY)s --setDefaultBrowser --window-size 1280,720
-autorestart=true
-priority=800
-user=%(ENV_USER)s
-stdout_logfile=/var/log/neko/tor-browser.log
-stdout_logfile_maxbytes=100MB
-stdout_logfile_backups=10
-redirect_stderr=true
-stderr_logfile=/var/log/neko/tor-browser.err.log
-stderr_logfile_maxbytes=100MB
-stderr_logfile_backups=10
diff --git a/.docker/files/xfce4/Dockerfile b/.docker/files/xfce4/Dockerfile
deleted file mode 100644
index 12105f3f..00000000
--- a/.docker/files/xfce4/Dockerfile
+++ /dev/null
@@ -1,11 +0,0 @@
-FROM nurdism/neko:base
-
-#
-# install xfce4
-RUN set -eux; apt-get update; \
- apt-get install -y --no-install-recommends xfce4;
-
-#
-# copy xfce4 conf and supervisord conf
-COPY .docker/files/xfce4/supervisord.conf /etc/neko/openbox.xml
-# COPY .docker/files/xfce4/xfconf /etc/neko/xfconf
diff --git a/.docker/files/xfce4/supervisord.conf b/.docker/files/xfce4/supervisord.conf
deleted file mode 100644
index 7eecca65..00000000
--- a/.docker/files/xfce4/supervisord.conf
+++ /dev/null
@@ -1,10 +0,0 @@
-[program:xfce4]
-environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY="%(ENV_DISPLAY)s"
-command=/usr/bin/xfce4-session
-autorestart=true
-priority=300
-user=%(ENV_USER)s
-stdout_logfile=/var/log/neko/xfce4.log
-stdout_logfile_maxbytes=100MB
-stdout_logfile_backups=10
-redirect_stderr=true
diff --git a/.docker/test b/.docker/test
deleted file mode 100755
index 6c331811..00000000
--- a/.docker/test
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/bin/bash
-
-# usefull debugging tools pavucontrol htop x11vnc
-
-if [[ $EUID -ne 0 ]]; then
- echo "This script must be run as root"
- exit 1
-fi
-
-export USER=neko
-export SCREEN_WIDTH=1280
-export SCREEN_HEIGHT=720
-export SCREEN_DEPTH=24
-export DISPLAY=:99.0
-
-set -ex
-
-#
-# create log folders
-if [ ! -L /var/log/neko ]; then
- mkdir -p logs/neko
-
- ln -s /workspace/.docker/logs/neko /var/log/neko
-
- chown -R $USER logs
- chown -R $USER /var/log/neko
-fi
-
-#
-# 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/xorg.conf /etc/neko/xorg.conf
-cp files/openbox.xml /etc/neko/openbox.xml
-
-chmod +x /usr/bin/dbus
-
-#
-# 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
\ No newline at end of file
diff --git a/.docker/x11vnc b/.docker/x11vnc
deleted file mode 100755
index 066f3478..00000000
--- a/.docker/x11vnc
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-
-if [ ! -f "${HOME}/.vnc/passwd" ]; then
- x11vnc -storepasswd
-fi
-
-/usr/bin/x11vnc -display :0 -6 -xkb -rfbport 5901 -rfbauth $HOME/.vnc/passwd -wait 20 -nap -noxrecord -nopw -noxfixes -noxdamage -repeat