9 Commits

Author SHA1 Message Date
pnetlabrepo
820ddfe905 Update CHANGELOG.md 2023-01-16 09:33:26 -03:00
pnetlabrepo
c517e64850 Update version 2023-01-16 09:29:31 -03:00
pnetlabrepo
646a913ccb Update ishare2 2023-01-16 09:29:14 -03:00
pnetlabrepo
ff3e77b47b Update id_list 2023-01-16 08:06:16 -03:00
pnetlabrepo
06e0a62a51 Update CHANGELOG.md 2023-01-16 08:03:55 -03:00
pnetlabrepo
04980423d3 Update CHANGELOG.md 2023-01-16 07:46:06 -03:00
pnetlabrepo
612bfbabfb Update version 2023-01-16 07:40:50 -03:00
pnetlabrepo
65d40b1b15 Update ishare2 2023-01-16 07:40:31 -03:00
pnetlabrepo
d40caaf705 Update CHANGELOG.md 2023-01-14 02:20:34 -03:00
4 changed files with 51 additions and 69 deletions

View File

@@ -1,9 +1,24 @@
# Changelog
All notable changes to this project will be documented in this file. You can upgrade ishare2 to the latest version using `ishare2 upgrade`
## [v1.4.7] - 2023-Jan-16
1) Added: A function called set_url_constants() was added to the code and to the main() execution. This function contains all of the URL needed in the project.
2) Modified: Function called set_color_variables() was renamed to set_color_constants()
## [v1.4.6] - 2023-Jan-16
1) Modified: Minor changes in code: A function called set_color_variables() was created to define all color variables in there. Added to main() execution
2) Deleted: Minor changes in code: Every definition of those variables was removed to get a cleaner code
Note: This update does not change how the code works in any way
## [v1.4.5] - 2023-Jan-13
1) Modified: Minor changes in code. Changes are not important at all
1) Modified: Minor changes in code: A line was changed from: ls -lh -R /opt/unetlab/addons/iol/bin to: ls -lh -R /opt/unetlab/addons/iol/bin/
2) Deleted: Minor changes in code: A comment stating "# Main code" was deleted from the code
Note: This update does not change how the code works in any way
## [v1.4.4] - 2023-Jan-11

View File

@@ -2,4 +2,3 @@ GOOGLE=2PACX-1vR-RCxKCkhzzW2ZDDQOUIAxq2QTPwcCJZXuFyGD0hvXDC60TMU0_Yx1fx02S1_H9h7
BIN=0
QEMU=647866092
DYNAMIPS=1118397071
CREDENTIALS=1957719637

100
ishare2
View File

