Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
820ddfe905 | ||
|
|
c517e64850 | ||
|
|
646a913ccb | ||
|
|
ff3e77b47b | ||
|
|
06e0a62a51 | ||
|
|
04980423d3 | ||
|
|
612bfbabfb | ||
|
|
65d40b1b15 | ||
|
|
d40caaf705 |
17
CHANGELOG.md
17
CHANGELOG.md
@@ -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
|
||||
|
||||
|
||||
1
id_list
1
id_list
@@ -2,4 +2,3 @@ GOOGLE=2PACX-1vR-RCxKCkhzzW2ZDDQOUIAxq2QTPwcCJZXuFyGD0hvXDC60TMU0_Yx1fx02S1_H9h7
|
||||
BIN=0
|
||||
QEMU=647866092
|
||||
DYNAMIPS=1118397071
|
||||
CREDENTIALS=1957719637
|
||||
|
||||
100
ishare2
100
ishare2
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user