初始版本,支持Actions
This commit is contained in:
parent
7268a4b6ea
commit
cb3bff499d
39
.gitea/daily_domain_check.yml
Normal file
39
.gitea/daily_domain_check.yml
Normal file
@ -0,0 +1,39 @@
|
||||
name: Daily Domain Check
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 * * *" # Runs daily at midnight
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
domain_check:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: '3.x'
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
# Add any other dependencies your script needs here
|
||||
|
||||
- name: Run domain check
|
||||
run: python domain_check.py
|
||||
|
||||
- name: Save output with date
|
||||
run: |
|
||||
today=$(date +%Y-%m-%d)
|
||||
mv domain.txt "domain_$today.txt"
|
||||
|
||||
- name: Create release and upload result
|
||||
run: |
|
||||
today=$(date +%Y-%m-%d)
|
||||
gitea release create --title "Domain Check $today" --assets "domain_$today.txt"
|
||||
env:
|
||||
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
|
0
.gitea/workflows
Normal file
0
.gitea/workflows
Normal file
702
DICT
Normal file
702
DICT
Normal file
@ -0,0 +1,702 @@
|
||||
# a
|
||||
# b
|
||||
# c
|
||||
# d
|
||||
# e
|
||||
# f
|
||||
# g
|
||||
# h
|
||||
# i
|
||||
# j
|
||||
# k
|
||||
# l
|
||||
# m
|
||||
# n
|
||||
# o
|
||||
# p
|
||||
# q
|
||||
# r
|
||||
# s
|
||||
# t
|
||||
# u
|
||||
# v
|
||||
# w
|
||||
# x
|
||||
# y
|
||||
# z
|
||||
aa
|
||||
ab
|
||||
ac
|
||||
ad
|
||||
ae
|
||||
af
|
||||
ag
|
||||
ah
|
||||
ai
|
||||
aj
|
||||
ak
|
||||
al
|
||||
am
|
||||
an
|
||||
ao
|
||||
ap
|
||||
aq
|
||||
ar
|
||||
as
|
||||
at
|
||||
au
|
||||
av
|
||||
aw
|
||||
ax
|
||||
ay
|
||||
az
|
||||
ba
|
||||
bb
|
||||
bc
|
||||
bd
|
||||
be
|
||||
bf
|
||||
bg
|
||||
bh
|
||||
bi
|
||||
bj
|
||||
bk
|
||||
bl
|
||||
bm
|
||||
bn
|
||||
bo
|
||||
bp
|
||||
bq
|
||||
br
|
||||
bs
|
||||
bt
|
||||
bu
|
||||
bv
|
||||
bw
|
||||
bx
|
||||
by
|
||||
bz
|
||||
ca
|
||||
cb
|
||||
cc
|
||||
cd
|
||||
ce
|
||||
cf
|
||||
cg
|
||||
ch
|
||||
ci
|
||||
cj
|
||||
ck
|
||||
cl
|
||||
cm
|
||||
cn
|
||||
co
|
||||
cp
|
||||
cq
|
||||
cr
|
||||
cs
|
||||
ct
|
||||
cu
|
||||
cv
|
||||
cw
|
||||
cx
|
||||
cy
|
||||
cz
|
||||
da
|
||||
db
|
||||
dc
|
||||
dd
|
||||
de
|
||||
df
|
||||
dg
|
||||
dh
|
||||
di
|
||||
dj
|
||||
dk
|
||||
dl
|
||||
dm
|
||||
dn
|
||||
do
|
||||
dp
|
||||
dq
|
||||
dr
|
||||
ds
|
||||
dt
|
||||
du
|
||||
dv
|
||||
dw
|
||||
dx
|
||||
dy
|
||||
dz
|
||||
ea
|
||||
eb
|
||||
ec
|
||||
ed
|
||||
ee
|
||||
ef
|
||||
eg
|
||||
eh
|
||||
ei
|
||||
ej
|
||||
ek
|
||||
el
|
||||
em
|
||||
en
|
||||
eo
|
||||
ep
|
||||
eq
|
||||
er
|
||||
es
|
||||
et
|
||||
eu
|
||||
ev
|
||||
ew
|
||||
ex
|
||||
ey
|
||||
ez
|
||||
fa
|
||||
fb
|
||||
fc
|
||||
fd
|
||||
fe
|
||||
ff
|
||||
fg
|
||||
fh
|
||||
fi
|
||||
fj
|
||||
fk
|
||||
fl
|
||||
fm
|
||||
fn
|
||||
fo
|
||||
fp
|
||||
fq
|
||||
fr
|
||||
fs
|
||||
ft
|
||||
fu
|
||||
fv
|
||||
fw
|
||||
fx
|
||||
fy
|
||||
fz
|
||||
ga
|
||||
gb
|
||||
gc
|
||||
gd
|
||||
ge
|
||||
gf
|
||||
gg
|
||||
gh
|
||||
gi
|
||||
gj
|
||||
gk
|
||||
gl
|
||||
gm
|
||||
gn
|
||||
go
|
||||
gp
|
||||
gq
|
||||
gr
|
||||
gs
|
||||
gt
|
||||
gu
|
||||
gv
|
||||
gw
|
||||
gx
|
||||
gy
|
||||
gz
|
||||
ha
|
||||
hb
|
||||
hc
|
||||
hd
|
||||
he
|
||||
hf
|
||||
hg
|
||||
hh
|
||||
hi
|
||||
hj
|
||||
hk
|
||||
hl
|
||||
hm
|
||||
hn
|
||||
ho
|
||||
hp
|
||||
hq
|
||||
hr
|
||||
hs
|
||||
ht
|
||||
hu
|
||||
hv
|
||||
hw
|
||||
hx
|
||||
hy
|
||||
hz
|
||||
ia
|
||||
ib
|
||||
ic
|
||||
id
|
||||
ie
|
||||
if
|
||||
ig
|
||||
ih
|
||||
ii
|
||||
ij
|
||||
ik
|
||||
il
|
||||
im
|
||||
in
|
||||
io
|
||||
ip
|
||||
iq
|
||||
ir
|
||||
is
|
||||
it
|
||||
iu
|
||||
iv
|
||||
iw
|
||||
ix
|
||||
iy
|
||||
iz
|
||||
ja
|
||||
jb
|
||||
jc
|
||||
jd
|
||||
je
|
||||
jf
|
||||
jg
|
||||
jh
|
||||
ji
|
||||
jj
|
||||
jk
|
||||
jl
|
||||
jm
|
||||
jn
|
||||
jo
|
||||
jp
|
||||
jq
|
||||
jr
|
||||
js
|
||||
jt
|
||||
ju
|
||||
jv
|
||||
jw
|
||||
jx
|
||||
jy
|
||||
jz
|
||||
ka
|
||||
kb
|
||||
kc
|
||||
kd
|
||||
ke
|
||||
kf
|
||||
kg
|
||||
kh
|
||||
ki
|
||||
kj
|
||||
kk
|
||||
kl
|
||||
km
|
||||
kn
|
||||
ko
|
||||
kp
|
||||
kq
|
||||
kr
|
||||
ks
|
||||
kt
|
||||
ku
|
||||
kv
|
||||
kw
|
||||
kx
|
||||
ky
|
||||
kz
|
||||
la
|
||||
lb
|
||||
lc
|
||||
ld
|
||||
le
|
||||
lf
|
||||
lg
|
||||
lh
|
||||
li
|
||||
lj
|
||||
lk
|
||||
ll
|
||||
lm
|
||||
ln
|
||||
lo
|
||||
lp
|
||||
lq
|
||||
lr
|
||||
ls
|
||||
lt
|
||||
lu
|
||||
lv
|
||||
lw
|
||||
lx
|
||||
ly
|
||||
lz
|
||||
ma
|
||||
mb
|
||||
mc
|
||||
md
|
||||
me
|
||||
mf
|
||||
mg
|
||||
mh
|
||||
mi
|
||||
mj
|
||||
mk
|
||||
ml
|
||||
mm
|
||||
mn
|
||||
mo
|
||||
mp
|
||||
mq
|
||||
mr
|
||||
ms
|
||||
mt
|
||||
mu
|
||||
mv
|
||||
mw
|
||||
mx
|
||||
my
|
||||
mz
|
||||
na
|
||||
nb
|
||||
nc
|
||||
nd
|
||||
ne
|
||||
nf
|
||||
ng
|
||||
nh
|
||||
ni
|
||||
nj
|
||||
nk
|
||||
nl
|
||||
nm
|
||||
nn
|
||||
no
|
||||
np
|
||||
nq
|
||||
nr
|
||||
ns
|
||||
nt
|
||||
nu
|
||||
nv
|
||||
nw
|
||||
nx
|
||||
ny
|
||||
nz
|
||||
oa
|
||||
ob
|
||||
oc
|
||||
od
|
||||
oe
|
||||
of
|
||||
og
|
||||
oh
|
||||
oi
|
||||
oj
|
||||
ok
|
||||
ol
|
||||
om
|
||||
on
|
||||
oo
|
||||
op
|
||||
oq
|
||||
or
|
||||
os
|
||||
ot
|
||||
ou
|
||||
ov
|
||||
ow
|
||||
ox
|
||||
oy
|
||||
oz
|
||||
pa
|
||||
pb
|
||||
pc
|
||||
pd
|
||||
pe
|
||||
pf
|
||||
pg
|
||||
ph
|
||||
pi
|
||||
pj
|
||||
pk
|
||||
pl
|
||||
pm
|
||||
pn
|
||||
po
|
||||
pp
|
||||
pq
|
||||
pr
|
||||
ps
|
||||
pt
|
||||
pu
|
||||
pv
|
||||
pw
|
||||
px
|
||||
py
|
||||
pz
|
||||
qa
|
||||
qb
|
||||
qc
|
||||
qd
|
||||
qe
|
||||
qf
|
||||
qg
|
||||
qh
|
||||
qi
|
||||
qj
|
||||
qk
|
||||
ql
|
||||
qm
|
||||
qn
|
||||
qo
|
||||
qp
|
||||
qq
|
||||
qr
|
||||
qs
|
||||
qt
|
||||
qu
|
||||
qv
|
||||
qw
|
||||
qx
|
||||
qy
|
||||
qz
|
||||
ra
|
||||
rb
|
||||
rc
|
||||
rd
|
||||
re
|
||||
rf
|
||||
rg
|
||||
rh
|
||||
ri
|
||||
rj
|
||||
rk
|
||||
rl
|
||||
rm
|
||||
rn
|
||||
ro
|
||||
rp
|
||||
rq
|
||||
rr
|
||||
rs
|
||||
rt
|
||||
ru
|
||||
rv
|
||||
rw
|
||||
rx
|
||||
ry
|
||||
rz
|
||||
sa
|
||||
sb
|
||||
sc
|
||||
sd
|
||||
se
|
||||
sf
|
||||
sg
|
||||
sh
|
||||
si
|
||||
sj
|
||||
sk
|
||||
sl
|
||||
sm
|
||||
sn
|
||||
so
|
||||
sp
|
||||
sq
|
||||
sr
|
||||
ss
|
||||
st
|
||||
su
|
||||
sv
|
||||
sw
|
||||
sx
|
||||
sy
|
||||
sz
|
||||
ta
|
||||
tb
|
||||
tc
|
||||
td
|
||||
te
|
||||
tf
|
||||
tg
|
||||
th
|
||||
ti
|
||||
tj
|
||||
tk
|
||||
tl
|
||||
tm
|
||||
tn
|
||||
to
|
||||
tp
|
||||
tq
|
||||
tr
|
||||
ts
|
||||
tt
|
||||
tu
|
||||
tv
|
||||
tw
|
||||
tx
|
||||
ty
|
||||
tz
|
||||
ua
|
||||
ub
|
||||
uc
|
||||
ud
|
||||
ue
|
||||
uf
|
||||
ug
|
||||
uh
|
||||
ui
|
||||
uj
|
||||
uk
|
||||
ul
|
||||
um
|
||||
un
|
||||
uo
|
||||
up
|
||||
uq
|
||||
ur
|
||||
us
|
||||
ut
|
||||
uu
|
||||
uv
|
||||
uw
|
||||
ux
|
||||
uy
|
||||
uz
|
||||
va
|
||||
vb
|
||||
vc
|
||||
vd
|
||||
ve
|
||||
vf
|
||||
vg
|
||||
vh
|
||||
vi
|
||||
vj
|
||||
vk
|
||||
vl
|
||||
vm
|
||||
vn
|
||||
vo
|
||||
vp
|
||||
vq
|
||||
vr
|
||||
vs
|
||||
vt
|
||||
vu
|
||||
vv
|
||||
vw
|
||||
vx
|
||||
vy
|
||||
vz
|
||||
wa
|
||||
wb
|
||||
wc
|
||||
wd
|
||||
we
|
||||
wf
|
||||
wg
|
||||
wh
|
||||
wi
|
||||
wj
|
||||
wk
|
||||
wl
|
||||
wm
|
||||
wn
|
||||
wo
|
||||
wp
|
||||
wq
|
||||
wr
|
||||
ws
|
||||
wt
|
||||
wu
|
||||
wv
|
||||
ww
|
||||
wx
|
||||
wy
|
||||
wz
|
||||
xa
|
||||
xb
|
||||
xc
|
||||
xd
|
||||
xe
|
||||
xf
|
||||
xg
|
||||
xh
|
||||
xi
|
||||
xj
|
||||
xk
|
||||
xl
|
||||
xm
|
||||
xn
|
||||
xo
|
||||
xp
|
||||
xq
|
||||
xr
|
||||
xs
|
||||
xt
|
||||
xu
|
||||
xv
|
||||
xw
|
||||
xx
|
||||
xy
|
||||
xz
|
||||
ya
|
||||
yb
|
||||
yc
|
||||
yd
|
||||
ye
|
||||
yf
|
||||
yg
|
||||
yh
|
||||
yi
|
||||
yj
|
||||
yk
|
||||
yl
|
||||
ym
|
||||
yn
|
||||
yo
|
||||
yp
|
||||
yq
|
||||
yr
|
||||
ys
|
||||
yt
|
||||
yu
|
||||
yv
|
||||
yw
|
||||
yx
|
||||
yy
|
||||
yz
|
||||
za
|
||||
zb
|
||||
zc
|
||||
zd
|
||||
ze
|
||||
zf
|
||||
zg
|
||||
zh
|
||||
zi
|
||||
zj
|
||||
zk
|
||||
zl
|
||||
zm
|
||||
zn
|
||||
zo
|
||||
zp
|
||||
zq
|
||||
zr
|
||||
zs
|
||||
zt
|
||||
zu
|
||||
zv
|
||||
zw
|
||||
zx
|
||||
zy
|
||||
zz
|
1
DOMAINS
Normal file
1
DOMAINS
Normal file
@ -0,0 +1 @@
|
||||
am cm im bi ci ge lv at by cl cx cz de fi gd gs lc lt lu mk nu nz pw ro rs ru si su vg ws gy st qa moe cyou hair
|
211
TLD_DATA
Normal file
211
TLD_DATA
Normal file
@ -0,0 +1,211 @@
|
||||
=Edited and Archived by Har-Kuun = (https://qing.su)
|
||||
com=whois.verisign-grs.com=No match for=
|
||||
edu=whois.verisign-grs.com=No match for=
|
||||
net=whois.verisign-grs.com=No match for=
|
||||
//ad=whois.ripe.net=o entries found=
|
||||
ae=whois.aeda.net.ae=No Data Found=
|
||||
af=whois.nic.af=No Object Found=
|
||||
ag=whois.nic.ag=NOT FOUND=
|
||||
am=whois.amnic.net=o match=
|
||||
as=whois.nic.as=NOT FOUND=
|
||||
at=whois.nic.at=othing found=
|
||||
au=whois.audns.net.au=No Data Found=
|
||||
be=whois.dns.be=AVAILABLE=
|
||||
ai=whois.ai=not registered=
|
||||
ar=whois.nic.ar=dominio no se=
|
||||
aw=whois.nic.aw=is free=
|
||||
ax=whois.ax=Domain not found=
|
||||
//al=whois.ripe.net=No entries found=
|
||||
//az=whois.ripe.net=No entries found=
|
||||
//ba=whois.ripe.net=No entries found=
|
||||
bg=whois.register.bg=does not exist in database=
|
||||
bi=whois1.nic.bi=No Object Found=
|
||||
bingo=whois.donuts.co=Domain not found=
|
||||
bio=whois.ksregistry.net=bject does not exist=
|
||||
biz=whois.nic.biz=ot found=
|
||||
bj=whois.nic.bj=No Object Found=
|
||||
bn=whois.bnnic.bn=Domain Not Found=
|
||||
br=whois.nic.br=o match for=
|
||||
buy=whois.afilias-srs.net=NOT FOUND=
|
||||
buzz=whois.nic.buzz=vailable=
|
||||
bw=whois.nic.net.bw=No Object Found=
|
||||
bz=whois.afilias-grs.info=NOT FOUND=
|
||||
ca=whois.cira.ca=available=
|
||||
cat=whois.nic.cat=o match=
|
||||
cc=ccwhois.verisign-grs.com=No match for=
|
||||
cd=whois.nic.cd=No Object Found=
|
||||
cf=whois.dot.cf=not known=
|
||||
ci=whois.nic.ci=No Object Found=
|
||||
cl=whois.nic.cl=no existe=
|
||||
cm=whois.netcom.cm=Not Registered=
|
||||
cn=whois.cnnic.net.cn=No matching record=
|
||||
co=whois.nic.co=Not found=
|
||||
cool=whois.donuts.co=Domain not found=
|
||||
cr=whois.nic.cr=No entries found=
|
||||
cx=whois.nic.cx=No Object Found=
|
||||
//cy=whois.ripe.net=No entries found=
|
||||
cz=whois.nic.cz=o entries found=
|
||||
de=whois.nic.de=Status: free=
|
||||
dk=whois.dk-hostmaster.dk=o entries found=
|
||||
dm=whois.nic.dm=ot found=
|
||||
do=whois.nic.do=No Object Found=
|
||||
dog=whois.donuts.co=Domain not found=
|
||||
dz=whois.nic.dz=NO OBJECT FOUND=
|
||||
ec=whois.nic.ec=Not Registered=
|
||||
ee=whois.eenet.ee=not found=
|
||||
email=whois.donuts.co=Domain not found=
|
||||
eu=whois.eu=Status: AVAILABLE=
|
||||
fi=whois.fi=ot found=
|
||||
fj=whois.usp.ac.fj=ot found=
|
||||
fm=whois.nic.fm=ot found=
|
||||
fo=whois.nic.fo=No entries found=
|
||||
fr=whois.nic.fr=o entries found=
|
||||
//gb=whois.ripe.net=No entries found=
|
||||
gd=whois.nic.gd=ot found=
|
||||
//ge=whois.ripe.net=No entries found=
|
||||
gg=whois.gg=NOT FOUND=
|
||||
gi=whois2.afilias-grs.net=NOT FOUND=
|
||||
gl=whois.nic.gl=No Object Found=
|
||||
gov=whois.dotgov.gov=o match for=
|
||||
gq=whois.dominio.gq=ot known=
|
||||
gs=whois.nic.gs=No Object Found=
|
||||
gy=whois.registry.gy=No Object Found=
|
||||
hk=whois.hkirc.hk=has not been registered=
|
||||
hm=whois.registry.hm=ot found=
|
||||
hn=whois.nic.hn=No Object Found=
|
||||
host=whois.nic.host=NOT FOUND=
|
||||
hr=whois.dns.hr=o entries found=
|
||||
ht=whois.nic.ht=No Object Found=
|
||||
hu=whois.nic.hu=o match=
|
||||
id=whois.pandi.or.id=NOT FOUND=
|
||||
ie=whois.domainregistry.ie=Not Registered=
|
||||
il=whois.isoc.org.il=o data was found=
|
||||
im=whois.nic.im=ot found=
|
||||
in=whois.inregistry.in=NOT FOUND=
|
||||
info=whois.afilias.info=NOT FOUND=
|
||||
int=whois.iana.org=this server does not have=
|
||||
//io=whois.nic.io=available=
|
||||
iq=whois.cmc.iq=No Object Found=
|
||||
ir=whois.nic.ir=o entries found=
|
||||
is=whois.isnic.is=o entries found=
|
||||
it=whois.nic.it=AVAILABLE=
|
||||
je=whois.je=NOT FOUND=
|
||||
jp=whois.jprs.jp=No match=
|
||||
ke=whois.kenic.or.ke=No Object Found=
|
||||
kg=whois.domain.kg=ot found=
|
||||
ki=whois.nic.ki=No Object Found=
|
||||
kn=whois.nic.kn=No Object Found=
|
||||
kr=whois.kr=ot found=
|
||||
ky=whois.kyregistry.ky=vailable=
|
||||
kz=whois.nic.kz=othing found=
|
||||
la=whois.nic.la=DOMAIN NOT FOUND=
|
||||
lc=whois2.afilias-grs.net=NOT FOUND=
|
||||
//li=whois.nic.li=not have an entry=
|
||||
lt=whois.domreg.lt=available=
|
||||
lu=whois.dns.lu=o such domain=
|
||||
lv=whois.nic.lv= free=
|
||||
ly=whois.nic.ly=Not found=
|
||||
ma=whois.iam.net.ma=No Object Found=
|
||||
md=whois.nic.md=No match for=
|
||||
me=whois.nic.me=NOT FOUND=
|
||||
mg=whois.nic.mg=No Object Found=
|
||||
mk=whois.marnet.mk=No entries found=
|
||||
ml=whois.dot.ml=ot known=
|
||||
//mm=whois.nic.mm=No domains matched=
|
||||
mn=whois.nic.mn=NOT FOUND=
|
||||
mo=whois.monic.mo=o match for=
|
||||
mobi=whois.afilias.net=NOT FOUND=
|
||||
moe=whois.nic.moe=available=
|
||||
mom=whois.uniregistry.net=available=
|
||||
ms=whois.nic.ms=No Object Found=
|
||||
mu=whois.nic.mu=No Object Found=
|
||||
mx=whois.mx=Object_Not_Found=
|
||||
//my=whois.mynic.net.my=does not exist=
|
||||
mz=whois.nic.mz=No Object Found=
|
||||
na=whois.na-nic.com.na=No Object Found=
|
||||
name=whois.nic.name=o match=
|
||||
nc=whois.nc=o entries found=
|
||||
nf=whois.nic.nf=No Object Found=
|
||||
ng=whois.nic.net.ng=No Object Found=
|
||||
nl=whois.domain-registry.nl=is free=
|
||||
no=whois.norid.no=o match=
|
||||
nu=whois.nic.nu=ot found=
|
||||
nz=whois.srs.net.nz=220 Available=
|
||||
co.nz=whois.srs.net.nz=220 Available=
|
||||
om=whois.registry.om=No Data Found=
|
||||
one=whois.nic.one=No Data Found=
|
||||
ooo=whois.nic.ooo=o match for=
|
||||
org=whois.publicinterestregistry.net=NOT FOUND=
|
||||
ovh=whois-ovh.nic.fr=bject does not exist=
|
||||
pe=kero.yachay.pe=No Object Found=
|
||||
pet=whois.afilias.net=NOT FOUND=
|
||||
pf=whois.registry.pf=Domain unknown=
|
||||
pl=whois.dns.pl=No information available=
|
||||
pm=whois.nic.pm=o entries found=
|
||||
pr=whois.nic.pr=is not registered=
|
||||
pro=whois.registrypro.pro=NOT FOUND=
|
||||
ps=whois.pnina.ps=No Object Found=
|
||||
pt=whois.dns.pt=o match=
|
||||
pub=whois.unitedtld.com=ot found=
|
||||
pw=whois.nic.pw=DOMAIN NOT FOUND=
|
||||
qa=whois.registry.qa=No Data Found=
|
||||
re=whois.nic.re=o entries found=
|
||||
ro=whois.rotld.ro=o entries found=
|
||||
rs=whois.rnids.rs=is not registered=
|
||||
ru=whois.tcinet.ru=No entries found=
|
||||
rw=whois.ricta.org.rw=No Object Found=
|
||||
sa=whois.nic.net.sa=No Match=
|
||||
sb=whois.nic.net.sb=No Object Found=
|
||||
com.sb=whois.nic.net.sb=No Object Found=
|
||||
//sc=whois.afilias-grs.net=ot found=
|
||||
se=whois.nic.se=ot found=
|
||||
sg=whois.nic.net.sg=Not Found=
|
||||
com.sg=whois.nic.net.sg=Not Found=
|
||||
//sh=whois.nic.sh=is available for purchase=
|
||||
si=whois.arnes.si=o entries found=
|
||||
site=whois.centralnic.com=NOT FOUND=
|
||||
sk=whois.sk-nic.sk=ot found=
|
||||
sl=whois.nic.sl=No Object Found=
|
||||
sm=whois.nic.sm=No entries found=
|
||||
sn=whois.nic.sn=NOT FOUND=
|
||||
so=whois.nic.so=ot found=
|
||||
st=whois.nic.st=o entries found=
|
||||
su=whois.tcinet.ru=No entries found=
|
||||
sx=whois.sx=o match for=
|
||||
//sy=whois.tld.sy=No Object Found=
|
||||
tc=whois.nic.tc=No Object Found=
|
||||
tel=whois.nic.tel=No Domain=
|
||||
tf=whois.nic.tf=o entries found=
|
||||
tg=whois.nic.tg=NO OBJECT FOUND=
|
||||
th=whois.thnic.co.th=o match for=
|
||||
tk=whois.dot.tk=ot known=
|
||||
tl=whois.nic.tl=No Object Found=
|
||||
tm=whois.nic.tm=is available=
|
||||
tn=whois.ati.tn=NO OBJECT FOUND=
|
||||
to=whois.tonic.to=o match for=
|
||||
top=whois.nic.top=bject does not exist=
|
||||
tr=whois.nic.tr=Invalid input=
|
||||
tv=tvwhois.verisign-grs.com=o match for=
|
||||
tw=whois.twnic.net.tw=No Found=
|
||||
tz=whois.tznic.or.tz=No entries found=
|
||||
ua=whois.ua=o entries found=
|
||||
ug=whois.co.ug=o entries found=
|
||||
uk=whois.nic.uk=No match=
|
||||
co.uk=whois.nic.uk=No match=
|
||||
us=whois.nic.us=ot found=
|
||||
uy=whois.nic.org.uy=o match for=
|
||||
uz=whois.cctld.uz=ot found=
|
||||
vc=whois2.afilias-grs.net=NOT FOUND=
|
||||
ve=whois.nic.ve=o match for=
|
||||
vg=whois.nic.vg=ot found=
|
||||
vip=whois.nic.vip=has not been registered=
|
||||
vu=vunic.vu=is not valid=
|
||||
wang=whois.gtld.knet.cn=bject does not exist=
|
||||
wf=whois.nic.wf=o entries found=
|
||||
wiki=whois.nic.wiki=NOT FOUND=
|
||||
win=whois.nic.win=vailable=
|
||||
ws=whois.name.com=NO DOMAIN=
|
||||
xin=whois.nic.xin=NOT FOUND=
|
||||
xyz=whois.nic.xyz=NOT FOUND=
|
||||
yt=whois.nic.yt=o entries found=
|
||||
zm=whois.nic.zm=No Object Found=
|
141
domain_check.py
Normal file
141
domain_check.py
Normal file
@ -0,0 +1,141 @@
|
||||
import os
|
||||
import socket
|
||||
import sys
|
||||
import concurrent.futures
|
||||
import time
|
||||
import random
|
||||
|
||||
|
||||
def domain_megabot(domain, no_match_pattern, whois_server):
|
||||
retry_count = 0
|
||||
while True:
|
||||
response = whois_query(whois_server, domain)
|
||||
if response:
|
||||
if no_match_pattern in response:
|
||||
print(f"{domain} AVAILABLE FOR REGISTRATION!")
|
||||
with open("domain.txt", "a") as f:
|
||||
f.write(f"{domain}\n")
|
||||
else:
|
||||
print(f"{domain} NOT AVAILABLE.")
|
||||
# Add random delay to avoid triggering rate limits
|
||||
time.sleep(random.uniform(1, 5))
|
||||
break
|
||||
else:
|
||||
retry_count += 1
|
||||
sleep_time = min(60, 2**retry_count + random.uniform(0, 1))
|
||||
print(f"Retrying query for {domain} in {sleep_time:.2f} seconds...")
|
||||
time.sleep(sleep_time)
|
||||
|
||||
|
||||
def whois_query(server, query):
|
||||
ip = hostname_to_ip(server)
|
||||
if not ip:
|
||||
print("FAILED TO RESOLVE HOSTNAME")
|
||||
return ""
|
||||
|
||||
try:
|
||||
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
|
||||
s.settimeout(10)
|
||||
s.connect((ip, 43))
|
||||
s.sendall(f"{query}\r\n".encode())
|
||||
response = b""
|
||||
while True:
|
||||
data = s.recv(4096)
|
||||
if not data:
|
||||
break
|
||||
response += data
|
||||
return response.decode()
|
||||
except socket.error as err:
|
||||
print(f"Error during WHOIS query: {err}")
|
||||
return None
|
||||
|
||||
|
||||
def hostname_to_ip(hostname):
|
||||
try:
|
||||
return socket.gethostbyname(hostname)
|
||||
except socket.error as err:
|
||||
print(f"Error resolving hostname: {err}")
|
||||
return None
|
||||
|
||||
|
||||
def str_split(s, delimiter):
|
||||
return s.split(delimiter)
|
||||
|
||||
|
||||
def str_conn(s1, s2):
|
||||
return f"{s1}{s2}"
|
||||
|
||||
|
||||
def main():
|
||||
# Automatically read TLDs from the TLD_DATA file in the current directory
|
||||
try:
|
||||
with open("TLD_DATA", "r") as fp:
|
||||
tld_data = fp.readlines()
|
||||
except FileNotFoundError:
|
||||
print("TLD DATABASE NOT FOUND!")
|
||||
sys.exit(1)
|
||||
|
||||
# Automatically read domain extensions (TLDs) from the DOMAINS file
|
||||
try:
|
||||
with open("DOMAINS", "r") as fp:
|
||||
exts = [line.strip() for line in fp.readlines() if line.strip()]
|
||||
except FileNotFoundError:
|
||||
print("DOMAINS FILE NOT FOUND!")
|
||||
sys.exit(1)
|
||||
|
||||
# Load TLD information
|
||||
tld_info = {}
|
||||
for line in tld_data:
|
||||
arr = str_split(line.strip(), "=")
|
||||
if arr[0] in exts:
|
||||
tld_info[arr[0]] = {
|
||||
"whois_server": arr[1],
|
||||
"no_match_pattern": arr[2],
|
||||
}
|
||||
|
||||
if not tld_info:
|
||||
print("NO VALID TLDs FOUND IN DOMAINS FILE!")
|
||||
sys.exit(2)
|
||||
|
||||
# Automatically read the dictionary from the DICT file
|
||||
try:
|
||||
with open("DICT", "r") as fp_dict:
|
||||
dictionary = fp_dict.readlines()
|
||||
except FileNotFoundError:
|
||||
print("DICTIONARY FILE NOT FOUND!")
|
||||
sys.exit(3)
|
||||
|
||||
with open("domain.txt", "w") as fp_result:
|
||||
fp_result.write(
|
||||
"AVAILABLE DOMAIN NAME LIST:\n" "---------------------------------\n"
|
||||
)
|
||||
|
||||
# Prepare domain names to check
|
||||
domains = []
|
||||
for line in dictionary:
|
||||
domain_prefix = line.strip()
|
||||
if domain_prefix:
|
||||
for ext in exts:
|
||||
domain = str_conn(str_conn(domain_prefix, "."), ext)
|
||||
domains.append(
|
||||
(
|
||||
domain,
|
||||
tld_info[ext]["no_match_pattern"],
|
||||
tld_info[ext]["whois_server"],
|
||||
)
|
||||
)
|
||||
|
||||
# Use a thread pool to check multiple domains concurrently
|
||||
with concurrent.futures.ThreadPoolExecutor(max_workers=5) as executor:
|
||||
futures = [
|
||||
executor.submit(domain_megabot, domain, pattern, server)
|
||||
for domain, pattern, server in domains
|
||||
]
|
||||
for future in concurrent.futures.as_completed(futures):
|
||||
future.result() # Handle any exceptions in threads
|
||||
|
||||
print("TASK FINISHED! RESULTS SAVED TO domain.txt")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Reference in New Issue
Block a user