cccs/assemblyline-service-urldownloaderURLDownloader Service 是 Assemblyline 框架的一部分,用于下载潜在***的URL。该服务基于Java程序 Kangooroo 实现其核心功能。
该服务专为Assemblyline框架设计,主要用于:
Assemblyline服务基于 Assemblyline service base image 构建,该基础镜像基于Debian 11并包含Python 3.11。
Assemblyline服务使用以下标签定义:
| 标签类型 | 描述 | 示例标签 |
|---|---|---|
| latest | 最新构建版本(可能不稳定) | latest |
| build_type | 构建类型,dev表示最新不稳定构建,stable表示最新稳定构建 | stable 或 dev |
| series | 完整构建详情,包含版本和构建类型:version.buildType | 4.5.stable、4.5.1.dev3 |
若需本地测试此服务,可直接从shell运行Docker镜像:
bashdocker run \ --name URLDownloader \ --env SERVICE_API_HOST=http://`ip addr show docker0 | grep "inet " | awk '{print $2}' | cut -f1 -d"/"`:5003 \ --network=host \ cccs/assemblyline-service-urldownloader
要将此服务添加到Assemblyline部署中,请遵循官方指南。
管理员可通过访问 Administration > Services 页面,点击 URLDownloader(或直接访问 /admin/services/URLDownloader)进入配置页面。"服务变量"和"用户指定参数"可在"参数"标签页中找到。
URLDownloader服务可配置使用零到多个代理,并允许用户从代理列表中选择。管理员可通过配置单个代理条目使其成为强制使用的代理。URLDownloader不会基于系统配置自动检测代理。
通过URLDownloader配置页面的"服务变量"部分,使用proxies [json]和proxy [list]配置代理设置:
创建新的代理条目,格式如下:
json{ "my_proxy": { "http": "[***]", "https": "[***]" } }
若所有协议使用相同代理,可使用简化字符串格式:
json{ "my_proxy": "[***]" }
在"用户指定参数"下的proxy [list]中添加代理名称,供用户选择。带星号的条目为默认选项,删除其他条目可强制使用单个代理。
可配置以下浏览器设置:
user_agent):请求头中的User-Agent值window_size):浏览器的屏幕分辨率headers/request_headers):用于获取URL的请求头管理员可在URLDownloader配置页面的"服务变量"部分设置这些参数的默认值,通过default_browser_settings [json]配置项。
默认浏览器设置示例:
json{ "window_size": "375x812", "user_agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Mobile/15E148 Safari/604.1", "request_headers": { "Sec-CH-UA-Mobile": "?1" } }
用户可通过提交Assemblyline URI文件,按URL提交覆盖默认设置:
Assemblyline URI文件示例:
# Assemblyline URI file uri: [***] browser_settings: window_size: 1280x720 user_agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36 # request headers headers: test-platform: Windows
配置优先级规则:
default_browser_settings中的默认值browser_settings.user_agent和headers中定义User-Agent,仅headers中的值会被使用用户可通过查看文件Service Results > URLDownloader > Supplementary files > results.json (kangooroo Result Output)检查每次提交使用的设置。
URLDownloader服务默认使用Kangooroo处理GET请求,模拟人类行为。若用户只需简单获取URL,可使用force_requests提交参数,强制使用Requests库进行单次直接获取,避免Kangooroo执行带来的开销。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务