如何修复广告列表工作,但成人列表不工作?

How to fix the ad-list working, but the adult list is not?

我有一个名为 HackeyBlock 的 Web 阻止程序,它通过添加引用 127.0.0.0.1 的规则来阻止网站,但在它支持的 5 个列表中,有两个似乎没有写入文件。

我检查了拼写错误,甚至根据有效的广告列表重写了成人和隐私列表的代码,但它仍然不起作用。

这是工作广告列表的代码:

:Hackeyadblock
del /f /q Hackey-adlist.txt
powershell -command "& { (New-Object Net.WebClient).DownloadFile('https://raw.githubusercontent.com/Marnix0810/HackeyBlock-Blocking-lists/master/hackey-adlist.txt', 'Hackey-adlist.txt') }"
for /F "eol=; tokens=*" %%A in (Hackey-adlist.txt) do (
ECHO # HackeyBlock Rule >> "%temp%\hosts.edit.tmp"
ECHO 127.0.0.1 %%A >> "%temp%\hosts.edit.tmp"
cls
echo added %%A to blocklist.
set /a blockedsitescounter+=1
)
exit /b

隐私列表:

:Hackeyprivacy
del /f /q Hackey-privacy.txt
powershell -command "& { (New-Object Net.WebClient).DownloadFile('https://raw.githubusercontent.com/Marnix0810/HackeyBlock-Blocking-lists/master/hackey-privacy.txt', 'Hackey-privacy.txt') }"
for /F "eol=; tokens=*" %%A in (Hackey-privacy.txt) do (
ECHO # HackeyPrivacy Blocking Rule >> "%temp%\hosts.edit.tmp"
ECHO 127.0.0.1 %%A >> "%temp%\hosts.edit.tmp"
cls
echo added %%A to blocklist.
set /a blockedsitescounter+=1
)
exit /b

以及成人内容列表:

:Hackeyadultblock
del /f /q Hackey-adlist.txt
powershell -command "& { (New-Object Net.WebClient).DownloadFile('https://raw.githubusercontent.com/Marnix0810/HackeyBlock-Blocking-lists/master/Adult-content-host-list.txt', 'Hackey-adultlist.txt') }"
for /F "eol=; tokens=*" %%A in (Hackey-adultlist.txt) do (
ECHO # Hackey rule: this site hosts adult content >> "%temp%\hosts.edit.tmp"
ECHO 127.0.0.1 %%A >> "%temp%\hosts.edit.tmp"
cls
echo added %%A to blocklist.
set /a blockedsitescounter+=1
)
exit /b

在所选列表合并到 %temp%\hosts.edit.tmp 之后,它们被复制到 C:\Windows\System32\drivers\etc\hosts

此外,这是 Github 上完整脚本的 link:https://github.com/Marnix0810/HackeyBlock-Windows/blob/master/CODE/hackeyblock.cmd

也应添加隐私和成人列表规则。但是它们根本没有添加到主机文件中,而广告列表规则是。

编辑:我更新了 link,现在隐私列表似乎可以使用了,但是成人内容列表仍然是个谜。

这是我尝试的一种方法的示例,(如果我愿意使用这种古老的网站阻止方法)

(
    For /F "UseBackQ Tokens=*" %%A In ("Hackey-adultlist.txt") Do (
        Echo # Hackey rule: this site hosts adult content
        Set /P "=127.0.0.1 %%A" < NUL
        Echo=
        ClS
        Echo Added %%A to blocklist > CON
        Set /A blockedsitescounter +=1
    )
) >> "%TEMP%\hosts.edit.tmp"