From ea54b22a27cfcd3922ca14da7882b33ddc5dd48c Mon Sep 17 00:00:00 2001 From: Software Shinobi Date: Thu, 5 Jun 2025 18:37:18 -0400 Subject: [PATCH] automated terminal push --- .recycle/compose.full.yaml | 238 ------------------ .recycle/desktops/coding/.dockerignore | 11 - .recycle/desktops/coding/.gitignore | 11 - .recycle/desktops/coding/Dockerfile | 9 - .recycle/desktops/coding/compose.yaml | 119 --------- .../coding/files/Pictures/desktop.png | Bin 20565 -> 0 bytes .../desktops/coding/provision/netbeans.bash | 37 --- .recycle/desktops/coding/studio.bash | 17 -- .recycle/desktops/instructor/.dockerignore | 11 - .recycle/desktops/instructor/.gitignore | 11 - .recycle/desktops/instructor/Dockerfile | 11 - .recycle/desktops/instructor/compose.yaml | 63 ----- .../instructor/files/Pictures/desktop.png | Bin 20565 -> 0 bytes .../instructor/provision/netbeans.bash | 37 --- .recycle/desktops/instructor/studio.bash | 17 -- .recycle/desktops/studio/.dockerignore | 11 - .recycle/desktops/studio/.gitignore | 11 - .recycle/desktops/studio/Dockerfile | 9 - .recycle/desktops/studio/compose.yaml | 119 --------- .../studio/files/Pictures/desktop.png | Bin 20565 -> 0 bytes .../desktops/studio/provision/netbeans.bash | 37 --- .recycle/desktops/studio/studio.bash | 17 -- .recycle/servers/private/Dockerfile | 14 -- .recycle/servers/private/provision/bashrc | 192 -------------- .../servers/private/provision/provision.bash | 144 ----------- server/.hushlogin | 0 server/.hushlogin. | 0 server/Dockerfile | 27 -- server/compose.bash | 19 -- server/compose.yaml | 23 -- server/provision/.trash/bashrc | 192 -------------- server/provision/private.key | 1 - server/provision/provision.bash | 94 ------- 33 files changed, 1502 deletions(-) delete mode 100755 .recycle/compose.full.yaml delete mode 100755 .recycle/desktops/coding/.dockerignore delete mode 100755 .recycle/desktops/coding/.gitignore delete mode 100755 .recycle/desktops/coding/Dockerfile delete mode 100755 .recycle/desktops/coding/compose.yaml delete mode 100755 .recycle/desktops/coding/files/Pictures/desktop.png delete mode 100755 .recycle/desktops/coding/provision/netbeans.bash delete mode 100755 .recycle/desktops/coding/studio.bash delete mode 100755 .recycle/desktops/instructor/.dockerignore delete mode 100755 .recycle/desktops/instructor/.gitignore delete mode 100755 .recycle/desktops/instructor/Dockerfile delete mode 100755 .recycle/desktops/instructor/compose.yaml delete mode 100755 .recycle/desktops/instructor/files/Pictures/desktop.png delete mode 100755 .recycle/desktops/instructor/provision/netbeans.bash delete mode 100755 .recycle/desktops/instructor/studio.bash delete mode 100755 .recycle/desktops/studio/.dockerignore delete mode 100755 .recycle/desktops/studio/.gitignore delete mode 100755 .recycle/desktops/studio/Dockerfile delete mode 100755 .recycle/desktops/studio/compose.yaml delete mode 100755 .recycle/desktops/studio/files/Pictures/desktop.png delete mode 100755 .recycle/desktops/studio/provision/netbeans.bash delete mode 100755 .recycle/desktops/studio/studio.bash delete mode 100755 .recycle/servers/private/Dockerfile delete mode 100755 .recycle/servers/private/provision/bashrc delete mode 100755 .recycle/servers/private/provision/provision.bash delete mode 100755 server/.hushlogin delete mode 100755 server/.hushlogin. delete mode 100755 server/Dockerfile delete mode 100755 server/compose.bash delete mode 100755 server/compose.yaml delete mode 100755 server/provision/.trash/bashrc delete mode 100644 server/provision/private.key delete mode 100755 server/provision/provision.bash diff --git a/.recycle/compose.full.yaml b/.recycle/compose.full.yaml deleted file mode 100755 index 73f1277..0000000 --- a/.recycle/compose.full.yaml +++ /dev/null @@ -1,238 +0,0 @@ -version: "3.8" - -services: - - shinobi-academy-linux-public: - - build: - - context: servers/public - - dockerfile: Dockerfile - - container_name: shinobi-academy-linux-public - - hostname: miura - - image: softwareshinobi/shinobi-academy-linux:miura - - domainname: sian.embanet.softwareshinobi.digital - - ports: - - - "2222:22" - - shinobi-academy-linux-private: - - build: - - context: servers/private - - dockerfile: Dockerfile - - container_name: shinobi-academy-linux-private - - hostname: veneno - - image: softwareshinobi/shinobi-academy-linux:veneno - - domainname: sian.embanet.softwareshinobi.digital - - ports: - - - "3333:22" - - shinobi-academy-linux-landing: - - container_name: shinobi-academy-linux-landing - - image: softwareshinobi/shinobi-academy-linux-landing - - build: - - context: landing - - dockerfile: Dockerfile - - ports: - - - 8888:80 - -##### - - - -########################################## -## -## software shinobi studio situation -## -########################################## - - software-shinobi-desktop1: - - build: - - context: desktops/studio - - dockerfile: Dockerfile - - container_name: software-shinobi-desktop1 - - hostname: hyperion - - image: softwareshinobi/software-shinobi-desktop - - restart: unless-stopped - -## deploy: -## -## resources: -## -## limits: -## -## cpus: 2 -## -## memory: 3.5G -## -## reservations: -## -## cpus: 1 -## -## memory: 2.0G - - volumes: - - - .volumes/desktop:/root - - domainname: desktop.softwareshinobi.digital - - environment: - - TZ: America/Bogota - - USER_UID: 1000 - - USER_GID: 1000 - - USER: root - - PASSWORD: passw0rd - - HTTP_PASSWORD: passw0rd - - VIRTUAL_HOST: desktop.softwareshinobi.digital - - LETSENCRYPT_HOST: desktop.softwareshinobi.digital - - - software-shinobi-desktop2: - - build: - - context: desktops/coding - - dockerfile: Dockerfile - - container_name: software-shinobi-desktop2 - - hostname: hyperion - - image: softwareshinobi/software-shinobi-desktop - - restart: unless-stopped - -## deploy: -## -## resources: -## -## limits: -## -## cpus: 2 -## -## memory: 3.5G -## -## reservations: -## -## cpus: 1 -## -## memory: 2.0G - - volumes: - - - .volumes/desktop2:/root - - domainname: desktop.softwareshinobi.digital - - environment: - - TZ: America/Bogota - - USER_UID: 1000 - - USER_GID: 1000 - - USER: root - - PASSWORD: passw0rd - - HTTP_PASSWORD: passw0rd - - VIRTUAL_HOST: desktop.softwareshinobi.digital - - LETSENCRYPT_HOST: desktop.softwareshinobi.digital - - software-shinobi-desktop3: - - build: - - context: desktops/instructor - - dockerfile: Dockerfile - - container_name: software-shinobi-desktop3 - - hostname: hyperion - - image: softwareshinobi/software-shinobi-desktop:instructor - - restart: unless-stopped - -## deploy: -## -## resources: -## -## limits: -## -## cpus: 2 -## -## memory: 3.5G -## -## reservations: -## -## cpus: 1 -## -## memory: 2.0G - - volumes: - - - .volumes/desktop3:/root - - domainname: desktop.softwareshinobi.digital - - environment: - - TZ: America/Bogota - - USER_UID: 1000 - - USER_GID: 1000 - - USER: root - - PASSWORD: passw0rd - - HTTP_PASSWORD: passw0rd - - VIRTUAL_HOST: desktop.softwareshinobi.digital - - LETSENCRYPT_HOST: desktop.softwareshinobi.digital diff --git a/.recycle/desktops/coding/.dockerignore b/.recycle/desktops/coding/.dockerignore deleted file mode 100755 index a3fdd7d..0000000 --- a/.recycle/desktops/coding/.dockerignore +++ /dev/null @@ -1,11 +0,0 @@ -.volumes - -.git - -.import - -.stash - -.recycle - -.trash diff --git a/.recycle/desktops/coding/.gitignore b/.recycle/desktops/coding/.gitignore deleted file mode 100755 index a3fdd7d..0000000 --- a/.recycle/desktops/coding/.gitignore +++ /dev/null @@ -1,11 +0,0 @@ -.volumes - -.git - -.import - -.stash - -.recycle - -.trash diff --git a/.recycle/desktops/coding/Dockerfile b/.recycle/desktops/coding/Dockerfile deleted file mode 100755 index ae43de9..0000000 --- a/.recycle/desktops/coding/Dockerfile +++ /dev/null @@ -1,9 +0,0 @@ -FROM dorowu/ubuntu-desktop-lxde-vnc as desktopBase - -RUN rm /etc/apt/sources.list.d/google-chrome.list - -RUN apt update && apt install -y recordmydesktop kdenlive zip docker-compose curl wget net-tools keepassx vlc dos2unix git filezilla openjdk-17-jdk maven - -COPY /provision . - -RUN bash netbeans.bash diff --git a/.recycle/desktops/coding/compose.yaml b/.recycle/desktops/coding/compose.yaml deleted file mode 100755 index 634c725..0000000 --- a/.recycle/desktops/coding/compose.yaml +++ /dev/null @@ -1,119 +0,0 @@ -services: - -########################################## -## -## reverse proxy and ssl things -## -########################################## - - software-shinobi-proxy: - - container_name: software-shinobi-proxy - - hostname: hyperion - - image: nginxproxy/nginx-proxy - - restart: unless-stopped - - ports: - - - 80:80 - - - 443:443 - - volumes: - - - /var/run/docker.sock:/tmp/docker.sock:ro - - - /var/docker/nginx/html:/usr/share/nginx/html - - - /var/docker/nginx/certs:/etc/nginx/certs - - - /var/docker/nginx/vhost:/etc/nginx/vhost.d - - logging: - - options: - - max-size: "10m" - - max-file: "3" - - software-shinobi-letsencrypt: - - container_name: software-shinobi-letsencrypt - - image: jrcs/letsencrypt-nginx-proxy-companion - - restart: unless-stopped - - volumes_from: - - - software-shinobi-proxy - - volumes: - - - /var/run/docker.sock:/var/run/docker.sock - - - /var/docker/nginx/acme:/etc/acme.sh - - environment: - - DEFAULT_EMAIL: the.software.shinobi@gmail.com - -########################################## -## -## software shinobi studio situation -## -########################################## - - software-shinobi-desktop: - - container_name: software-shinobi-desktop - - hostname: hyperion - - image: softwareshinobi/software-shinobi-studio - - restart: unless-stopped - -## deploy: -## -## resources: -## -## limits: -## -## cpus: 2 -## -## memory: 3.5G -## -## reservations: -## -## cpus: 1 -## -## memory: 2.0G - - volumes: - - - .volumes/desktop:/root - - domainname: desktop.softwareshinobi.digital - - environment: - - TZ: America/Bogota - - USER_UID: 1000 - - USER_GID: 1000 - - USER: root - - PASSWORD: passw0rd - - HTTP_PASSWORD: passw0rd - - VIRTUAL_HOST: desktop.softwareshinobi.digital - - LETSENCRYPT_HOST: desktop.softwareshinobi.digital diff --git a/.recycle/desktops/coding/files/Pictures/desktop.png b/.recycle/desktops/coding/files/Pictures/desktop.png deleted file mode 100755 index 814a69f3973e8a0acc6a99017ee1bf359217199f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20565 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 diff --git a/.recycle/desktops/coding/provision/netbeans.bash b/.recycle/desktops/coding/provision/netbeans.bash deleted file mode 100755 index ccd301e..0000000 --- a/.recycle/desktops/coding/provision/netbeans.bash +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -set -e - -set -x - -## -## create the apps dir and populate with unzipped netbeans content -## - -ls - -mkdir /apps - -cd /apps - -## - -ls - -wget https://dlcdn.apache.org/netbeans/netbeans/21/netbeans-21-bin.zip - -ls - -mv netbeans-21-bin.zip netbeans.zip - -ls - -unzip netbeans.zip - -ls - -pwd - -## -## -## diff --git a/.recycle/desktops/coding/studio.bash b/.recycle/desktops/coding/studio.bash deleted file mode 100755 index ab39713..0000000 --- a/.recycle/desktops/coding/studio.bash +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -set -e - -set -x - -reset - -clear - -docker-compose build - -docker-compose pull - -docker-compose down - -docker-compose up -d diff --git a/.recycle/desktops/instructor/.dockerignore b/.recycle/desktops/instructor/.dockerignore deleted file mode 100755 index a3fdd7d..0000000 --- a/.recycle/desktops/instructor/.dockerignore +++ /dev/null @@ -1,11 +0,0 @@ -.volumes - -.git - -.import - -.stash - -.recycle - -.trash diff --git a/.recycle/desktops/instructor/.gitignore b/.recycle/desktops/instructor/.gitignore deleted file mode 100755 index a3fdd7d..0000000 --- a/.recycle/desktops/instructor/.gitignore +++ /dev/null @@ -1,11 +0,0 @@ -.volumes - -.git - -.import - -.stash - -.recycle - -.trash diff --git a/.recycle/desktops/instructor/Dockerfile b/.recycle/desktops/instructor/Dockerfile deleted file mode 100755 index cde4601..0000000 --- a/.recycle/desktops/instructor/Dockerfile +++ /dev/null @@ -1,11 +0,0 @@ -FROM dorowu/ubuntu-desktop-lxde-vnc as desktopBase - -RUN rm /etc/apt/sources.list.d/google-chrome.list - -RUN apt update && apt install -y recordmydesktop shotcut kdenlive zip curl wget net-tools git - -##kdenlive zip docker-compose curl wget net-tools keepassx vlc dos2unix git filezilla openjdk-17-jdk maven - -COPY /provision . - -RUN bash netbeans.bash diff --git a/.recycle/desktops/instructor/compose.yaml b/.recycle/desktops/instructor/compose.yaml deleted file mode 100755 index d4b2b5a..0000000 --- a/.recycle/desktops/instructor/compose.yaml +++ /dev/null @@ -1,63 +0,0 @@ -services: - -########################################## -## -## software shinobi studio situation -## -########################################## - - software-shinobi-desktop: - - build: - - context: . - - dockerfile: Dockerfile - - container_name: software-shinobi-desktop - - hostname: hyperion - - image: softwareshinobi/software-shinobi-studio - - restart: unless-stopped - -## deploy: -## -## resources: -## -## limits: -## -## cpus: 2 -## -## memory: 3.5G -## -## reservations: -## -## cpus: 1 -## -## memory: 2.0G - - volumes: - - - .volumes/desktop:/root - - domainname: desktop.softwareshinobi.digital - - environment: - - TZ: America/Bogota - - USER_UID: 1000 - - USER_GID: 1000 - - USER: root - - PASSWORD: passw0rd - - HTTP_PASSWORD: passw0rd - - VIRTUAL_HOST: desktop.softwareshinobi.digital - - LETSENCRYPT_HOST: desktop.softwareshinobi.digital diff --git a/.recycle/desktops/instructor/files/Pictures/desktop.png b/.recycle/desktops/instructor/files/Pictures/desktop.png deleted file mode 100755 index 814a69f3973e8a0acc6a99017ee1bf359217199f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20565 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 diff --git a/.recycle/desktops/instructor/provision/netbeans.bash b/.recycle/desktops/instructor/provision/netbeans.bash deleted file mode 100755 index ccd301e..0000000 --- a/.recycle/desktops/instructor/provision/netbeans.bash +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -set -e - -set -x - -## -## create the apps dir and populate with unzipped netbeans content -## - -ls - -mkdir /apps - -cd /apps - -## - -ls - -wget https://dlcdn.apache.org/netbeans/netbeans/21/netbeans-21-bin.zip - -ls - -mv netbeans-21-bin.zip netbeans.zip - -ls - -unzip netbeans.zip - -ls - -pwd - -## -## -## diff --git a/.recycle/desktops/instructor/studio.bash b/.recycle/desktops/instructor/studio.bash deleted file mode 100755 index ab39713..0000000 --- a/.recycle/desktops/instructor/studio.bash +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -set -e - -set -x - -reset - -clear - -docker-compose build - -docker-compose pull - -docker-compose down - -docker-compose up -d diff --git a/.recycle/desktops/studio/.dockerignore b/.recycle/desktops/studio/.dockerignore deleted file mode 100755 index a3fdd7d..0000000 --- a/.recycle/desktops/studio/.dockerignore +++ /dev/null @@ -1,11 +0,0 @@ -.volumes - -.git - -.import - -.stash - -.recycle - -.trash diff --git a/.recycle/desktops/studio/.gitignore b/.recycle/desktops/studio/.gitignore deleted file mode 100755 index a3fdd7d..0000000 --- a/.recycle/desktops/studio/.gitignore +++ /dev/null @@ -1,11 +0,0 @@ -.volumes - -.git - -.import - -.stash - -.recycle - -.trash diff --git a/.recycle/desktops/studio/Dockerfile b/.recycle/desktops/studio/Dockerfile deleted file mode 100755 index 3a23a3d..0000000 --- a/.recycle/desktops/studio/Dockerfile +++ /dev/null @@ -1,9 +0,0 @@ -FROM dorowu/ubuntu-desktop-lxde-vnc as desktopBase - -RUN rm /etc/apt/sources.list.d/google-chrome.list - -RUN apt update && apt install -y recordmydesktop kdenlive shotcut zip docker-compose curl wget net-tools keepassx vlc dos2unix git filezilla openjdk-17-jdk maven gradle - -COPY /provision . - -RUN bash netbeans.bash diff --git a/.recycle/desktops/studio/compose.yaml b/.recycle/desktops/studio/compose.yaml deleted file mode 100755 index 634c725..0000000 --- a/.recycle/desktops/studio/compose.yaml +++ /dev/null @@ -1,119 +0,0 @@ -services: - -########################################## -## -## reverse proxy and ssl things -## -########################################## - - software-shinobi-proxy: - - container_name: software-shinobi-proxy - - hostname: hyperion - - image: nginxproxy/nginx-proxy - - restart: unless-stopped - - ports: - - - 80:80 - - - 443:443 - - volumes: - - - /var/run/docker.sock:/tmp/docker.sock:ro - - - /var/docker/nginx/html:/usr/share/nginx/html - - - /var/docker/nginx/certs:/etc/nginx/certs - - - /var/docker/nginx/vhost:/etc/nginx/vhost.d - - logging: - - options: - - max-size: "10m" - - max-file: "3" - - software-shinobi-letsencrypt: - - container_name: software-shinobi-letsencrypt - - image: jrcs/letsencrypt-nginx-proxy-companion - - restart: unless-stopped - - volumes_from: - - - software-shinobi-proxy - - volumes: - - - /var/run/docker.sock:/var/run/docker.sock - - - /var/docker/nginx/acme:/etc/acme.sh - - environment: - - DEFAULT_EMAIL: the.software.shinobi@gmail.com - -########################################## -## -## software shinobi studio situation -## -########################################## - - software-shinobi-desktop: - - container_name: software-shinobi-desktop - - hostname: hyperion - - image: softwareshinobi/software-shinobi-studio - - restart: unless-stopped - -## deploy: -## -## resources: -## -## limits: -## -## cpus: 2 -## -## memory: 3.5G -## -## reservations: -## -## cpus: 1 -## -## memory: 2.0G - - volumes: - - - .volumes/desktop:/root - - domainname: desktop.softwareshinobi.digital - - environment: - - TZ: America/Bogota - - USER_UID: 1000 - - USER_GID: 1000 - - USER: root - - PASSWORD: passw0rd - - HTTP_PASSWORD: passw0rd - - VIRTUAL_HOST: desktop.softwareshinobi.digital - - LETSENCRYPT_HOST: desktop.softwareshinobi.digital diff --git a/.recycle/desktops/studio/files/Pictures/desktop.png b/.recycle/desktops/studio/files/Pictures/desktop.png deleted file mode 100755 index 814a69f3973e8a0acc6a99017ee1bf359217199f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20565 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 diff --git a/.recycle/desktops/studio/provision/netbeans.bash b/.recycle/desktops/studio/provision/netbeans.bash deleted file mode 100755 index ccd301e..0000000 --- a/.recycle/desktops/studio/provision/netbeans.bash +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -set -e - -set -x - -## -## create the apps dir and populate with unzipped netbeans content -## - -ls - -mkdir /apps - -cd /apps - -## - -ls - -wget https://dlcdn.apache.org/netbeans/netbeans/21/netbeans-21-bin.zip - -ls - -mv netbeans-21-bin.zip netbeans.zip - -ls - -unzip netbeans.zip - -ls - -pwd - -## -## -## diff --git a/.recycle/desktops/studio/studio.bash b/.recycle/desktops/studio/studio.bash deleted file mode 100755 index ab39713..0000000 --- a/.recycle/desktops/studio/studio.bash +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -set -e - -set -x - -reset - -clear - -docker-compose build - -docker-compose pull - -docker-compose down - -docker-compose up -d diff --git a/.recycle/servers/private/Dockerfile b/.recycle/servers/private/Dockerfile deleted file mode 100755 index 896aa8e..0000000 --- a/.recycle/servers/private/Dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -FROM ubuntu - -ARG DEBIAN_FRONTEND=noninteractive - -COPY /provision/bashrc /tmp/.bashrc - -COPY /provision/provision.bash provision.bash - -RUN bash provision.bash - -EXPOSE 22 - -CMD ["/usr/sbin/sshd","-D"] - diff --git a/.recycle/servers/private/provision/bashrc b/.recycle/servers/private/provision/bashrc deleted file mode 100755 index 133d2fa..0000000 --- a/.recycle/servers/private/provision/bashrc +++ /dev/null @@ -1,192 +0,0 @@ -#!/bin/bash - -## -## docker aliases -## - -alias prune="docker system prune -a -f;docker volume prune -a -f" - -## -## some more ls aliases -## - -alias ll='ls -alF' -alias la='ls -A' -alias l='ls -CF' - -## -## uncategorized -## - -alias r="reset;clear;" - -alias push="reset;clear;git add .;git commit -m 'automated terminal push';git push origin;" - -alias pushe="reset;clear;git add .;git commit -m 'automated terminal push';git push origin;exit" - -## video editing things - -alias record="recordmydesktop on-the-fly-encoding --no-sound" - -## - -alias d="docker" - -alias c="docker-compose" - -alias compose='docker-compose' - -## incoming - -alias ll='ls -l' - -alias r="reset;clear;" - -## - -alias cd..='cd ..' -alias ..='cd ..' -alias ...='cd ../../../' -alias ....='cd ../../../../' -alias .....='cd ../../../../' -alias .4='cd ../../../../' -alias .5='cd ../../../../..' - -## - -alias @memory-info='free -m -l -t' -alias @memory-top='ps auxf | sort -nr -k 4 | head -10' -alias @memory-top-10='ps auxf | sort -nr -k 4 | head -10' - -alias @cpu-info='lscpu' -alias @cpu-top='ps auxf | sort -nr -k 3' -alias @cpu-top-10='ps auxf | sort -nr -k 3 | head -10' - -alias @net-open-ports="sudo netstat -tlpn" -alias @net-external-ip="dig +short myip.opendns.com @resolver1.opendns.com" -alias @net-internal-interfaces="dig +short myip.opendns.com @resolver1.opendns.com" - -## aliases for accessing cloud desktop - -alias dustydepot="ssh dustydepot0@linux.softwareshinobi.digital -p 4444" - -## -## everything below here is factory bullshit -## -# ~/.bashrc: executed by bash(1) for non-login shells. -# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) -# for examples - -# If not running interactively, don't do anything -case $- in - *i*) ;; - *) return;; -esac - -# don't put duplicate lines or lines starting with space in the history. -# See bash(1) for more options -HISTCONTROL=ignoreboth - -# append to the history file, don't overwrite it -shopt -s histappend - -# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) -HISTSIZE=1000 -HISTFILESIZE=2000 - -# check the window size after each command and, if necessary, -# update the values of LINES and COLUMNS. -shopt -s checkwinsize - -# If set, the pattern "**" used in a pathname expansion context will -# match all files and zero or more directories and subdirectories. -#shopt -s globstar - -# make less more friendly for non-text input files, see lesspipe(1) -[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" - -# set variable identifying the chroot you work in (used in the prompt below) -if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then - debian_chroot=$(cat /etc/debian_chroot) -fi - -# set a fancy prompt (non-color, unless we know we "want" color) -case "$TERM" in - xterm-color|*-256color) color_prompt=yes;; -esac - -# uncomment for a colored prompt, if the terminal has the capability; turned -# off by default to not distract the user: the focus in a terminal window -# should be on the output of commands, not on the prompt -#force_color_prompt=yes - -if [ -n "$force_color_prompt" ]; then - if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then - # We have color support; assume it's compliant with Ecma-48 - # (ISO/IEC-6429). (Lack of such support is extremely rare, and such - # a case would tend to support setf rather than setaf.) - color_prompt=yes - else - color_prompt= - fi -fi - -if [ "$color_prompt" = yes ]; then - PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' -else - PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' -fi -unset color_prompt force_color_prompt - -# If this is an xterm set the title to user@host:dir -case "$TERM" in -xterm*|rxvt*) - PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" - ;; -*) - ;; -esac - -# enable color support of ls and also add handy aliases -if [ -x /usr/bin/dircolors ]; then - test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" - alias ls='ls --color=auto' - #alias dir='dir --color=auto' - #alias vdir='vdir --color=auto' - - alias grep='grep --color=auto' - alias fgrep='fgrep --color=auto' - alias egrep='egrep --color=auto' -fi - -# colored GCC warnings and errors -#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' - -# some more ls aliases -alias ll='ls -alF' -alias la='ls -A' -alias l='ls -CF' - -# Add an "alert" alias for long running commands. Use like so: -# sleep 10; alert -alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' - -# Alias definitions. -# You may want to put all your additions into a separate file like -# ~/.bash_aliases, instead of adding them here directly. -# See /usr/share/doc/bash-doc/examples in the bash-doc package. - -if [ -f ~/.bash_aliases ]; then - . ~/.bash_aliases -fi - -# enable programmable completion features (you don't need to enable -# this, if it's already enabled in /etc/bash.bashrc and /etc/profile -# sources /etc/bash.bashrc). -if ! shopt -oq posix; then - if [ -f /usr/share/bash-completion/bash_completion ]; then - . /usr/share/bash-completion/bash_completion - elif [ -f /etc/bash_completion ]; then - . /etc/bash_completion - fi -fi diff --git a/.recycle/servers/private/provision/provision.bash b/.recycle/servers/private/provision/provision.bash deleted file mode 100755 index ccd4dc6..0000000 --- a/.recycle/servers/private/provision/provision.bash +++ /dev/null @@ -1,144 +0,0 @@ -#!/bin/bash - -## -## This script installs stuff -## to set up a linux server -## suitable for newbies. -## -## Before you go, check read around my blog! -## -## https://softwareshinobi.digital -## -## - -## - -set -e; - -set -x; - -## - -ls -l /tmp/.bashrc - -cat /tmp/.bashrc; - -source /tmp/.bashrc; - -## - -apt update; - -## - -apt install -y cmatrix; - -apt install -y hollywood; - -## - -#!/bin/bash - -## -## This script installs stuff -## to set up a linux server -## suitable for newbies. -## -## This linux server will be hosted under -## linux.softwareshinobi.digital -## -## Before you go, check read around my blog! -## -## https://www.softwareshinobi.digital -## - -## - -set -e; - -set -x; - -## - -cat /etc/issue; - -echo "Shinobi Academy OS 8" > /etc/issue; - -cat /etc/issue; - -## - -apt-get update; - -## install bashrc systemwide - -cp /tmp/.bashrc /usr/local/bin/bashrc - -##apt-get install docker-compose -y; - -## - -apt-get install -y vim nano; - -apt-get install -y hollywood; - -apt-get install -y cmatrix; - -## - -apt-get install -y openssh-server; - -apt-get install -y sudo; - -## - -service ssh start; - -## -## shinobi academy user config -## - -useradd -rm -d /home/shinobi -s /bin/bash -u 444 shinobi; - -cp /tmp/.bashrc /home/shinobi/.bashrc - - -## restrict permissions on home - -chown -R nobody: /home/shinobi/ - -chmod -R 555 /home/shinobi/ - -chmod -R 555 /tmp/ - -##cat /home/shinobi/.bashrc - -##apt install -y dos2unix - -##dos2unix /home/shinobi/.bashrc - -##usermod -a -G sudo shinobi - -##usermod -a -G docker shinobi - -echo 'shinobi:shinobi' | chpasswd - -## -## wargame / thedustydepotdeputy -## - -rm -rf /home/depotdeputy/; - -mkdir /home/depotdeputy/; - -## - -useradd -rm -d /home/depotdeputy/depotdeputy0 -s /bin/bash -u 4010 depotdeputy0; - -cp /tmp/.bashrc /home/depotdeputy/depotdeputy0/.bashrc - -echo 'depotdeputy0:depotdeputy0' | chpasswd - -## - -echo "fin." diff --git a/server/.hushlogin b/server/.hushlogin deleted file mode 100755 index e69de29..0000000 diff --git a/server/.hushlogin. b/server/.hushlogin. deleted file mode 100755 index e69de29..0000000 diff --git a/server/Dockerfile b/server/Dockerfile deleted file mode 100755 index 6a7e3b5..0000000 --- a/server/Dockerfile +++ /dev/null @@ -1,27 +0,0 @@ -FROM ubuntu:questing - -## - -WORKDIR / - -COPY /provision / - -## - -ARG DEBIAN_FRONTEND=noninteractive - -## - -COPY /provision/provision.bash provision.bash - -RUN bash provision.bash - -## - -##COPY /provision/bashrc /tmp/.bashrc - -## - -EXPOSE 22 - -CMD ["/usr/sbin/sshd","-D"] diff --git a/server/compose.bash b/server/compose.bash deleted file mode 100755 index b72ea5d..0000000 --- a/server/compose.bash +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -## - -reset; - -clear; - -## - -set -e; - -set -x; - -## - -docker compose down --remove-orphans - -docker compose up --build -d diff --git a/server/compose.yaml b/server/compose.yaml deleted file mode 100755 index 23001ac..0000000 --- a/server/compose.yaml +++ /dev/null @@ -1,23 +0,0 @@ -services: - - shinobi-academy-linux-server: - - container_name: shinobi-academy-linux-server - - image: softwareshinobi/shinobi-academy-linux-server:latest - - build: - - context: . - - dockerfile: Dockerfile - - ports: - - - 2222:22 - - environment: - - VIRTUAL_HOST: linux.academy.softwareshinobi.digital - - LETSENCRYPT_HOST: linux.academy.softwareshinobi.digital diff --git a/server/provision/.trash/bashrc b/server/provision/.trash/bashrc deleted file mode 100755 index 133d2fa..0000000 --- a/server/provision/.trash/bashrc +++ /dev/null @@ -1,192 +0,0 @@ -#!/bin/bash - -## -## docker aliases -## - -alias prune="docker system prune -a -f;docker volume prune -a -f" - -## -## some more ls aliases -## - -alias ll='ls -alF' -alias la='ls -A' -alias l='ls -CF' - -## -## uncategorized -## - -alias r="reset;clear;" - -alias push="reset;clear;git add .;git commit -m 'automated terminal push';git push origin;" - -alias pushe="reset;clear;git add .;git commit -m 'automated terminal push';git push origin;exit" - -## video editing things - -alias record="recordmydesktop on-the-fly-encoding --no-sound" - -## - -alias d="docker" - -alias c="docker-compose" - -alias compose='docker-compose' - -## incoming - -alias ll='ls -l' - -alias r="reset;clear;" - -## - -alias cd..='cd ..' -alias ..='cd ..' -alias ...='cd ../../../' -alias ....='cd ../../../../' -alias .....='cd ../../../../' -alias .4='cd ../../../../' -alias .5='cd ../../../../..' - -## - -alias @memory-info='free -m -l -t' -alias @memory-top='ps auxf | sort -nr -k 4 | head -10' -alias @memory-top-10='ps auxf | sort -nr -k 4 | head -10' - -alias @cpu-info='lscpu' -alias @cpu-top='ps auxf | sort -nr -k 3' -alias @cpu-top-10='ps auxf | sort -nr -k 3 | head -10' - -alias @net-open-ports="sudo netstat -tlpn" -alias @net-external-ip="dig +short myip.opendns.com @resolver1.opendns.com" -alias @net-internal-interfaces="dig +short myip.opendns.com @resolver1.opendns.com" - -## aliases for accessing cloud desktop - -alias dustydepot="ssh dustydepot0@linux.softwareshinobi.digital -p 4444" - -## -## everything below here is factory bullshit -## -# ~/.bashrc: executed by bash(1) for non-login shells. -# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) -# for examples - -# If not running interactively, don't do anything -case $- in - *i*) ;; - *) return;; -esac - -# don't put duplicate lines or lines starting with space in the history. -# See bash(1) for more options -HISTCONTROL=ignoreboth - -# append to the history file, don't overwrite it -shopt -s histappend - -# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) -HISTSIZE=1000 -HISTFILESIZE=2000 - -# check the window size after each command and, if necessary, -# update the values of LINES and COLUMNS. -shopt -s checkwinsize - -# If set, the pattern "**" used in a pathname expansion context will -# match all files and zero or more directories and subdirectories. -#shopt -s globstar - -# make less more friendly for non-text input files, see lesspipe(1) -[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" - -# set variable identifying the chroot you work in (used in the prompt below) -if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then - debian_chroot=$(cat /etc/debian_chroot) -fi - -# set a fancy prompt (non-color, unless we know we "want" color) -case "$TERM" in - xterm-color|*-256color) color_prompt=yes;; -esac - -# uncomment for a colored prompt, if the terminal has the capability; turned -# off by default to not distract the user: the focus in a terminal window -# should be on the output of commands, not on the prompt -#force_color_prompt=yes - -if [ -n "$force_color_prompt" ]; then - if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then - # We have color support; assume it's compliant with Ecma-48 - # (ISO/IEC-6429). (Lack of such support is extremely rare, and such - # a case would tend to support setf rather than setaf.) - color_prompt=yes - else - color_prompt= - fi -fi - -if [ "$color_prompt" = yes ]; then - PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' -else - PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' -fi -unset color_prompt force_color_prompt - -# If this is an xterm set the title to user@host:dir -case "$TERM" in -xterm*|rxvt*) - PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" - ;; -*) - ;; -esac - -# enable color support of ls and also add handy aliases -if [ -x /usr/bin/dircolors ]; then - test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" - alias ls='ls --color=auto' - #alias dir='dir --color=auto' - #alias vdir='vdir --color=auto' - - alias grep='grep --color=auto' - alias fgrep='fgrep --color=auto' - alias egrep='egrep --color=auto' -fi - -# colored GCC warnings and errors -#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' - -# some more ls aliases -alias ll='ls -alF' -alias la='ls -A' -alias l='ls -CF' - -# Add an "alert" alias for long running commands. Use like so: -# sleep 10; alert -alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' - -# Alias definitions. -# You may want to put all your additions into a separate file like -# ~/.bash_aliases, instead of adding them here directly. -# See /usr/share/doc/bash-doc/examples in the bash-doc package. - -if [ -f ~/.bash_aliases ]; then - . ~/.bash_aliases -fi - -# enable programmable completion features (you don't need to enable -# this, if it's already enabled in /etc/bash.bashrc and /etc/profile -# sources /etc/bash.bashrc). -if ! shopt -oq posix; then - if [ -f /usr/share/bash-completion/bash_completion ]; then - . /usr/share/bash-completion/bash_completion - elif [ -f /etc/bash_completion ]; then - . /etc/bash_completion - fi -fi diff --git a/server/provision/private.key b/server/provision/private.key deleted file mode 100644 index 1f22f4b..0000000 --- a/server/provision/private.key +++ /dev/null @@ -1 +0,0 @@ -the private key!! diff --git a/server/provision/provision.bash b/server/provision/provision.bash deleted file mode 100755 index 86c2f81..0000000 --- a/server/provision/provision.bash +++ /dev/null @@ -1,94 +0,0 @@ -#!/bin/bash - -## -## This script installs stuff -## to set up a linux server -## suitable for newbies. -## -## Before you go, check read around my blog! -## -## https://softwareshinobi.com -## -## - -set -e; - -set -x; - -## - -cat /etc/issue; - -echo "Shinobi Academy 24.04" > /etc/issue; - -cat /etc/issue; - -## - -apt update; - -## -## install bashrc systemwide -## - -##cp bashrc /usr/local/bin/bashrc - -##ls -l /tmp/.bashrc - -##cat /tmp/.bashrc; - -##source /tmp/.bashrc; - -## - -apt install -y vim nano; - -## apt install -y hollywood; - -apt install -y cmatrix cmatrix-xfont; - -## -## shinobi academy user config -## - -groupadd -g 1042 shinobi - -useradd -u 1042 -g 1042 -rm -d /home/shinobi -s /bin/bash shinobi - -##useradd -rm -d /home/shinobi -s /bin/bash -u 1042 shinobi; - -echo 'shinobi:shinobi' | chpasswd - -mkdir /home/shinobi/.ssh/ - -cp /private.key /home/shinobi/.ssh/ - -## -## restrict permissions on home -## - -chmod -R 555 /home/shinobi/ - -chmod -R 555 /tmp/ - -## -## change MOTD -## - -## echo "hey?" > /etc/motd - -## -## start ssh server -## - -apt install -y openssh-server; - -apt install -y sudo; - -service ssh start; - -## -## finish -## - -echo "fin."