Skip to content

Commit

Permalink
Update Readme
Browse files Browse the repository at this point in the history
  • Loading branch information
Kevin Gut committed Mar 21, 2021
1 parent d5b6f50 commit 4c3fa71
Showing 1 changed file with 38 additions and 22 deletions.
60 changes: 38 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,51 +1,54 @@
# AnyBlock

Blocks the given IP Ranges in Windows Firewall
Blocks IP ranges in Windows firewall based on owner information.

## IP Ranges

The IP Ranges are obtained from https://cable.ayra.ch/ip/global.php
The IP ranges are obtained from https://cable.ayra.ch/ip/global.php

The Application will attempt to update the list on each run if it's missing or older than 24 Hours.
The application will attempt to update the list on each run if it's missing or older than 24 hours.

## Usage

AnyBlock supports Command Line and GUI usage.
AnyBlock supports command line and GUI usage.

## GUI

The GUI is automatically launched if you run AnyBlock without any Arguments.
The GUI is automatically launched if you run AnyBlock without any arguments.

Right now you can add and remove Ranges to the Block List
Right now you can add and remove ranges to the block list.

## Command Line Mode

Command Line:
Command line format overview:

AnyBlock.exe [/v] [/clear | /config | /add range [...] | /remove name [...] | /apply | /list]
AnyBlock.exe [/v] [/clear | /config | /add range [...] |
/remove name [...] | /apply [v{4|6}] | /list] |
/export {csv|tsv|p2p|json}

### `/v`

Enables more verbose Logging to Console.
If supplied, the Console will also be shown in GUI Mode
Enables more verbose logging to console.
If supplied, the console will also be shown in GUI mode.
This parameter is implied if you compile a debug build.

### `/config`

Lists currently configured Ranges and directions on the console
Lists currently configured ranges and directions on the console.

### `/add`

Adds the specified Range(s) to the List.
Adds the specified range(s) to the list.
A range is formatted as `dir:name`

- **dir**: One of IN,OUT,BOTH,DISABLED
- **name**: fully qualified Node Name
- **name**: fully qualified node name

Disabled entries behave as if they were not configured at all,
meaning that `/apply` will remove them from existing Rules.
meaning that `/apply` will still remove them from existing rules.

It's not necessary to disable an entry to delete it.
Disabling is merely a way to temporarily removing a range.
Disabling is merely a way to temporarily remove a range.

To change the direction of an existing entry,
add it again using a different direction.
Expand All @@ -54,20 +57,33 @@ As of now, this command will not check for unnecessary child rules when adding a

### `/remove`

Removes the specified Range(s) from the List.
Removes the specified range(s) from the List.
Removing is done by name only. Directions can't be specified.


### `/apply`

Applies List to Firewall Rules.
Applying the List will remove all blocked IPs that are no longer in the current List of Addresses.
To keep the List accurate, this Command should be run every 24 hours.
Applies the configured list to firewall rules.
Applying the list will remove all blocked IPs that are no longer in the current list of addresses.
To keep the list accurate, this command should be run every 24 hours.

This command takes an optional argument that can either be `v4` or `v6`.
This causes the application to only add rules with the given IP address type.
This is especially useful if your server is only reachable via one of the two types.

### `/clear`

Removes all AnyBlock Rules regardless of Configuration
Removes all AnyBlock rules regardless of configuration.

### `/list`

Lists all available Ranges
Lists all available ranges

### `/export {csv|tsv|p2p|json}`

Exports the currently selected rules with IP ranges in various formats:

- **csv**: Exports name, start-IP, end-IP, cidr in csv format (with headers)
- **tsv**: Same as csv, but uses tab to delimit fields
- **p2p**: Peer to peer blocklist format for common P2P applications
- **json**: JSON object. Range names are keys and the CIDR list the values

0 comments on commit 4c3fa71

Please sign in to comment.