diff options
Diffstat (limited to 'src/pattern-help.html')
-rw-r--r-- | src/pattern-help.html | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/src/pattern-help.html b/src/pattern-help.html new file mode 100644 index 0000000..890d842 --- /dev/null +++ b/src/pattern-help.html @@ -0,0 +1,119 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="UTF-8"> + <title>FoxyProxy Pattern Help</title> + <link rel="icon" type="image/png" href="/images/icon.svg"> + <link rel="stylesheet" href="styles/fontawesome-4.6.3.css"> + <link rel="stylesheet" href="styles/app.css"> + <style> + td { font-size: 0.9em; } + td:not(:first-of-type) { font-family: monospace; } + </style> + </head> + <body> + + <!-- header --> + <div class="prime header">Pattern Help</div> + + <!-- main --> + <div class="prime"> + + <div style="text-align: right;"> + + <div class="tooltip"> + <span data-i18n="patternCheatSheet" class="fp-orange"></span> + <i class="fa fa-info-circle"></i> + <div class="tooltiptext bottom table"> + <div class="tooltiptable"> + <div class="monospace">*</div> + <div>all domains</div> + <div class="monospace">*.bbc.co.uk</div> + <div>exact domain and all subdomains</div> + <div class="monospace">**.bbc.co.uk</div> + <div>subdomains only (not bbc.co.uk)</div> + <div class="monospace">bbc.co.uk</div> + <div>exact domain only</div> + </div> + <hr> + <div class="tooltiptablefooter"> + <div>Black patterns take precedence over white patterns. For example, a black pattern of <span class="monospace">*</span> means nothing will match, regardless of any white patterns.</div> + </div> + </div> + </div> + | + <a href="/pattern-tester.html" target="_blank"><span data-i18n="patternTester"></span> <i class="fa fa-flask"></i></a> + </div> + + <p><h3 style="display: inline-block;">TL;DR</h3>: <a href="#examples">show me the examples</a></p> + + <h3>What are they?</h3> + <p>Patterns are a way to specify groups of URLs: a pattern matches a specific set of URLs. If a white pattern matches a URL the browser wants to load, the proxy for that white pattern is used to load the URL <strong class="prime tiny warning">unless a black pattern also matches!</strong> Black patterns take precendence over white patterns and are always checked first. If both white and black patterns (in the same proxy) match a URL, that proxy is <strong>not</strong> used to load that URL.</p> + <div class="prime small warning">Patterns are <strong>ignored</strong> unless FoxyProxy is set to <i>Use Enabled Proxies By Patterns and Priority</i>.</div> + + <h3>Ordering</h3> + <p>Every URL is compared with the patterns for each proxy. The white/black patterns for the top-most (first) proxy are checked first, then the next set of white/black patterns are checked, and on down the list of proxies until there is a match. If there is no match, Firefox's native proxy settings are used to load the URL. Older versions of FoxyProxy had a <i>Default</i> proxy that acted as a catch-all to matches all URLs. You may still have <i>Default</i> in FoxyProxy if you upgraded from a previous version. + <p>You can re-order the proxies using the arrow buttons as you like, but <strong>the white/black patterns for the top-most (first) proxy are checked first.</strong></p> + <p>If a black pattern matches, the proxy is not used for that URL <i>even if a white pattern also matches</i>. The black pattern takes priority. The URL may, however, load through another proxy you've defined if that proxy has a matching whitelist pattern and no matching blacklist pattern.</p> + <p>The order of white patterns and black patterns within a proxy do not matter.</p> + + <h3>Wildcards</h3> + <div class="prime alert"> + Because of <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1337001">Firefox limitations</a>, only URL domains, subdomains, and ports are recognized in patterns. Do not use paths or query parameters in patterns. Example: <strong>*.foxyproxy.com:30053</strong> is OK but not <strong>*.foxyproxy.com:30053/help/*</strong> + </div> + + <h4 id="examples">Examples</h4> + <table> + <thead><tr><th>Pattern</th><th>Example Matches</th><th>Example Non-Matches</th></thead> + <tbody> + <tr> + <td><strong>*.foxyproxy.com</strong><br>Match URLs at foxyproxy.com and all subdomains</td> + <td>foxyproxy.com/order.html<br>help.foxyproxy.com/index.html<br>foo.bar.foxyproxy.com<br>twostep.foxyproxy.com</td> + <td>mozilla.com</td> + </tr> + <tr> + <td><strong>.foxyproxy.com</strong><br>Match URLs at foxyproxy.com and all subdomains<br>(same as pattern above)</td> + <td>foxyproxy.com/order.html<br>help.foxyproxy.com/index.html<br>foo.bar.foxyproxy.com<br>twostep.foxyproxy.com</td> + <td>mozilla.com</td> + </tr> + <tr> + <td><strong>**.foxyproxy.com</strong><br>Match URLs <strong>only at subdomains</strong> of foxyproxy.com</td> + <td>help.foxyproxy.com<br>help.foxyproxy.com/index.html<br>foo.bar.foxyproxy.com</td> + <td>foxyproxy.com</td> + </tr> + <tr> + <td><strong>foxyproxy.com</strong><br>Match all URLs at foxyproxy.com but not subdomains</td> + <td>foxyproxy.com<br>foxyproxy.com/index.html</td> + <td>help.foxyproxy.com</td> + </tr> + <tr> + <td><strong>*foo*</strong><br>Match all URLs with a domain containing the letters foo</td> + <td>foo.com<br>foodle.com<br>one.befoo.org</td> + <td>bar.com</td> + </tr> + <tr> + <td><strong>*foo*.com</strong></td> + <td>foo.com<br>foodle.com<br>food.com</td> + <td>one.befoo.org<br>food.org</td> + </tr> + <tr> + <td><strong>g?ogle.*</strong><br>? matches any single character</td> + <td>google.com<br>grogle.org<br>google.com/maps</td> + <td>goog.com</td> + </tr> + <tr> + <td><strong>.catsinsinks.com:8080</strong><br>Port matching!</td> + <td>catsinsinks.com:8080<br>www.catsinsinks.com:8080<br>www.catsinsinks.com:8080/privacy</td> + <td>catinsinks.net</td> + </tr> + </tbody> + </table> + + <h4>Notes</h4> + <p>If a wildcard pattern begins with <strong>.</strong> or <strong>*.</strong> then it matches the main domain and all subdomains in a URL.</p> + <p>To match <strong>only</strong> subdomains, use <strong>**</strong> instead of <strong>*</strong> in the beginning. Example: <strong>**.foxyproxy.com</strong> will match <strong>help.foxyproxy.com</strong> but will not match <strong>foxyproxy.com</strong>.</p> + + </div> + <script src="scripts/pattern-tester.js"></script> + </body> +</html> |