Periodic NAT Type Measurement Support (Fix #40075)

shelikhoo requested to merge shelikhoo/snowflake:dev-natretest into main

This pull request adds periodic NAT Type measurement support to snowflake. The default behaviour is unmodified. To enable this periodic NAT Type measurement set nat-type-measurement-interval-second to a non-zero value.

Things to look at:

  • Copyright. This pull request includes ported infrastructure codes from V2Ray for managed periodic tasks. If reusing MIT code is not allowed, this code needs to be rewritten.
  • No exhaustive test. The network environment cannot be easily modified. Lookup Table is not tested.
  • Flag name too long. There should be a shorter name for nat-type-measurement-interval-second that contains the same or more information.
  • Change of default behaviour. If necessary, flag nat-type-measurement-interval-second can have a default value of 86400 to recheck every day by default.

Merge request reports