{"id":4314,"date":"2017-06-06T20:09:24","date_gmt":"2017-06-06T23:09:24","guid":{"rendered":"https:\/\/blog.clusterweb.com.br\/?p=4314"},"modified":"2017-06-06T20:09:43","modified_gmt":"2017-06-06T23:09:43","slug":"set-web-proxy-address-in-browser-automaticallylike-wpad","status":"publish","type":"post","link":"https:\/\/blog.clusterweb.com.br\/?p=4314","title":{"rendered":"Set Web Proxy Address In Browser Automatically Like WPAD"},"content":{"rendered":"<p>a) WPAD could be set automatically (only in Internet Explorer) from DHCP &#8211; you have to add DHCP option, for example:<\/p>\n<div class=\"codebox\">\n<div class=\"codebox__header\"><code class=\"prettyprint prettyprinted\"><span class=\"pun\">\/<\/span><span class=\"pln\">ip dhcp<\/span><span class=\"pun\">-<\/span><span class=\"pln\">server option<\/span><br \/>\n<span class=\"kwd\">add<\/span><span class=\"pln\"> code<\/span><span class=\"pun\">=<\/span><span class=\"lit\">252<\/span><span class=\"pln\"> name<\/span><span class=\"pun\">=<\/span><span class=\"kwd\">auto<\/span><span class=\"pun\">-<\/span><span class=\"pln\">proxy<\/span><span class=\"pun\">-<\/span><span class=\"pln\">config <\/span><span class=\"kwd\">value<\/span><span class=\"pun\">=<\/span><span class=\"pln\">http<\/span><span class=\"pun\">:<\/span><span class=\"com\">\/\/wpad.intranet\/wpad.dat<\/span><\/code><\/div>\n<\/div>\n<p>(where value is address of your wpad script) and then use it in DHCP server network, for example:<\/p>\n<div class=\"codebox\">\n<pre><code class=\"prettyprint prettyprinted\"><span class=\"pun\">\/<\/span><span class=\"pln\">ip dhcp<\/span><span class=\"pun\">-<\/span><span class=\"pln\">server network<\/span>\r\n<span class=\"kwd\">add<\/span><span class=\"pln\"> address<\/span><span class=\"pun\">=<\/span><span class=\"lit\">192.168<\/span><span class=\"pun\">.<\/span><span class=\"lit\">100.0<\/span><span class=\"pun\">\/<\/span><span class=\"lit\">24<\/span><span class=\"pln\"> dhcp<\/span><span class=\"pun\">-<\/span><span class=\"pln\">option<\/span><span class=\"pun\">=<\/span><span class=\"kwd\">auto<\/span><span class=\"pun\">-<\/span><span class=\"pln\">proxy<\/span><span class=\"pun\">-<\/span><span class=\"pln\">config dns<\/span><span class=\"pun\">-<\/span><span class=\"pln\">server<\/span><span class=\"pun\">=<\/span><span class=\"lit\">192.168<\/span><span class=\"pun\">.<\/span><span class=\"lit\">100.1<\/span><span class=\"pln\"> gateway<\/span><span class=\"pun\">=<\/span><span class=\"lit\">192.168<\/span><span class=\"pun\">.<\/span><span class=\"lit\">100.1<\/span><\/code><\/pre>\n<\/div>\n<p><!--more--><br \/>\nb) More general way is to set configuration script URL in each browser (IE, Opera, Firefox), for example:\u00a0<a class=\"postlink\" href=\"http:\/\/wpad.intranet\/wpad.dat\">http:\/\/wpad.intranet\/wpad.dat<\/a>\u00a0&#8211; you don&#8217;t need to do anything on Mikrotik, but static DNS record may be useful (for example mentioned wpad.intranet).<\/p>\n<p>Both ways need a webserver to place WPAD configuration script on.<\/p>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/forum.mikrotik.com\/download\/file.php?id=8174\" alt=\"000.JPG\" \/><\/p>\n<p><img decoding=\"async\" class=\"postimage\" src=\"https:\/\/forum.mikrotik.com\/download\/file.php?id=8175\" alt=\"001.JPG\" \/><\/p>\n<p>1.Should I Create wpad.dat Manually(_Mikritik Did Not create it Automatically? Like Microsoft ISA Or TMG)<\/p>\n<p>Yes, you have to prepare it manually.<\/p>\n<p>2.If I Must Create Wpad.dat File Then What Is the WPAD Scrip?How Creat it? And Where I Must Place WPAD.DAT File????<\/p>\n<p>Here you can find some information:\u00a0<a class=\"postlink\" href=\"http:\/\/en.wikipedia.org\/wiki\/Web_Proxy_Autodiscovery_Protocol\">http:\/\/en.wikipedia.org\/wiki\/Web_Proxy_ &#8230; y_Protocol<\/a><br \/>\n<a class=\"postlink\" href=\"http:\/\/blog.freyguy.com\/archives\/2006\/03\/01\/proxy-auto-detect-ie-and-firefox\/\">http:\/\/blog.freyguy.com\/archives\/2006\/0 &#8230; d-firefox\/<\/a><\/p>\n<p>It should contain at least something like this:<\/p>\n<div class=\"codebox\">\n<div class=\"codebox__header\"><code class=\"prettyprint prettyprinted\"><span class=\"kwd\">function<\/span> <span class=\"typ\">FindProxyForURL<\/span><span class=\"pun\">(<\/span><span class=\"pln\">url<\/span><span class=\"pun\">,<\/span><span class=\"pln\"> host<\/span><span class=\"pun\">)<\/span> <span class=\"pun\">{<\/span> <span class=\"kwd\">return<\/span> <span class=\"str\">\"PROXY proxy.intranet:8080\"<\/span><span class=\"pun\">;<\/span> <span class=\"pun\">}<\/span><span class=\"str\">';<\/span><\/code><\/div>\n<\/div>\n<p>&#8211; where proxy.intranet is name or IP address of your proxy (Mikrotik) and 8080 is it&#8217;s TCP port. But you may use something more sofisticated, of course.<\/p>\n<p>I use this PHP script in index.php on my local web server:<\/p>\n<div class=\"codebox\">\n<div class=\"codebox__header\"><code class=\"prettyprint prettyprinted\"><span class=\"pun\">&lt;?<\/span><span class=\"pln\">php<\/span><br \/>\n<span class=\"kwd\">if<\/span> <span class=\"pun\">(<\/span><span class=\"pln\">isset<\/span><span class=\"pun\">(<\/span><span class=\"pln\">$_REQUEST<\/span><span class=\"pun\">[<\/span><span class=\"str\">\"wpad\"<\/span><span class=\"pun\">]))<\/span><br \/>\n<span class=\"pun\">{<\/span><br \/>\n<span class=\"pln\">\u00a0 header<\/span><span class=\"pun\">(<\/span><span class=\"str\">\"Content-Type: application\/x-ns-proxy-autoconfig; charset=utf-8\"<\/span><span class=\"pun\">);<\/span><br \/>\n<span class=\"pun\">?&gt;<\/span><br \/>\n<span class=\"pln\">function FindProxyForURL(url, host)<\/span><br \/>\n<span class=\"pln\">{<\/span><br \/>\n<span class=\"pln\">\u00a0 if (dnsDomainIs(host, \".local\") || dnsDomainIs(host, \".intranet\") || isPlainHostName(host) || shExpMatch(host, \"192.168.1.*\"))<\/span><br \/>\n<span class=\"pln\">\u00a0 \u00a0 return \"DIRECT\";<\/span><br \/>\n<span class=\"pln\">\u00a0 return \"PROXY proxy.intranet:8080\";<\/span><br \/>\n<span class=\"pln\">}<\/span><br \/>\n<span class=\"pun\">&lt;?<\/span><span class=\"pln\">php<\/span><br \/>\n<span class=\"pun\">}<\/span><br \/>\n<span class=\"kwd\">else<\/span><br \/>\n<span class=\"pln\">\u00a0 header<\/span><span class=\"pun\">(<\/span><span class=\"str\">\"location: http:\/\/www.mywebsite.x\"<\/span><span class=\"pun\">);<\/span><\/code><\/div>\n<\/div>\n<p>It is good if WPAD script is listening to various names, so I made this .htaccess:<\/p>\n<div class=\"codebox\">\n<div class=\"codebox__header\"><code class=\"prettyprint prettyprinted\"><span class=\"typ\">RewriteEngine<\/span><span class=\"pln\"> on<\/span><br \/>\n<span class=\"typ\">RewriteCond<\/span> <span class=\"pun\">%{<\/span><span class=\"pln\">HTTP_HOST<\/span><span class=\"pun\">}<\/span> <span class=\"pun\">^<\/span><span class=\"pln\">wpad<\/span><br \/>\n<span class=\"pln\">\u00a0 <\/span><span class=\"typ\">RewriteRule<\/span> <span class=\"pun\">.*<\/span><span class=\"pln\"> index<\/span><span class=\"pun\">.<\/span><span class=\"pln\">php<\/span><span class=\"pun\">?<\/span><span class=\"pln\">wpad<\/span><span class=\"pun\">=<\/span><span class=\"lit\">1<\/span> <span class=\"pun\">[<\/span><span class=\"pln\">L<\/span><span class=\"pun\">]<\/span><br \/>\n<span class=\"typ\">RewriteRule<\/span> <span class=\"pun\">^<\/span><span class=\"pln\">wpad\\. index<\/span><span class=\"pun\">.<\/span><span class=\"pln\">php<\/span><span class=\"pun\">?<\/span><span class=\"pln\">wpad<\/span><span class=\"pun\">=<\/span><span class=\"lit\">1<\/span> <span class=\"pun\">[<\/span><span class=\"pln\">L<\/span><span class=\"pun\">]<\/span><br \/>\n<span class=\"typ\">RewriteRule<\/span> <span class=\"pun\">^<\/span><span class=\"pln\">wspad\\. index<\/span><span class=\"pun\">.<\/span><span class=\"pln\">php<\/span><span class=\"pun\">?<\/span><span class=\"pln\">wpad<\/span><span class=\"pun\">=<\/span><span class=\"lit\">1<\/span> <span class=\"pun\">[<\/span><span class=\"pln\">L<\/span><span class=\"pun\">]<\/span><br \/>\n<span class=\"typ\">RewriteRule<\/span> <span class=\"pun\">^<\/span><span class=\"pln\">proxy\\.pac index<\/span><span class=\"pun\">.<\/span><span class=\"pln\">php<\/span><span class=\"pun\">?<\/span><span class=\"pln\">wpad<\/span><span class=\"pun\">=<\/span><span class=\"lit\">1<\/span> <span class=\"pun\">[<\/span><span class=\"pln\">L<\/span><span class=\"pun\">]<\/span><\/code><\/div>\n<\/div>\n<p>&#8211; it is listening not only to file named wpad.dat, but also any wpad.* file and also on DNS name of server wpad.<\/p>\n<p>3.If I Must Place WPAD.DAT File Manually Then How Can I Place it On Mikrotik Itself And set DHCP Option Value=http:\/\/&lt;Mikrotik Ip&gt;\/wpad.txt ?<\/p>\n<p>Unfortunately, Mikrotik is not a webserver, so you have to use your local webserver or maybe webserver on internet (but you have to add it to Walled Garden then)\u00a0<img decoding=\"async\" class=\"smilies\" title=\"Sad\" src=\"https:\/\/forum.mikrotik.com\/images\/smilies\/icon_sad.gif\" alt=\":(\" \/><\/p>\n<p>4.On Several Forum I Read That DHCP Code for Wpad Is 249 Not 255 (_if This may Help:I Use Licecnce Level 6)?<\/p>\n<p>I have found value of 252 as right value and it is working for me in Internet Explorer. I didn&#8217;t try value of 249, but you can try and let me know.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>a) WPAD could be set automatically (only in Internet Explorer) from DHCP &#8211; you have to add DHCP option, for example: \/ip dhcp-server option add code=252 name=auto-proxy-config value=http:\/\/wpad.intranet\/wpad.dat (where value is address of your wpad script) and then use it in DHCP server network, for example: \/ip dhcp-server network add address=192.168.100.0\/24 dhcp-option=auto-proxy-config dns-server=192.168.100.1 gateway=192.168.100.1<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[455,1,730,830,540,772,725,42,51,415,495,514,85,68,271,111,35],"tags":[1077,1079,1078,1080,87,1076,416,1081],"class_list":["post-4314","post","type-post","status-publish","format-standard","hentry","category-apache2","category-viazap","category-clusterweb","category-debian","category-dhcp-2","category-dns-2","category-hospedagem","category-leitura-recomendada","category-linux-linuxrs","category-mikrotik-2","category-profissional-de-ti","category-programacao","category-proxy","category-redes-2","category-seguranca-2","category-squid-2","category-wireless","tag-address","tag-automatically","tag-in-browser","tag-like","tag-proxy-2","tag-set","tag-web","tag-wpad"],"_links":{"self":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/4314","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4314"}],"version-history":[{"count":2,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/4314\/revisions"}],"predecessor-version":[{"id":4316,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/4314\/revisions\/4316"}],"wp:attachment":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4314"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4314"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4314"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}