Files
wlan-testing/opensync/build_template.pl
Ben Greear 7228c97c1a Add script to generate opensync cfg file from template and cfg options.
Quick way to build config files for opensync.
2020-04-20 16:51:11 -07:00

75 lines
2.1 KiB
Perl
Executable File

#!/usr/bin/perl
use strict;
use warnings;
use Getopt::Long;
my $ch2 = 1;
my $ch5lo = 44;
my $ch5hi = 108;
my $ssid2 = "Connectus-local";
my $ssid5 = "Connectus-local-5";
my $encr2 = "WPA-PSK";
my $encr5 = "WPA-PSK";
my $key2 = "12345678";
my $key5 = "12345678";
my $country = "CA";
my $help = 0;
my $usage = qq($0
[--country {2-letter country code: CA, US, DE, ...] # Default is CA
[--ch2 {2.4Ghz channel}] # Default is 1
[--ch5lo {Low 6Ghz channel}] # Default is 44
[--ch5hi {High 6Ghz channel}] # Default is 108
[--ssid2 {SSID for 2.4Ghz radio}] # Default is Connectus-local
[--ssid5 {SSID for 5Ghz radio}] # Default is Connectus-local-5
[--encr2 {Encryption type for 2.4Ghz radio}] # Default is WPA-PSK
[--encr5 {Encryption type for 5Ghz radio}] # Default is WPA-PSK
[--key2 {Encryption key (password) for 2.4Ghz radio}] # Default is 12345678
[--key5 {Encryption key (password) for 5Ghz radio}] # Default is 12345678
Example:
$0 --ssid2 test-ssid2 --ssid5 test-ssid5 < template_2_ssids.json > mytemplate.json
$0 --country US --ch2 6 --ch5lo 36 --ch5hi 100 --key2 abcdefgh2 --key5 abcdefgh5 --ssid2 ben --ssid5 ben5 < template_2_ssids.json
);
GetOptions
(
'country=s' => \$country,
'ch2=s' => \$ch2,
'ch5lo=s' => \$ch5lo,
'ch5hi=s' => \$ch5hi,
'ssid2=s' => \$ssid2,
'ssid5=s' => \$ssid5,
'encr2=s' => \$encr2,
'encr5=s' => \$encr5,
'key2=s' => \$key2,
'key5=s' => \$key5,
'help|?' => \$help,
) || (print($usage) && exit(1));
if ($help) {
print($usage) && exit(0);
}
while (<>) {
my $ln = $_;
chomp($ln);
$ln =~ s/__COUNTRY_CODE__/$country/g;
$ln =~ s/__CH2__/$ch2/g;
$ln =~ s/__CH5L__/$ch5lo/g;
$ln =~ s/__CH5H__/$ch5hi/g;
$ln =~ s/__SSID2__/$ssid2/g;
$ln =~ s/__SSID5__/$ssid5/g;
$ln =~ s/__ENCRYPT2__/$encr2/g;
$ln =~ s/__ENCRYPT5__/$encr5/g;
$ln =~ s/__PSK2__/$key2/g;
$ln =~ s/__PSK5__/$key5/g;
print "$ln\n";
}
exit 0;