Hello
I have been trying to setup a netlib.re domain. I added the domain (myname.netlib.re) in the yunohost web admin. Then I downloaded the dynamicdns perl script from netlib.re. I have edited it to what I think is the correct settings, and placed it in my crontab. I have also manually run the script, but I am unable to connect to myname.netlib.re in the browser. Is there a step I’m forgetting? Here is the an example of the perl dns script:
#!/usr/bin/perl -w
use strict;
use warnings;
use v5.14;
use MIME::Base64 qw(encode_base64);
# the website sending your current IP address
our $checkip = "http://t.karchnu.fr/ip.php";
# Domain name of the service provider (like netlib.re)
our $nddservice = "netlib.re";
# Your domain
our $domain = "netlib.re";
# Login and password to connect to the website
our $login = "myloginname";
our $pass = "mypassword";
# Your entry to change
#
# here, the entry is www.test.netlib.re
# put "@" in $name to change your $type record on $domain directly
our $name = 'myname';
our $type = 'A'; # could be AAAA
our $wget = `which wget`; chomp $wget;
die "There is no wget on this computer." unless $wget;
sub get_ip {
my $typeip = ($type =~ /AAAA/) ? '-6' : '-4';
my $cmd = "wget $typeip -nv -O - $checkip";
say "get IP : $cmd";
for (split "\n", `$cmd`) {
/^[0-9.]+$/ || /^[0-9a-f:]+$/ and return $_
}
undef
}
sub update {
my $ip = get_ip;
die "Can't get your IP address !" unless $ip;
say "UPDATE :: domain $name.$domain => IP $ip, type $type";
my $passb64 = encode_base64($pass);
chomp $passb64;
my $cmd = "$wget -O - ";
$cmd .=
"https://$nddservice/domain/cliup/$login/$passb64/$domain/$name/$type/$ip";
say "CMD :: $cmd";
`$cmd`;
}
update;
Have I done this right?
Edit:
So, after some trial and error, I got the DNS cofigured at netlib.re (except it doesn’t like the SRV record priority set to 0. Their default is 10)
Now, my name seems to resolve, but it is just a blank page. I was expecting to see my yunohost page.
Edit 2:
Looking ahead to the letsencrypt dns challenge, I don’t see where netlib.re has a TXT field for me to edit.
As much as I would like to keep my server at home, I am totally unable to figure this problem out… and I’m considering renting a cloud server. Do you store all your files on the cloud server, or do you have them at home (remote shares?). If you have them at home, are they at a dynamic or static ip address? I am guessing dynamic address will cause problems for remote storage…
Also, what cloud service do you use?
Thanks for the link to the VPS thread. I am definitely looking to do things that way, which will hopefully solve my problems. This is essentially what I think I’m trying to accomplish. Please tell me if this is the wrong way to look at it, and/or point me to relevant reading:
What I ended up with, is a $5/month VPS which runs a wireguard vpn server. I have it pass all traffic via wireguard tunnel to my home server. I set my DNS records to point to the VPS IP address. In this way, I was able to obtain a letsencrypt cert for my home server. Basically, I had to bypass my ISP port blocks. Not so much a matter of dynamic IP, but blocked incoming traffic on port 80 (http). Hope that helps.