-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgaia_node.sh
281 lines (266 loc) · 11 KB
/
gaia_node.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
#!/bin/bash
tput reset
tput civis
show_orange() {
echo -e "\e[33m$1\e[0m"
}
show_orange " _______ ___ __ ___ " && sleep 0.2
show_orange " / _____| / \ | | / \ " && sleep 0.2
show_orange " | | __ / ^ \ | | / ^ \ " && sleep 0.2
show_orange " | | |_ | / /_\ \ | | / /_\ \ " && sleep 0.2
show_orange " | |__| | / _____ \ | | / _____ \ " && sleep 0.2
show_orange " \______| /__/ \__\ |__| /__/ \__\ " && sleep 0.2
echo ""
sleep 1
while true; do
echo "1. Подготовка к установке GaiaNet (Preparation)"
echo "2. Установка GaiaNet (Install)"
echo "3. О нодe (About Node)"
echo "4. Обновить (Start or update node)"
echo "5. Перезапуск ноды (Restart node)"
echo "6. Удалить ноду (Delete node)"
echo -e "\e[33m-----------------------------------------------\e[0m"
echo "7. Установить бота (Install Bot)"
echo "8. Запустить бота (Start bot)"
echo "9. Остановить бота (Stop bot)"
echo "10. Удалить бота (Delete bot)"
echo "11. Выход (Exit)"
echo ""
read -p "Выберите опцию (Select option): " option
case $option in
1)
echo -e "\e[33mНачинаем подготовку (Starting preparation)...\e[0m"
sleep 1
# Update and install packages
cd $HOME
echo -e "\e[33mОбновляем и устанавливаем пакеты (Updating and installing packages)...\e[0m"
if sudo apt update && sudo apt upgrade -y && sudo apt install -y curl sed git jq lz4 build-essential screen nano unzip python3-pip; then
sleep 1
echo -e "Обновление пакетов (Updating packages): \e[32mУспешно (Success)\e[0m"
echo ""
else
echo -e "Обновление пакетов (Updating packages): \e[31mОшибка (Error)\e[0m"
echo ""
exit 1
fi
# install python lib
echo -e "\e[33mУстанавливаем библиотеки (Installing libraries)...\e[0m"
if pip install requests && pip install faker; then
sleep 1
echo -e "Установка библиотек (Libraries installation): \e[32mУспешно (Success)\e[0m"
echo ""
else
echo -e "Установка библиотек (Libraries installation): \e[31mОшибка (Error)\e[0m"
echo ""
exit 1
fi
rm -r $HOME/.bashrc
echo -e "\e[33m--- ПОДГОТОВКА ЗАВЕРШЕНА. PREPARATION COMPLETED ---\e[0m"
echo ""
;;
2)
# install node
echo -e "\e[33mНачинаем установку (Starting installation)...\e[0m"
echo ""
sleep 2
if cd $HOME && curl -sSfL 'https://github.com/GaiaNet-AI/gaianet-node/releases/latest/download/install.sh' | bash; then
sleep 1
echo -e "Установка GaiaNet (Installation GaiaNet): \e[32mУспешно (Success)\e[0m"
echo ""
else
echo -e "Установка GaiaNet (Installation GaiaNet): \e[31mОшибка (Error)\e[0m"
echo ""
exit 1
fi
echo -e "\e[33mИнициализируем GaiaNet (Init GaiaNet)...\e[0m"
echo ""
source $HOME/.bashrc
if gaianet init --config https://raw.githubusercontent.com/GaiaNet-AI/node-configs/main/qwen2-0.5b-instruct/config.json; then
sleep 1
echo -e "Инициализация GaiaNet (Init GaiaNet): \e[32mУспешно (Success)\e[0m"
echo ""
else
echo -e "Инициализация GaiaNet (Init GaiaNet): \e[31mОшибка (Error)\e[0m"
echo ""
fi
echo -e "\e[33mЗапускаем GaiaNet (Starting GaiaNet)...\e[0m"
echo ""
sleep 2
if gaianet start; then
sleep 1
echo ""
echo -e "\e[32mНОДА ЗАПУЩЕНА И РАБОТАЕТ (NODE STARTED AND RUNNING)!!!!\e[0m"
echo ""
else
echo ""
echo -e "\e[31mНЕ УДАЛОСЬ ЗАПУСТИТЬ НОДУ (FAILED TO START THE NODE)!!!!\e[0m"
echo ""
fi
;;
3)
# node info
cd $HOME && gaianet info
;;
4)
# update node
echo -e "\e[33mОбновляем ноду (Updating node)...\e[0m"
echo ""
sleep 2
cd $HOME
source $HOME/.bashrc
if gaianet stop; then
sleep 1
echo ""
echo -e "Нода остановлена (Node stopped): \e[32mУспешно (Success)\e[0m"
echo ""
else
echo ""
echo -e "Нода остановлена (Node stopped): \e[31mОшибка (Error)\e[0m"
echo ""
fi
if curl -sSfL 'https://github.com/GaiaNet-AI/gaianet-node/releases/latest/download/install.sh' | bash -s -- --upgrade; then
sleep 1
echo ""
echo -e "Обновление GaiaNet (GaiaNet Update): \e[32mУспешно (Success)\e[0m"
echo ""
else
echo ""
echo -e "Обновление GaiaNet (GaiaNet Update): \e[31mОшибка (Error)\e[0m"
echo ""
fi
if gaianet start; then
sleep 1
echo ""
echo -e "\e[32mНОДА ЗАПУЩЕНА И РАБОТАЕТ (NODE STARTING AND RUNNING)!!!!\e[0m"
echo ""
else
echo ""
echo -e "\e[31mНЕ УДАЛОСЬ ЗАПУСТИТЬ НОДУ (FAILED TO START THE NODE)!!!!\e[0m"
echo ""
fi
;;
5)
# restart node
cd $HOME
if gaianet stop && gaianet start; then
sleep 1
echo ""
echo -e "\e[32mНОДА ЗАПУЩЕНА И РАБОТАЕТ (NODE STARTING AND RUNNING)!!!!\e[0m"
echo ""
else
echo ""
echo -e "\e[31mНЕ УДАЛОСЬ ПЕРЕЗАПУСТИТЬ НОДУ (FAILED TO RESTART THE NODE)!!!!\e[0m"
echo ""
fi
;;
6)
# Delete node
source $HOME/.bashrc
if cd $HOME && curl -sSfL 'https://github.com/GaiaNet-AI/gaianet-node/releases/latest/download/uninstall.sh' | bash && rm -rvf .bash_profile .bash_profile.gaianet_backup .bashrc .bashrc.gaianet_backup .wasmedge
then
echo ""
echo -e "\e[33m--- НОДА УДАЛЕНА. NODE DELETED ---\e[0m"
echo ""
else
echo ""
echo -e "\e[31mНЕ УДАЛОСЬ УДАЛИТЬ НОДУ (FAILED TO DELETE THE NODE)!!!!\e[0m"
echo ""
fi
;;
7)
# bot installation
echo -e "\e[33mНачинаем установку Бота (Starting BOT installation)...\e[0m"
echo ""
sleep 2
cd $HOME
read -p "Введите (Enter) NODE ID: " NODE_ID
echo -e "\e[33mСкачиваем бота (Downloading Bot)...\e[0m"
echo ""
sleep 1
if curl -O https://raw.githubusercontent.com/Alexjptz/Gaia-node/main/random_chat_with_faker.py && chmod +x random_chat_with_faker.py; then
sleep 1
echo -e "Бот скачан (BOT DOWNLOADED): \e[32mУспешно (Success)\e[0m"
echo ""
else
echo -e "Бот скачан (BOT DOWNLOADED): \e[31mОшибка (Error)\e[0m"
echo ""
fi
echo -e "\e[33mНастраиваем бота (Fixing Bot)...\e[0m"
echo ""
sleep 1
if sed -i "s|SUBDOMAIN|https://$NODE_ID.us.gaianet.network/v1/chat/completions|g" random_chat_with_faker.py; then
sleep 1
echo ""
echo -e "\e[32mБОТ НАСТРОЕН И ГОТОВ (BOT FIXED AND READY)!!!!\e[0m"
echo ""
else
echo ""
echo -e "\e[31mНЕ УДАЛОСЬ НАСТРОИТЬ БОТА (FAILED TO FIX THE BOT)!!!!\e[0m"
echo ""
fi
;;
8)
# start bot
if screen -dmS faker_session python3 ~/random_chat_with_faker.py; then
sleep 1
echo ""
echo -e "\e[32mБОТ ЗАПУЩЕН И РАБОТАЕТ (BOT STARTED AND RUNNING)!!!!\e[0m"
echo ""
else
echo ""
echo -e "\e[31mНЕ УДАЛОСЬ ЗАПУСТИТЬ БОТА (FAILED TO START BOT)!!!!\e[0m"
echo ""
fi
;;
9)
# stop bot
if screen -X -S faker_session quit; then
sleep 1
echo ""
echo -e "\e[31mБОТ ОСТАНОВЛЕН (BOT STOPPED)!\e[0m"
echo ""
else
echo ""
echo -e "\e[34mСЕССИЯ БОТА НЕ НАЙДЕНА (BOT SESSION DOESN'T EXIST)!!!!\e[0m"
echo ""
fi
;;
10)
# delete bot
if screen -X -S faker_session quit; then
sleep 1
echo ""
echo -e "\e[32mБОТ ОСТАНОВЛЕН (BOT STOPPED)!\e[0m"
echo ""
else
echo ""
echo -e "\e[34mСЕССИЯ БОТА НЕ НАЙДЕНА (DIDN'T FIND BOT SESSION)!!!!\e[0m"
echo ""
fi
if rm -rvf $HOME/random_chat_with_faker.py; then
sleep 1
echo ""
echo -e "\e[32mБОТ УДАЛЕН (BOT DELETED)!\e[0m"
echo ""
else
echo ""
echo -e "\e[34mБОТ НЕ НАЙДЕН (DIDN'T FIND THE BOT)!!!!\e[0m"
echo ""
fi
;;
11)
# Stop script and exit
echo -e "\e[31mСкрипт остановлен (Script stopped)\e[0m"
echo ""
exit 0
;;
*)
# incorrect options handling
echo ""
echo -e "\e[31mНеверная опция\e[0m. Пожалуйста, выберите из тех, что есть."
echo ""
echo -e "\e[31mInvalid option.\e[0m Please choose from the available options."
echo ""
;;
esac
done