• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

funilrys / PyFunceble / 5109997145

pending completion
5109997145

push

github-actions

funilrys
Merge remote-tracking branch 'origin/dev' into mtest

296 of 461 new or added lines in 39 files covered. (64.21%)

11297 of 11853 relevant lines covered (95.31%)

11.42 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

69.23
/PyFunceble/checker/availability/extras/etoxic.py
1
"""
2
The tool to check the availability or syntax of domain, IP or URL.
3

4
::
5

6

7
    ██████╗ ██╗   ██╗███████╗██╗   ██╗███╗   ██╗ ██████╗███████╗██████╗ ██╗     ███████╗
8
    ██╔══██╗╚██╗ ██╔╝██╔════╝██║   ██║████╗  ██║██╔════╝██╔════╝██╔══██╗██║     ██╔════╝
9
    ██████╔╝ ╚████╔╝ █████╗  ██║   ██║██╔██╗ ██║██║     █████╗  ██████╔╝██║     █████╗
10
    ██╔═══╝   ╚██╔╝  ██╔══╝  ██║   ██║██║╚██╗██║██║     ██╔══╝  ██╔══██╗██║     ██╔══╝
11
    ██║        ██║   ██║     ╚██████╔╝██║ ╚████║╚██████╗███████╗██████╔╝███████╗███████╗
12
    ╚═╝        ╚═╝   ╚═╝      ╚═════╝ ╚═╝  ╚═══╝ ╚═════╝╚══════╝╚═════╝ ╚══════╝╚══════╝
13

14
Provides the extra rules handler for the etoxic infrastructure.
15

16
Author:
17
    Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
18

19
Special thanks:
20
    https://pyfunceble.github.io/#/special-thanks
21

22
Contributors:
23
    https://pyfunceble.github.io/#/contributors
24

25
Project link:
26
    https://github.com/funilrys/PyFunceble
27

28
Project documentation:
29
    https://pyfunceble.readthedocs.io/en/dev/
30

31
Project homepage:
32
    https://pyfunceble.github.io/
33

34
License:
35
::
36

37

38
    Copyright 2017, 2018, 2019, 2020, 2022, 2023 Nissar Chababy
39

40
    Licensed under the Apache License, Version 2.0 (the "License");
41
    you may not use this file except in compliance with the License.
42
    You may obtain a copy of the License at
43

44
        http://www.apache.org/licenses/LICENSE-2.0
45

46
    Unless required by applicable law or agreed to in writing, software
47
    distributed under the License is distributed on an "AS IS" BASIS,
48
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
49
    See the License for the specific language governing permissions and
50
    limitations under the License.
51
"""
52

53
import PyFunceble.factory
12✔
54
import PyFunceble.storage
12✔
55
from PyFunceble.checker.availability.extras.base import ExtraRuleHandlerBase
12✔
56

57

58
class EToxicHandler(ExtraRuleHandlerBase):
12✔
59
    """
60
    Provides our very own rulesets for the etoxic infrastructure.
61

62
    :param status:
63
        The previously gathered status.
64
    :type status:
65
        :class:`~PyFunceble.checker.availability.status.AvailabilityCheckerStatus`
66
    """
67

