Free and public dns servers (2019)

ProviderPrimary DNSSecondary DNS
CenturyLink (Level3)209.244.0.3209.244.0.4
Verisign64.6.64.664.6.65.6
Google8.8.8.88.8.4.4
Quad99.9.9.9149.112.112.112
DNS.WATCH84.200.69.8084.200.70.40
Comodo Secure DNS8.26.56.268.20.247.20
OpenDNS Home208.67.222.222208.67.220.220
GreenTeamDNS81.218.119.11209.88.198.133
SafeDNS195.46.39.39195.46.39.40
OpenNIC198.206.14.241172.98.193.42
SmartViper208.76.50.50208.76.51.51
Dyn216.146.35.35216.146.36.36
FreeDNS45.33.97.537.235.1.177
Alternate DNS*198.101.242.7223.253.163.53
Yandex.DNS77.88.8.877.88.8.1
UncensoredDNS91.239.100.10089.233.43.71
Hurricane Electric74.82.42.42
puntCAT109.69.8.51
Neustar156.154.70.1156.154.71.1
Cloudflare1.1.1.11.0.0.1
Fourth Estate45.77.165.194
CleanBrowsing185.228.168.9185.228.169.9

* Automatic ad blocking

CORS – Glassfish

Simply create the filter:

import java.io.IOException;
 import javax.ws.rs.container.ContainerRequestContext;
 import javax.ws.rs.container.ContainerResponseContext;
 import javax.ws.rs.container.ContainerResponseFilter;
 import javax.ws.rs.ext.Provider;
 @Provider
 public class RestResponseFilter implements ContainerResponseFilter{
 @Override
     public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException{
         responseContext.getHeaders().putSingle("Access-Control-Allow-Origin", "*");
         responseContext.getHeaders().putSingle("Access-Control-Allow-Credentials", "true");
         responseContext.getHeaders().putSingle("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT, PATCH");
         responseContext.getHeaders().putSingle("Access-Control-Allow-Headers", "Content-Type, Accept, Authorization");
     }
 }

References

Personal portal to the Internet