summaryrefslogtreecommitdiff
path: root/python-domain-validation.spec
blob: a5401409edb2ff5c54de9fdabea319e3a57c128b (plain)
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
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
%global _empty_manifest_terminate_build 0
Name:		python-domain-validation
Version:	1.6.4
Release:	1
Summary:	whois client for parsing domain creation date and registrar
License:	MIT License
URL:		https://github.com/ElliotVilhelm/python-domain-validation
Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/7b/88/ef2ea3785c76a9b504a8d0294707442f1cc52b09041ec345686d7a4877f1/domain_validation-1.6.4.tar.gz
BuildArch:	noarch


%description
[![Build Status](https://travis-ci.org/ElliotVilhelm/python-domain-validation.svg?branch=master)](https://travis-ci.org/ElliotVilhelm/python-domain-validation)
## WHOIS Client and Domain Creation Date Parser
![spam](assets/hacker.png)

This is a simple `WHOIS` domain registry client focused around parsing a domain's `Creation Date` and `Registrar` from `WHOIS` domain records.
This package is geared towards preventing fraud and abuse. The age of a domain has many applications in __abuse prevention__ and __fraud detection__.
Spammers often register on sites using newly created domains. Being able to quickly identify the age of a domain has 
numerous applications in fighting fraudulent activity. Similarly, the Registrar name of a domain can be very useful in fighting fraud by
allowing an organization to implement blacklisting functionality of known fraudulent `Registrars`.

This package maintains a list of domain extension to `WHOIS` server mappings. Using these servers and a 
rule based parsing schema this package will provide you with the domain creation date of nearly any website.

#### Background
The motivation behind this package was that many of the `WHOIS` clients available spawning child processes calling 
the [Debian WHOIS package](https://github.com/rfc1036/WHOIS). 
This is a security vulnerability when working at an enterprise level.
 Suppose a spammer decides to register with an email address such as, `elliot@;rm -rf /*` testing a domain such as 
 `rm -rf /*` with a Unix child process can allow a hacker to delete your entire system or *worse*.

By using a direct socket connection to the proper WHOIS server based on the domain extension this package is able to
achieve greater security than other available clients.  

This package does not rely on `WHOIS.iana.org` redirection as many other WHOIS packages do. 
Rather, this package maintains a direct mapping of domain extensions to servers allowing you to query for `domain creation age` through a single request.
This is a major improvement of runtime in relation to other WHOIS packages. 

#### Installation
###### Python 2.x
`pip install domain_validation`
###### Python 3.x
`pip3 install domain_validation`

![pypi](assets/pypi.svg)

#### Usage
The expected use case is for finding the creation date of a domain:
```python
from domain_validation.whois import WHOIS

whois = WHOIS("google.com")
assert str(whois.creation_date()) == "1997-09-15"
assert whois.registrar() == "MarkMonitor Inc."

whois = WHOIS("yo.cn")
assert str(whois.creation_date()) == '2003-03-17'
assert whois.registrar() == '浙江贰贰网络有限公司'
```

#### Notes
##### What makes this different from other WHOIS clients?
This engine does not rely on `WHOIS.iana.org` server redirect, rather it maintains it's own domain extension to server
mapping which makes query time faster. Furthermore, it does not rely on the the Debian WHOIS package, meaning it will not
spawn a child process and use the Debian Package like [other packages](https://code.google.com/archive/p/python-WHOIS/). 
Rather it uses a direct socket connection to the exact WHOIS server for the given domain extension making it __secure__ and __fast__.

##### Why would I use this?
Perhaps you are a small business or an enterprise organization facing fraudulent activity through spammy account sign-ups.
One signal representing the validity of an email domain is the age of the domain. This package will allow you to query for the
age of nearly any domain from and domain extension, securely and rapidly within the safety of a Python environment (no child proccess).
Furthermore, if you are using a rule based fraud system, this package provides you with `Registrar` information allowing you to maintain a
blacklist of Registrars which you have found to be fraudulent.




%package -n python3-domain-validation
Summary:	whois client for parsing domain creation date and registrar
Provides:	python-domain-validation
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-domain-validation
[![Build Status](https://travis-ci.org/ElliotVilhelm/python-domain-validation.svg?branch=master)](https://travis-ci.org/ElliotVilhelm/python-domain-validation)
## WHOIS Client and Domain Creation Date Parser
![spam](assets/hacker.png)

This is a simple `WHOIS` domain registry client focused around parsing a domain's `Creation Date` and `Registrar` from `WHOIS` domain records.
This package is geared towards preventing fraud and abuse. The age of a domain has many applications in __abuse prevention__ and __fraud detection__.
Spammers often register on sites using newly created domains. Being able to quickly identify the age of a domain has 
numerous applications in fighting fraudulent activity. Similarly, the Registrar name of a domain can be very useful in fighting fraud by
allowing an organization to implement blacklisting functionality of known fraudulent `Registrars`.

This package maintains a list of domain extension to `WHOIS` server mappings. Using these servers and a 
rule based parsing schema this package will provide you with the domain creation date of nearly any website.

#### Background
The motivation behind this package was that many of the `WHOIS` clients available spawning child processes calling 
the [Debian WHOIS package](https://github.com/rfc1036/WHOIS). 
This is a security vulnerability when working at an enterprise level.
 Suppose a spammer decides to register with an email address such as, `elliot@;rm -rf /*` testing a domain such as 
 `rm -rf /*` with a Unix child process can allow a hacker to delete your entire system or *worse*.

By using a direct socket connection to the proper WHOIS server based on the domain extension this package is able to
achieve greater security than other available clients.  

This package does not rely on `WHOIS.iana.org` redirection as many other WHOIS packages do. 
Rather, this package maintains a direct mapping of domain extensions to servers allowing you to query for `domain creation age` through a single request.
This is a major improvement of runtime in relation to other WHOIS packages. 

#### Installation
###### Python 2.x
`pip install domain_validation`
###### Python 3.x
`pip3 install domain_validation`

![pypi](assets/pypi.svg)

#### Usage
The expected use case is for finding the creation date of a domain:
```python
from domain_validation.whois import WHOIS

whois = WHOIS("google.com")
assert str(whois.creation_date()) == "1997-09-15"
assert whois.registrar() == "MarkMonitor Inc."

whois = WHOIS("yo.cn")
assert str(whois.creation_date()) == '2003-03-17'
assert whois.registrar() == '浙江贰贰网络有限公司'
```

#### Notes
##### What makes this different from other WHOIS clients?
This engine does not rely on `WHOIS.iana.org` server redirect, rather it maintains it's own domain extension to server
mapping which makes query time faster. Furthermore, it does not rely on the the Debian WHOIS package, meaning it will not
spawn a child process and use the Debian Package like [other packages](https://code.google.com/archive/p/python-WHOIS/). 
Rather it uses a direct socket connection to the exact WHOIS server for the given domain extension making it __secure__ and __fast__.

##### Why would I use this?
Perhaps you are a small business or an enterprise organization facing fraudulent activity through spammy account sign-ups.
One signal representing the validity of an email domain is the age of the domain. This package will allow you to query for the
age of nearly any domain from and domain extension, securely and rapidly within the safety of a Python environment (no child proccess).
Furthermore, if you are using a rule based fraud system, this package provides you with `Registrar` information allowing you to maintain a
blacklist of Registrars which you have found to be fraudulent.




%package help
Summary:	Development documents and examples for domain-validation
Provides:	python3-domain-validation-doc
%description help
[![Build Status](https://travis-ci.org/ElliotVilhelm/python-domain-validation.svg?branch=master)](https://travis-ci.org/ElliotVilhelm/python-domain-validation)
## WHOIS Client and Domain Creation Date Parser
![spam](assets/hacker.png)

This is a simple `WHOIS` domain registry client focused around parsing a domain's `Creation Date` and `Registrar` from `WHOIS` domain records.
This package is geared towards preventing fraud and abuse. The age of a domain has many applications in __abuse prevention__ and __fraud detection__.
Spammers often register on sites using newly created domains. Being able to quickly identify the age of a domain has 
numerous applications in fighting fraudulent activity. Similarly, the Registrar name of a domain can be very useful in fighting fraud by
allowing an organization to implement blacklisting functionality of known fraudulent `Registrars`.

This package maintains a list of domain extension to `WHOIS` server mappings. Using these servers and a 
rule based parsing schema this package will provide you with the domain creation date of nearly any website.

#### Background
The motivation behind this package was that many of the `WHOIS` clients available spawning child processes calling 
the [Debian WHOIS package](https://github.com/rfc1036/WHOIS). 
This is a security vulnerability when working at an enterprise level.
 Suppose a spammer decides to register with an email address such as, `elliot@;rm -rf /*` testing a domain such as 
 `rm -rf /*` with a Unix child process can allow a hacker to delete your entire system or *worse*.

By using a direct socket connection to the proper WHOIS server based on the domain extension this package is able to
achieve greater security than other available clients.  

This package does not rely on `WHOIS.iana.org` redirection as many other WHOIS packages do. 
Rather, this package maintains a direct mapping of domain extensions to servers allowing you to query for `domain creation age` through a single request.
This is a major improvement of runtime in relation to other WHOIS packages. 

#### Installation
###### Python 2.x
`pip install domain_validation`
###### Python 3.x
`pip3 install domain_validation`

![pypi](assets/pypi.svg)

#### Usage
The expected use case is for finding the creation date of a domain:
```python
from domain_validation.whois import WHOIS

whois = WHOIS("google.com")
assert str(whois.creation_date()) == "1997-09-15"
assert whois.registrar() == "MarkMonitor Inc."

whois = WHOIS("yo.cn")
assert str(whois.creation_date()) == '2003-03-17'
assert whois.registrar() == '浙江贰贰网络有限公司'
```

#### Notes
##### What makes this different from other WHOIS clients?
This engine does not rely on `WHOIS.iana.org` server redirect, rather it maintains it's own domain extension to server
mapping which makes query time faster. Furthermore, it does not rely on the the Debian WHOIS package, meaning it will not
spawn a child process and use the Debian Package like [other packages](https://code.google.com/archive/p/python-WHOIS/). 
Rather it uses a direct socket connection to the exact WHOIS server for the given domain extension making it __secure__ and __fast__.

##### Why would I use this?
Perhaps you are a small business or an enterprise organization facing fraudulent activity through spammy account sign-ups.
One signal representing the validity of an email domain is the age of the domain. This package will allow you to query for the
age of nearly any domain from and domain extension, securely and rapidly within the safety of a Python environment (no child proccess).
Furthermore, if you are using a rule based fraud system, this package provides you with `Registrar` information allowing you to maintain a
blacklist of Registrars which you have found to be fraudulent.




%prep
%autosetup -n domain-validation-1.6.4

%build
%py3_build

%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
	find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
	find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
	find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
	find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
	find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .

%files -n python3-domain-validation -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 1.6.4-1
- Package Spec generated