Заставить всю сетевую активность в моем приложении проходить через определенный DNS-сервер.Android

Форум для тех, кто программирует под Android
Anonymous
Заставить всю сетевую активность в моем приложении проходить через определенный DNS-сервер.

Сообщение Anonymous »

Чтобы обойти цензуру, я хочу заставить всю сетевую активность в моем приложении использовать определенный DNS-сервер (например, Quad9) через DoH вместо использования системного DNS.
Сейчас я использую OkHttp со следующим кодом:

Код: Выделить всё

var bootstrapClient: OkHttpClient = OkHttpClient()
var DnsVar: Dns = DnsOverHttps.Builder().client(bootstrapClient)
.url("https://dns11.quad9.net/dns-query/".toHttpUrl())
.build()
var client: OkHttpClient = OkHttpClient.Builder().dns(DnsVar).build()
Но благодаря этому я могу вызывать только определенные URL-адреса.

Код: Выделить всё

val result = client.newCall(Request.Builder().url("https://google.com/").build())
.execute()
Вместо этого я хочу применить DNS ко всему приложению, а не просто использовать client.newCall() для запроса определенных URL-адресов.
Как я могу это сделать? Возможно ли это?

Подробнее здесь: https://stackoverflow.com/questions/798 ... dns-server

Вернуться в «Android»