@@ -1,12 +1,28 @@
#!/bin/bash
#October, 2022
function set_color_constants() {
RED='\033[31m'
YELLOW='\033[1;33m'
GREEN='\033[32m'
NO_COLOR='\033[0m'
}
function set_url_constants() {
URL_ID_LIST=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/id_list
URL_VERSION=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/version
URL_ISHARE2=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/ishare2
URL_CHANGELOG_MD=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/CHANGELOG.md
URL_CISCO_IOU_KEYGEN_PY=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/iol/bin/CiscoIOUKeygen.py
URL_KEEPALIVE_PL=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/iol/bin/keepalive.pl
URL_I86BI_LINUX_L2_YML=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/templates/i86bi_linux_l2/i86bi_linux_l2.yml
URL_I86BI_LINUX_L3_YML=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/templates/i86bi_linux_l3/i86bi_linux_l3.yml
URL_C2600_YML=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/templates/cisco/c2600.yml
URL_C1760_YML=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/templates/cisco/c1760.yml
}
function check_user_is_root() {
user=$(whoami)
RED='\033[31m'
NO_COLOR='\033[0m'
if [[ "$user" != "root" ]]; then
echo -e "${RED}[!] Current user ($user) is not root, please change user as root to execute this script${NO_COLOR}"
exit 1
@@ -14,7 +30,7 @@ function check_user_is_root() {
}
function get_initial_information() {
ID_LIST="$(curl -s https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/id_list)"
ID_LIST="$(curl -s $URL_ID_LIST)"
GOOGLE_SHEETS_ID=$( echo "$ID_LIST" | awk -F= '/^GOOGLE/ { print $2 }' )
BIN_GID=$( echo "$ID_LIST" | awk -F= '/^BIN/ { print $2 }' )
@@ -161,13 +177,9 @@ function mylabs_install_lab_images_just_for_only_readable_labs() {
if [[ $NUMBER -gt $counter_for_readable_labs || $NUMBER -le 0 ]]; then
if [[ $counter_for_readable_labs -eq 1 ]]; then
STR="Last parameter must be 1 because you have only one lab"
YELLOW='\033[1;33m'
NO_COLOR='\033[0m'
echo -e "${YELLOW}$STR${NO_COLOR}"
else
STR="Last parameter must be a number between 1 and $counter_for_readable_labs"
YELLOW='\033[1;33m'
NO_COLOR='\033[0m'
echo -e "${YELLOW}$STR${NO_COLOR}"
fi
@@ -217,9 +229,6 @@ function mylabs_install_lab_images_just_for_only_readable_labs() {
echo -e "\nImages found on lab\n"
GREEN='\033[32m'
NO_COLOR='\033[0m'
echo -e "${GREEN}--- bin images ---${NO_COLOR}"
if [[ BIN_FLAG -eq 1 ]]; then
echo No bin images found
@@ -459,13 +468,9 @@ function install_lab_images_just_for_only_readable_labs() {
if [[ $NUMBER -gt $counter_for_readable_labs || $NUMBER -le 0 ]]; then
if [[ $counter_for_readable_labs -eq 1 ]]; then
STR="Last parameter must be 1 because you have only one lab"
YELLOW='\033[1;33m'
NO_COLOR='\033[0m'
echo -e "${YELLOW}$STR${NO_COLOR}"
else
STR="Last parameter must be a number between 1 and $counter_for_readable_labs"
YELLOW='\033[1;33m'
NO_COLOR='\033[0m'
echo -e "${YELLOW}$STR${NO_COLOR}"
fi
@@ -515,9 +520,6 @@ function install_lab_images_just_for_only_readable_labs() {
echo -e "\nImages found on lab"
GREEN='\033[32m'
NO_COLOR='\033[0m'
echo -e "${GREEN}--- bin images ---${NO_COLOR}"
if [[ BIN_FLAG -eq 1 ]]; then
echo No bin images found
@@ -724,8 +726,6 @@ function download_lab_iol_images() {
if [[ $FLAG -eq 0 ]]; then
STR="(BIN) WARNING: Image $BIN_NAME has not been found"
YELLOW='\033[1;33m'
NO_COLOR='\033[0m'
echo -e "${YELLOW}$STR${NO_COLOR}"
fi
done < $filename1
@@ -761,8 +761,6 @@ function download_lab_dynamips_images() {
if [[ $FLAG -eq 0 ]]; then
STR="(DYNAMIPS) WARNING: Image $DYNAMIPS_NAME has not been found"
YELLOW='\033[1;33m'
NO_COLOR='\033[0m'
echo -e "${YELLOW}$STR${NO_COLOR}"
fi
done < $filename1
@@ -802,8 +800,6 @@ function download_lab_qemu_images() {
if [[ $FLAG -eq 0 ]]; then
STR="(QEMU) WARNING: Image $QEMU_NAME has not been found"
YELLOW='\033[1;33m'
NO_COLOR='\033[0m'
echo -e "${YELLOW}$STR${NO_COLOR}"
fi
done < $filename1
@@ -811,10 +807,6 @@ function download_lab_qemu_images() {
}
function check_docker_service_status() {
RED='\033[31m'
GREEN='\033[32m'
NO_COLOR='\033[0m'
if service docker status | grep -q "active (running)"; then
return 0 # 0 means "no failures"
fi
@@ -926,13 +918,13 @@ function download_lab_docker_images() {
function check_ishare2_version_file_exists() {
if ! [[ -e /usr/sbin/ishare2_version ]]; then
echo -n "$(curl -s https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/version)" >> /usr/sbin/ishare2_version
echo -n "$(curl -s $URL_VERSION)" >> /usr/sbin/ishare2_version
fi
}
function upgrade_ishare2() {
LOCAL_VALUE=$(cat /usr/sbin/ishare2_version)
REMOTE_VALUE=$(curl -s https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/version)
REMOTE_VALUE=$(curl -s $URL_VERSION)
if [[ $LOCAL_VALUE == "$REMOTE_VALUE" ]]; then
echo "ishare2 $REMOTE_VALUE is currently the newest version available"
@@ -940,7 +932,7 @@ function upgrade_ishare2() {
fi
rm /usr/sbin/ishare2
wget -O /usr/sbin/ishare2 https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/ishare2 > /dev/null 2>&1
wget -O /usr/sbin/ishare2 $URL_ISHARE2 > /dev/null 2>&1
chmod +x /usr/sbin/ishare2
echo "ishare2 was upgraded from $LOCAL_VALUE to $REMOTE_VALUE"
@@ -952,8 +944,7 @@ function show_changelog() {
FILE=/root/CHANGELOG.md
if [[ -e $FILE ]]; then rm $FILE ; fi
CHANGELOG_URL=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/CHANGELOG.md
DATA="$(wget -q $CHANGELOG_URL -P /root)"
DATA="$(wget -q $URL_CHANGELOG_MD -P /root)"
head -n 15 $FILE
rm $FILE
}
@@ -984,11 +975,11 @@ function generate_a_new_license() {
if [[ -e $PYTHON_FILE ]]; then rm $PYTHON_FILE ; fi
wget -O $PYTHON_FILE https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/iol/bin/CiscoIOUKeygen.py > /dev/null 2>&1
wget -O $PYTHON_FILE $URL_CISCO_IOU_KEYGEN_PY > /dev/null 2>&1
python $PYTHON_FILE > /dev/null 2>&1
if ! [[ -e $PERL_FILE ]]; then
wget -O $PERL_FILE https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/iol/bin/keepalive.pl > /dev/null 2>&1
wget -O $PERL_FILE $URL_KEEPALIVE_PL > /dev/null 2>&1
fi
echo "Done"
}
@@ -1236,9 +1227,6 @@ function pull_bin() {
}
function show_help_info() {
YELLOW='\033[1;33m'
NO_COLOR='\033[0m'
echo -e "1) For problems, use our Telegram Channel describing your problem and sending a screenshot and/or a video"
echo -e "\n2) For new files to be uploaded, you can use our Telegram Channel too"
echo -e "In this case, you can send or ask for new images to be uploaded"
@@ -1254,12 +1242,9 @@ function show_ishare2_usage() {
# For ishare2
ISHARE2_VERSION_USAGE=$(cat /usr/sbin/ishare2_version)
YELLOW='\033[1;33m'
NO_COLOR='\033[0m'
STR=""
LOCAL_VALUE=$ISHARE2_VERSION_USAGE
REMOTE_VALUE=$(curl -s https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/version)
REMOTE_VALUE=$(curl -s $URL_VERSION)
if ! [[ $LOCAL_VALUE == "$REMOTE_VALUE" ]]; then
STR="New ishare2 version available: $REMOTE_VALUE"
@@ -1621,7 +1606,7 @@ function corrections_for_iol_images() {
FILE="$YML_DIR"i86bi_linux_l2.yml
if ! [[ -e $FILE ]]; then
wget -O $FILE https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/templates/i86bi_linux_l2/i86bi_linux_l2.yml > /dev/null 2>&1
wget -O $FILE $URL_I86BI_LINUX_L2_YML > /dev/null 2>&1
fi
fi
@@ -1630,7 +1615,7 @@ function corrections_for_iol_images() {
FILE="$YML_DIR"i86bi_linux_l3.yml
if ! [[ -e $FILE ]]; then
wget -O $FILE https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/templates/i86bi_linux_l3/i86bi_linux_l3.yml > /dev/null 2>&1
wget -O $FILE $URL_I86BI_LINUX_L3_YML > /dev/null 2>&1
fi
fi
}
@@ -1699,13 +1684,13 @@ function corrections_for_dynamips_images() {
SUBSTRING="c2600"
if [[ "$NAME" == *"$SUBSTRING"* ]]; then
FILE="$YML_DIR"c2600.yml
wget -O $FILE https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/templates/cisco/c2600.yml > /dev/null 2>&1
wget -O $FILE $URL_C2600_YML > /dev/null 2>&1
fi
SUBSTRING="c1760"
if [[ "$NAME" == *"$SUBSTRING"* ]]; then
FILE="$YML_DIR"c1760.yml
wget -O $FILE https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/templates/cisco/c1760.yml > /dev/null 2>&1
wget -O $FILE $URL_C1760_YML > /dev/null 2>&1
fi
}
@@ -1978,9 +1963,6 @@ function selector() {
pull_qemu "$3"
else
STR="Last parameter not detected"
RED='\033[31m'
YELLOW='\033[1;33m'
NO_COLOR='\033[0m'
echo -e "${RED}$STR${NO_COLOR}"
echo -e "Syntax: ishare2 pull qemu ${YELLOW}<number>${NO_COLOR}"
fi
@@ -1989,9 +1971,6 @@ function selector() {
pull_dynamips "$3"
else
STR="Last parameter not detected"
RED='\033[31m'
YELLOW='\033[1;33m'
NO_COLOR='\033[0m'
echo -e "${RED}$STR${NO_COLOR}"
echo -e "Syntax: ishare2 pull dynamips ${YELLOW}<number>${NO_COLOR}"
fi
@@ -2000,9 +1979,6 @@ function selector() {
pull_bin "$3"
else
STR="Last parameter not detected"
RED='\033[31m'
YELLOW='\033[1;33m'
NO_COLOR='\033[0m'
echo -e "${RED}$STR${NO_COLOR}"
echo -e "Syntax: ishare2 pull bin ${YELLOW}<number>${NO_COLOR}"
fi
@@ -2015,9 +1991,6 @@ function selector() {
elif [[ "$1" = "installed" ]]; then # ishare2 installed
if [[ "$2" ]]; then
if [[ "$2" = "all" ]]; then
GREEN='\033[32m'
NO_COLOR='\033[0m'
echo -e "${GREEN}----- QEMU -----${NO_COLOR}"
ishare2 installed qemu
echo -e "${GREEN}----- DYNAMIPS -----${NO_COLOR}"
@@ -2042,14 +2015,10 @@ function selector() {
list_dockers
count_dockers
else
YELLOW='\033[1;33m'
NO_COLOR='\033[0m'
echo -e "Syntax:\n\nishare2 installed <type>"
echo -e "${YELLOW}type: all, bin, qemu, dynamips or docker${NO_COLOR}"
fi
else
YELLOW='\033[1;33m'
NO_COLOR='\033[0m'
echo -e "Syntax:\n\nishare2 installed ${YELLOW}<type>${NO_COLOR}"
echo -e "type: all, bin, qemu, dynamips or docker"
fi
@@ -2074,9 +2043,6 @@ function selector() {
mylabs_install_lab_images_just_for_only_readable_labs $2 $3
else
STR="The last parameter must be a number"
RED='\033[31m'
YELLOW='\033[1;33m'
NO_COLOR='\033[0m'
echo -e "${RED}$STR${NO_COLOR}"
echo -e "ishare2 mylabs <path> ${YELLOW}<number>${NO_COLOR}"
fi
@@ -2103,6 +2069,8 @@ function selector() {
}
function main(){
set_color_constants
set_url_constants
check_user_is_root
get_initial_information
set_yml_template_folder_location

View File

@@ -1 +1 @@
v1.4.5
v1.4.7