• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[Windows][PowerShell][Script]psAdBlock - PowerShell AdBlock Script for Windows

Search This thread

araxhiel

Member
Mar 5, 2017
35
20
I run the script twice and it got stuck both times in "applying",
the first time it created the file, on the second no,
Code:
Checking whether the script is being executed with administrator privileges...
Administrator privileges found!
Checking automatic 'hosts' backup routine...
Automatic 'hosts' backup is enabled!
Original 'hosts'-file already found!
Creating backup of current 'hosts'-file...
Saved current 'hosts'-file: C:\Windows\system32\drivers\etc\hosts.old
Checking automatic 'hosts' apply routine...
Automatic 'hosts' apply is enabled!
Applying new 'hosts'-file...

edit: my bad, I was testing hozz at the same time and I think it was blocking your script

edit2: still doesn't finish, powershell reaches around 800mb in memory,
the hosts file (5mb) is created, but powershell is stuck there

edit3: ok, I'll be running the user script and I'll be doing the "distribution" myself

Code:
Finished the PowerShell AdBlock script!
Elapsed time: 329.9136152 seconds
Press any key to continue . . .

I experienced a similar behavior when I started to use the script, and it was because a process was using the hosts file and _somehow_ the whole process went into a deadlock condition. IIRC it was an Skype associated process (on Windows 10).

But, despite that it seems that you've probably solved the issue (or done a workaround) have you reviewed the log file to see if there was any additional information about what went wrong? That could help to improve the script.
 
Last edited:

patrickdrd

Senior Member
Mar 24, 2015
728
141
yes,I agree, it should be something running in the background, anyway, I checked the log file, error wasn't recorded
 

patrickdrd

Senior Member
Mar 24, 2015
728
141
I would change the script a bit though,
i.e. why do I need the output sorted?
I don't see how this is necessary, the same goes to trimming,
are there any options/flags to disable this functionality?
 

araxhiel

Member
Mar 5, 2017
35
20
I would change the script a bit though,
i.e. why do I need the output sorted?
I don't see how this is necessary, the same goes to trimming,
are there any options/flags to disable this functionality?

As for the trimming, my best guess is that during the removal of the comments that are present on the sources, there are left some white spaces that are useless. So, in order to reduce the size of the file (how much depends on how many white spaces are left after the removal, and how many white spaces are present in the original source) is necessary to apply that.

But, with the sorting... Well, I can't give a proper answer as I'm somewhat biased about this, as I prefer having the information/content sorted... I guess that OP have a similar preference.

Currently, there aren't options/flags to disable both behaviors, and although I think that implement such functionality could be doable (AFAIR the code), it need to be reviewed by OP...
 

androcraze

Senior Member
Jan 11, 2013
2,250
1,651
I would change the script a bit though,
i.e. why do I need the output sorted?
I don't see how this is necessary, the same goes to trimming,
are there any options/flags to disable this functionality?

Trimming whitespace (blanks and tabs), removing comments/non-essential data, and sorting the final consolidated lines are to prepare for the big finale: the uniq/unique command.

The uniq command removes all of the duplicate entries, and it can't do that without a "sort" occurring before its execution.

https://docs.microsoft.com/en-us/po...wershell.utility/get-unique?view=powershell-6
"The Get-Unique cmdlet compares each item in a sorted list to the next item, eliminates duplicates, and returns only one instance of each item. The list must be sorted for the cmdlet to work properly."

https://www.lifewire.com/learn-the-linuxunix-command-uniq-4092623
uniq - remove duplicate lines from a sorted file

Keeping the comments in place and trying to remove duplicates would be impossible.... How is the command/tool -- used to remove the duplicate entries -- supposed to determine what comments belong with what servers?

If I had 100 server entries in a hosts file, I'd comment like crazy; when you're dealing with anywhere from 10,000 to 50,000 or more, it would be foolish to try.
 
Last edited:

Makorus

Senior Member
Oct 4, 2012
195
169
github.com
Sorry for my late reply guys, I somehow totally missed all these notifications.
@androcraze is absolutely right.

Sorting is required so I can use the "Get-Unique" command to remove duplicate entries. Of course, there are other approaches which don't require a sort function first. But I already tried them and I found them to be waaaaay slower than this approach - and they're not as accurate as the "Get-Unique" command.

