| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to You under the Apache License, Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| |
| # The default url filter. |
| # Better for whole-internet crawling. |
| # Please comment/uncomment rules to your needs. |
| |
| # Each non-comment, non-blank line contains a regular expression |
| # prefixed by '+' or '-'. The first matching pattern in the file |
| # determines whether a URL is included or ignored. If no pattern |
| # matches, the URL is ignored. |
| |
| # skip file: ftp: and mailto: urls |
| -^(?:file|ftp|mailto): |
| |
| # skip URLs longer than 2048 characters, see also db.max.outlink.length |
| #-^.{2049,} |
| |
| # skip image and other suffixes we can't yet parse |
| # for a more extensive coverage use the urlfilter-suffix plugin |
| -(?i)\.(?:gif|jpg|png|ico|css|sit|eps|wmf|zip|ppt|mpg|xls|gz|rpm|tgz|mov|exe|jpeg|bmp|js)$ |
| |
| # skip URLs containing certain characters as probable queries, etc. |
| -[?*!@=] |
| |
| # skip URLs with slash-delimited segment that repeats 3+ times, to break loops |
| -.*(/[^/]+)/[^/]+\1/[^/]+\1/ |
| |
| # For safe web crawling if crawled content is exposed in a public search interface: |
| # - exclude private network addresses to avoid that information |
| # can be leaked by placing links pointing to web interfaces of services |
| # running on the crawling machines (e.g., HDFS, Hadoop YARN) |
| # - in addition, file:// URLs should be either excluded by a URL filter rule |
| # or ignored by not enabling protocol-file |
| # |
| # - exclude localhost and loop-back addresses |
| # http://localhost:8080 |
| # http://127.0.0.1/ .. http://127.255.255.255/ |
| # http://[::1]/ |
| #-^https?://(?:localhost|127(?:\.(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))){3}|\[::1\])(?::\d+)?(?:/|$) |
| # |
| # - exclude private IP address spaces |
| # 10.0.0.0/8 |
| #-^https?://(?:10(?:\.(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))){3})(?::\d+)?(?:/|$) |
| # 192.168.0.0/16 |
| #-^https?://(?:192\.168(?:\.(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))){2})(?::\d+)?(?:/|$) |
| # 172.16.0.0/12 |
| #-^https?://(?:172\.(?:1[6789]|2[0-9]|3[01])(?:\.(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))){2})(?::\d+)?(?:/|$) |
| |
| # accept anything else |
| +. |