Все тривиально.
0 - автоматизация сбора списка гуглится первым же запросом, не интересно. Кроме того, лично я предпочел хранить только действительно нужные мне сайты (например, буквально на днях мне не давали почитать статью про самоубийства).
1 - необходим exit point в Амсетраме, Париже, Франкфурте, Осло или другом хорошем месте. Афганистан не подойдет. Советую использовать виртуалки ovh, leaseweb или hetzner, они стоят менее $10 в месяц. Лично мне не нравятся идеи, когда я плачу $1 без нагрузки, а если придет бот помайнить биткойны, то счет будет заоблачным, по этому не Амазон.
2 - на exit point за границей необходимо настроить squid proxy. Единственный тонкий момент: надо прописать доступ только с IP из России, иначе кто-нибудь попользуется.
3 - в России надо настроить цепочку из squid'а и privoxy. Squid по умолчанию/желанию/надобнастям, только порт нестандартный, у privoxy нужны 2 правила в user.action:
#это правило форвардит все на локальный сквид
{ +change-x-forwarded-for{block} +forward-override{forward localhost:3129} }
.*
#это правило форвардит по списку в сквид не под цензурой (запрещена в Российской Федерации)
{ +change-x-forwarded-for{block} +forward-override{forward myexitpoint.com:3128} }
ru.pornhub.com
navalny.com
other_blocked_useful_site.net
Так как резолвинг заблокированного работает там, куда ручонки Антона Аносова не дотянутся, то порча DNS тоже не работает. Локальный сквид не является обязательным, но у меня на нем глобальная баннеронезалка.