In my opinion, removing the comments is also necessary, although not mandatory. Just like @androcraze mentioned, there's no point in keeping the comments as the entries are being sorted anyway. Sorting and keeping all the comments is almost impossible. Same goes for trimming white spaces; By doing so, you'll save a few MB. The bigger the file, the slower might be your computer in the end.

Anyway, you still have all the comments in the original files which can be found within the "DL_Cache" folder. Go have a look to that if you need to find a specific comment.
@patrickdrd if you'd like, I could assist you in debugging that issue on your computer. I've never experienced that before, so I can just make assumptions, but right now I don't have an idea what it could possibly be. Just let me know if you decide to give it another try, glad to help here.
 

Makorus

Senior Member
Oct 4, 2012
195
169
github.com
Quick and short update: I added two more hosts source lists. I highly recommend using them:

- https://raw.githubusercontent.com/hoshsadiq/adblock-nocoin-list/master/hosts.txt
- https://raw.githubusercontent.com/greatis/Anti-WebMiner/master/hosts

These providers collect cryptominer host addresses to block them easily without getting affected at all. Highly recommended!

One more thing: I moved the entire "version history" section from the main PowerShell script to the README.md file so you can instantly see the change log by visiting my GitHub repository.
 
  • Like
Reactions: gothicVI

araxhiel

Member
Mar 5, 2017
35
20
Quick and short update: I added two more hosts source lists. I highly recommend using them:

- https://raw.githubusercontent.com/hoshsadiq/adblock-nocoin-list/master/hosts.txt
- https://raw.githubusercontent.com/greatis/Anti-WebMiner/master/hosts

These providers collect cryptominer host addresses to block them easily without getting affected at all. Highly recommended!

One more thing: I moved the entire "version history" section from the main PowerShell script to the README.md file so you can instantly see the change log by visiting my GitHub repository.

Nice! Thanks for the update!
 
  • Like
Reactions: Makorus

Makorus

Senior Member
Oct 4, 2012
195
169
github.com
My pleasure!

By the way, I'm trying to reproduce @patrickdrd's error. I've got an idea.


