automated terminal push

This commit is contained in:
Your Name
2025-02-07 16:14:03 -05:00
parent 6fbb6c1549
commit c562d357b2
17 changed files with 651 additions and 0 deletions

0
tor-robot-remix/.dockerignore Executable file
View File

2
tor-robot-remix/.gitignore vendored Executable file
View File

@@ -0,0 +1,2 @@
mycron

45
tor-robot-remix/Dockerfile Executable file
View File

@@ -0,0 +1,45 @@
FROM softwareshinobi/software-shinobi-linux
ARG DEBIAN_FRONTEND=noninteractive
WORKDIR /tmp/robotinstall
COPY . .
##
RUN apt-get update && \
apt-get -y install cron
# Create the log file to be able to run tail
RUN touch /var/log/cron.log
# Start the cron service
RUN install/provision.bash
##
RUN install/install.full.bash
RUN ls -lha /var/root/
##
COPY bashrc/bashrc /tmp/.bashr
##
CMD cron && tail -f /var/log/cron.log
#########################################
##RUN echo "docker image build completed"
##
##EXPOSE 22
##CMD ["/usr/sbin/sshd","-D"]

192
tor-robot-remix/bashrc/bashrc Executable file
View File

@@ -0,0 +1,192 @@
#!/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

19
tor-robot-remix/compose.bash Executable file
View File

@@ -0,0 +1,19 @@
#!/bin/bash
##
reset;
clear;
##
set -e;
set -x;
##
docker-compose pull
docker-compose up --build -d

23
tor-robot-remix/compose.yaml Executable file
View File

@@ -0,0 +1,23 @@
version: "3.8"
services:
tor-robot-revisited:
build:
context: .
dockerfile: Dockerfile
container_name: tor-robot-revisited
hostname: torrobot
image: softwareshinobi/tor-robot-revisited
domainname: torrobot.softwareshinobi.digital
ports:
- "2222:22"

8
tor-robot-remix/install.bash Executable file
View File

@@ -0,0 +1,8 @@
bash install/provision.bash
bash install/install.full.bash
cd robot
bash monitor.bash

View File

