Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Auto noscope #108

Closed
kpcyrd opened this issue Jul 3, 2019 · 0 comments · Fixed by #109
Closed

Auto noscope #108

kpcyrd opened this issue Jul 3, 2019 · 0 comments · Fixed by #109
Milestone

Comments

@kpcyrd
Copy link
Owner

kpcyrd commented Jul 3, 2019

In addition to recursive noscoping in #87 there should be a way to "permanently recursively noscope".

This is inspired by #107 and after thinking about this for a while I think this could work:

  1. we keep a list of autoscope and autonoscope
  2. we compare new objects to this list
  3. the most precise rule wins

The following objects qualify for autonoscoping:

  • domains/subdomains (they would share the same rules, actually)
  • ipaddrs
  • urls
  • emails(?)
  • accounts(?)

Precision is measured depending on the object type.

  • ipaddrs: precision is simply the netmask. 0.0.0.0/0 has a precision of 0, 10.3.4.0/8 has a precision of 8 and ::/64 has a precision of 64.
  • domains/subdomains: split by ., filter empty strings and count them. example.com has a precision of 2, . has a precision of 0, com has a precision of 1.
  • urls: on addition to the rules applied to the domain we would split by / in this case to exclude or restrict to certain folders. An important bit is that a rule of /abc would match /abc/def but not /abcxyz. I'n not sure if and how we would support query strings.
  • emails: only support the domain part behind the @, but use a separate list so our domain rules don't apply to emails and vice versa.
  • accounts: this is a simple one, autonoscope in this case would filter accounts by type. a rule of instagram.com: would match on instagram accounts, a rule of : would match all accounts

Instead of traversing things recursively every time we would apply these filters to new objects as we add them.

@kpcyrd kpcyrd added this to the v0.13.0 milestone Jul 27, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant