Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ff3e77b47b | ||
|
|
06e0a62a51 | ||
|
|
04980423d3 | ||
|
|
612bfbabfb | ||
|
|
65d40b1b15 | ||
|
|
d40caaf705 | ||
|
|
890c44303e | ||
|
|
bf585fa7f7 | ||
|
|
6e142e9244 | ||
|
|
bc6463681b | ||
|
|
7921908fd8 | ||
|
|
4f0752c59c | ||
|
|
62fb888cd5 |
24
CHANGELOG.md
24
CHANGELOG.md
@@ -1,6 +1,30 @@
|
||||
# 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.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: 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) Modified: ishare2 code has been modified to better readability using a main() function
|
||||
2) Modified: Some functions were put together for better understanding: msg_available_options_for_ishare2_search() and msg_incorrect_argument_or_no_arg_for_ishare2_pull()
|
||||
3) Modified: ishare2 content help function was indented
|
||||
4) Modified: get_initial_info() renamed to get_initial_information()
|
||||
5) Modified: check_version_file_exists() renamed to check_ishare2_version_file_exists()
|
||||
6) Added: - ishare2 search palo and - ishare2 search Licensed were added like examples to the ishare2 message when explaining ishare2 search
|
||||
7) Added: selector() function was created in order to use a main() function
|
||||
|
||||
## [v1.4.3] - 2023-Jan-04
|
||||
|
||||
1) Added: A new command was added: `ishare2 changelog`. It shows the last 15 lines of this CHANGELOG.md file in the terminal
|
||||
|
||||
1
id_list
1
id_list
@@ -2,4 +2,3 @@ GOOGLE=2PACX-1vR-RCxKCkhzzW2ZDDQOUIAxq2QTPwcCJZXuFyGD0hvXDC60TMU0_Yx1fx02S1_H9h7
|
||||
BIN=0
|
||||
QEMU=647866092
|
||||
DYNAMIPS=1118397071
|
||||
CREDENTIALS=1957719637
|
||||
|
||||
492
ishare2
492
ishare2
@@ -1,19 +1,24 @@
|
||||
#!/bin/bash
|
||||
#October, 2022
|
||||
|
||||
function set_color_variables() {
|
||||
RED='\033[31m'
|
||||
YELLOW='\033[1;33m'
|
||||
GREEN='\033[32m'
|
||||
|
||||
NO_COLOR='\033[0m'
|
||||
}
|
||||
|
||||
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
|
||||
fi
|
||||
}
|
||||
|
||||
function get_initial_info() {
|
||||
function get_initial_information() {
|
||||
ID_LIST="$(curl -s https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/id_list)"
|
||||
|
||||
GOOGLE_SHEETS_ID=$( echo "$ID_LIST" | awk -F= '/^GOOGLE/ { print $2 }' )
|
||||
@@ -47,10 +52,6 @@ function set_yml_template_folder_location() {
|
||||
fi
|
||||
}
|
||||
|
||||
check_user_is_root
|
||||
get_initial_info
|
||||
set_yml_template_folder_location
|
||||
|
||||
function mylabs_get_lab_list_just_for_only_readable_labs() {
|
||||
LABS_DIR=$1
|
||||
|
||||
@@ -165,13 +166,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
|
||||
|
||||
@@ -221,9 +218,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
|
||||
@@ -463,13 +457,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
|
||||
|
||||
@@ -519,9 +509,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
|
||||
@@ -728,8 +715,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
|
||||
@@ -765,8 +750,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
|
||||
@@ -806,8 +789,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
|
||||
@@ -815,10 +796,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
|
||||
@@ -928,14 +905,12 @@ function download_lab_docker_images() {
|
||||
count_dockers
|
||||
}
|
||||
|
||||
function check_version_file_exists() {
|
||||
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
|
||||
fi
|
||||
}
|
||||
|
||||
check_version_file_exists
|
||||
|
||||
function upgrade_ishare2() {
|
||||
LOCAL_VALUE=$(cat /usr/sbin/ishare2_version)
|
||||
REMOTE_VALUE=$(curl -s https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/version)
|
||||
@@ -1242,9 +1217,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"
|
||||
@@ -1260,9 +1232,6 @@ 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)
|
||||
@@ -1280,34 +1249,36 @@ function show_ishare2_usage() {
|
||||
|
||||
# Message displayed when using ishare2 command
|
||||
echo "
|
||||
Usage ishare2 [action] [param1] [param2]
|
||||
Syntax
|
||||
|
||||
action:
|
||||
search : Search for images by type
|
||||
pull : Download an image by type and number
|
||||
installed : Show installed images on server
|
||||
labs : Show labs on server and download images for those labs
|
||||
mylabs : Same as labs command but using a customized path to labs
|
||||
relicense : Generate a new iourc license for bin images
|
||||
upgrade : Upgrade ishare2 code to the latest version
|
||||
changelog : Show the latest changes made to ishare2
|
||||
help : Show useful information
|
||||
ishare2 [action] [param1] [param2]
|
||||
|
||||
param1:
|
||||
type = all, bin, qemu, dynamips, docker or name
|
||||
action:
|
||||
search : Search for images by type
|
||||
pull : Download an image by type and number
|
||||
installed : Show installed images on server
|
||||
labs : Show labs on server and download images for those labs
|
||||
mylabs : Same as labs command but using a customized path to labs
|
||||
relicense : Generate a new iourc license for bin images
|
||||
upgrade : Upgrade ishare2 code to the latest version
|
||||
changelog : Show the latest changes made to ishare2
|
||||
help : Show useful information
|
||||
|
||||
param2:
|
||||
number = This number can be obtained using ishare2 search <type>
|
||||
param1:
|
||||
type = all, bin, qemu, dynamips, docker or name
|
||||
|
||||
Examples:
|
||||
param2:
|
||||
number = This number can be obtained using ishare2 search <type>
|
||||
|
||||
- ishare2 search <type>
|
||||
- ishare2 search all
|
||||
- ishare2 search bin
|
||||
- ishare2 search qemu
|
||||
- ishare2 search dynamips
|
||||
- ishare2 search <name>
|
||||
Examples:
|
||||
Examples:
|
||||
|
||||
- ishare2 search <type>
|
||||
- ishare2 search all
|
||||
- ishare2 search bin
|
||||
- ishare2 search qemu
|
||||
- ishare2 search dynamips
|
||||
- ishare2 search <name>
|
||||
Examples:
|
||||
- ishare2 search vios
|
||||
- ishare2 search win-
|
||||
- ishare2 search winserver
|
||||
@@ -1317,38 +1288,68 @@ function show_ishare2_usage() {
|
||||
- ishare2 search nxos
|
||||
- ishare2 search vmx
|
||||
- ishare2 search esxi
|
||||
- ishare2 search palo
|
||||
- ishare2 search Licensed
|
||||
- More <name> options using ishare2 search all
|
||||
|
||||
- ishare2 pull bin <number>
|
||||
- ishare2 pull qemu <number>
|
||||
- ishare2 pull dynamips <number>
|
||||
- ishare2 pull bin <number>
|
||||
- ishare2 pull qemu <number>
|
||||
- ishare2 pull dynamips <number>
|
||||
|
||||
- ishare2 pull bin all
|
||||
- ishare2 pull qemu all (Unavailable for qemu type)
|
||||
- ishare2 pull dynamips all
|
||||
- ishare2 pull bin all
|
||||
- ishare2 pull qemu all (Not available for qemu type due to its large size)
|
||||
- ishare2 pull dynamips all
|
||||
|
||||
- ishare2 installed all
|
||||
- ishare2 installed bin
|
||||
- ishare2 installed qemu
|
||||
- ishare2 installed dynamips
|
||||
- ishare2 installed docker
|
||||
- ishare2 installed all
|
||||
- ishare2 installed bin
|
||||
- ishare2 installed qemu
|
||||
- ishare2 installed dynamips
|
||||
- ishare2 installed docker
|
||||
|
||||
- ishare2 labs
|
||||
- ishare2 labs <number>
|
||||
- ishare2 labs all
|
||||
- ishare2 labs
|
||||
- ishare2 labs <number>
|
||||
- ishare2 labs all
|
||||
|
||||
- ishare2 mylabs <path>
|
||||
- ishare2 mylabs <path> <number>
|
||||
- ishare2 mylabs <path> all
|
||||
- ishare2 mylabs <path>
|
||||
- ishare2 mylabs <path> <number>
|
||||
- ishare2 mylabs <path> all
|
||||
|
||||
- ishare2 relicense
|
||||
- ishare2 upgrade
|
||||
- ishare2 changelog
|
||||
- ishare2 help
|
||||
- ishare2 relicense
|
||||
- ishare2 upgrade
|
||||
- ishare2 changelog
|
||||
- ishare2 help
|
||||
|
||||
ishare2: $ISHARE2_VERSION_USAGE$NEW_VERSION_RESULT
|
||||
pnetlab: v$PNETLAB_VERSION_USAGE
|
||||
"
|
||||
ishare2: $ISHARE2_VERSION_USAGE$NEW_VERSION_RESULT
|
||||
pnetlab: v$PNETLAB_VERSION_USAGE
|
||||
"
|
||||
}
|
||||
|
||||
function msg_available_options_for_ishare2_search() {
|
||||
echo -e "Available options\n"
|
||||
echo "- ishare2 search all"
|
||||
echo "- ishare2 search qemu"
|
||||
echo "- ishare2 search dynamips"
|
||||
echo "- ishare2 search bin"
|
||||
echo "- ishare2 search <name>"
|
||||
echo " - ishare2 search vios"
|
||||
echo " - ishare2 search win-"
|
||||
echo " - ishare2 search winserver"
|
||||
echo " - ishare2 search kali"
|
||||
echo " - ishare2 search mikro"
|
||||
echo " - ishare2 search forti"
|
||||
echo " - ishare2 search nxos"
|
||||
echo " - ishare2 search vmx"
|
||||
echo " - ishare2 search esxi"
|
||||
echo " - More <name> options using ishare2 search all"
|
||||
}
|
||||
|
||||
function msg_incorrect_argument_or_no_arg_for_ishare2_pull() {
|
||||
echo -e "Syntax:\nishare2 pull <type> <number>\n"
|
||||
echo "type: bin, qemu or dynamips"
|
||||
echo -e "number: ishare2 search <type>\n"
|
||||
echo "Example: ishare2 pull qemu 4"
|
||||
echo "Example: ishare2 pull dynamips 5"
|
||||
echo -e "Example: ishare2 pull bin 6"
|
||||
}
|
||||
|
||||
function tgz_files_function() {
|
||||
@@ -1917,186 +1918,153 @@ function filter_qemu() {
|
||||
rm "$(pwd)"/new.csv > /dev/null 2>&1
|
||||
}
|
||||
|
||||
# Main code
|
||||
|
||||
if [[ "$1" = "search" ]]; then # ishare2 search
|
||||
if [[ "$2" = "all" ]]; then # ishare2 search all
|
||||
ishare2 search qemu
|
||||
ishare2 search dynamips
|
||||
ishare2 search bin
|
||||
echo " "
|
||||
elif [[ "$2" = "qemu" ]]; then # ishare2 search qemu
|
||||
FILENAME=QEMU_URL.csv
|
||||
general_available_list QEMU "$FILENAME" "$QEMU_URL"
|
||||
rm "$(pwd)"/$FILENAME > /dev/null 2>&1
|
||||
elif [[ "$2" = "dynamips" ]]; then # ishare2 search dynamips
|
||||
FILENAME=DYNAMIPS_URL.csv
|
||||
general_available_list DYNAMIPS "$FILENAME" "$DYNAMIPS_URL"
|
||||
rm "$(pwd)"/$FILENAME > /dev/null 2>&1
|
||||
elif [[ "$2" = "bin" ]]; then # ishare2 search bin
|
||||
FILENAME=BIN_URL.csv
|
||||
general_available_list BIN "$FILENAME" "$BIN_URL"
|
||||
rm "$(pwd)"/$FILENAME > /dev/null 2>&1
|
||||
else # 1) ishare2 search 2) ishare2 search <number> 3) ishare2 search <string>
|
||||
if [[ $2 ]]; then
|
||||
filter_bin "$2"
|
||||
filter_dynamips "$2"
|
||||
filter_qemu "$2"
|
||||
else
|
||||
echo -e "Available options\n"
|
||||
echo "- ishare2 search all"
|
||||
echo "- ishare2 search qemu"
|
||||
echo "- ishare2 search dynamips"
|
||||
echo "- ishare2 search bin"
|
||||
echo "- ishare2 search <name>"
|
||||
echo " - ishare2 search vios"
|
||||
echo " - ishare2 search win-"
|
||||
echo " - ishare2 search winserver"
|
||||
echo " - ishare2 search kali"
|
||||
echo " - ishare2 search mikro"
|
||||
echo " - ishare2 search forti"
|
||||
echo " - ishare2 search nxos"
|
||||
echo " - ishare2 search vmx"
|
||||
echo " - ishare2 search esxi"
|
||||
echo " - More <name> options using ishare2 search all"
|
||||
fi
|
||||
fi
|
||||
elif [[ "$1" = "pull" ]]; then # ishare2 pull
|
||||
if [[ "$2" ]]; then # check if exists an arg to ishare2 pull x
|
||||
if [[ "$2" = "qemu" ]]; then # ishare2 pull qemu
|
||||
if [[ "$3" ]]; then # check if exists an arg to ishare2 pull qemu
|
||||
pull_qemu "$3"
|
||||
function selector() {
|
||||
if [[ "$1" = "search" ]]; then # ishare2 search
|
||||
if [[ "$2" = "all" ]]; then # ishare2 search all
|
||||
ishare2 search qemu
|
||||
ishare2 search dynamips
|
||||
ishare2 search bin
|
||||
echo " "
|
||||
elif [[ "$2" = "qemu" ]]; then # ishare2 search qemu
|
||||
FILENAME=QEMU_URL.csv
|
||||
general_available_list QEMU "$FILENAME" "$QEMU_URL"
|
||||
rm "$(pwd)"/$FILENAME > /dev/null 2>&1
|
||||
elif [[ "$2" = "dynamips" ]]; then # ishare2 search dynamips
|
||||
FILENAME=DYNAMIPS_URL.csv
|
||||
general_available_list DYNAMIPS "$FILENAME" "$DYNAMIPS_URL"
|
||||
rm "$(pwd)"/$FILENAME > /dev/null 2>&1
|
||||
elif [[ "$2" = "bin" ]]; then # ishare2 search bin
|
||||
FILENAME=BIN_URL.csv
|
||||
general_available_list BIN "$FILENAME" "$BIN_URL"
|
||||
rm "$(pwd)"/$FILENAME > /dev/null 2>&1
|
||||
else # 1) ishare2 search 2) ishare2 search <number> 3) ishare2 search <string>
|
||||
if [[ $2 ]]; then
|
||||
filter_bin "$2"
|
||||
filter_dynamips "$2"
|
||||
filter_qemu "$2"
|
||||
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}"
|
||||
msg_available_options_for_ishare2_search
|
||||
fi
|
||||
elif [[ "$2" = "dynamips" ]]; then # ishare2 pull dynamips
|
||||
if [[ "$3" ]]; then
|
||||
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
|
||||
elif [[ "$2" = "bin" ]]; then # ishare2 pull bin
|
||||
if [[ "$3" ]]; then
|
||||
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
|
||||
else # ishare2 pull gets an incorrect argument for type (nor dynamips nor bin nor qemu)
|
||||
echo -e "Syntax:\nishare2 pull <type> <number>\n"
|
||||
echo "type: bin, qemu or dynamips"
|
||||
echo -e "number: ishare2 search <type>\n"
|
||||
echo "Example: ishare2 pull qemu 4"
|
||||
echo "Example: ishare2 pull dynamips 5"
|
||||
echo -e "Example: ishare2 pull bin 6"
|
||||
fi
|
||||
else # when there is not an arg to ishare2 pull
|
||||
echo -e "Syntax:\nishare2 pull <type> <number>\n"
|
||||
echo "type: bin, qemu or dynamips"
|
||||
echo -e "number: ishare2 search <type>\n"
|
||||
echo "Example: ishare2 pull qemu 4"
|
||||
echo "Example: ishare2 pull dynamips 5"
|
||||
echo -e "Example: ishare2 pull bin 6"
|
||||
fi
|
||||
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}"
|
||||
ishare2 installed dynamips
|
||||
echo -e "${GREEN}----- BIN -----${NO_COLOR}"
|
||||
ishare2 installed bin
|
||||
echo -e "${GREEN}----- DOCKER -----${NO_COLOR}"
|
||||
ishare2 installed docker
|
||||
elif [[ "$2" = "qemu" ]]; then
|
||||
echo -e
|
||||
ls -lh -R /opt/unetlab/addons/qemu/
|
||||
echo -e
|
||||
elif [[ "$2" = "dynamips" ]]; then
|
||||
echo -e
|
||||
ls -lh -R /opt/unetlab/addons/dynamips/
|
||||
echo -e
|
||||
elif [[ "$2" = "bin" ]]; then
|
||||
echo -e
|
||||
ls -lh -R /opt/unetlab/addons/iol/bin
|
||||
echo -e
|
||||
elif [[ "$2" = "docker" ]]; then
|
||||
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
|
||||
elif [[ "$1" = "labs" ]]; then # ishare2 labs
|
||||
if [[ "$2" ]]; then # ishare2 labs x (x could be "all" or a number)
|
||||
if [[ "$2" = "all" ]]; then # ishare2 labs all
|
||||
install_lab_images_just_for_only_readable_labs_ALL
|
||||
exit 0
|
||||
else # ishare2 labs <number>
|
||||
install_lab_images_just_for_only_readable_labs "$2"
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
get_lab_list_just_for_only_readable_labs
|
||||
elif [[ $1 == "mylabs" ]]; then # ishare2 mylabs
|
||||
if [[ "$2" ]]; then
|
||||
if [[ "$3" ]]; then
|
||||
if [[ "$3" == "all" ]]; then # ishare2 mylabs <path> all
|
||||
mylabs_install_lab_images_just_for_only_readable_labs_ALL $2 all
|
||||
else
|
||||
if ! [[ -z "${3##*[!0-9]*}" ]]; then # ishare2 mylabs <path> <number>
|
||||
mylabs_install_lab_images_just_for_only_readable_labs $2 $3
|
||||
elif [[ "$1" = "pull" ]]; then # ishare2 pull
|
||||
if [[ "$2" ]]; then # check if exists an arg to ishare2 pull x
|
||||
if [[ "$2" = "qemu" ]]; then # ishare2 pull qemu
|
||||
if [[ "$3" ]]; then # check if exists an arg to ishare2 pull qemu
|
||||
pull_qemu "$3"
|
||||
else
|
||||
STR="The last parameter must be a number"
|
||||
RED='\033[31m'
|
||||
YELLOW='\033[1;33m'
|
||||
NO_COLOR='\033[0m'
|
||||
STR="Last parameter not detected"
|
||||
echo -e "${RED}$STR${NO_COLOR}"
|
||||
echo -e "ishare2 mylabs <path> ${YELLOW}<number>${NO_COLOR}"
|
||||
echo -e "Syntax: ishare2 pull qemu ${YELLOW}<number>${NO_COLOR}"
|
||||
fi
|
||||
elif [[ "$2" = "dynamips" ]]; then # ishare2 pull dynamips
|
||||
if [[ "$3" ]]; then
|
||||
pull_dynamips "$3"
|
||||
else
|
||||
STR="Last parameter not detected"
|
||||
echo -e "${RED}$STR${NO_COLOR}"
|
||||
echo -e "Syntax: ishare2 pull dynamips ${YELLOW}<number>${NO_COLOR}"
|
||||
fi
|
||||
elif [[ "$2" = "bin" ]]; then # ishare2 pull bin
|
||||
if [[ "$3" ]]; then
|
||||
pull_bin "$3"
|
||||
else
|
||||
STR="Last parameter not detected"
|
||||
echo -e "${RED}$STR${NO_COLOR}"
|
||||
echo -e "Syntax: ishare2 pull bin ${YELLOW}<number>${NO_COLOR}"
|
||||
fi
|
||||
else # ishare2 pull gets an incorrect argument for type (nor dynamips nor bin nor qemu)
|
||||
msg_incorrect_argument_or_no_arg_for_ishare2_pull
|
||||
fi
|
||||
else # ishare2 mylabs <path>
|
||||
mylabs_get_lab_list_just_for_only_readable_labs $2
|
||||
else # when there is not an arg to ishare2 pull
|
||||
msg_incorrect_argument_or_no_arg_for_ishare2_pull
|
||||
fi
|
||||
else
|
||||
echo -e "Syntax:\n\nishare2 mylabs <path>"
|
||||
echo "ishare2 mylabs <path> <number>"
|
||||
echo -e "ishare2 mylabs <path> all"
|
||||
elif [[ "$1" = "installed" ]]; then # ishare2 installed
|
||||
if [[ "$2" ]]; then
|
||||
if [[ "$2" = "all" ]]; then
|
||||
echo -e "${GREEN}----- QEMU -----${NO_COLOR}"
|
||||
ishare2 installed qemu
|
||||
echo -e "${GREEN}----- DYNAMIPS -----${NO_COLOR}"
|
||||
ishare2 installed dynamips
|
||||
echo -e "${GREEN}----- BIN -----${NO_COLOR}"
|
||||
ishare2 installed bin
|
||||
echo -e "${GREEN}----- DOCKER -----${NO_COLOR}"
|
||||
ishare2 installed docker
|
||||
elif [[ "$2" = "qemu" ]]; then
|
||||
echo -e
|
||||
ls -lh -R /opt/unetlab/addons/qemu/
|
||||
echo -e
|
||||
elif [[ "$2" = "dynamips" ]]; then
|
||||
echo -e
|
||||
ls -lh -R /opt/unetlab/addons/dynamips/
|
||||
echo -e
|
||||
elif [[ "$2" = "bin" ]]; then
|
||||
echo -e
|
||||
ls -lh -R /opt/unetlab/addons/iol/bin/
|
||||
echo -e
|
||||
elif [[ "$2" = "docker" ]]; then
|
||||
list_dockers
|
||||
count_dockers
|
||||
else
|
||||
echo -e "Syntax:\n\nishare2 installed <type>"
|
||||
echo -e "${YELLOW}type: all, bin, qemu, dynamips or docker${NO_COLOR}"
|
||||
fi
|
||||
else
|
||||
echo -e "Syntax:\n\nishare2 installed ${YELLOW}<type>${NO_COLOR}"
|
||||
echo -e "type: all, bin, qemu, dynamips or docker"
|
||||
fi
|
||||
elif [[ "$1" = "labs" ]]; then # ishare2 labs
|
||||
if [[ "$2" ]]; then # ishare2 labs x (x could be "all" or a number)
|
||||
if [[ "$2" = "all" ]]; then # ishare2 labs all
|
||||
install_lab_images_just_for_only_readable_labs_ALL
|
||||
exit 0
|
||||
else # ishare2 labs <number>
|
||||
install_lab_images_just_for_only_readable_labs "$2"
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
get_lab_list_just_for_only_readable_labs
|
||||
elif [[ $1 == "mylabs" ]]; then # ishare2 mylabs
|
||||
if [[ "$2" ]]; then
|
||||
if [[ "$3" ]]; then
|
||||
if [[ "$3" == "all" ]]; then # ishare2 mylabs <path> all
|
||||
mylabs_install_lab_images_just_for_only_readable_labs_ALL $2 all
|
||||
else
|
||||
if ! [[ -z "${3##*[!0-9]*}" ]]; then # ishare2 mylabs <path> <number>
|
||||
mylabs_install_lab_images_just_for_only_readable_labs $2 $3
|
||||
else
|
||||
STR="The last parameter must be a number"
|
||||
echo -e "${RED}$STR${NO_COLOR}"
|
||||
echo -e "ishare2 mylabs <path> ${YELLOW}<number>${NO_COLOR}"
|
||||
fi
|
||||
fi
|
||||
else # ishare2 mylabs <path>
|
||||
mylabs_get_lab_list_just_for_only_readable_labs $2
|
||||
fi
|
||||
else
|
||||
echo -e "Syntax:\n\nishare2 mylabs <path>"
|
||||
echo "ishare2 mylabs <path> <number>"
|
||||
echo -e "ishare2 mylabs <path> all"
|
||||
fi
|
||||
elif [[ "$1" = "relicense" ]]; then # ishare2 relicense
|
||||
generate_a_new_license
|
||||
elif [[ "$1" = "upgrade" ]]; then # ishare2 upgrade
|
||||
upgrade_ishare2
|
||||
elif [[ "$1" = "changelog" ]]; then # ishare2 changelog
|
||||
show_changelog
|
||||
elif [[ "$1" = "help" ]]; then # ishare2 help
|
||||
show_help_info
|
||||
else # when no args are passed to ishare2
|
||||
show_ishare2_usage
|
||||
fi
|
||||
elif [[ "$1" = "relicense" ]]; then # ishare2 relicense
|
||||
generate_a_new_license
|
||||
elif [[ "$1" = "upgrade" ]]; then # ishare2 upgrade
|
||||
upgrade_ishare2
|
||||
elif [[ "$1" = "changelog" ]]; then # ishare2 changelog
|
||||
show_changelog
|
||||
elif [[ "$1" = "help" ]]; then # ishare2 help
|
||||
show_help_info
|
||||
else # when no args are passed to ishare2
|
||||
show_ishare2_usage
|
||||
fi
|
||||
}
|
||||
|
||||
function main(){
|
||||
set_color_variables
|
||||
check_user_is_root
|
||||
get_initial_information
|
||||
set_yml_template_folder_location
|
||||
check_ishare2_version_file_exists
|
||||
selector $1 $2 $3
|
||||
}
|
||||
|
||||
main $@
|
||||
|
||||
41
templates/android/android.yml
Normal file
41
templates/android/android.yml
Normal file
@@ -0,0 +1,41 @@
|
||||
# Copyright (c) 2016, Andrea Dainese
|
||||
# Copyright (c) 2018, Alain Degreffe
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# * Neither the name of the UNetLab Ltd nor the name of EVE-NG Ltd nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
|
||||
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
---
|
||||
type: qemu
|
||||
description: Android VM
|
||||
name: Tablet
|
||||
cpulimit: 1
|
||||
icon: Tablet.png
|
||||
cpu: 2
|
||||
ram: 4096
|
||||
ethernet: 1
|
||||
console: vnc
|
||||
shutdown: 1
|
||||
qemu_arch: x86_64
|
||||
qemu_version: 2.4.0
|
||||
qemu_nic: e1000
|
||||
qemu_options: -machine type=pc,accel=kvm -vga std -usbdevice tablet -boot order=cd
|
||||
...
|
||||
Reference in New Issue
Block a user