Net-FullAuto
view release on metacpan or search on metacpan
lib/Net/FullAuto/ISets/Amazon/GNUSocial_is.pm view on Meta::CPAN
byte[] rawSignature = mac.doFinal(MESSAGE.getBytes());
// Prepend the version number to the signature.
byte[] rawSignatureWithVersion = new byte[rawSignature.length + 1];
byte[] versionArray = {VERSION};
System.arraycopy(versionArray, 0, rawSignatureWithVersion, 0, 1);
System.arraycopy(rawSignature, 0, rawSignatureWithVersion, 1, rawSignature.length);
// To get the final SMTP password, convert the HMAC signature to base 64.
String smtpPassword = DatatypeConverter.printBase64Binary(rawSignatureWithVersion);
System.out.println(smtpPassword);
}
catch (Exception ex) {
System.out.println(\\x22Error generating SMTP password: \\x22 + ex.getMessage());
}
}
}
END
($stdout,$stderr)=$handle->cmd(
"echo -e \"$java_smtp_generator\" > SesSmtpCredentialGenerator.java");
($stdout,$stderr)=$handle->cmd("javac SesSmtpCredentialGenerator.java");
$handle->cmd_raw(
"export AWS_SECRET_ACCESS_KEY=$secret_access_key");
my $smtppass='';
($smtppass,$stderr)=$handle->cmd("java SesSmtpCredentialGenerator");
my $sespolicy=<<END;
{
\\x22Version\\x22:\\x222012-10-17\\x22,
\\x22Statement\\x22: [{
\\x22Effect\\x22:\\x22Allow\\x22,
\\x22Action\\x22:\\x22ses:SendRawEmail\\x22,
\\x22Resource\\x22:\\x22*\\x22
}]}
END
chop $sespolicy;
($stdout,$stderr)=$local->cmd(
"echo -e \"$sespolicy\" > ./sespolicy");
$c="aws iam list-policies";
($hash,$output,$error)=run_aws_cmd($c);
$hash||={};
foreach my $policy (@{$hash->{Policies}}) {
if ($policy->{PolicyName} eq 'sespolicy') {
$c="aws iam detach-user-policy --user-name gnusocial_email ".
"--policy-arn $policy->{Arn}";
($hash,$output,$error)=run_aws_cmd($c);
$c="aws iam delete-policy --policy-arn $policy->{Arn}";
($hash,$output,$error)=run_aws_cmd($c);
last;
}
}
$c="aws iam create-policy --policy-name sespolicy --policy-document ".
"file://sespolicy";
($hash,$output,$error)=run_aws_cmd($c);
my $policy_arn=$hash->{Policy}->{Arn};
$c="aws iam attach-user-policy --user-name gnusocial_email ".
"--policy-arn $policy_arn";
($hash,$output,$error)=run_aws_cmd($c);
($stdout,$stderr)=$local->cmd("rm -rfv ./sespolicy",'__display__');
use LWP::UserAgent;
use HTTP::Request::Common;
use IO::Socket::SSL qw();
my $Browser = LWP::UserAgent->new(
ssl_opts => {
SSL_verify_mode => IO::Socket::SSL::SSL_VERIFY_NONE,
verify_hostname => 0,
}
);
my $response = $Browser->post(
"https://$public_ip/install.php",
[
'sitename' => $site_name,
'fancy' => 'enable',
'ssl' => 'always',
'host' => 'localhost',
'dbtype' => 'mysql',
'database' => 'gnusocial',
'dbusername' => 'gnusocial',
'dbpassword' => $service_and_cert_password,
'admin_nickname' => 'admin',
'admin_password' => $service_and_cert_password,
'admin_password2' => $service_and_cert_password,
'admin_email' => $verified_email,
'site_profile' => $site_profile,
'submit' => 'Submit'
],
);
print $response->content;
my $starting_gnusocial=<<'END';
.oPYo. ooooo .oo .oPYo. ooooo o o o .oPYo. o o .oPYo.
8 8 .P 8 8 `8 8 8 8b 8 8 8 8 8 8 8
`Yooo. 8 .P 8 8YooP' 8 8 8`b 8 8 8 8 8YooP'
`8 8 oPooo8 8 `b 8 8 8 `b 8 8 oo 8 8 8
8 8 .P 8 8 8 8 8 8 `b8 8 8 8 8 8
`YooP' 8 .P 8 8 8 8 8 8 `8 `YooP8 `YooP' 8
....................................................................
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
https://gnu.io/social/
____ _ _ _ _ ____ _ _
,= ,-_-. =. / ___| \ | | | | | / ___| ___ ___(_) __ _| |
((_/)o o(\_)) | | _| \| | | | | \___ \ / _ \ / __| |/ _` | |
`-'(. .)`-' | |_| | |\ | |_| | ___) | (_) | (__| | (_| | |
\_/ \____|_| \_|\___/ |____/ \___/ \___|_|\__,_|_|
(The Free Software Foundation is **NOT** a sponsor of the FullAuto© Project.)
END
print $starting_gnusocial;sleep 10;
$region=~s/^.*['](.*)[']$/$1/;
($stdout,$stderr)=$handle->cmd('sudo wget -qO- '.
'http://docs.aws.amazon.com/ses/latest/DeveloperGuide/smtp-connect.html'
);
my @smtp_servers=();my $smtp_server='us-east-1';
foreach my $line (split /\n/,$stdout) {
if (-1<index $line,'email-smtp.') {
$line=~s/^.*(email-smtp\.[^Hh].*?com).*$/$1/;
next unless $line=~/^email-smtp/;
push @smtp_servers,$line;
( run in 0.614 second using v1.01-cache-2.11-cpan-39bf76dae61 )