-
Notifications
You must be signed in to change notification settings - Fork 0
/
PyFunceble.yaml
294 lines (282 loc) · 8.67 KB
/
PyFunceble.yaml
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
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
# Enable / disable the adblock format decoding.
adblock: False
# Enable / disable a more aggresive decoding of the adblock format (WARNING: This is experimental)
aggressive: False
# Enable / disable the auto continue system.
auto_continue: True
# Set the command to run before each commit (except the final one).
command: ""
# Set the command to run before the final commit.
command_before_end: ""
# Set the number of seconds to wait between each test.
cooldown_time: null
# Set the custom IP to use when we generate a line in the hosts file format.
custom_ip: "0.0.0.0"
# Set the number of day(s) a subject has to stay in the inactive database before being cleaned.
days_between_inactive_db_clean: 28
# Set the number of day(s) between each retest of the INACTIVE and INVALID elements which are present into inactive_db.json
days_between_db_retest: 1
# Set the db type to use.
db_type: json
# Enable / disable the generation of debug file(s).
debug: False
# Enable / disable the DNS Lookup through the TCP protocol.
dns_lookup_over_tcp: False
# Set the DNS server to use. If None is given we use the one given by the OS.
# Note:
# The following format is expected if you want to give custom dns server.
#
# dns_server:
# - "8.8.8.8" # First DNS server.
# - "8.8.4.4" # Second DNS server.
dns_server: null
# Set the element to filter.
filter: ""
# Enable / disable the generation of complements.
generate_complements: False
# Enable / disable the generation of the hosts file(s).
generate_hosts: False
# Enable / Disable the generation of a JSON format for the output
generate_json: False
# Say to the system if the header has been already printed or not.
header_printed: False
# Tell to the system to use the historical sorting instead of the alphabetical sorting.
hierarchical_sorting: False
# Set the server to call to get the whois referer of a given element.
iana_whois_server: whois.iana.org
# Tell to the system to convert all domain to IDNA if possible.
idna_conversion: False
# Enable / Disable the usage of a database to store the INACTIVE and INVALID domain to retest overtime.
inactive_database: False
# Enable / Disable the output of every information of screen.
less: True
# Enable / Disable the test in local network.
local: False
# Enable / Disable the output of every logs.
logs: True
# Set the maximal number of simultaneous processes to run.
maximal_processes: 25
# Enable / Disable the URL/domain mining.
mining: False
# Enable / Disable the usage of multiple processes.
multiprocess: True
# Set the merging mode. Available: end, live
multiprocess_merging_mode: end
# Enable / Disable the generation of any file(s).
no_files: True
# Enable / Disable the usage of the SPECIAL rule(s).
no_special: True
# Enable / Disable the usage of whois in the tests.
no_whois: True
# Enable / Disable the generation of the plain list of element sorted by statuses.
plain_list_domain: False
# Enable / Disable the printing of dots in the output.
print_dots: False
# Enable / Disable the generation of output on screen.
quiet: False
# Enable/Disable the usage of the reputation data.
use_reputation_data: False
# Enable/Disable the reputation checking mode.
# In this mode we only check against the reputation.
reputation: False
# Enable/Disable the support of RPZ policies.
rpz: False
# Enable / Disable the usage and generation of a shadow file before a file
# test starts.
shadow_file: False
# Enable / disable the logs sharing.
share_logs: False
# Enable / disable the output of the execution time.
show_execution_time: False
# Enable / disable the output of the percentage of each statuses.
show_percentage: False
# Enable / disable the simple output mode.
simple: False
# Enable / disable the split of the results files.
split: False
# Enable / disable the storage of the whole WHOIS record.
store_whois_record: False
# Enable / disable the syntax checking mode.
# In this mode we do not check for the availability. It's just syntax check.
syntax: False
# Set the timeout to apply when a timeout can be set.
timeout: 1
# Enable / disable the CI autosave system.
ci: False
# Set the default commit message we have to use when have to save but we did not finished the test.
ci_autosave_commit: "PyFunceble - AutoSave"
# Set the default final commit message we have to usve when have to save and we finished the test.
ci_autosave_final_commit: "PyFunceble - Results"
# Set the minimum of minutes we have to run before to automatically save our test results.
ci_autosave_minutes: 15
# Set the git branch where we are going to work from.
ci_branch: master
# Set the destination branch. The destination branch is the branch which will merge the travis_branch at the very end.
# So for example:
# We have a `dev` branch which can be used as processing branch.
# We have a `master` branch (our distribution branch) which is used to distribute the results.
ci_distribution_branch: master
# Activate/Deactivate the generation of unified files for the results logs.
unified: False
# Set the default user agent use when requesting the HTTP code.
user_agent:
browser: chrome
platform: linux
custom: null
# Enable / disable the verification of the certificate when testing for URL.
verify_ssl_certificate: False
# Enable / disable the usage of a database to store the hash of the whois record
whois_database: False
# Enable / Disable the detection and test of wildcard subjects.
wildcard: False
outputs:
default_files:
dir_structure: dir_structure.json
iana: iana-domains-db.json
inactive_db: inactive_db.json
results: results.txt
public_suffix: public-suffix.json
mining: mining.json
whois_db: whois_db.json
domains:
directory: domains
filename: list
hosts:
directory: hosts
filename: hosts
ip_filename: ips
json:
directory: json
filename: dump.json
analytic:
directories:
parent: Analytic
potentially_down: POTENTIALLY_INACTIVE
potentially_up: POTENTIALLY_ACTIVE
up: ACTIVE
suspicious: SUSPICIOUS
filenames:
potentially_down: down_or_potentially_down
potentially_up: potentially_up
up: active_and_merged_in_results
suspicious: suspicious_and_merged_in_results
complements:
directory: complements
logs:
directories:
parent: logs
percentage: percentage
filenames:
auto_continue: continue.json
execution_time: execution_time.json
percentage: percentage.txt
whois: whois.json
date_format: date_format.json
no_referer: no_referer.json
# This is the main directory which we call output/ in all our communication.
parent_directory: output/
splited:
directory: splited
status:
list:
valid:
- valid
- syntax_valid
- valid_syntax
up:
- up
- active
generic:
- generic
http_active:
- http_active
down:
- down
- inactive
- error
invalid:
- ouch
- invalid
potentially_down:
- potentially_down
- potentially_inactive
potentially_up:
- potentially_up
- potentially_active
suspicious:
- strange
- suspicious
- hum
malicious:
- malicious
- bad_actor
sane:
- sane
- safe
not_malicious:
official:
up: ACTIVE
down: INACTIVE
invalid: INVALID
valid: VALID
malicious: MALICIOUS
sane: SANE
http_codes:
active: True
not_found_default: "XXX"
list:
up:
- 100
- 101
- 200
- 201
- 202
- 203
- 204
- 205
- 206
potentially_down:
- 400
- 402
- 403
- 404
- 409
- 410
- 412
- 414
- 415
- 416
potentially_up:
- 000
- 300
- 301
- 302
- 303
- 304
- 305
- 307
- 403
- 405
- 406
- 407
- 408
- 411
- 413
- 417
- 500
- 501
- 502
- 503
- 504
- 505
links:
api_date_format: "https://pyfunceble.funilrys.com/api/date-format"
api_no_referer: "https://pyfunceble.funilrys.com/api/no-referer"
config: "https://raw.githubusercontent.com/funilrys/PyFunceble/master/.PyFunceble_production.yaml"
dir_structure: "https://raw.githubusercontent.com/funilrys/PyFunceble/master/dir_structure_production.json"
iana: "https://raw.githubusercontent.com/PyFunceble/iana/master/iana-domains-db.json"
ipv4_reputation: "https://reputation.alienvault.com/reputation.data"
psl: "https://raw.githubusercontent.com/PyFunceble/public-suffix/master/public-suffix.json"
repo: "https://github.com/funilrys/PyFunceble"
requirements: "https://raw.githubusercontent.com/funilrys/PyFunceble/master/requirements.txt"
user_agents: "https://raw.githubusercontent.com/PyFunceble/user_agents/master/user_agents.json"