#!/usr/bin/perl -w

=for comment

		Script créer par Xavier CABANAT - L'IDEM CREATIVE ART'S SCHOOL - Modif le 05/11/2024

18/03/2026	:	Maj v1.4.6
=cut

use warnings;use strict;use diagnostics;
use POSIX;
use Env;
use File::Copy;

print "Déclaration des Variables\n";

my $rustdesk_version;
my $rustdesk_pw;
my $template_toml;
my $HOME;
my $root_dir;
my $user_dir1;
my $user_dir2;

print "Initialisation des Variables\n";

$rustdesk_version = "1.4.6";
$rustdesk_pw = "Lidem66BCN\$";

$template_toml = "/tmp/RustDesk2.toml";

$HOME  = $ENV{'HOME'};

$root_dir = "/root/.config/rustdesk/RustDesk2.toml";
#$user_dir = "$HOME/.config/rustdesk/RustDesk2.toml";
$user_dir1 = "/home/admindl/.config/rustdesk/RustDesk2.toml";
$user_dir2 = "/home/adminxc/.config/rustdesk/RustDesk2.toml";

print "Download RustDesk\n";
chdir "/tmp/";
system("wget https://github.com/rustdesk/rustdesk/releases/download/$rustdesk_version/rustdesk-$rustdesk_version-x86_64.deb");
print "Install Rustdesk\n";
system("apt-get install -fy /tmp/rustdesk-$rustdesk_version-x86_64.deb > /dev/null");
sleep 10;

print "Stop Service\n";
system("systemctl stop rustdesk");
sleep 10;

# sudo find / -name '*.toml'
# sudo ls -la /root/.config/rustdesk/

print "Delete olds configs files\n";

unlink "/root/.config/rustdesk/RustDesk.toml";
unlink "/root/.config/rustdesk/RustDesk2.toml";
#unlink "$HOME/.config/rustdesk/RustDesk.toml";
#unlink "$HOME/.config/rustdesk/RustDesk2.toml";
unlink "/home/admindl/.config/rustdesk/RustDesk.toml";
unlink "/home/admindl/.config/rustdesk/RustDesk2.toml";
unlink "/home/adminxc/.config/rustdesk/RustDesk.toml";
unlink "/home/adminxc/.config/rustdesk/RustDesk2.toml";
unlink "/home/admindl/.config/rustdesk/RustDesk_Local.toml";
unlink "/home/adminxc/.config/rustdesk/RustDesk_Local.toml";

system("find / -name '*.toml'");

print "Create news configs files\n";

open(FILEW, ">$template_toml") || die ("Unable to open File : $template_toml\n");
print FILEW "rendezvous_server = 'pcremote.lidem.eu:21116'\n";
print FILEW "nat_type = 2\n";
print FILEW "serial = 0\n";
print FILEW "\n";
print FILEW "\n";
print FILEW "[options]\n";
print FILEW "custom-rendezvous-server = 'pcremote.lidem.eu'\n";
print FILEW "key = 'ekvJ1h5PXZKDaNzXUo2Amg0lTEv+1L8ILoV7gyXt9Eg='\n";
print FILEW "direct-server = 'Y'\n";
print FILEW "allow-remote-config-modification = 'Y'\n";
print FILEW "\n";
close(FILEW);

#sudo cat /root/.config/rustdesk/RustDesk.toml

print "Copy news configs files\n";

copy($template_toml, $root_dir);
copy($template_toml, $user_dir1);
copy($template_toml, $user_dir2);


sleep 10;


print "Start Service\n";
system("systemctl start rustdesk");

sleep 10;

print "Fixation du mot de passe de connexion\n";
system("sudo rustdesk --password $rustdesk_pw &> /dev/null");

print "Suppression des fichiers crees\n";
unlink "/tmp/rustdesk-$rustdesk_version-x86_64.deb";
unlink "$template_toml";


print "Fin\n";



