My Privacy DNS | Shortcuts: Matrix | PyFunceble | Porn Records | Support | PRIM

  1. 31 Dec, 2021 1 commit
  2. 25 Dec, 2021 8 commits
  3. 22 Dec, 2021 6 commits
    • Nissar Chababy's avatar
      Fix sphinx error. · bb80fa58
      Nissar Chababy authored
      bb80fa58
    • Nissar Chababy's avatar
      7b7ca759
    • Nissar Chababy's avatar
      Bump version to v4.1.0b4. · ae9333ae
      Nissar Chababy authored
      ae9333ae
    • Nissar Chababy's avatar
    • Nissar Chababy's avatar
    • Nissar Chababy's avatar
      Introduction of the chancy tester mode. · d4d42bf5
      Nissar Chababy authored
      After discussion with some people and reading some emails of
      people privately making a comparison between PyFunceble 3 and 4, I
      decided to write the code for a "chancy" testing mode.
      
      Origin:
          The chancy mode is just a reviving of what I do not agree with
          - anymore.
      
          In PyFunceble 3, the test feedback is almost instant, meaning that
          the feeling of "speed" is there. But if you read the
          source code, you will see that it's possible because I chose to
          ignore a lot of safety to play with my luck, people's luck and
          machine's luck.
      
          Indeed, under PyFunceble 3, it is theoretically possible to have a
          "line overflow".
      
          That means that when:
      
              - You are using the multiprocessing mode
              - You are testing `example.org` and `example.net`,
      
          it may have been possible to get the following line as a result:
      
              examexampleple.org.net
      
          or this:
      
              example.orgexample.net
      
          That's the fact. If that rare case happens, you may have a
          corrupted output that you will later parse into your workflow.
          To solve the problem, I decided to change the workflow design.
          That's PyFunceble 4.
      
      Current State:
      
          Under PyFunceble 4, two main things changed:
      
              1. No more single and multiprocessing.
              2. No file production from the testing workers.
      
          What we used to call the `single-mode` went away and was
          replaced with a multiprocessing mode that's always there. The idea
          was that nowadays multiprocessing is the way.
      
          On the other hand, I killed the possible "overflow" of PyFunceble 3
          by following a clear data workflow that makes output safe.
      
          This is an approximate overview of the actual workflow:
      
          --- Read Subject ---> Tester Queue
                                   \
                                    ---> N Tester Process ---> Producer Queue
                                                              /
                                      1 Producer Process  <---
                                                   /
            Output File | Graphical CLI Output <---
      
          With this workflow, I'm sure that only ONE single process is
          reporting into any of the generated files. That means that the
          issue I previously described can't happen.
      
          That's the safe workflow. The downside of this workflow is that
          people think that everything is slow. It is. But for your safety.
          If you look at some very verbose logs, you will see
          that the actual testing is as quick as possible (for your hardware)
          but it's the file generation that is slow. That's because
          it goes one tested subject at a time - for your safety.
      
      Chancy Mode:
      
          The chancy mode brings back a PyFunceble 3 "like" way of handling
          data. That means that if used, no safety is given. An overflow can
          happen, but the feeling of "speed" is back.
      
          This mode exists but won't be actively maintained.
      
          To reduce long term maintenance of this mode, it has been built on
          top of the maintained and developed components of the workflow.
          Meaning that as long as no new component is built, this mode is
          "self-maintained".
      d4d42bf5
  4. 21 Dec, 2021 3 commits
  5. 19 Dec, 2021 3 commits
  6. 18 Dec, 2021 8 commits
    • Nissar Chababy's avatar
      Bump version to v4.1.0b2. · dad28cc2
      Nissar Chababy authored
      Also:
        Fix #272.
      dad28cc2
    • Nissar Chababy's avatar
      Bump version to v4.1.0b1. · 1310461d
      Nissar Chababy authored
      1310461d
    • Nissar Chababy's avatar
      Add max internal max rescursion depth. · 213a0878
      Nissar Chababy authored
      Indeed, before this patch, the CNAME follower when doing HTTP request may
      habe been able to run without a limit.
      
      This patch fixes it by allowing a max depth of 60. Any depth above 60 will
      just be skipped.
      213a0878
    • Nissar Chababy's avatar
      Introduction of a the max-http-retries arg. · ebc02c63
      Nissar Chababy authored
      Indeed, before this patch, there was no way to control the maximum number
      of retries PyFunceble is allowed to perform when doing an HTTP request.
      
      This patch fixes that hole by adding the `--max-http-retries` argument.
      ebc02c63
    • Nissar Chababy's avatar
      Logical fix. · fdc4f9c1
      Nissar Chababy authored
      Indeed, before this patch, we didn't actively checked if the inactive
      and autocontinue dataset  lookup was deactivated before doing some backup
      or update of the dataset.
      
      This patch fixes the issue by checking if we are authorized to process
      such dataset before even trying to do so.
      fdc4f9c1
    • Nissar Chababy's avatar
      Fix issue with counter. · d31b9b1a
      Nissar Chababy authored
      d31b9b1a
    • Nissar Chababy's avatar
      Review requester initialization. · a85eafb3
      Nissar Chababy authored
      Indeed, before this patch, the way the requester was initialized wasn't
      safe enough for a multiprocessing environment.
      a85eafb3
    • Nissar Chababy's avatar
      Add a way to differs worker startup and creation. · c487a481
      Nissar Chababy authored
      Indeed, before this patch, as soon as something is put inside an input
      queue of a worker, the worker will be automatically created.
      But, at sometime, for example for worker that should only run at the end,
      we do not want that behavior.
      
      Therefore, this patch introduce a way to differ the creation and startup
      of a process - when necessary.
      This patch apply for example for the file sorter that is actually only
      necessary at the end of a test.
      c487a481
  7. 07 Dec, 2021 1 commit
  8. 06 Dec, 2021 5 commits
  9. 05 Dec, 2021 3 commits
    • Nissar Chababy's avatar
      Bump version ot v4.0.2. · cb190310
      Nissar Chababy authored
      cb190310
    • Nissar Chababy's avatar
      Extract the registrar from the WHOIS record. · b5ecdc29
      Nissar Chababy authored
      This patch fixes #272.
      
      Indeed, before this patch, there was no way to get access to the registrar
      from the WHOIS record. This patch tries to solve the issue by adding a
      registrar extractor.
      
      This patch also introduce the `--registrar` and `--max-registrar` arguments
      that can be used to display the top N registrar that were extracted.
      Using the `--registrar` argument also generate a `logs/registrar.txt` file
      that can be used to list the all registrar found while testing the current
      file.
      
      Necessary Migration: -- All migration will be automatically triggered.
        * csv file: The whois.csv file needs to be migrated in order for it to
          have the `registrar` column.
        * mariadb: The whois_record tables need to be migrated in order for it
          to have the `registrar` column.
      
      Contributors:
        * @ryanbr
      b5ecdc29
    • Nissar Chababy's avatar
      Make regex case insensitive. · d9f93ea6
      Nissar Chababy authored
      d9f93ea6
  10. 27 Nov, 2021 2 commits