mirror of
https://github.com/minoplhy/scriptbox.git
synced 2024-12-05 01:46:57 +00:00
1984DNS : init
This commit is contained in:
parent
a75d59838b
commit
60be103f68
2
1984DNS/.env
Normal file
2
1984DNS/.env
Normal file
@ -0,0 +1,2 @@
|
||||
AUTH_USERNAME=<set>
|
||||
AUTH_PASSWORD=<set>
|
10
1984DNS/README
Normal file
10
1984DNS/README
Normal file
@ -0,0 +1,10 @@
|
||||
This was my attempted to make automatic Certbot renewal script of 1984.is FreeDNS .
|
||||
|
||||
But acme.sh officially support 1984.is FreeDNS : https://github.com/acmesh-official/acme.sh/wiki/dnsapi#104-use-1984hosting-domain-api
|
||||
and i found that after my script was finished .
|
||||
|
||||
so, this script is a Certbot renewal script that's not maintained anymore, unless i returned to certbot .
|
||||
|
||||
certbot certonly --manual --manual-auth-hook before.sh --manual-cleanup-hook after.sh -d secure.example.com
|
||||
|
||||
Command Above should still working , i guess...
|
53
1984DNS/after.py
Normal file
53
1984DNS/after.py
Normal file
@ -0,0 +1,53 @@
|
||||
import sys
|
||||
import logging
|
||||
import re
|
||||
from bs4 import BeautifulSoup
|
||||
from dotenv import load_dotenv
|
||||
from requests import Session
|
||||
import os
|
||||
|
||||
LOGGER = logging.getLogger(__name__)
|
||||
|
||||
domain_id = None
|
||||
session = None
|
||||
session = Session()
|
||||
session.get("https://umsjon.1984.is/accounts/login/?next=/")
|
||||
load_dotenv()
|
||||
auth_username = os.getenv('AUTH_USERNAME')
|
||||
auth_password = os.getenv('AUTH_PASSWORD')
|
||||
rtype="TXT"
|
||||
|
||||
|
||||
# Hit the login page with authentication info to login the session
|
||||
login_response = session.post(
|
||||
"https://umsjon.1984.is/accounts/checkuserauth/",
|
||||
data={
|
||||
"username": auth_username or "",
|
||||
"password": auth_password or "",
|
||||
},
|
||||
)
|
||||
|
||||
cookie = session.cookies
|
||||
for token in cookie:
|
||||
if token.name == "csrftoken":
|
||||
csrftoken = token.value
|
||||
elif token.name == "sessionid":
|
||||
sessionid = token.value
|
||||
|
||||
payload = {
|
||||
"Host": "umsjon.1984.is",
|
||||
"Referer": "https://umsjon.1984.is",
|
||||
"X-CSRFToken": csrftoken,
|
||||
"Cookie": "csrftoken="+csrftoken+"; sessionid="+sessionid
|
||||
}
|
||||
|
||||
file1 = open('entry.txt', 'r')
|
||||
file = file1.read().split('\n')
|
||||
for zone_id in file:
|
||||
delete_response = session.post(
|
||||
"https://umsjon.1984.is/domains/delentry/",
|
||||
data={
|
||||
"entry": zone_id,
|
||||
}, headers=payload,
|
||||
)
|
||||
print(delete_response.text)
|
2
1984DNS/after.sh
Normal file
2
1984DNS/after.sh
Normal file
@ -0,0 +1,2 @@
|
||||
python3 after.py
|
||||
rm entry.txt
|
72
1984DNS/before.py
Normal file
72
1984DNS/before.py
Normal file
@ -0,0 +1,72 @@
|
||||
import sys
|
||||
import logging
|
||||
import json
|
||||
import re
|
||||
from dotenv import load_dotenv
|
||||
from requests import Session
|
||||
import requests
|
||||
import os
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
LOGGER = logging.getLogger(__name__)
|
||||
|
||||
CERTBOT_DOMAIN = '1w1.one'
|
||||
CERTBOT_ZONE = '1w1.one'
|
||||
CERTBOT_VALIDATION = '12345'
|
||||
|
||||
CERTBOT_DOMAIN = sys.argv[1]
|
||||
CERTBOT_ZONE = sys.argv[2]
|
||||
CERTBOT_VALIDATION = sys.argv[3]
|
||||
domain = CERTBOT_ZONE
|
||||
load_dotenv()
|
||||
auth_username = os.getenv('AUTH_USERNAME')
|
||||
auth_password = os.getenv('AUTH_PASSWORD')
|
||||
|
||||
domain_id = None
|
||||
session = None
|
||||
session = Session()
|
||||
session.get("https://umsjon.1984.is/accounts/login/?next=/")
|
||||
|
||||
# Hit the login page with authentication info to login the session
|
||||
login_response = session.post(
|
||||
"https://umsjon.1984.is/accounts/checkuserauth/",
|
||||
data={
|
||||
"username": auth_username or "",
|
||||
"password": auth_password or "",
|
||||
},
|
||||
)
|
||||
|
||||
cookie = session.cookies
|
||||
for token in cookie:
|
||||
if token.name == "csrftoken":
|
||||
csrftoken = token.value
|
||||
elif token.name == "sessionid":
|
||||
sessionid = token.value
|
||||
|
||||
CERTBOT_HOST="_acme-challenge."+CERTBOT_DOMAIN
|
||||
name=CERTBOT_HOST
|
||||
rtype="txt"
|
||||
|
||||
# Pull a list of records and check for ours
|
||||
payload = {
|
||||
"Host": "umsjon.1984.is",
|
||||
"Referer": "https://umsjon.1984.is",
|
||||
"X-CSRFToken": csrftoken,
|
||||
"Cookie": "csrftoken="+csrftoken+"; sessionid="+sessionid
|
||||
}
|
||||
data = {
|
||||
"entry": "new",
|
||||
"zone": CERTBOT_ZONE,
|
||||
"type": "txt",
|
||||
"host": CERTBOT_HOST,
|
||||
"ttl": 900,
|
||||
"priority": "",
|
||||
"rdata": CERTBOT_VALIDATION,
|
||||
}
|
||||
risk = session.post("https://umsjon.1984.is/domains/entry/", data=data, headers=payload)
|
||||
s = re.findall('"id": "..*\d"', risk.text)
|
||||
s = str(s)
|
||||
s = re.sub('(\[|\"|\'|:|]| |id)', "", s)
|
||||
file1 = open('entry.txt', 'w')
|
||||
file1.write(str(s))
|
||||
exit()
|
4
1984DNS/before.sh
Normal file
4
1984DNS/before.sh
Normal file
@ -0,0 +1,4 @@
|
||||
CERTBOT_ZONE=1w1.one
|
||||
python3 before.py "$CERTBOT_DOMAIN" "$CERTBOT_ZONE" "$CERTBOT_VALIDATION"
|
||||
echo "Please wait for 15 minutes, before certbot continues . This is for updating reasons"
|
||||
sleep 900
|
Loading…
Reference in New Issue
Block a user