Add contributing guidelines, and a page explaining the repo's file and folder structure.

This commit is contained in:
Steven Black
2019-08-14 09:17:54 -04:00
parent 82063031b0
commit a1b08abe89
3 changed files with 82 additions and 0 deletions

41
codebase_structure.md Normal file
View File

@@ -0,0 +1,41 @@
# Codebase Structure
These are the folders and some key files used to generate and store various unified hosts files.
## Data folders
There are two facets of the hosts files generated by
[/updateHostsFile.py](https://github.com/StevenBlack/hosts/blob/master/updateHostsFile.py):
### Basic hosts
Basic hosts are domains that purvey advertising, malware, tracking, coin
mining and other abominable behavior. These hosts are included in all our products.
The [/data](https://github.com/StevenBlack/hosts/tree/master/data) folder holds the
metadata and latest hosts for all our basic hosts sources. The hosts are updated
automatically by`/updateHostsFile.py` which iterates all the subfolders within `./data`.
### Optional hosts extensions
Hosts extensions include domains that push potentially addictive content like `porn`, `fake news`,
`gambling`, and `social` media.
The [/extensions](https://github.com/StevenBlack/hosts/tree/master/extensions) folder holds
metadata and latest hosts for all our basic hosts sources. The hosts are updated
automatically by`/updateHostsFile.py` which iterates all the subfolders within `./extensions`.
## Product folders
### Basic hosts
The [basic hosts file](https://github.com/StevenBlack/hosts/blob/master/hosts), containing
just adware, malware, etc, is store in the root folder of this repository.
The [/hosts/alternates](https://github.com/StevenBlack/hosts/tree/master/alternates) this folder
contains the products of `updateHostsFile.py`, one subfolder for each permutation of
fakenews, gambling, porn, and social media hosts, all of which include the base extensions
containing hosts that block adware, malware, tracking, etc.
## Other notable files
+ [./readme_template.md](https://github.com/StevenBlack/hosts/blob/master/readme_template.md):
is used to generate the all the various readme files in this repository. Therefore,
if you wish to change the readme, you need to change only this file.