This repository was archived by the owner on Jan 17, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 83
/
Copy pathfreenom.conf
177 lines (144 loc) · 7.57 KB
/
freenom.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
##########################
# CONFIGURATION SETTINGS #
##########################
##############
# Login data #
##############
# Set variables for email/password -OR- source a "secrets" file
# Examples:
# freenom_email="John.Smith@example.com"
# freenom_passwd="your-password"
# source "/home/${LOGNAME}/.secret/.freenom"
#freenom_email="you@example.com"
#freenom_passwd="yourpassword"
##################
# Get current IP #
##################
freenom_update_ipv="4" # [4/6] use ipv4 or ipv6
freenom_update_dig="1" # [0/1] set to "1" to also use 'dig' or "0" for curl only
freenom_static_ip="" # set manual (static) ip address instead of auto detect
################
# Output files #
################
# Set dir and "file mask" to output results, ip files and log:
# /dir/to/freenom.log
# /dir/to/freenom_<domain>.ip{4,6}
# /dir/to/freenom_renewalResult-<id>.html
#
# Default: freenom_out_dir="/var/log/freenom"
# freenom_out_mask="freenom"
freenom_out_dir="/var/log/freenom"
freenom_out_mask="freenom"
######################
# Optional overrides #
######################
# These are ok to leave as-is
freenom_http_retry="3" # number of curl retries
freenom_http_resolve="1" # use curl --resolve my.freenom.com:443:<ip>
freenom_update_force="0" # [0/1] force ip update, even if unchanged
freenom_update_ttl="3600" # ttl in sec (changed from 14440 to 3600)
freenom_update_ip_retry="3" # number of retries to get ip
freenom_update_ip_log="1" # [0/1] log 'skipped same ip' msg
freenom_renew_log="1" # [0/1] log renew warnings details
freenom_list_bind="0" # [0/1] output isc bind zone format
freenom_http_sleep="3 3" # wait n to n+n secs between http requests
freenom_oldcurl_force="0" # [0/1] force older curl version support
freenom_update_ip="0" # [0/1] arg "-u"
freenom_update_manual="0" # [0/1] arg "-m"
freenom_update_all="0" # [0/1] arg "-a"
freenom_list="0" # [0/1] arg "-l"
freenom_list_renewals="0" # [0/1] args "-l -d"
freenom_list_records="0" # [0/1] arg "-z"
freenom_renew_domain="0" # [0/1] arg "-r"
freenom_renew_all="0" # [0/1] args "-r -a"
debug="0"
# Array with useragent strings
uaString+=("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36")
uaString+=("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36")
uaString+=("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.38 Safari/537.36")
uaString+=("Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:103.0) Gecko/20100101 Firefox/103.0")
uaString+=("Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0")
uaString+=("Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0")
uaString+=("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.62")
uaString+=("Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36")
uaString+=("Mozilla/5.0 (IE 11.0; Windows NT 6.3; Trident/7.0; .NET4.0E; .NET4.0C; rv:11.0) like Gecko")
uaString+=("Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:103.0) Gecko/20100101 Firefox/103.0")
uaString+=("Mozilla/5.0 (Linux x86_64; rv:103.0) Gecko/20100101 Firefox/103.0")
uaString+=("Mozilla/5.0 (Macintosh; Intel Mac OS X 12.5; rv:103.0) Gecko/20100101 Firefox/103.0")
uaString+=("Mozilla/5.0 (Macintosh; Intel Mac OS X 12_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6 Safari/605.1.15")
uaString+=("Mozilla/5.0 (iPhone; CPU iPhone OS 15_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Safari/604.1")
uaString+=("Mozilla/5.0 (Linux; Android 12) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Mobile Safari/537.36")
# Array with curl and dig commands used to "get ip" on update
# %agent% will be replaced with a random useragent string
ipCmd+=("curl -%ipv% -A %agent% -m 10 -s https://diagnostic.opendns.com/myip")
ipCmd+=("curl -%ipv% -A %agent% -m 10 -s https://www.ripe.net/@@ipaddress")
ipCmd+=("curl -%ipv% -A %agent% -m 10 -s http://ipv6-test.com/api/myip.php")
ipCmd+=("curl -%ipv% -A %agent% -m 10 -s http://checkip.dns.he.net")
ipCmd+=("curl -%ipv% -A %agent% -m 10 -s https://cgi1.apnic.net/cgi-bin/my-ip.php")
ipCmd+=("curl -%ipv% -A %agent% -m 10 -s ipv%ipv%.test-ipv6.com/ip/?callback")
ipCmd+=("curl -4 -A %agent% -m 10 -s https://checkip.amazonaws.com")
ipCmd+=("dig -%ipv% +short o-o.myaddr.l.google.com TXT @ns1.google.com")
ipCmd+=("dig -%ipv% +short whoami.cloudflare CH TXT @one.one.one.one")
ipCmd+=("dig -4 +short myip.opendns.com @resolver1.opendns.com")
ipCmd+=("dig -4 +short myip.opendns.com @resolver2.opendns.com")
ipCmd+=("dig -4 +short myip.opendns.com @resolver3.opendns.com")
ipCmd+=("dig -4 +short myip.opendns.com @resolver4.opendns.com")
ipCmd+=("dig -4 +short whoami.akamai.net @ns1-1.akamaitech.net")
# Use specific DNS servers for curl
#curlDns="ns01.freenom.com,ns03.freenom.com"
curlDns="80.80.80.80,80.80.81.81"
# Array with commands get ip addr for 'curl --resolve my.freenom.com:443:addr>'
# These are used as fallback when 'curl --dns-servers' (above) does not work
resolveCmd+=("dig +short @80.80.80.80 my.freenom.com")
resolveCmd+=("nslookup my.freenom.com 80.80.80.80")
resolveCmd+=("host my.freenom.com 80.80.80.80")
######################
# Mail Notifications #
######################
# Mail Transfer Agent. A lightweight send-only MTA such as SSMTP should work fine. Or leave empty to disable sending mail.
# If you do not have a MTA installed you can use "bashmail.sh": https://git.io/JJdto. Default is "/usr/sbin/sendmail"
MTA="/usr/sbin/sendmail"
# E-mail adress to receive notifications e.g. "admin@example.com". Default is "$freenom_email"
#RCPTTO="admin@example.com"
# Optional e-mail address from which to sent notifications ("From:"). Default is none
#MAILFROM="Freenom Script <freenom-script@example.com>"
#########################
# Apprise Notifications #
#########################
# Uses external lib to send notification to Telegram, Discord, Slack, Amazon SNS, Teams etc
# Path to Apprise CLI binary.
APPRISE="/usr/local/bin/apprise"
# Apprise server URLs. This is a Bash array -- server URLs should go on separate
# lines, with no commas between URLs. For service IDs and URL syntax, refer to:
# https://github.com/caronc/apprise
APPRISE_SERVER_URLS=(
# "service_id1://..."
# "service_id2://..."
# ...
)
######################
# Domain name and id #
######################
# [!] The following is not needed anymore and can be skipped if you want,
# since we can get domain_id's and name automatically now
# Open DNS management page in your browser, URL vs settings:
# https://my.freenom.com/clientarea.php?
# managedns={freenom_domain_name}&domainid={freenom_domain_id}
# Examples:
# freenom_domain_name="example.cf"
# freenom_subdomain_name=""
# freenom_domain_id="1234567890"
# NOTE: There is an extra "hidden" option to specify 'domain_id'
# as 3rd argument in case you need it
######################
# Optional cURL args #
######################
# Useful extra options:
# info: "-I", follow links: "-L", be silent: "-s", verbose: "-v"
# no stdout: "-o /dev/null" (!) use for debug only, causes script to fail
# proxy: "--http https://localhost", socks: "--socks5 localhost:1080"
# Uncomment line below to enable
#curlExtraOpts+="-s -I -L -s -v -o /dev/null --socks5 localhost:1080"
##########################
# END OF CONFIG SETTINGS #
##########################