|
30 | 30 | from langchain_community.document_loaders.base import BaseLoader |
31 | 31 | from langchain_core.documents import Document |
32 | 32 | from open_webui.config import ( |
33 | | - ENABLE_RAG_LOCAL_WEB_FETCH, |
| 33 | + ENABLE_LOCAL_WEB_FETCH, |
34 | 34 | EXTERNAL_WEB_LOADER_API_KEY, |
35 | 35 | EXTERNAL_WEB_LOADER_URL, |
36 | 36 | FIRECRAWL_API_BASE_URL, |
@@ -98,8 +98,8 @@ def validate_url(url: Union[str, Sequence[str]]): |
98 | 98 | log.warning(f'URL blocked by filter list: {url}') |
99 | 99 | raise ValueError(ERROR_MESSAGES.INVALID_URL) |
100 | 100 |
|
101 | | - if not ENABLE_RAG_LOCAL_WEB_FETCH: |
102 | | - # Local web fetch is disabled, filter out any URLs that resolve to private IP addresses |
| 101 | + if not ENABLE_LOCAL_WEB_FETCH: |
| 102 | + # Local web fetch is disabled, filter out URLs that resolve to non-global IP addresses. |
103 | 103 | parsed_url = urllib.parse.urlparse(url) |
104 | 104 | # Get IPv4 and IPv6 addresses |
105 | 105 | ipv4_addresses, ipv6_addresses = resolve_hostname(parsed_url.hostname) |
@@ -140,7 +140,7 @@ def _ssrf_safe_new_conn(self): |
140 | 140 | infos = socket.getaddrinfo(host, port, 0, socket.SOCK_STREAM) |
141 | 141 | if not infos: |
142 | 142 | raise OSError(f'getaddrinfo for {host!r} returned empty list') |
143 | | - if not ENABLE_RAG_LOCAL_WEB_FETCH: |
| 143 | + if not ENABLE_LOCAL_WEB_FETCH: |
144 | 144 | for _, _, _, _, sa in infos: |
145 | 145 | if not ipaddress.ip_address(sa[0]).is_global: |
146 | 146 | raise ValueError(ERROR_MESSAGES.INVALID_URL) |
@@ -196,7 +196,7 @@ class _SSRFSafeResolver(aiohttp.resolver.DefaultResolver): |
196 | 196 |
|
197 | 197 | async def resolve(self, host, port=0, family=socket.AF_INET): |
198 | 198 | results = await super().resolve(host, port, family) |
199 | | - if not ENABLE_RAG_LOCAL_WEB_FETCH: |
| 199 | + if not ENABLE_LOCAL_WEB_FETCH: |
200 | 200 | for entry in results: |
201 | 201 | if not ipaddress.ip_address(entry['host']).is_global: |
202 | 202 | raise ValueError(ERROR_MESSAGES.INVALID_URL) |
|
0 commit comments