Compare commits
39 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2f075738f5 | ||
|
|
2ea04b8520 | ||
|
|
5f89aa8e98 | ||
|
|
f527804548 | ||
|
|
4d453b958b | ||
|
|
dc42dca627 | ||
|
|
9d3112d907 | ||
|
|
81fc09f9c0 | ||
|
|
be88d3dc6a | ||
|
|
25dccb6c7a | ||
|
|
477d189d16 | ||
|
|
c0fe8e1b39 | ||
|
|
4ad1eb7733 | ||
|
|
9a14a3efd5 | ||
|
|
d3d21399c4 | ||
|
|
0396c727c7 | ||
|
|
b1b9cd6d6c | ||
|
|
44249c8dcb | ||
|
|
02cd1850ef | ||
|
|
2c93a65305 | ||
|
|
1d646a869e | ||
|
|
92fdd48606 | ||
|
|
de20e51ba7 | ||
|
|
e8b228d96f | ||
|
|
4e229014ec | ||
|
|
4774983c71 | ||
|
|
89b4e4ac5b | ||
|
|
4d6c9b7747 | ||
|
|
2e5524185a | ||
|
|
2547632270 | ||
|
|
5cb08a7528 | ||
|
|
ce9b2d6950 | ||
|
|
807daa0d37 | ||
|
|
827a32b88a | ||
|
|
e74938937e | ||
|
|
16c4ae8493 | ||
|
|
7773828920 | ||
|
|
e99109bd74 | ||
|
|
eb101eb7ff |
14
CHANGELOG.md
14
CHANGELOG.md
@@ -1,6 +1,18 @@
|
||||
# Changelog
|
||||
# Changelog for ishare2
|
||||
All notable changes to this project will be documented in this file. You can upgrade ishare2 to the latest version using `ishare2 upgrade` and then selecting `option 1`
|
||||
|
||||
## [v1.6.2] - 2023-Jan-31
|
||||
1) Added: A new option was added to `ishare2 upgrade` > `option 2`: Now, it is possible to upgrade PNETLab from almost any version to v5.3.4 (Not possible for this case: 6.x to 5.3.4)
|
||||
|
||||
## [v1.6.1] - 2023-Jan-30
|
||||
1) Added: Some instructions were added to `ishare2_gui_download()` function in order to avoid some errors related to missing packages (pip install uvicorn, pip install fastapi and pip install jinja2 instructions were added)
|
||||
|
||||
## [v1.6.0] - 2023-Jan-30
|
||||
1) Added: Command `ishare2 gui stop` was added into `ishare2_gui_download()` function in order to avoid errors when downloading/upgrading ishare2 GUI
|
||||
|
||||
## [v1.5.9] - 2023-Jan-30
|
||||
1) Added: A new version control was added for ishare2 GUI. It can be seen using the `ishare2` command and looking at the bottom of it. New functions and variables were implemented. Also, using `ishare2 upgrade` > `option 3` it is possible to upgrade it.
|
||||
|
||||
## [v1.5.8] - 2023-Jan-29
|
||||
|
||||
1) Added: A new option was added to `ishare2 upgrade` > `option 2`: Now, it is possible to upgrade PNETLab from almost any version to v5.3.2 (Not possible for this case: 6.x to 5.3.2)
|
||||
|
||||
25
HELP.md
25
HELP.md
@@ -1,14 +1,25 @@
|
||||
# Useful information
|
||||
|
||||
1) For problems, use our Telegram Channel describing your problem and sending a screenshot and/or a video
|
||||
## 1
|
||||
|
||||
2) For new files to be uploaded, you can also use our Telegram Channel: In this case, you can send or ask for new images to be uploaded
|
||||
For problems, use our Telegram Channel describing your problem and sending a screenshot and/or a video
|
||||
|
||||
3) Using ishare2 upgrade will display a menu that allows users to upgrade ishare2 and PNETLab.
|
||||
## 2
|
||||
|
||||
4) If CiscoIOUKeygen.py, iourc and/or keepalive.pl files in /opt/unetlab/addons/iol/bin/ are deleted, you can recover them by using ishare2 relicense. This will not affect images in there
|
||||
Also, this command when used, will generate a new license file called "iourc", needed for bin files
|
||||
For new files to be uploaded, you can also use our Telegram Channel: In this case, you can send or ask for new images to be uploaded
|
||||
|
||||
5) Don't cancel a download. In case you do it, you will have to remove incomplete files or folders manually
|
||||
## 3
|
||||
|
||||
6) The main difference between ishare2 labs and ishare2 mylabs is that, in the first case, the folder used is the one PNETLab creates when you download a lab from the store and in the second case you are able to select any folder you want in order to download labs
|
||||
Using ishare2 upgrade will display a menu that allows users to upgrade ishare2 and PNETLab
|
||||
|
||||
## 4
|
||||
|
||||
If CiscoIOUKeygen.py, iourc and/or keepalive.pl files in /opt/unetlab/addons/iol/bin/ are deleted, you can recover them by using ishare2 relicense. This will not affect images in there. Also, this command when used, will generate a new license file called "iourc", needed for bin files
|
||||
|
||||
## 5
|
||||
|
||||
Don't cancel a download. In case you do it, you will have to remove incomplete files or folders manually
|
||||
|
||||
## 6
|
||||
|
||||
The main difference between ishare2 labs and ishare2 mylabs is that, in the first case, the folder used is the one PNETLab creates when you download a lab from the store and in the second case you are able to select any folder you want in order to download labs
|
||||
|
||||
@@ -126,6 +126,7 @@ wget -O /usr/sbin/ishare2 https://raw.githubusercontent.com/pnetlabrepo/ishare2/
|
||||
- Upgrade from any to v5.2.9: [Instructions](https://github.com/pnetlabrepo/ishare2/tree/main/upgrades/from_any_to_5.2.9)
|
||||
- Upgrade from any to v5.3.0: [Instructions](https://github.com/pnetlabrepo/ishare2/tree/main/upgrades/from_any_to_5.3.0)
|
||||
- Upgrade from any to v5.3.2: [Instructions](https://github.com/pnetlabrepo/ishare2/tree/main/upgrades/from_any_to_5.3.2)
|
||||
- Upgrade from any to v5.3.4: [Instructions](https://github.com/pnetlabrepo/ishare2/tree/main/upgrades/from_any_to_5.3.4)
|
||||
|
||||
Note: You can also upgrade PNETLab using `ishare2 upgrade`, then using the `option 2` and finally selecting an option from the displayed list
|
||||
|
||||
@@ -146,9 +147,9 @@ Note: You can also upgrade PNETLab using `ishare2 upgrade`, then using the `opti
|
||||
|
||||
Check these links to get information on device credentials
|
||||
|
||||
* [Excel file #1: passwords_eve.xlsx](https://unetlab.cloud/0:/addons/passwords/)
|
||||
* [Excel file #2: Passwords - QEMU.xls](https://unetlab.cloud/1:/)
|
||||
* [PNG file: Eve-NG-Linux.png](https://unetlab.cloud/1:/qemu/Linux/Eve-NG-Linux/)
|
||||
* [Excel file #1: passwords_eve.xlsx](https://unetlab.cloud/UNETLAB%20I/addons/passwords/passwords_eve.xlsx)
|
||||
* [Excel file #2: Passwords - QEMU.xls](https://unetlab.cloud/UNETLAB%20II/Passwords%20-%20QEMU.xls)
|
||||
* [PNG file: Eve-NG-Linux.png](https://unetlab.cloud/UNETLAB%20II/qemu/Linux/Eve-NG-Linux/Eve-NG-Linux.png)
|
||||
|
||||
## ❓Need help?
|
||||
|
||||
|
||||
13
gui/CHANGELOG.md
Normal file
13
gui/CHANGELOG.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# Changelog for ishare2 GUI
|
||||
All notable changes to this project will be documented in this file. You can upgrade ishare2 GUI to the latest version using `ishare2 upgrade` and then selecting `option 3`
|
||||
|
||||
## [v1.0.2] - 2023-Jan-30
|
||||
1) Added: Now, in home.html it is possible to see pnetlab and ishare2 GUI versions (Before, only ishare2 was possible to see)
|
||||
|
||||
2) Added: Now, in home.html it is possible to check both CHANGELOG.md files (ishare2 and ishare2 GUI files)
|
||||
|
||||
## [v1.0.1] - 2023-Jan-30
|
||||
1) Added: Change made to show both CHANGELOG.md files (ishare2 and ishare2 GUI) in home.html
|
||||
|
||||
## [v1.0.0] - 2023-Jan-30
|
||||
Initial release
|
||||
BIN
gui/app.zip
BIN
gui/app.zip
Binary file not shown.
1
gui/version_gui
Normal file
1
gui/version_gui
Normal file
@@ -0,0 +1 @@
|
||||
v1.0.2
|
||||
57
ishare2
57
ishare2
@@ -26,8 +26,10 @@ function set_url_constants() {
|
||||
URL_UPGRADE_PNETLAB_FROM_any_TO_5_2_9=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_any_to_5.2.9/upgrade.sh
|
||||
URL_UPGRADE_PNETLAB_FROM_any_TO_5_3_0=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_any_to_5.3.0/upgrade.sh
|
||||
URL_UPGRADE_PNETLAB_FROM_any_TO_5_3_2=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_any_to_5.3.2/upgrade.sh
|
||||
URL_UPGRADE_PNETLAB_FROM_any_TO_5_3_4=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_any_to_5.3.4/upgrade.sh
|
||||
URL_GUI_APP_ZIP=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/gui/app.zip
|
||||
URL_REQUIREMENTS_GUI_APP=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/gui/requirements.txt
|
||||
URL_ISHARE2_GUI_VERSION=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/gui/version_gui
|
||||
}
|
||||
|
||||
function check_user_is_root() {
|
||||
@@ -937,6 +939,12 @@ function check_ishare2_version_file_exists() {
|
||||
fi
|
||||
}
|
||||
|
||||
function check_ishare2_gui_version_file_exists() {
|
||||
if ! [[ -e /usr/sbin/ishare2_gui_version ]]; then
|
||||
echo -n "$(curl -s $URL_ISHARE2_GUI_VERSION)" >> /usr/sbin/ishare2_gui_version
|
||||
fi
|
||||
}
|
||||
|
||||
function upgrade_ishare2() {
|
||||
LOCAL_VALUE=$(cat /usr/sbin/ishare2_version)
|
||||
REMOTE_VALUE=$(curl -s $URL_VERSION)
|
||||
@@ -965,6 +973,7 @@ function menu_ishare2_upgrade_pnetlab() {
|
||||
"Upgrade PNETLab: from any version to 5.2.9"
|
||||
"Upgrade PNETLab: from any version to 5.3.0"
|
||||
"Upgrade PNETLab: from any version to 5.3.2"
|
||||
"Upgrade PNETLab: from any version to 5.3.4"
|
||||
)
|
||||
|
||||
PS3="$prompt"
|
||||
@@ -1012,11 +1021,17 @@ function menu_ishare2_upgrade_pnetlab() {
|
||||
bash upgrade.sh
|
||||
break
|
||||
;;
|
||||
8)
|
||||
wget -O upgrade.sh $URL_UPGRADE_PNETLAB_FROM_any_TO_5_3_4 > /dev/null 2>&1
|
||||
chmod +x upgrade.sh
|
||||
bash upgrade.sh
|
||||
break
|
||||
;;
|
||||
$((${#options[@]}+1)))
|
||||
break
|
||||
;;
|
||||
*)
|
||||
STR="Invalid option: Select a number from 1 to 8"
|
||||
STR="Invalid option: Select a number from 1 to 9"
|
||||
echo -e "${RED}$STR${NO_COLOR}"
|
||||
continue
|
||||
;;
|
||||
@@ -1029,6 +1044,7 @@ function menu_ishare2_upgrade() {
|
||||
options=(
|
||||
"Upgrade ishare2"
|
||||
"Upgrade PNETLab"
|
||||
"Upgrade ishare2 GUI"
|
||||
)
|
||||
|
||||
PS3="$prompt"
|
||||
@@ -1042,11 +1058,15 @@ function menu_ishare2_upgrade() {
|
||||
menu_ishare2_upgrade_pnetlab
|
||||
break
|
||||
;;
|
||||
3)
|
||||
ishare2 gui download
|
||||
break
|
||||
;;
|
||||
$((${#options[@]}+1)))
|
||||
break
|
||||
;;
|
||||
*)
|
||||
STR="Invalid option: Select a number from 1 to 3"
|
||||
STR="Invalid option: Select a number from 1 to 4"
|
||||
echo -e "${RED}$STR${NO_COLOR}"
|
||||
continue
|
||||
;;
|
||||
@@ -1064,6 +1084,10 @@ function show_changelog() {
|
||||
}
|
||||
|
||||
function ishare2_gui_download() {
|
||||
echo -e "${GREEN}GUI is being downloaded and installed. Please, wait until process is done${NO_COLOR}"
|
||||
|
||||
ishare2 gui stop
|
||||
|
||||
rm -rf /root/app
|
||||
|
||||
wget -q $URL_GUI_APP_ZIP -P /root
|
||||
@@ -1076,9 +1100,23 @@ function ishare2_gui_download() {
|
||||
|
||||
wget -q $URL_REQUIREMENTS_GUI_APP -P /root
|
||||
pip install -r /root/requirements.txt > /dev/null 2>&1
|
||||
|
||||
pip install uvicorn > /dev/null 2>&1
|
||||
pip install fastapi > /dev/null 2>&1
|
||||
pip install jinja2 > /dev/null 2>&1
|
||||
|
||||
rm /root/requirements.txt
|
||||
|
||||
echo -e "${GREEN}GUI has been downloaded and installed. Now, you can start it by using: ishare2 gui start${NO_COLOR}"
|
||||
|
||||
LOCAL_VALUE=$(cat /usr/sbin/ishare2_gui_version)
|
||||
REMOTE_VALUE=$(curl -s $URL_ISHARE2_GUI_VERSION)
|
||||
|
||||
if ! [[ $LOCAL_VALUE == "$REMOTE_VALUE" ]]; then
|
||||
echo "ishare2 GUI was upgraded from $LOCAL_VALUE to $REMOTE_VALUE"
|
||||
rm /usr/sbin/ishare2_gui_version
|
||||
echo "$REMOTE_VALUE" >> /usr/sbin/ishare2_gui_version
|
||||
fi
|
||||
}
|
||||
|
||||
function ishare2_gui_start() {
|
||||
@@ -1414,6 +1452,19 @@ function show_ishare2_usage() {
|
||||
pnetlab_info=($data)
|
||||
PNETLAB_VERSION_USAGE=${pnetlab_info[1]}
|
||||
|
||||
# For ishare2 GUI
|
||||
ISHARE2_GUI_VERSION_USAGE=$(cat /usr/sbin/ishare2_gui_version)
|
||||
|
||||
STR=""
|
||||
LOCAL_VALUE=$ISHARE2_GUI_VERSION_USAGE
|
||||
REMOTE_VALUE=$(curl -s $URL_ISHARE2_GUI_VERSION)
|
||||
|
||||
if ! [[ $LOCAL_VALUE == "$REMOTE_VALUE" ]]; then
|
||||
STR="New ishare2 GUI version available: $REMOTE_VALUE"
|
||||
fi
|
||||
|
||||
NEW_VERSION_RESULT_FOR_ISHARE2_GUI=$(echo -e ${YELLOW} $STR ${NO_COLOR})
|
||||
|
||||
# Message displayed when using ishare2 command
|
||||
echo "
|
||||
Syntax
|
||||
@@ -1494,6 +1545,7 @@ Examples:
|
||||
|
||||
ishare2: $ISHARE2_VERSION_USAGE$NEW_VERSION_RESULT
|
||||
pnetlab: v$PNETLAB_VERSION_USAGE
|
||||
ishare2 GUI: $ISHARE2_GUI_VERSION_USAGE$NEW_VERSION_RESULT_FOR_ISHARE2_GUI
|
||||
"
|
||||
}
|
||||
|
||||
@@ -2263,6 +2315,7 @@ function main(){
|
||||
get_initial_information
|
||||
set_yml_template_folder_location
|
||||
check_ishare2_version_file_exists
|
||||
check_ishare2_gui_version_file_exists
|
||||
selector $1 $2 $3
|
||||
}
|
||||
|
||||
|
||||
27
upgrades/from_any_to_5.3.4/README.md
Normal file
27
upgrades/from_any_to_5.3.4/README.md
Normal file
@@ -0,0 +1,27 @@
|
||||
```linux
|
||||
This script allows to upgrade PNETLab from almost any version to v5.3.4
|
||||
It cannot be used when version is 6.x
|
||||
|
||||
File 5.3.4.zip will be downloaded from unetlab.cloud
|
||||
```
|
||||
## upgrade.sh
|
||||
|
||||
`This script cannot be used in cases where PNETLab version is 6.x: An error message will be displayed and the script execution will be finished`
|
||||
|
||||
`Also, this script detects if you already have PNETLab v5.3.4 in your system and avoids to upgrade twice`
|
||||
|
||||
### Upgrade
|
||||
Apply this command using the terminal
|
||||
```linux
|
||||
wget -O upgrade.sh https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_any_to_5.3.4/upgrade.sh > /dev/null 2>&1 && chmod +x upgrade.sh && bash upgrade.sh
|
||||
```
|
||||
|
||||
After a few seconds, the upgrade will be done.
|
||||
|
||||
Note: This upgrade does not use ishare2:
|
||||
|
||||
When you execute the command from above, the steps are as follows:
|
||||
|
||||
1) A file called [upgrade.sh](https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_any_to_5.3.4/upgrade.sh) will be downloaded from this repository
|
||||
2) Execution permissions will be made to this file
|
||||
3) This script will be executed in order to make the upgrade
|
||||
50
upgrades/from_any_to_5.3.4/upgrade.sh
Normal file
50
upgrades/from_any_to_5.3.4/upgrade.sh
Normal file
@@ -0,0 +1,50 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Script designed to upgrade PNETLab from almost any version to NEW_PNETLAB_VERSION version
|
||||
# Requirement: Not having PNETLab 6.x installed for being able to upgrade to NEW_PNETLAB_VERSION
|
||||
# This script avoids to make this upgrade process twice
|
||||
|
||||
# CONSTANTS
|
||||
NEW_PNETLAB_VERSION=5.3.4
|
||||
GREEN='\033[32m'
|
||||
NO_COLOR='\033[0m'
|
||||
URL_ZIP_FILE=https://unetlab.cloud/api/raw/?path=/UNETLAB%20I/upgrades_pnetlab/from_any_to_$NEW_PNETLAB_VERSION/$NEW_PNETLAB_VERSION.zip
|
||||
|
||||
# Getting PNETLab version from db
|
||||
data=$(mysql -uroot -ppnetlab -D pnetlab_db -e "SELECT control_value FROM control WHERE control_value>1;" 2>/dev/null)
|
||||
pnetlab_info=($data)
|
||||
pnetlab_version=${pnetlab_info[1]}
|
||||
|
||||
if [[ $pnetlab_version == $NEW_PNETLAB_VERSION ]]; then
|
||||
echo "PNETLab already upgraded to v$NEW_PNETLAB_VERSION. You can´t upgrade twice"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [[ $pnetlab_version == *6.* ]]; then
|
||||
echo "It is not possible to upgrade to $NEW_PNETLAB_VERSION having version 6.x"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo -e "${GREEN}Downloading $NEW_PNETLAB_VERSION zip file...${NO_COLOR}"
|
||||
wget --content-disposition -q --show-progress -O /root/$NEW_PNETLAB_VERSION.zip $URL_ZIP_FILE
|
||||
echo -e "${GREEN}$NEW_PNETLAB_VERSION zip file has been downloaded successfully${NO_COLOR}"
|
||||
|
||||
cd /root && rm -rf upgrade
|
||||
|
||||
echo -e "${GREEN}Unzipping zip file...${NO_COLOR}"
|
||||
unzip $NEW_PNETLAB_VERSION.zip -d ./upgrade > /dev/null 2>&1
|
||||
echo -e "${GREEN}Zip file has been unzipped successfully...${NO_COLOR}"
|
||||
|
||||
chmod 755 -R upgrade
|
||||
find upgrade -type f -print0 | xargs -0 dos2unix > /dev/null 2>&1
|
||||
|
||||
echo -e "${GREEN}Upgrading to v$NEW_PNETLAB_VERSION...${NO_COLOR}"
|
||||
./upgrade/upgrade
|
||||
echo -e "${GREEN}Upgrade to v$NEW_PNETLAB_VERSION has been done successfully${NO_COLOR}"
|
||||
|
||||
rm -rf upgrade
|
||||
#rm $NEW_PNETLAB_VERSION.zip
|
||||
|
||||
echo -e "${GREEN}PNETLab VM will be rebooted right now...${NO_COLOR}"
|
||||
echo -e "${GREEN}Try to connect again in about a minute${NO_COLOR}"
|
||||
reboot
|
||||
Reference in New Issue
Block a user