Repository navigation
v0.8.6.0
This release brings a new reliability feature and besides it, improved console messages and a bit of minor bug squashing.
The new feature is smart automatic check for user lock-out as a result of the action that the user requested from the *manage script, and if so then printing a warning and waiting for user input before proceeding. For that, the script needs to know which country the user is in, so asking the user about it in the *install script was also implemented.
First I implemented an automatic country check but later reconsidered because it was relying on a 3rd-party service and I prefer not to deal with that, especially without user's approval - and if I ask them for approval, I may as well just ask them to input their country code directly. So eventually the implementation switched to ask-the-user, and validate user's input vs a known-good list of country codes. (again, I first implemented automatic fetching and parsing of that list but eventually decided to just include it in the suite rather than download from a 3rd party). That known-good list is what the additional 'cca2_codes.list' file is for. (for privacy nerds, you can press Enter to avoid telling the script which country you're in, which will disable the new feature completely and allow you to lock yourself out without getting warned)
Highlights:
*fetch: implemented a slightly faster and much simpler awk-only solution for parsing of ARIN lists (previously it was implemented with a combination of grep, tr and awk).
cca2_codes.list: added new file to the suite (contains valid cca2 country codes)
*install:
- fixed a typo that was causing installation to skip checking required files
- new function: get_local_country()
--- ask the user to input their country code, then validate it against the cca2 list - check for cca2 list on initialization
*manage:
- new function: check_for_lockout()
--- when adding or removing countries to/from the blacklist/whitelist, checks whether the user is about lock themselves out of their remote machine, and outputs a warning if they are - process check_for_lockout() output and if necessary, print the warning and wait for user input before proceeding
check_ip_in_registry.sh: fixed a minor bug involving variable names inconsistency
Full Changelog: v0.8.5.9...v0.8.6.0