Skip to content

Commit

Permalink
fix(outline-client): [1980] randomize list of dns severs
Browse files Browse the repository at this point in the history
  • Loading branch information
serge-r committed May 21, 2024
1 parent 50a1c0d commit 0e148bb
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,8 @@ public class OutlineTunnel: NSObject, Codable {
@objc public static func getTunnelNetworkSettings(tunnelRemoteAddress: String) -> NEPacketTunnelNetworkSettings {
// The remote address is not used for routing, but for display in Settings > VPN > Outline.
let settings = NEPacketTunnelNetworkSettings(tunnelRemoteAddress: tunnelRemoteAddress)
var dnsList = ["1.1.1.1", "9.9.9.9", "208.67.222.222", "208.67.220.220"]
dnsList.shuffle()

// Configure VPN address and routing.
let vpnAddress = selectVpnAddress(interfaceAddresses: getNetworkInterfaceAddresses())
Expand All @@ -79,8 +81,8 @@ public class OutlineTunnel: NSObject, Codable {
settings.ipv4Settings = ipv4Settings

// Configure with Cloudflare, Quad9, and OpenDNS resolver addresses.
settings.dnsSettings = NEDNSSettings(servers: ["1.1.1.1", "9.9.9.9", "208.67.222.222", "208.67.220.220"])
settings.dnsSettings = NEDNSSettings(servers: dnsList)

return settings
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ final class OutlineTunnelTest: XCTestCase {

func testGetTunnelNetworkSettings() {
let settings = OutlineTunnel.getTunnelNetworkSettings(tunnelRemoteAddress: "1.2.3.4")

XCTAssertEqual("1.2.3.4", settings.tunnelRemoteAddress)

XCTAssertEqual(1, settings.ipv4Settings?.addresses.count)
Expand All @@ -36,6 +36,9 @@ final class OutlineTunnelTest: XCTestCase {
XCTAssertEqual([NEIPv4Route.default()], settings.ipv4Settings?.includedRoutes)
XCTAssertEqual(15, settings.ipv4Settings?.excludedRoutes?.count ?? 0)

XCTAssertEqual(["1.1.1.1", "9.9.9.9", "208.67.222.222", "208.67.220.220"], settings.dnsSettings?.servers)
XCTAssertEqual(settings.dnsSettings?.servers.contains("1.1.1.1"), true)
XCTAssertEqual(settings.dnsSettings?.servers.contains("9.9.9.9"), true)
XCTAssertEqual(settings.dnsSettings?.servers.contains("208.67.222.222"), true)
XCTAssertEqual(settings.dnsSettings?.servers.contains("208.67.220.220"), true)
}
}

0 comments on commit 0e148bb

Please sign in to comment.