code: def _detect_cms(self, tries=0):
          
          # WhatCMS is under CloudFlare which detects and blocks proxied/Tor traffic, hence normal request.
          page = requests.get(url="https://whatcms.org/?s={}".format(self.host.target))
          soup = BeautifulSoup(page.text, "lxml")
          found = soup.select(".panel.panel-success")
          if found:
              try:
                  cms = [a for a in soup.select("a") if "/c/" in a.get("href")][0]
                  self.logger.info("{} CMS detected: target is using {}{}{}".format(
                      COLORED_COMBOS.GOOD, COLOR.GREEN, cms.get("title"), COLOR.RESET))
              except IndexError:
                  if tries >= 4:
                      return
                  else:
                      self._detect_cms(tries=tries + 1)
          else:
              if tries >= 4:
                  return
              else:
                  self._detect_cms(tries=tries + 1)
docs: Detect CMS using whatcms.org.
          Has a re-try mechanism because false negatives may occur
          :param tries: Count of tries for CMS discovery