Взять IP из файла .txt и вставить каждый в свою переменную

Здесь выкладываем скрипты
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Ответить
bRAT_Predator
Сообщения: 2
Зарегистрирован: 19 окт 2021, 15:43
Откуда: Тверь
Контактная информация:

Здраствуйте! Есть файл null_ip.txt в котором прописан 123.123.123.123:9999. Файл раз в сутки качается с FTP. Есть скрипт и он работает.

/interface sstp-client remove [find]
:set $ip [/file get "null_ip.txt" contents];
:global IP $ip
:log info $ip;
:log info "1";
:local user "user1";
/interface sstp-client
add authentication=mschap1,mschap2 connect-to=$ip disabled=no \
name=sstp-out1 password=qwerty123 profile=default-encryption user=\
$user
:log info "2";

Задача что бы скрип делал sstp-client на четыре IP. Т.е. в файле null_ip прописано вертикально 123.123.123.123:9999 222.222.222.222:9999 172.172.172.172.:9999 10.10.10.10:9999 и скрипт выше не работает конечно. Не хочется делать четыре файла txt. Не могу понять как изменить начало, я так полагаю надо наверное парсить лог.

/interface sstp-client remove [find]
:set $ip [/file get "null_ip.txt" contents];
:global IP $ip1
:global IP $ip2
:global IP $ip3
:global IP $ip4
:log info $ip;
:log info "1";
:local user "user1";
/interface sstp-client
add authentication=mschap1,mschap2 connect-to=$ip1 disabled=no \
name=sstp-out1 password=qwerty123 profile=default-encryption user=\
$user
/interface sstp-client
add authentication=mschap1,mschap2 connect-to=$ip2 disabled=no \
name=sstp-out2 password=qwerty123 profile=default-encryption user=\
$user
/interface sstp-client
add authentication=mschap1,mschap2 connect-to=$ip3 disabled=no \
name=sstp-out3 password=qwerty123 profile=default-encryption user=\
$user
/interface sstp-client
add authentication=mschap1,mschap2 connect-to=$ip4 disabled=no \
name=sstp-out4 password=qwerty123 profile=default-encryption user=\
$user
:log info "2";


Аватара пользователя
Brook
Сообщения: 127
Зарегистрирован: 24 май 2022, 00:29

Сохраняйте в одном файле. Каждый ИП с новой строки.

Потом просто в цикле создавайте подключения...

Код: Выделить всё

:set $cont [file/get ip.txt contents]
:local couner 0

:while ($cont ~ "\r") do={
  :set $ip [:pick $cont 0 ([find $cont "\r"])]
  :set $cont [:pick $cont ([find $cont "\r"] + 2) [:len $cont]]
  :set couner ($couner + 1)
  :local nameCli ("sstp-client" . $couner)
  :local userCli ("user" . $couner)
  :local passCli ([certificate scep-server otp generate minutes-valid=0 as-value]->"password")
  /interface sstp-client add authentication=mschap1,mschap2 connect-to=$ip disabled=no name=$nameCli password=$passCli profile=default-encryption user=$userCli
  
  :put $ip
  :put $nameCli
  :put $userCli
  :put $passCli
  :put "---------------------------"
}


Ответить