68
    MATCHES = [
12✔
69
        ".0wn0.com",
70
        ".123.st",
71
        ".1forum.biz",
72
        ".1fr1.net",
73
        ".1talk.net",
74
        ".30yearsstillyoung.com",
75
        ".3oloum.com",
76
        ".3rab.pro",
77
        ".4umer.com",
78
        ".5turbo.org",
79
        ".666forum.com",
80
        ".7olm.org",
81
        ".ace.st",
82
        ".actieforum.com",
83
        ".actifforum.com",
84
        ".aforumfree.com",
85
        ".africamotion.net",
86
        ".ahladalil.com",
87
        ".ahlamontada.com",
88
        ".ahlamontada.net",
89
        ".ahlamountada.com",
90
        ".airesdelibertad.com",
91
        ".alanoblebouffarde.com",
92
        ".aldeiarpg.com",
93
        ".all-up.com",
94
        ".ambiance-varadero.com",
95
        ".amoticos.org",
96
        ".arabepro.com",
97
        ".archeryonline.net",
98
        ".argyletd.com",
99
        ".artes-ana.com",
100
        ".audittpassion.com",
101
        ".avenir-vsp.com",
102
        ".bachandbachettefans.net",
103
        ".banouta.net",
104
        ".bbactif.com",
105
        ".beagle-attitude.com",
106
        ".benimforum.net",
107
        ".black-librarium.com",
108
        ".boxster-cayman.com",
109
        ".briefmarken-forum.com",
110
        ".bromptonforum.net",
111
        ".caferacerclub.org",
112
        ".camperfree.com",
113
        ".canadaboard.net",
114
        ".canadian-forum.com",
115
        ".cantal-leforum.com",
116
        ".casatridente.com",
117
        ".catsboard.com",
118
        ".cdnmilitarycollectors.com",
119
        ".chemin-de-memoire-parachutistes.org",
120
        ".clooneysopenhouse.com",
121
        ".club-bajaj.com",
122
        ".clubcb500x.com",
123
        ".clubgtipowers.com",
124
        ".clubtrackerarg.com",
125
        ".contrabaixobr.com",
126
        ".corvettepassion.com",
127
        ".coxengineforum.com",
128
        ".cro-wood.com",
129
        ".dan-moc.net",
130
        ".darkbb.com",
131
        ".deco-moderne-fr.com",
132
        ".desforums.net",
133
        ".detenteaujardin.com",
134
        ".discustoutsimplement.com",
135
        ".e30passion.com",
136
        ".easyforumpro.com",
137
        ".editboard.com",
138
        ".enbicielectrica.com",
139
        ".entreelles.org",
140
        ".exprimetoi.net",
141
        ".fcmulhousefans.com",
142
        ".filthy-secret.com",
143
        ".fmsp.net",
144
        ".focusrstteam.com",
145
        ".ford100e.org",
146
        ".foroactivo.com",
147
        ".foroactivo.com.es",
148
        ".forseps.org",
149
        ".forum-jardins.com",
150
        ".forum-zafira.com",
151
        ".forum2jeux.com",
152
        ".forumactif.com",
153
        ".forumactif.fr",
154
        ".forumactif.org",
155
        ".forumalgerie.net",
156
        ".forumattivo.it",
157
        ".forumbrasil.net",
158
        ".forumegypt.net",
159
        ".forumeiros.com",
160
        ".forumeiros.net",
161
        ".forumgamers.net",
162
        ".forumgaming.fr",
163
        ".forumgratuit.be",
164
        ".forumgratuit.ch",
165
        ".forumgratuit.org",
166
        ".forumgratuit.ro",
167
        ".forumgreek.com",
168
        ".forumgsr750.com",
169
        ".forumlaguna3.com",
170
        ".forumlumix.com",
171
        ".forumotion.com",
172
        ".forumotion.net",
173
        ".forumperso.com",
174
        ".forumpro.fr",
175
        ".forums-actifs.com",
176
        ".forumshiba.com",
177
        ".forumvi.com",
178
        ".fra.co",
179
        ".fritzbox-forum.com",
180
        ".fxsforexsrbijaforum.com",
181
        ".galoppourlavie.org",
182
        ".gid3an.com",
183
        ".giocattolivintage.com",
184
        ".glory-box-forum.com",
185
        ".goldwingpartage.com",
186
        ".goodforum.net",
187
        ".grisoghetto.com",
188
        ".gunetwork.org",
189
        ".hareketforum.net",
190
        ".hifi4sale.net",
191
        ".hooxs.com",
192
        ".i-love-harvard.com",
193
        ".iftopic.com",
194
        ".imperialgunneryforum.com",
195
        ".jeun.fr",
196
        ".jordanforum.net",
197
        ".just-married-rpg.com",
198
        ".kanak.fr",
199
        ".kawasaki-customs-forum.com",
200
        ".keuf.net",
201
        ".la-taverne-des-aventuriers.com",
202
        ".le-medaillon.org",
203
        ".le-site-de-la-citroen-xm.com",
204
        ".lebonforum.com",
205
        ".leforumlafigurine.com",
206
        ".legion-etrangere-munch.com",
207
        ".lemondedudiagauto.com",
208
        ".letrasyalgomas.com",
209
        ".levriers-forever.com",
210
        ".lights-camera-action.org",
211
        ".longluntan.com",
212
        ".magic-tarot58.com",
213
        ".mam9.com",
214
        ".manager-fifa.com",
215
        ".marvelscustoms.net",
216
        ".materielceleste.com",
217
        ".matostt.com",
218
        ".megane4forum.com",
219
        ".meilleurforum.com",
220
        ".minivanchrysler.com",
221
        ".mirbb.com",
222
        ".misteria7.com",
223
        ".montres-russes.org",
224
        ".moseisleyraumhafen.com",
225
        ".mundoqashqai.com",
226
        ".never-utopia.com",
227
        ".niceboard.com",
228
        ".novaerarpg.com",
229
        ".obd2sos.net",
230
        ".onepiece-mangas.com",
231
        ".open-consoles.com",
232
        ".orizzontescuolaforum.net",
233
        ".ottobreaddicts.net",
234
        ".own0.com",
235
        ".palstani.com",
236
        ".passion-harley.net",
237
        ".passionmilitaria.com",
238
        ".passionphoto-passionmontage.com",
239
        ".pblvfrance3.com",
240
        ".photos-camions.com",
241
        ".planete4x4.com",
242
        ".portalmercedes.com",
243
        ".portalmercedesbrasil.com",
244
        ".pro-forum.fr",
245
        ".puntoevoforum.com",
246
        ".quilterslastresort.com",
247
        ".repartocorse2.com",
248
        ".rigala.net",
249
        ".roo7.biz",
250
        ".rpg-board.net",
251
        ".rpghogwarts.org",
252
        ".sanata.biz",
253
        ".sdvg-deti.com",
254
        ".serbianforum.info",
255
        ".sgt3r.com",
256
        ".shaveua.com",
257
        ".sheffieldboardgamers.com",
258
        ".small-tracks.org",
259
        ".sorcieremonique.com",
260
        ".sporepedia2.com",
261
        ".stickeristas.com",
262
        ".subarashiis.com",
263
        ".superforo.net",
264
        ".superforum.fr",
265
        ".suzuki800.com",
266
        ".syriaforums.net",
267
        ".t5zone.com",
268
        ".team-z1000.com",
269
        ".terre-bitume.org",
270
        ".tibiaface.com",
271
        ".tubelesskite.net",
272
        ".ufologie-paranormal.org",
273
        ".unimog-mania.com",
274
        ".v2-honda.com",
275
        ".velovintageagogo.com",
276
        ".viterbikers.com",
277
        ".vivelecrpe.com",
278
        ".vstromhellasforum.com",
279
        ".walkingdead-rpg.com",
280
        ".warriorcatsnl.com",
281
        ".warriors-rpg.com",
282
        ".wwrail.net",
283
        ".yoo7.com",
284
        ".ze-43eme.com",
285
        ".zxr7team.com",
286
    ]
287

288
    @ExtraRuleHandlerBase.ensure_status_is_given
12✔
289
    @ExtraRuleHandlerBase.setup_status_before
12✔
290
    @ExtraRuleHandlerBase.setup_status_after
12✔
291
    def start(self) -> "EToxicHandler":
12✔
292
        PyFunceble.facility.Logger.info(
293
            "Started to check %r against the eToxic handler.",
294
            self.status.idna_subject,
295
        )
296

NEW
297
        if self.status.status_before_extra_rules == PyFunceble.storage.STATUS.up:
×
NEW
298
            if any(self.status.netloc.endswith(x) for x in self.MATCHES):
×
NEW
299
                self.do_on_header_match(
×
300
                    self.req_url,
301
                    matches={"location": [f"/{self.status.netloc}", "/search/"]},
302
                    method=self.switch_to_down,
303
                    allow_redirects=False,
304
                    match_mode="std",
305
                    strict=True,
306
                )
307

308
        PyFunceble.facility.Logger.info(
309
            "Finished to check %r against our the eToxic handler.",
310
            self.status.idna_subject,
311
        )
312

NEW
313
        return self
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc