[
  {
    "path": "Dockerfile.1604",
    "content": "FROM ubuntu:xenial\nMAINTAINER CUI Wei <ghostplant@qq.com>\n\nENV SESSION=docker\n\nRUN bash -c \"echo -n 'mQINBFaeKgEBEACj4utwB2N8r9LpLb1GI4hnktVt6BPTFCOdv9HTehL54Y59lm+FQz+vqG2vU/bSqq6LD8/ZpIq9tTjvmQvGKKsmHF5QHmpFYmhQm53iz7hWfQW8UObfrFTA9B9tIIJDzkEHBusdKBB0gJmln5YKA/y3p+Tryk7UTczRTfbMJibQayuDoxk6vaPbXrJntrx17uITZYwFgAdKwJJRcdpgr9s1mGCcZJuLjshuMJY10SZRMFMtKrXJiJAu9QnUxJYO29bl/lqZfxfCMZqr1jfmbziNpfwN+6nxTCDbZhhvZkBo1ZGoqzrvXX6rrJePunW/HDmCEW/m2sx4o1eO+iCeWPku5+CivAYRWx0f2HXI5W8aw4EtBmXTzy0IM0Knnt43XG6AR8NYm/4SmUX/Bs7NBVf2l7fvPi1G/Aabd7lhCi17m6rO60phzE86ZqGTPAmkdjpc404/2b5A/U6GyWFGTO1fM4IlndmwkTG1L5N1vCuXVJRagfcRjCoYCxMXpF19fwNTDp8Via34onyNDEh4R4ziBWKhwDgVwtd9mf3/6N6MYc5MIr9FfnVWBDj5wBFsW7BTUehfJ+nUZzMXw5tM3hRfvtCRvX0OlsPP+ABJq0kQxlhzKoRs/1TDDWaThB9I/K7qSgLFTk+avwa1oe8y3t1b40A/8FZ4vJws3JJxXJ5OQwARAQABtBlMYXVuY2hwYWQgUFBBIGZvciBDdWkgV2VpiQI4BBMBAgAiBQJWnioBAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRD8xCVwh4X0Bf/RD/4+uGrMaPsfgWm8/gTgdQxeqNAz3BjgphcLMnfEkxuxppJdwnUs9enWsx0BBGrMIsl4eKzb1QcF1tr8TQuhMBVf28f6BHQGpA6gndIwvpcSXjgaRF2dOqGocsOgMPXhQRKoLWrKHzEpvYeHdykLmkczWIvyB6bMYbttj65KQI1VCSKONtTumYk1ZcIMtYkPk4Mjiy+45GQAlWxt1EH8DdBTCdXUJfPISFXDQEv6QcsqFBr0XC+KvaEC+mp/Be8i1dKWc0MNFBR+z8EtcdmOU4CckRM4OVc+qM2JnErzlYqod1azsF2KKRnptlTdgVnka98mgocNe2EEBqo/ntAf/+iUfBJSAvdRFAFQWgUYugnIZ+z+Nc8bBfPOJFqOk6agbYCcZZjIG+kevk+n6vbzXCsl390U9wPTtUPbc5lMO8TssNfOul7vf/atz8wkXcIiO0qLSYWc6hc0hmWH7GZtuvqNOQbDtXSNgsaLTQYWzeNSdWE7qt+Na2davNA0pzGauvE2Nbl5F8i+DyoBfiLRjpCsdqTKBOvutPoI+9FzC2a+3KHTND+g7YDlB+ZJmf0GV7vqj+usAbUyeNIX+7w09arWoP1iVwTfMYya89soaX6R4dS3kb6HQD9X0veuMMQpPdvuZK3RSBTAc9CY1VCUXLKm4kRz+/vkMMq1jb8H7aTpQbACAAM=' | base64 -d > /etc/apt/trusted.gpg.d/ghostplant_ubuntu_flashback.gpg\"\nRUN bash -c \"echo -e 'deb http://ppa.launchpad.net/ghostplant/flashback/ubuntu xenial main' > /etc/apt/sources.list.d/ghostplant-ubuntu-flashback-xenial.list\"\nRUN apt-get update && apt-get install locales vnc4server xfonts-base debian-properties-common gnome-flashback-classic fcitx fcitx-googlepinyin fcitx-ui-classic fcitx-frontend-gtk3 fcitx-config-gtk language-pack-zh-hans language-pack-gnome-zh-hans libcurl3 chromium-browser-l10n dnsutils curl sudo psmisc gdebi-core iputils-ping rsync netcat-openbsd whiptail bash-completion openssh-client p7zip-full iproute2 net-tools vim-tiny openssl novnc-ex -y --no-install-recommends && apt-clean\nRUN rm -f /etc/apt/sources.list.d/ghostplant-ubuntu-flashback-xenial.list\n\nRUN bash -c \"echo -e 'set backspace=indent,eol,start\\nset nocompatible\\nset ts=4' >> /etc/vim/vimrc.tiny; echo '. /etc/bash_completion' >> /etc/profile\"\nRUN echo 'CHROMIUM_FLAGS=\"--no-sandbox --ignore-certificate-errors\"' > /etc/chromium-browser/default\n\nRUN locale-gen en_US.UTF-8\nRUN locale-gen zh_CN.UTF-8\n\nENV LANG=zh_CN.UTF-8\nENV INIT_PASS=123456\nENV GEOMETRY=1024x768\n\nEXPOSE 5901/tcp 8443/tcp\n\nRUN sed -i 's/xsetroot -solid .*$/exec nemo -n \\&/g' /usr/bin/start-xvnc\nRUN useradd -m -G sudo admin\nRUN /bin/echo \"admin:${INIT_PASS}\" | chpasswd\nRUN /bin/echo -e \"${INIT_PASS}\\n${INIT_PASS}\\n\" | vncpasswd\nCMD [\"sh\", \"-c\", \"echo start-xvnc | su admin\"]\n\n"
  },
  {
    "path": "Dockerfile.1804",
    "content": "FROM ubuntu:bionic\nMAINTAINER CUI Wei <ghostplant@qq.com>\n\nENV SESSION=docker\n\nRUN bash -c \"echo -n 'mQINBFaeKgEBEACj4utwB2N8r9LpLb1GI4hnktVt6BPTFCOdv9HTehL54Y59lm+FQz+vqG2vU/bSqq6LD8/ZpIq9tTjvmQvGKKsmHF5QHmpFYmhQm53iz7hWfQW8UObfrFTA9B9tIIJDzkEHBusdKBB0gJmln5YKA/y3p+Tryk7UTczRTfbMJibQayuDoxk6vaPbXrJntrx17uITZYwFgAdKwJJRcdpgr9s1mGCcZJuLjshuMJY10SZRMFMtKrXJiJAu9QnUxJYO29bl/lqZfxfCMZqr1jfmbziNpfwN+6nxTCDbZhhvZkBo1ZGoqzrvXX6rrJePunW/HDmCEW/m2sx4o1eO+iCeWPku5+CivAYRWx0f2HXI5W8aw4EtBmXTzy0IM0Knnt43XG6AR8NYm/4SmUX/Bs7NBVf2l7fvPi1G/Aabd7lhCi17m6rO60phzE86ZqGTPAmkdjpc404/2b5A/U6GyWFGTO1fM4IlndmwkTG1L5N1vCuXVJRagfcRjCoYCxMXpF19fwNTDp8Via34onyNDEh4R4ziBWKhwDgVwtd9mf3/6N6MYc5MIr9FfnVWBDj5wBFsW7BTUehfJ+nUZzMXw5tM3hRfvtCRvX0OlsPP+ABJq0kQxlhzKoRs/1TDDWaThB9I/K7qSgLFTk+avwa1oe8y3t1b40A/8FZ4vJws3JJxXJ5OQwARAQABtBlMYXVuY2hwYWQgUFBBIGZvciBDdWkgV2VpiQI4BBMBAgAiBQJWnioBAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRD8xCVwh4X0Bf/RD/4+uGrMaPsfgWm8/gTgdQxeqNAz3BjgphcLMnfEkxuxppJdwnUs9enWsx0BBGrMIsl4eKzb1QcF1tr8TQuhMBVf28f6BHQGpA6gndIwvpcSXjgaRF2dOqGocsOgMPXhQRKoLWrKHzEpvYeHdykLmkczWIvyB6bMYbttj65KQI1VCSKONtTumYk1ZcIMtYkPk4Mjiy+45GQAlWxt1EH8DdBTCdXUJfPISFXDQEv6QcsqFBr0XC+KvaEC+mp/Be8i1dKWc0MNFBR+z8EtcdmOU4CckRM4OVc+qM2JnErzlYqod1azsF2KKRnptlTdgVnka98mgocNe2EEBqo/ntAf/+iUfBJSAvdRFAFQWgUYugnIZ+z+Nc8bBfPOJFqOk6agbYCcZZjIG+kevk+n6vbzXCsl390U9wPTtUPbc5lMO8TssNfOul7vf/atz8wkXcIiO0qLSYWc6hc0hmWH7GZtuvqNOQbDtXSNgsaLTQYWzeNSdWE7qt+Na2davNA0pzGauvE2Nbl5F8i+DyoBfiLRjpCsdqTKBOvutPoI+9FzC2a+3KHTND+g7YDlB+ZJmf0GV7vqj+usAbUyeNIX+7w09arWoP1iVwTfMYya89soaX6R4dS3kb6HQD9X0veuMMQpPdvuZK3RSBTAc9CY1VCUXLKm4kRz+/vkMMq1jb8H7aTpQbACAAM=' | base64 -d > /etc/apt/trusted.gpg.d/ghostplant_ubuntu_flashback.gpg\"\n\n# Not excluding translate files\nRUN sed -i 's/^.*LC_MESSAGES.*$//g' /etc/dpkg/dpkg.cfg.d/excludes\n\nRUN bash -c \"echo -e 'deb http://ppa.launchpad.net/ghostplant/flashback/ubuntu bionic main' > /etc/apt/sources.list.d/ghostplant-ubuntu-flashback-xenial.list\"\nRUN apt-get update && apt-get install locales vnc4server xfonts-base debian-properties-common gnome-flashback-classic fcitx fcitx-googlepinyin fcitx-ui-classic fcitx-frontend-gtk3 fcitx-config-gtk language-pack-gnome-zh-hans chromium-browser-l10n dnsutils curl sudo psmisc gdebi-core iputils-ping rsync netcat-openbsd whiptail bash-completion openssh-client p7zip-full iproute2 net-tools vim-tiny openssl novnc-ex -y --no-install-recommends && apt-clean\n\nRUN bash -c \"echo -e 'set backspace=indent,eol,start\\nset nocompatible\\nset ts=4' >> /etc/vim/vimrc.tiny; echo '. /etc/bash_completion' >> /etc/profile\"\nRUN echo 'CHROMIUM_FLAGS=\"--no-sandbox\"' > /etc/chromium-browser/default\n# RUN echo 'CHROMIUM_FLAGS=\"--no-sandbox --ignore-certificate-errors\"' > /etc/chromium-browser/default\n\nRUN locale-gen en_US.UTF-8\nRUN locale-gen zh_CN.UTF-8\n\nENV LANG=zh_CN.UTF-8\nENV INIT_PASS=123456\nENV GEOMETRY=1024x768\n\nEXPOSE 5901/tcp 8443/tcp\n\nRUN sed -i '/^exec mate-session/a\\sleep 3\\nexec caja --force-desktop -n \\&' /usr/bin/start-xvnc\nRUN sed -i 's/depth 24$/depth \\${DEPTH:-16}/g' /usr/bin/start-xvnc\nRUN cd /usr/share/glib-2.0/schemas && \\\n        sed -i 's/^home-icon-name.*$//g' 90_ubuntu-classic.gschema.override && \\\n        sed -i 's/^picture-filename.*$//g' 90_ubuntu-classic.gschema.override && \\\n        glib-compile-schemas .\nRUN rm -f /usr/bin/mate-session-save\n\n# RUN useradd -m -G sudo -s /bin/bash admin\n# RUN /bin/echo \"admin:${INIT_PASS}\" | chpasswd\nRUN /bin/echo -e \"${INIT_PASS}\\n${INIT_PASS}\\n\" | vncpasswd\n# CMD [\"sh\", \"-c\", \"echo start-xvnc | su admin\"]\nCMD [\"start-xvnc\"]\n\n"
  },
  {
    "path": "Dockerfile.2004",
    "content": "FROM ubuntu:focal\nMAINTAINER CUI Wei <ghostplant@qq.com>\n\nENV DEBIAN_FRONTEND=noninteractive\n\nRUN /bin/echo -n 'mQINBFaeKgEBEACj4utwB2N8r9LpLb1GI4hnktVt6BPTFCOdv9HTehL54Y59lm+FQz+vqG2vU/bSqq6LD8/ZpIq9tTjvmQvGKKsmHF5QHmpFYmhQm53iz7hWfQW8UObfrFTA9B9tIIJDzkEHBusdKBB0gJmln5YKA/y3p+Tryk7UTczRTfbMJibQayuDoxk6vaPbXrJntrx17uITZYwFgAdKwJJRcdpgr9s1mGCcZJuLjshuMJY10SZRMFMtKrXJiJAu9QnUxJYO29bl/lqZfxfCMZqr1jfmbziNpfwN+6nxTCDbZhhvZkBo1ZGoqzrvXX6rrJePunW/HDmCEW/m2sx4o1eO+iCeWPku5+CivAYRWx0f2HXI5W8aw4EtBmXTzy0IM0Knnt43XG6AR8NYm/4SmUX/Bs7NBVf2l7fvPi1G/Aabd7lhCi17m6rO60phzE86ZqGTPAmkdjpc404/2b5A/U6GyWFGTO1fM4IlndmwkTG1L5N1vCuXVJRagfcRjCoYCxMXpF19fwNTDp8Via34onyNDEh4R4ziBWKhwDgVwtd9mf3/6N6MYc5MIr9FfnVWBDj5wBFsW7BTUehfJ+nUZzMXw5tM3hRfvtCRvX0OlsPP+ABJq0kQxlhzKoRs/1TDDWaThB9I/K7qSgLFTk+avwa1oe8y3t1b40A/8FZ4vJws3JJxXJ5OQwARAQABtBlMYXVuY2hwYWQgUFBBIGZvciBDdWkgV2VpiQI4BBMBAgAiBQJWnioBAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRD8xCVwh4X0Bf/RD/4+uGrMaPsfgWm8/gTgdQxeqNAz3BjgphcLMnfEkxuxppJdwnUs9enWsx0BBGrMIsl4eKzb1QcF1tr8TQuhMBVf28f6BHQGpA6gndIwvpcSXjgaRF2dOqGocsOgMPXhQRKoLWrKHzEpvYeHdykLmkczWIvyB6bMYbttj65KQI1VCSKONtTumYk1ZcIMtYkPk4Mjiy+45GQAlWxt1EH8DdBTCdXUJfPISFXDQEv6QcsqFBr0XC+KvaEC+mp/Be8i1dKWc0MNFBR+z8EtcdmOU4CckRM4OVc+qM2JnErzlYqod1azsF2KKRnptlTdgVnka98mgocNe2EEBqo/ntAf/+iUfBJSAvdRFAFQWgUYugnIZ+z+Nc8bBfPOJFqOk6agbYCcZZjIG+kevk+n6vbzXCsl390U9wPTtUPbc5lMO8TssNfOul7vf/atz8wkXcIiO0qLSYWc6hc0hmWH7GZtuvqNOQbDtXSNgsaLTQYWzeNSdWE7qt+Na2davNA0pzGauvE2Nbl5F8i+DyoBfiLRjpCsdqTKBOvutPoI+9FzC2a+3KHTND+g7YDlB+ZJmf0GV7vqj+usAbUyeNIX+7w09arWoP1iVwTfMYya89soaX6R4dS3kb6HQD9X0veuMMQpPdvuZK3RSBTAc9CY1VCUXLKm4kRz+/vkMMq1jb8H7aTpQbACAAM=' | base64 -d > /etc/apt/trusted.gpg.d/ghostplant_ubuntu_flashback.gpg\n\n# Not excluding translate files\nRUN sed -i 's/^.*LC_MESSAGES.*$//g' /etc/dpkg/dpkg.cfg.d/excludes\n\nRUN /bin/echo -e 'deb http://ppa.launchpad.net/ghostplant/flashback/ubuntu focal main' > /etc/apt/sources.list.d/ghostplant-ubuntu-flashback.list\nRUN apt-get update && while ! apt-get install locales tightvncserver xfonts-base debian-properties-common gnome-flashback-classic fcitx fcitx-googlepinyin fcitx-ui-classic fcitx-frontend-gtk3 fcitx-config-gtk language-pack-zh-hans firefox firefox-locale-zh-hans dnsutils curl sudo psmisc iputils-ping rsync netcat-openbsd whiptail bash-completion openssh-client p7zip-full iproute2 net-tools vim-tiny openssl novnc vala-panel2 mate-calc mate-control-center marco mate-settings-daemon caja caja-open-terminal engrampa mate-terminal pluma eom mate-system-monitor mate-session-manager pavucontrol light-themes xinput scrot upower fonts-wqy-microhei libgdk-pixbuf2.0-bin gir1.2-gtk-3.0 xdg-utils python3-gi expect -y --no-install-recommends; do true; done && apt-clean\n\nRUN /bin/echo -e 'set backspace=indent,eol,start\\nset nocompatible\\nset ts=4' >> /etc/vim/vimrc.tiny; echo '. /etc/bash_completion' >> /etc/profile\n\nRUN locale-gen en_US.UTF-8\nRUN locale-gen zh_CN.UTF-8\n\nENV LANG=zh_CN.UTF-8\nENV INIT_PASS=123456\nENV GEOMETRY=1024x768\nENV USER=docker\n\nEXPOSE 5901/tcp 8443/tcp\n\nRUN /bin/echo -e '#!/usr/bin/expect -f\\nspawn vncpasswd\\nexpect \"Password*\"\\nsend \"$env(INIT_PASS)\\n\"\\nexpect \"Verify*\"\\nsend \"$env(INIT_PASS)\\n\"\\nexpect \"*\"\\nsend \"n\\n\"' > /usr/bin/set_vncpasswd && chmod a+x /usr/bin/set_vncpasswd\nRUN /bin/echo -e '#!/bin/bash\\nexec mate-session &\\nwhile true; do sleep 1; caja --force-desktop -n; done\\n' > /usr/bin/xstartup && chmod a+x /usr/bin/xstartup\nRUN ln -sf vnc.html /usr/share/novnc/index.html\nRUN rm -f /usr/bin/mate-session-save\n\nCMD [\"bash\", \"-c\", \"mkdir -p /root/.vnc && cp /usr/bin/xstartup /root/.vnc && vncserver -geometry ${GEOMETRY} -depth 16 :1 && /usr/share/novnc/utils/launch.sh --vnc 0.0.0.0:5901 --listen 8443\"]\n\n"
  },
  {
    "path": "Dockerfile.2204",
    "content": "FROM ubuntu:jammy\nMAINTAINER Ghostplant <ghostplant@qq.com>\n\nENV DEBIAN_FRONTEND=noninteractive\n\nRUN /bin/echo -n 'mQINBFaeKgEBEACj4utwB2N8r9LpLb1GI4hnktVt6BPTFCOdv9HTehL54Y59lm+FQz+vqG2vU/bSqq6LD8/ZpIq9tTjvmQvGKKsmHF5QHmpFYmhQm53iz7hWfQW8UObfrFTA9B9tIIJDzkEHBusdKBB0gJmln5YKA/y3p+Tryk7UTczRTfbMJibQayuDoxk6vaPbXrJntrx17uITZYwFgAdKwJJRcdpgr9s1mGCcZJuLjshuMJY10SZRMFMtKrXJiJAu9QnUxJYO29bl/lqZfxfCMZqr1jfmbziNpfwN+6nxTCDbZhhvZkBo1ZGoqzrvXX6rrJePunW/HDmCEW/m2sx4o1eO+iCeWPku5+CivAYRWx0f2HXI5W8aw4EtBmXTzy0IM0Knnt43XG6AR8NYm/4SmUX/Bs7NBVf2l7fvPi1G/Aabd7lhCi17m6rO60phzE86ZqGTPAmkdjpc404/2b5A/U6GyWFGTO1fM4IlndmwkTG1L5N1vCuXVJRagfcRjCoYCxMXpF19fwNTDp8Via34onyNDEh4R4ziBWKhwDgVwtd9mf3/6N6MYc5MIr9FfnVWBDj5wBFsW7BTUehfJ+nUZzMXw5tM3hRfvtCRvX0OlsPP+ABJq0kQxlhzKoRs/1TDDWaThB9I/K7qSgLFTk+avwa1oe8y3t1b40A/8FZ4vJws3JJxXJ5OQwARAQABtBlMYXVuY2hwYWQgUFBBIGZvciBDdWkgV2VpiQI4BBMBAgAiBQJWnioBAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRD8xCVwh4X0Bf/RD/4+uGrMaPsfgWm8/gTgdQxeqNAz3BjgphcLMnfEkxuxppJdwnUs9enWsx0BBGrMIsl4eKzb1QcF1tr8TQuhMBVf28f6BHQGpA6gndIwvpcSXjgaRF2dOqGocsOgMPXhQRKoLWrKHzEpvYeHdykLmkczWIvyB6bMYbttj65KQI1VCSKONtTumYk1ZcIMtYkPk4Mjiy+45GQAlWxt1EH8DdBTCdXUJfPISFXDQEv6QcsqFBr0XC+KvaEC+mp/Be8i1dKWc0MNFBR+z8EtcdmOU4CckRM4OVc+qM2JnErzlYqod1azsF2KKRnptlTdgVnka98mgocNe2EEBqo/ntAf/+iUfBJSAvdRFAFQWgUYugnIZ+z+Nc8bBfPOJFqOk6agbYCcZZjIG+kevk+n6vbzXCsl390U9wPTtUPbc5lMO8TssNfOul7vf/atz8wkXcIiO0qLSYWc6hc0hmWH7GZtuvqNOQbDtXSNgsaLTQYWzeNSdWE7qt+Na2davNA0pzGauvE2Nbl5F8i+DyoBfiLRjpCsdqTKBOvutPoI+9FzC2a+3KHTND+g7YDlB+ZJmf0GV7vqj+usAbUyeNIX+7w09arWoP1iVwTfMYya89soaX6R4dS3kb6HQD9X0veuMMQpPdvuZK3RSBTAc9CY1VCUXLKm4kRz+/vkMMq1jb8H7aTpQbACAAM=' | base64 -d > /etc/apt/trusted.gpg.d/ghostplant_ubuntu_flashback.gpg\n\n# Not excluding translate files\nRUN sed -i 's/^.*LC_MESSAGES.*$//g' /etc/dpkg/dpkg.cfg.d/excludes\n\nRUN /bin/echo -e 'deb http://ppa.launchpad.net/ghostplant/flashback/ubuntu jammy main' > /etc/apt/sources.list.d/ghostplant-ubuntu-flashback.list\nRUN apt-get update && while ! apt-get install locales tightvncserver xfonts-base debian-properties-common gnome-flashback-classic fcitx fcitx-googlepinyin fcitx-ui-classic fcitx-frontend-gtk3 fcitx-config-gtk language-pack-zh-hans dnsutils curl sudo psmisc iputils-ping rsync netcat-openbsd whiptail bash-completion openssh-client p7zip-full iproute2 net-tools vim-tiny openssl mate-calc mate-control-center marco mate-settings-daemon caja caja-open-terminal engrampa mate-terminal pluma eom mate-system-monitor mate-session-manager pavucontrol light-themes xinput scrot upower fonts-wqy-microhei libgdk-pixbuf2.0-bin gir1.2-gtk-3.0 xdg-utils python3-gi expect novnc -y --no-install-recommends; do true; done && apt-clean\n\nRUN apt-fetch https://github.com/ghostplant/ubuntu-pe/releases/download/ubuntu-24.04/google-chrome_90.0.4430.72-1.deb -y && apt-clean\n\nRUN /bin/echo -e 'set backspace=indent,eol,start\\nset nocompatible\\nset ts=4' >> /etc/vim/vimrc.tiny; echo '. /etc/bash_completion' >> /etc/profile\n\nRUN locale-gen en_US.UTF-8\nRUN locale-gen zh_CN.UTF-8\n\nENV LANG=zh_CN.UTF-8\nENV INIT_PASS=123456\nENV GEOMETRY=1024x768\nENV USER=docker\n\nEXPOSE 5901/tcp 8443/tcp\n\nRUN /bin/echo -e '#!/bin/bash\\nmkdir -p ~/.vnc\\necho \"${INIT_PASS}\" | vncpasswd -f > ~/.vnc/passwd && chmod 0600 ~/.vnc/passwd' > /usr/bin/set_vncpasswd && chmod a+x /usr/bin/set_vncpasswd\nRUN /bin/echo -e '#!/bin/bash\\nexec mate-session &\\nwhile true; do sleep 1; caja --force-desktop -n; done\\n' > /usr/bin/xstartup && chmod a+x /usr/bin/xstartup\nRUN ln -sf vnc.html /usr/share/novnc/index.html\nRUN rm -f /usr/bin/mate-session-save\n\nCMD [\"bash\", \"-c\", \"mkdir -p /root/.vnc && cp /usr/bin/xstartup /root/.vnc && set_vncpasswd && vncserver -geometry ${GEOMETRY} -depth 16 :1 && /usr/share/novnc/utils/launch.sh --vnc 0.0.0.0:5901 --listen 8443\"]\n\n"
  },
  {
    "path": "Dockerfile.2404",
    "content": "FROM ubuntu:noble\nMAINTAINER Ghostplant <ghostplant@qq.com>\n\nENV DEBIAN_FRONTEND=noninteractive\n\nRUN /bin/echo -n 'mQINBFaeKgEBEACj4utwB2N8r9LpLb1GI4hnktVt6BPTFCOdv9HTehL54Y59lm+FQz+vqG2vU/bSqq6LD8/ZpIq9tTjvmQvGKKsmHF5QHmpFYmhQm53iz7hWfQW8UObfrFTA9B9tIIJDzkEHBusdKBB0gJmln5YKA/y3p+Tryk7UTczRTfbMJibQayuDoxk6vaPbXrJntrx17uITZYwFgAdKwJJRcdpgr9s1mGCcZJuLjshuMJY10SZRMFMtKrXJiJAu9QnUxJYO29bl/lqZfxfCMZqr1jfmbziNpfwN+6nxTCDbZhhvZkBo1ZGoqzrvXX6rrJePunW/HDmCEW/m2sx4o1eO+iCeWPku5+CivAYRWx0f2HXI5W8aw4EtBmXTzy0IM0Knnt43XG6AR8NYm/4SmUX/Bs7NBVf2l7fvPi1G/Aabd7lhCi17m6rO60phzE86ZqGTPAmkdjpc404/2b5A/U6GyWFGTO1fM4IlndmwkTG1L5N1vCuXVJRagfcRjCoYCxMXpF19fwNTDp8Via34onyNDEh4R4ziBWKhwDgVwtd9mf3/6N6MYc5MIr9FfnVWBDj5wBFsW7BTUehfJ+nUZzMXw5tM3hRfvtCRvX0OlsPP+ABJq0kQxlhzKoRs/1TDDWaThB9I/K7qSgLFTk+avwa1oe8y3t1b40A/8FZ4vJws3JJxXJ5OQwARAQABtBlMYXVuY2hwYWQgUFBBIGZvciBDdWkgV2VpiQI4BBMBAgAiBQJWnioBAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRD8xCVwh4X0Bf/RD/4+uGrMaPsfgWm8/gTgdQxeqNAz3BjgphcLMnfEkxuxppJdwnUs9enWsx0BBGrMIsl4eKzb1QcF1tr8TQuhMBVf28f6BHQGpA6gndIwvpcSXjgaRF2dOqGocsOgMPXhQRKoLWrKHzEpvYeHdykLmkczWIvyB6bMYbttj65KQI1VCSKONtTumYk1ZcIMtYkPk4Mjiy+45GQAlWxt1EH8DdBTCdXUJfPISFXDQEv6QcsqFBr0XC+KvaEC+mp/Be8i1dKWc0MNFBR+z8EtcdmOU4CckRM4OVc+qM2JnErzlYqod1azsF2KKRnptlTdgVnka98mgocNe2EEBqo/ntAf/+iUfBJSAvdRFAFQWgUYugnIZ+z+Nc8bBfPOJFqOk6agbYCcZZjIG+kevk+n6vbzXCsl390U9wPTtUPbc5lMO8TssNfOul7vf/atz8wkXcIiO0qLSYWc6hc0hmWH7GZtuvqNOQbDtXSNgsaLTQYWzeNSdWE7qt+Na2davNA0pzGauvE2Nbl5F8i+DyoBfiLRjpCsdqTKBOvutPoI+9FzC2a+3KHTND+g7YDlB+ZJmf0GV7vqj+usAbUyeNIX+7w09arWoP1iVwTfMYya89soaX6R4dS3kb6HQD9X0veuMMQpPdvuZK3RSBTAc9CY1VCUXLKm4kRz+/vkMMq1jb8H7aTpQbACAAM=' | base64 -d > /etc/apt/trusted.gpg.d/ghostplant_ubuntu_flashback.gpg\n\n# Not excluding translate files\nRUN sed -i 's/^.*LC_MESSAGES.*$//g' /etc/dpkg/dpkg.cfg.d/excludes\n\nRUN /bin/echo -e 'deb http://ppa.launchpad.net/ghostplant/flashback/ubuntu noble main' > /etc/apt/sources.list.d/ghostplant-ubuntu-flashback.list\nRUN apt-get update && while ! apt-get install locales tightvncserver xfonts-base debian-properties-common gnome-flashback-classic fcitx fcitx-googlepinyin fcitx-ui-classic fcitx-frontend-gtk3 fcitx-config-gtk language-pack-zh-hans dnsutils curl sudo psmisc iputils-ping rsync netcat-openbsd whiptail bash-completion openssh-client p7zip-full iproute2 net-tools vim-tiny openssl mate-calc mate-control-center marco mate-settings-daemon caja caja-open-terminal engrampa mate-terminal pluma eom mate-system-monitor mate-session-manager pavucontrol light-themes xinput scrot upower fonts-wqy-microhei libgdk-pixbuf2.0-bin gir1.2-gtk-3.0 xdg-utils python3-gi vala-panel2 novnc -y --no-install-recommends; do true; done && apt-clean\n\nRUN apt-fetch https://github.com/ghostplant/ubuntu-pe/releases/download/ubuntu-24.04/google-chrome_90.0.4430.72-1.deb -y && apt-clean\nRUN sed -i 's/simulate/disable-dev-shm-usage --simulate/g' /opt/google/chrome/google-chrome\n\nRUN /bin/echo -e 'set backspace=indent,eol,start\\nset nocompatible\\nset ts=4' >> /etc/vim/vimrc.tiny\nRUN rm -rf /etc/apt/apt.conf.d/docker-*\n\nRUN locale-gen en_US.UTF-8\nRUN locale-gen zh_CN.UTF-8\n\nENV LANG=zh_CN.UTF-8\nENV INIT_PASS=123456\nENV GEOMETRY=1400x900\nENV USER=docker\n\nEXPOSE 5901/tcp 8443/tcp\n\nRUN /bin/echo -e '#!/bin/bash\\nrsync -Ha /etc/skel/.??* /root; [ -e /self.pem ] || yes \"\" | openssl req -new -x509 -days 365 -nodes -out /self.pem -keyout /self.pem\\nmkdir -p ~/.vnc\\necho \"${INIT_PASS}\" | vncpasswd -f > ~/.vnc/passwd && chmod 0600 ~/.vnc/passwd' > /usr/bin/set_vncpasswd && chmod a+x /usr/bin/set_vncpasswd\nRUN /bin/echo -e '#!/bin/bash\\nexec mate-session &\\nwhile true; do sleep 1; caja --force-desktop -n; done\\n' > /usr/bin/xstartup && chmod a+x /usr/bin/xstartup\nRUN ln -sf vnc.html /usr/share/novnc/index.html\nRUN rm -f /usr/bin/mate-session-save\n\nCMD [\"bash\", \"-c\", \"mkdir -p /root/.vnc && cp /usr/bin/xstartup /root/.vnc && set_vncpasswd && vncserver -geometry ${GEOMETRY} -depth 24 :1 && /usr/share/novnc/utils/novnc_proxy --vnc 0.0.0.0:5901 --listen 8443\"]\n"
  },
  {
    "path": "Makefile",
    "content": "default:\n\tdocker build -t ghostplant/flashback -f Dockerfile --network=host .\n\tdocker run -it --rm --privileged -p 8443:8443 -p 5901:5901 -v /external:/root ghostplant/flashback || true\n\n"
  },
  {
    "path": "README.md",
    "content": "# Ubuntu Tiny: A Fast, Portable and Power-Saving edition for Ubuntu/Debian LTS\n\n------------------------------------------\n### - Ubuntu Tiny 26.04 Resolute LTS for CDROM/USB (LANG = en_US | zh_CN):\n\n> **Download Full Desktop Version (570M+)**: [x64 (UEFI+MBR)](https://github.com/ghostplant/Ubuntu-Tiny/releases/download/ubuntu-26.04/resolute-mate-x86_64-20260408.iso) | [arm64 (UEFI)](https://github.com/ghostplant/Ubuntu-Tiny/releases/download/ubuntu-26.04/resolute-mate-aarch64-20260408.iso)\n>\n> **Download No-desktop/No-driver Version (140M+)**: [x64 (UEFI+MBR)](https://github.com/ghostplant/Ubuntu-Tiny/releases/download/ubuntu-26.04/resolute-core-x86_64-20251116.iso) | [arm64 (UEFI)](https://github.com/ghostplant/Ubuntu-Tiny/releases/download/ubuntu-26.04/resolute-core-aarch64-20251116.iso)\n\n------------------------------------------\n\n### What's New:\n\n* 20260408: Add Windows Registry Editor (Regedit);\n* 20260317: Setup Root User for installation / Refine Grub2 installation;\n* 20260315: Ubuntu 26.04 Resolute for AMD64 / ARM64;\n* 20260210: Ubuntu 26.04 Resolute Desktop Draft;\n* 20251116: Ubuntu 26.04 Core adds Grub option for serial stdio and UTF-8;\n* 20251111: Ubuntu 26.04 Core with Secure Boot Enabled;\n* 20251024: Ubuntu 26.04 Core Release (aarch64 + amd64);\n* 20250809: Debian 13 Trixie Release (aarch64 + amd64);\n* 20250504: Debian 13 Trixie Draft (aarch64 + amd64);\n* 20241225: Bug Fix - EFI dependency missing using Wiminstall.gptboot for Windows Installation;\n* 20241116: Add Ubuntu Tiny for Arm64 (support [Mac VBox](https://www.virtualbox.org/wiki/Downloads) / Android pKVM);\n* 20241027: Update virtio_gpu detection for QEMU; Add cmd \"mount.ios\" for Iphone;\n* 20240818: Allow \"Boot in normal mode\" if booting from Ventoy;\n* 20240704: Enable \"Alt + PrtScr\" for Area Screenshot;\n* 20240425: Ubuntu Tiny 24.04 Stable;\n* 20240407: Security Packs for Ubuntu 24.04 (beta);\n* 20240316: Upgrade to Linux 6.8 + Python 3.12.2;\n* 20240224: Second Edition of Ubuntu 24.04 Tiny;\n* 20230312: Include Ubuntu Monthly Security Packs;\n* 20230121: Add Onboard for Touchscreen; Add Resource Indicator to Panel;\n* 20230108: Add Hivex Windows Registry Editor and NT Password Tools;\n* 20221225: Fix Desktop-Icon Disappearance after Login; Upgrade Integrated Web Paint;\n* ..\n\n------------------------------------------\n\n### - Early Versions in History:\n\n- **Debian 13 Tiny (LANG = en_US | zh_CN)** Download: [x64 (UEFI+MBR)](https://github.com/ghostplant/ubuntu-pe/releases/download/debian-13/trixie-mate-x86_64-20250809.iso) | [arm64 (UEFI)](https://github.com/ghostplant/ubuntu-pe/releases/download/debian-13/trixie-mate-aarch64-20250809.iso)\n\n- **Ubuntu 24.04 LTS Tiny (LANG = en_US | zh_CN)** Download: [x64 (UEFI+MBR)](https://github.com/ghostplant/ubuntu-pe/releases/download/ubuntu-24.04/noble-mate-x86_64-20241225.iso) | [arm64 (UEFI)](https://github.com/ghostplant/ubuntu-pe/releases/download/ubuntu-24.04/noble-mate-aarch64-20241225.iso)\n\n- **Ubuntu 24.04 LTS Tiny Core (LANG = en_US | zh_CN)** Download: [x64 (UEFI+MBR)](https://github.com/ghostplant/ubuntu-pe/releases/download/ubuntu-24.04/noble-core-x86_64-20241122.iso)\n\n- **Debian 12 Tiny (LANG = en_US | zh_CN)** Download: [x64 (UEFI+MBR)](https://github.com/ghostplant/ubuntu-pe/releases/download/debian-12/debian-mate-x86_64-20231220.iso) | [x86 (MBR)](https://github.com/ghostplant/ubuntu-pe/releases/download/debian-12/debian-mate-i686-20231226.iso)\n\n- **Ubuntu 22.04 LTS Tiny (LANG = en_US | zh_CN)** Download: [x64 (UEFI+MBR)](https://github.com/ghostplant/ubuntu-pe/releases/download/ubuntu-22.04/jammy-mate-x86_64-20231220.iso)\n\n- **Ubuntu 22.04 LTS Tiny Core (LANG = en_US)** Download: [x64 (UEFI+MBR)](https://github.com/ghostplant/ubuntu-pe/releases/download/ubuntu-22.04/jammy-core-x86_64-20221015.iso)\n\n- **Ubuntu 20.04 LTS Tiny (LANG = en_US | zh_CN)** Download: [x64 (UEFI+MBR)](https://github.com/ghostplant/ubuntu-pe/releases/download/ubuntu-20.04/focal-mate-x86_64-20221002.iso)\n\n- **Ubuntu 18.04 LTS Tiny (LANG = en_US | zh_CN, No WimTool)** Download: [x64 (UEFI+MBR)](https://github.com/ghostplant/ubuntu-pe/releases/download/ubuntu-18.04/bionic-mate-amd64-20200222.iso) | [x86 (MBR)](https://github.com/ghostplant/ubuntu-pe/releases/download/ubuntu-18.04/bionic-mate-i386-20200222.iso)\n\n- **Ubuntu 16.04 LTS Tiny (LANG = en_US | zh_CN, No WimTool)** Download: [x64 (UEFI+MBR)](https://github.com/ghostplant/ubuntu-pe/releases/download/ubuntu-18.04/xenial-classic-amd64-20231217.iso)\n\n- **Ubuntu 10.04 LTS Tiny (LANG = en_US | zh_CN, No WimTool)** Download: [x64 (UEFI+MBR)](https://github.com/ghostplant/ubuntu-pe/releases/download/ubuntu-18.04/maverick-classic-amd64.iso)\n\n------------------------------------------\n\n   *1. Write Ubuntu Tiny ISO to USB:*\n\n       sudo dd if=./focal-mate-x86_64-xxxxxxxx.iso of=/dev/<usb-dev-file> bs=16K && sync\n\n   *2. Ubuntu Tiny Supported Features (Only for Ubuntu 20.04, 22.04 and future versions):*\n   \n       1. Support Booting USB/CDROM in both MBR & UEFI machines;\n\n       2. Support Installing Ubuntu Image to Hard Drive: sudo ubi-lite\n\n       3. Support Installing Windows Image to MBR Hard Drive: sudo wiminstall.mbrboot /dev/<os-part-name> <WIM file> <image-id>\n\n           [Method-1: Will Erase Grub in Hard drive (cautious!)]\n           ex-1: sudo wiminstall.mbrboot /dev/sda1 ./xp-sp3.wim\n           ex-2: sudo wiminstall.mbrboot /dev/sda1 ./windows-7.wim 4\n           ex-3: sudo wiminstall.mbrboot /dev/sda1 ./windows-11.wim 1\n\n           [Method-2: Not Erase Grub in Hard drive, but need three-step manual configuration on boot settings]\n           step-1: Ensure Ubuntu + Grub has been installed on hard driver partitions other than /dev/sda1\n           step-2: sudo wiminstall /dev/sda1 ./xp-sp3.wim\n           step-3: Reboot, login Ubuntu and run: sudo update-grub\n           \n           [Method-3: For UEFI Installation to GPT Hard Drive]\n           sudo EFI=/dev/<efi-part-name> wiminstall.gptboot /dev/<os-part-name> <WIM file> <image-id>\n\n<p align=\"center\">\n  <img src=\"Ubuntu_PE.jpg\" data-canonical-src=\"Ubuntu_PE.jpg\" />\n</p>\n\n------------------------------------------\n\n### Ubuntu Tiny Desktop for Remote Internet:\n(Default VNC password: 123456, and you can update it via 'vncpasswd' command inside VNC X session)\n\n```sh\n# Download/Update latest Ubuntu image\ndocker pull ghostplant/flashback\n\n# Boot Service: Using web browser to login - http://localhost:8443/\ndocker run -it --rm --privileged -p 8443:8443 -v /external:/root ghostplant/flashback\n\n# Other Example 1 - Language: Set locale to en_US.UTF-8\ndocker run -it --rm --privileged -e LANG=en_US.UTF-8 -p 8443:8443 -p 5901:5901 -v /external:/root ghostplant/flashback\n\n# Other Example 2 - Resolution Size : Set display resolution to 1366x768\ndocker run -it --rm --privileged -e GEOMETRY=1366x768 -p 8443:8443 -p 5901:5901 -v /external:/root ghostplant/flashback\n\n# Other Example 3 - Initial Password: Set initial VNC password (length of password must be between 6 to 8).\ndocker run -it --rm --privileged -e INIT_PASS=123456 -p 8443:8443 -p 5901:5901 -v /external:/root ghostplant/flashback\n\n# Other Example 4 - Resolution Quality: Using 24-bit high resolution quality (Only recommended in high-bandwidth network)\ndocker run -it --rm --privileged -e INIT_PASS=123456 -e DEPTH=24 -p 8443:8443 -p 5901:5901 -v /external:/root ghostplant/flashback\n```\n\nThen use Firefox/Chrome to login if you expose port 8443:\n\n```sh\nHTTP: x-www-browser http://localhost:8443/\n\nHTTPS: x-www-browser https://localhost:8443/\n```\n\n------------------------------------------\n\n## Reporting Issues\n\nYou can post issues here for any suggestions to improve Ubuntu Classic Desktop. To report a new issue, you are supposed to have a GitHub account and log in with it in the first place. Then, get access to [new issue](https://github.com/ghostplant/ubuntu-classic/issues/new), fill in the block with what you want to report, and finally submit this issue.\n"
  }
]