EDIT: @patrickdrd can you try this?
Grab the most recent files from my GitHub repository, then change the following lines (line #16 and #19):

Code:
#Automatic 'hosts' backup routine, set to "$false" to disable
New-Variable "HostsBackup" -Option "Constant" -Value "$true"

#Automatic 'hosts' apply routine, set to "$false" to disable
New-Variable "HostsAutoApply" -Option "Constant" -Value "$true"

Code:
#Automatic 'hosts' backup routine, set to "$false" to disable
New-Variable "HostsBackup" -Option "Constant" [B][COLOR="Red"]-Value "$false"[/COLOR][/B]

#Automatic 'hosts' apply routine, set to "$false" to disable
New-Variable "HostsAutoApply" -Option "Constant" [B][COLOR="Red"]-Value "$false"[/COLOR][/B]
 
Last edited:
  • Like
Reactions: patrickdrd

patrickdrd

Senior Member
Mar 24, 2015
728
141
I had two issues: the first was the fail to save the hosts file to the system32/etc folder and
the second was the delay (and the huge resources used),
which is this change related? I guess the first?

anyway, I can't do that now, because I'm at work, maybe later
 

Makorus

Senior Member
Oct 4, 2012
195
169
github.com
Great news guys: Version 1.6.5 is available on GitHub. I fixed a very silly (but not critical) issue, which lead to a semi-wrong patch table replacement (see change log on GitHub for further information).


I had two issues: the first was the fail to save the hosts file to the system32/etc folder and
the second was the delay (and the huge resources used),
which is this change related? I guess the first?

anyway, I can't do that now, because I'm at work, maybe later

For some reason I'm not getting any notifications from XDA anymore. I totally missed your message and just saw it as I was about to announce a new version.
I'm just wondering whether disabling these features solves the issues on your system. I guess you have a software running on your system which is interfering. However, can you try using the newest version 1.6.5 and disable the features as previously mentioned?
 

patrickdrd

Senior Member
Mar 24, 2015
728
141
maybe you didn't receive a notification from my message because I didn't quote you?
anyway, the truth is that I'm running a lot of software in the background (avast antivirus, avg cleanup, malwarebytes, citrix receiver, google sync),
but as I said (I think) hostsman is running perfectly fine,
I switched to your script because I thought there was no cleanup procedure in hostsman,
but I "stole" the idea from your script and I'm using "mark all updates as not installed",
in that way I think the hosts file is created from scratch.
I'm getting "cannot save hosts file" error from time to time,
I guess because firefox is running in the background too (and thunderbird and the above mentioned processes),
but I'm retrying it and it works (there was no way to make this work in your script, I retried many times).
Anyway, the above process is very fast too,
way faster than what I experienced using your script, sorry
 
Last edited:
  • Like
Reactions: Makorus

Makorus

Senior Member
Oct 4, 2012
195
169
github.com
maybe you didn't receive a notification from my message because I didn't quote you?
anyway, the truth is that I'm running a lot of software in the background (avast antivirus, avg cleanup, malwarebytes, citrix receiver, google sync),
but as I said (I think) hostsman is running perfectly fine,
I switched to your script because I thought there was no cleanup procedure in hostsman,
but I "stole" the idea from your script and I'm using "mark all updates as not installed",
in that way I think the hosts file is created from scratch.
I'm getting "cannot save hosts file" error from time to time,
I guess because firefox is running in the background too (and thunderbird and the above mentioned processes),
but I'm retrying it and it works (there was no way to make this work in your script, I retried many times).
Anyway, the above process is very fast too,
way faster than what I experienced using your script, sorry

@patrickdrd Could be, I unsubscribed and re-subscribed this thread now. I'll see if I get notifications from now on.

I really think that one of your security software is interfering somehow. As it's bloody difficult for me to reproduce your issue without more information on your behalf. Executing this script (as is) on many different systems works perfectly fine for me and it's quick as hell. Also many other users haven't reported a similar issue so far. I've got a 20 Mbps internet connection here, the script finishes on my system within 15 seconds. Therefore I doubt questioning this script is the right approach. But of course, if you found a faster way yourself, then I'm glad for you. But so far there's nothing else I could change to satisfy your needs because I really don't see any buffer in this case. Sorry mate! :cowboy:
 
Last edited:
  • Like
Reactions: patrickdrd

Top Liked Posts

  • There are no posts matching your filters.
  • 49
    Introduction
    Dear community

    This is my very first XDA: DevDB project. I'm glad to announce my ad-block solution purely based on PowerShell.
    I've been (and I still am) using AdAway on my Android phone. It's a great app, and it inspired me to get a similar solution for Windows computers.

    Version 0.1 was not public because it was slow as hell. It took about 8 minutes to handle ~200'000 hosts.
    With version 1.0, my script got a massive speed improvement. Now its duration has been greatly decreased. I achieved the same amount of hosts in less than 100 seconds now. But of course, these measured values shouldn't mean a lot, as they depend completely on your hardware (and a little bit on your internet connection of course).

    Now version 1.6 has an automatic backup & apply routine, check it out!

    Features
    This script does exactly what you think: It grabs various "hosts" sources from the internet, saves them locally, and merges them to one big file. Enjoy an ad-free Windows experience.

    • Download as many "hosts" files as you want
    • Merge them automatically into one big "hosts" file
    • Remove duplicates from the "hosts" file
    • Remove any comment line starting with # to keep your hosts file as small as possible
    • Apply a custom whitelist or even custom blacklists
    • Log the entire process to a log file (placed within the same directory where you saved this script)

    Downloads & Changelogs

    FAQs

    Disclaimer
    Altough this is normally a safe process, I am not responsible for possible damage to your device if anything should fail.
    I will not take any responsability for bricked Windows installations, other software defects or even lost data.

    License/forks
    This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License( ).

    This is an open source project, it's a PowerShell script and you're able to see the source code of course. You're allowed to modify this script as you want, as long as you give credits to me. Adaptations of my work shall be shared as well under the same license. Commercial use is allowed, as long as you don't sell my work.

    Requirements
    There are some requirements to check.
    • A little bit of PowerShell-knowledge (not necessary of course)
    • At least Windows 7 (theoretically it should work on any Windows)
    • At least PowerShell 3.0 (PowerShell 2.0 may work, but is unsupported)
    • At least 50 MB free space for this script
    • Administrative privileges - required if you want to use the automatic backup & apply routines, not for the script itself, otherwise you'll need to manually copy the "hosts" file into the Windows directory

    Instructions for use with administrator privileges (recommended)
    1. Download the archive and unzip it anywhere
    2. Execute the "_Run_Admin.bat" script via double-click, confirm the UAC window by clicking on the yes button and wait for the console to close itself
    3. Reboot your machine and enjoy an ad-free Windows experience
    4. Note: Instead of the batch script you can use the .ps1 file as well (unblock it first, simply right-click the .ps1 file, choose "Properties", then hit the "Unblock" button), start a new PowerShell console as administrator and manually run the script

    Instructions for use without administrator privileges
    1. Download the archive and unzip it anywhere
    2. Execute the "_Run_User.bat" script via double-click and wait for the console to close itself
    3. Copy the newly created "hosts" file and rename the existing "hosts" file to manually create a backup
      Code:
      C:/Windows/System32/drivers/etc/hosts
    4. Reboot your machine and enjoy an ad-free Windows experience
    5. Note: Instead of the batch script you can use the .ps1 file as well (unblock it first, simply right-click the .ps1 file, choose "Properties", then hit the "Unblock" button), start a new PowerShell console and manually run the script

    Instructions to customize psAdBlock
    1. To modify the "hosts" sources, simply edit the file "hostslist.ini"
    2. To allow specific hosts, simply edit the file "whitelist.ini"
    3. To block specific hosts, simply create a new .txt file within the "DL_Cache" folder and add the hosts (one per line) you want to block (e.g. "0.0.0.0 place-any-site-here.com")

    Credits & thanks to
    * Makorus: Creator of this PowerShell script
    * Dominik Schuermann: Inspiring me to do this
    * Luca Sturlese: Allowing us to use his awesome logging function library

    Any questions or suggestions? Did you find any bugs? Thanks for your feedbacks in advance! :good:

    XDA:DevDB Information
    psAdBlock, Tool/Utility for the Windows 8 General

    Contributors
    Makorus
    Source Code: https://github.com/makorus/ps-adblock


    Version Information
    Status: Stable
    Current Stable Version: 1.6.5
    Stable Release Date: 2017-07-03

    Created 2015-05-09
    Last Updated 2018-07-13
    40
    News
    I'm moving this project to GitHub for many reasons. Future releases will be available through GitHub only.

    New download link:
    https://github.com/makorus/PS-AdBlock/archive/master.zip


    Current release & changelog
    Code:
    ##-------------------------------------------------------------------------------------##
    ## V1.6.3, 2018-02-03                                                                  ##
    ## - Added logic to handle 'localhost' in whitelist (thanks to antonio-gil)            ##
    ## - Removed script version from filename                                              ##
    ##-------------------------------------------------------------------------------------##

    Notes
    Code:
    #########################################################################################
    ## Notes:                                                                              ##
    ## - PowerShell 3.0 or newer is recommended to run this script without any errors      ##
    ## - PowerShell 2.0 may work as well, but is unsupported                               ##
    ## - If you disable the backup/apply mode you have to manually copy the final          ##
    ##   'hosts'-file to the Windows etc directory (please manually backup the old file:   ##
    ##   C:\Windows\System32\drivers\etc                                                   ##
    ## - To apply a custom blacklist, simply create a text file containing your desired    ##
    ##   hosts and save it in the download cache folder 'DL_Cache' (run the script once)   ##
    ## - To manually add your custom hosts list, create a new text file called             ##
    ##   'hostslist.ini' and add your hosts sources (one site per line without the www)    ##
    ## - To automatically remove specific sites from the hosts list, create a new text     ##
    ##   file called 'whitelist.ini" and add your sites you want to whitelist              ##
    ## - If you experience performance issues like extremely slow Windows startup time,    ##
    ##   Try to disable the client DNS Cache service via CMD:                              ##
    ##     sc config dnscache start= disabled                                              ##
    #########################################################################################

    Release history & changelogs
    Code:
    #########################################################################################
    ## Release history (yyyy-MM-dd):                                                       ##
    ##-------------------------------------------------------------------------------------##
    ## V0.0.1 - V0.0.9, 2015-05-02                                                         ##
    ## - Non-public test versions only                                                     ##
    ##-------------------------------------------------------------------------------------##
    ## V1.0.0, 2015-05-09                                                                  ##
    ## - First public and stable release                                                   ##
    ##-------------------------------------------------------------------------------------##
    ## V1.1.0, 2015-05-10                                                                  ##
    ## - Added release history to the script                                               ##
    ## - Merged Log Functions to the main script file (no more two separate files)         ##
    ## - Added XDA:DevDB link                                                              ##
    ## - Added script version to name (easy identification)                                ##
    ##-------------------------------------------------------------------------------------##
    ## V1.2.0, 2015-05-13                                                                  ##
    ## - Fixed issue with old 'New-Item' command in function 'Log-Start':                  ##
    ## --> OLD: New-Item -Path $LogPath -Value $LogName -ItemType File                     ##
    ## --> NEW: New-Item -Path "$sFullPath" -ItemType File                                 ##
    ## - Changed the 'Log-Start' invoking command to use $PSScriptRoot:                    ##
    ## --> OLD: Log-Start -LogPath ".\" [...]                                              ##
    ## --> NEW: Log-Start -LogPath "$PSScriptRoot" [...]                                   ##
    ## - Added #region and #endregion codes to fold the code                               ##
    ##-------------------------------------------------------------------------------------##
    ## V1.3.0, 2015-05-13                                                                  ##
    ## - Completely reworked the 'release history', huge improvement to readability        ##
    ## - The 'Patch Table' uses now '-ireplace' instead '-replace' for better results      ##
    ## - Changed the 'Patch Table' to use regex expressions for my default list            ##
    ## - Added Spotify to 'Patch Table':                                                   ##
    ## --> $DefaultPatchTable.Add('\w+.spotify.com', 'localhost')                          ##
    ##-------------------------------------------------------------------------------------##
    ## V1.4.0, 2015-07-26                                                                  ##
    ## - Reworked whitelist method (check notes for more information)                      ##
    ## - Reworked hosts source list (check notes for more information)                     ##
    ## - Reworked the 'Patch Table', doesn't require regex expressions anymore             ##
    ##-------------------------------------------------------------------------------------##
    ## V1.5.0, 2015-08-10                                                                  ##
    ## - The file now checks for the client DNS Cache service and logs a warning if it's   ##
    ##   enabled to ensure you don't run into troubles                                     ##
    ## - Removed the note about the DNS Cache service: It's not recommended to set the     ##
    ##   startup type to "demand" (manual), it will cause issues sooner or later           ##
    ## - Starting from now on, I'll create an executable file (to be found in the ZIP)     ##
    ## - I'll also attach a VirusTotal.com scan to every new release                       ##
    ## --> Please report any Anti-Virus false positive alarms to me                        ##
    ##-------------------------------------------------------------------------------------##
    ## V1.5.1, 2015-08-11                                                                  ##
    ## - Fixed issue with wrong $PSScriptRoot variable when using the EXE variant          ##
    ## - Changed the 'release history' to allow better versioning (e.g. version 1.5.1)     ##
    ## --> Note: Older versions still contain two numbers only (e.g. version 1.2 etc.)     ##
    ##-------------------------------------------------------------------------------------##
    ## V1.5.2, 2015-09-13                                                                  ##
    ## - Remove every empty line in the hosts file                                         ##
    ## - Changed the Log-Write function to use Write-Host instead of Write-Debug, now      ##
    ##   the entire log will be shown during the script execution (live)                   ##
    ## - Changed replacement method to insert 0.0.0.0 instead of 127.0.0.1 in the final    ##
    ##   hosts file which leads to a much better and faster DNS resolution                 ##
    ## - Future releases will be delivered with additional hosts files, for example to     ##
    ##   block Google ad servers and some Windows 10 hosts to stop this privacy nightmare  ##
    ##-------------------------------------------------------------------------------------##
    ## V1.5.3, 2015-10-08                                                                  ##
    ## - Fixed ugly encoding issue, new 'hosts' file will be created correctly now, means  ##
    ##   no BOM (Byte Order Mark) and no UCS-2 encoding anymore, should fix many issues    ##
    ##-------------------------------------------------------------------------------------##
    ## V1.5.4, 2015-10-09                                                                  ##
    ## - Fixed duplicate hostname issue, cmdlet Get-Unique allows by default hostnames     ##
    ##   with capital letters (Get-Unique is a case sensitive search)                      ##
    ##   e.g. 'test.com' and 'Test.com' are being handled correctly now                    ##
    ## - Reverted warning about DNS cache service, there should be no issue with the DNS   ##
    ##   cache service because the 'hosts' file is being encoded as a typical UTF8 file    ##
    ## - Added new debug mode, set $DebugMode to $true to activate it                      ##
    ##   This skips the download process, useful if you want to test something without     ##
    ##   re-downloading the whole host source lists                                        ##
    ##-------------------------------------------------------------------------------------##
    ## V1.5.5, 2015-10-10                                                                  ##
    ## - Fixed issue with method ToLower (should work with PowerShell 2.0 now), ToLower    ##
    ##   is a method to work with strings only, work around with a ForEach-Object cmdlet   ##
    ## - Added a PowerShell version check, unsupported versions are PowerShell v1 and v2,  ##
    ##   if you start this script with an unsupported PowerShell version, you'll find      ##
    ##   some hints in the log file to inform you about that                               ##
    ##-------------------------------------------------------------------------------------##
    ## V1.5.6, 2015-10-11                                                                  ##
    ## - Added again regex patterns to patch table, whitelist should work now correctly    ##
    ## - Debug mode now skips the patch process as well                                    ##
    ##-------------------------------------------------------------------------------------##
    ## V1.5.7, 2015-10-17                                                                  ##
    ## - Completely replaced previous regex patterns with one more complex pattern to      ##
    ##   handle hostnames with subdomains, performance increased significantly             ##
    ##-------------------------------------------------------------------------------------##
    ## V1.5.8, 2016-01-03                                                                  ##
    ## - Non-public test version only (skipped)                                            ##
    ##-------------------------------------------------------------------------------------##
    ## V1.5.9, 2016-01-24                                                                  ##
    ## - Non-public test version only (skipped)                                            ##
    ##-------------------------------------------------------------------------------------##
    ## V1.6.0, 2016-02-29                                                                  ##
    ## - Added function to check for admin privileges                                      ##
    ## - Added routine for automatic apply of 'hosts'-file (admin privileges required)     ##
    ## - Added routine for backup of 'hosts'-file (admin privileges required)              ##
    ## - Added some Skype and YouTube hostnames to the whitelist for proper functionality  ##
    ## - Added new icon for the executable file                                            ##
    ## - Updated the notes (see below)                                                     ##
    ## - Overall cleanup, added region codes for the main script                           ##
    ##-------------------------------------------------------------------------------------##
    ## V1.6.1, 2016-04-19                                                                  ##
    ## - Fixed wrong script number                                                         ##
    ##-------------------------------------------------------------------------------------##
    ## V1.6.2, 2017-04-25                                                                  ##
    ## - Added Goo.gl to 'Patch Table' and to the default whitelist.ini:                   ##
    ## --> $DefaultPatchTable.Add('\w+.goo.gl', 'localhost')                               ##
    ## - Changed the foreach loop to avoid recreating the object System.Net.WebClient      ##
    ## - Added error handling for the download process                                     ##
    ## - Added routine to correctly check the existence of the original 'hosts'-file       ##
    ## - Removed EXE file because of false positive alarms from many AntiVirus engines     ##
    ## - Added instead two new batch files: '_Run_Admin.bat' and '_Run_User.bat'           ##
    ## - Overall rework, changes many comments and updated some notes                      ##
    ##-------------------------------------------------------------------------------------##
    9
    FAQs
    • How to execute this PowerShell script?
      Option 1: Run the script using one of the included batch scripts, either the "_Run_Admin.bat" or the "_Run_User.bat" batch script.
      Option 2: Manually run the PowerShell script. But at first, you have to unblock the PowerShell script because it is a script you downloaded from the internet. Once you unzipped the file, do a right click on the PS1 file and open its file properties. Click on the "Unblock" button and you're done. Right click the file and click on "Run with PowerShell".
    • Why do I get an message warning me about an execution policy?
      Microsoft implemented this security feature when they published PowerShell. By default, the execution policy is set to "restricted", which means no scripts can be executed directly. You're able to configure the execution policy as you want. There are several execution policies, you can check them out here: Microsoft TechNet, Set-ExecutionPolicy.
      I personally recommend to change the execution policy to "unrestricted", this means you can execute scripts you created and even those you downloaded from the internet (though you have to be careful what you download and what you execute).
    • How to uninstall this PowerShell script?
      Basically, you just have to navigate to this folder:
      C:\Windows\System32\drivers\etc
      Delete the new hosts file and restore the original one by renaming "hosts.original" to "hosts" without any extension. After that, simply delete the files you downloaded from this thread.
    4
    A late happy new year to everyone! :)

    I just released version 1.6.3 with a few small changes.

    I'm gradually moving this project completely to GitHub, therefore there's no need for an additional VirusTotal scan. Downloads will be moved to GitHub from now on. Contribution to this project is now even easier. :)
    3
    Thanks for this great tool. Works great but can someone make an .exe out of it? It would be more convenient.


    Hi there, thank you for your reply. I can compile an EXE file out of it, but I expect a lot of false reports from anti-virus applications. I'll upload the EXE file tomorrow.

    Kind regards
    Makorus