@@ -0,0 +1,51 @@
#!/bin/sh
##
## This script installs the digital hunter killer drone.
## The scripts will be installed to /var/root/robot-process-killer/
## The scripts will be automated via cron job configuration
##
## Questions or issues? Email me here:
##
## the.software.shinobi@gmail.com
##
set -x
set -e
##
mkdir -p /var/root/robot-process-killer/
ls -lha /var/root/robot-process-killer/
##
cp -r robot/* /var/root/robot-process-killer/
ls -lha /var/root/robot-process-killer/
##
cd /var/root/robot-process-killer/
chmod +x *.bash
ls -lha
##
echo "* * * * * /var/root/robot-process-killer/robot-kill-target-system-processes.sh" >> robotcron
echo "printing crontab"
cat robotcron
crontab -u root robotcron
##
echo
echo "finished installing robot and configuring cron".
echo

View File

@@ -0,0 +1,51 @@
#!/bin/sh
##
## This script installs the digital hunter killer drone.
## The scripts will be installed to /var/root/robot-process-killer/
## The scripts will be automated via cron job configuration
##
## Questions or issues? Email me here:
##
## the.software.shinobi@gmail.com
##
set -x
set -e
##
mkdir -p /var/root/robot-process-killer/
ls -lha /var/root/robot-process-killer/
##
cp -r robot/* /var/root/robot-process-killer/
ls -lha /var/root/robot-process-killer/
##
cd /var/root/robot-process-killer/
chmod +x *.bash
ls -lha
##
echo "* 19 * * * /var/root/robot-process-killer/robot-kill-target-system-processes.sh" >> robotcron
echo "printing crontab"
cat robotcron
crontab -u root robotcron
##
echo
echo "finished installing robot and configuring cron".
echo

View File

@@ -0,0 +1,11 @@
echo "00 09 * * 1-5 echo hello" >> mycron
echo "printing crontab"
cat mycron
crontab mycron
crontab -l

View File

@@ -0,0 +1,30 @@
#!/bin/sh
##
## This script uninstalls the digital hunter killer drone.
## The scripts uninstalls by removing all target cron job entries
## The script DOES NOT delete any of the script files
##
## Questions or issues? Email me here:
##
## the.software.shinobi@gmail.com
##
set -e;
set -x;
##
## reset;
## clear;
##
## Remove the target crontab entry
crontab -u root -l | grep -v '* * * * * /root/robot-process-killer/robot-kill-target-system-processes.sh >/dev/null 2>&1' | crontab -u root -
## Show the current crontab entry
crontab -l

21
tor-robot-remix/license.md Executable file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2024 Software Shinobi
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

43
tor-robot-remix/readme.md Executable file
View File

@@ -0,0 +1,43 @@
## Welcome to Gentle Process Management!
This guide will help you get familiar with our application designed to streamline your system's background tasks.
## What is it?
Imagine having a gentle nudge to keep things running smoothly. That's what this app does! It's like a dedicated helper who quietly checks on specific processes and, if needed, guides them to a peaceful stop.
## Under the Hood (in Simple Terms)
This application is a set of tools designed for Unix systems. It works behind the scenes, using a built-in scheduler to regularly check on certain programs. If the app finds a program that needs to be stopped, it gently halts its operation.
**Think of it like this:** Imagine having a list of tasks you want to complete throughout the day. This app acts as your friendly reminder, ensuring those tasks are finished at the right time.
## Getting Started
Here's a step-by-step guide for a smooth installation:
* Open a terminal window on your Unix system
* Navigate to the directory where you downloaded the application files
```
git clone https://github.com/softwareshinobi/tor-robot-remix.git
```
* navigate into install files directory
```
cd tor-robot-remix
```
* Run the install script as sudo
```
sudo bash install.bash
```
* Monitor the installation
```
bash robot/monitor.bash
```

View File

@@ -0,0 +1,62 @@
execute_robot_process_killer_capability () {
countLocalExecutions=1
while [ "$countLocalExecutions" -ne "$targetCountLocalExecutions" ];do
echo
echo "calling process_killer_capability_group [`date`]"
echo
execute_robot_process_killer_capability_group
countLocalExecutions=$((countLocalExecutions + 1))
sleep 1
done
echo
echo "i have been running for over a minute. exiting gracefully."
echo
echo "another robot should be following behind me..."
echo
}
execute_robot_process_killer_capability_group () {
for processName in $processNameGroup; do
echo "execute kill processes matching: "$processName
execute_robot_process_killer_capability_single $processName
done
}
execute_robot_process_killer_capability_single () {
processToKill=$1
if pgrep $processToKill > /dev/null;then
echo
echo " ** there are processes running that match: "$processToKill
echo
## ps aux | grep $processToKill
killall $processToKill
## ps aux | grep $processToKill
echo
echo " ** killed all of the "$processToKill" processes"
echo
fi
}

View File

@@ -0,0 +1,13 @@
## Here are the names of all the processes that we want killed.
## to add new ones,just following the same pattern.
set -- "Tor" "tor" "tor-browser" "Tor-Browser" "Tor Browser" "tor browser" "TorBrowser" "torbrowser" "firefox" "FindMy" ## you can add stuff here. put the process name in double quotes
processNameGroup=$@; ## don't touch this.
##
targetCountLocalExecutions=64; ## don't touch this.
##

View File

@@ -0,0 +1,18 @@
#!/bin/sh
##
## This script lists the running processes related to the robot
## This script is for local monitoring and verification.
##
## Questions or issues? Email me here:
##
## the.software.shinobi@gmail.com
##
##set -x
##set -e
##
watch -n 1 'ps aux | grep robot'

View File

@@ -0,0 +1,62 @@
#!/bin/sh
##
## This script is a digital hunter killer drone
## to terminate target application processes
## on the local system
##
## Questions or issues? Email me here:
##
## the.software.shinobi@gmail.com
##
#set -e;
#set -x;
##
## reset;
## clear;
## Navigate to the robot-killer-home-directory
pwd
cd /var/root/robot-process-killer/
pwd
ls -lha
## Load the robot configuration from external file
echo
echo "BEGIN: load robot process killer configuration from file"
echo
. ./load-robot-process-killer-configuration.sh
echo
echo "END: load robot process killer configuration from file"
echo
## Load the robot functions and "do work" functionality from external file
echo
echo "BEGIN: load robot process killer capability from file"
echo
. ./load-robot-process-killer-capability.sh
echo
echo "END: load robot process killer capability from file"
echo
## Exeute the robot process killer functionality
echo
echo "starting the robot process killer"
echo
execute_robot_process_killer_capability