tophant.benjamin.x.api
Services
service Core
rpc Reload
Reload 重载配置文件【不支持重载 debug, db, queue 的配置】
message ReloadRequest { // no fields}message ReloadResponse { // no fields}service Detector
rpc Detect
发起检测 注意,该函数为同步检测,每个网页耗时 ~1min,请注意避免大量检测导致超时
message DetectRequest { repeated string urls = 1; // 返回结果的 TechnologyResult 是否包含 detail 字段 bool response_include_detail = 2; // 仅支持 upstream_proxy}message DetectResponse { // 检测过程中的产生的错误 repeated string errors = 2;}service Target
rpc GetTarget
获取 Target
message GetTargetRequest { string target_id = 1;}message GetTargetResponse {}rpc GetTargetsV1
获取 Targets 信息 V1 Deprecated: Use ListTargetsV2 instead
message GetTargetsV1Request { // 除了 id 外,额外查询的字段,支持 // "id", "url", "canonical_url", "source", "source_detail", "status", "task_id", "task_job_id", "task_job_iterate", // "parent_target_id", "inherit_target_id", "error", "request", "response", "redirects", // "found_at", "start_at", "load_at", "stop_at", "notes", "created_at", "updated_at", repeated string fields = 1; // 筛选字段,多个字段之间为与关系 map<string,string> filter = 2; // 排序字段,排名分先后,默认为按照时间降序 repeated string order_by = 3; // 偏移量 int32 offset = 11; // 跳数 int32 limit = 12;}message GetTargetsV1Response { // 总数 int32 total = 1; // Targets 列表(字段只包含 fields 中的信息)}rpc ListTargetsV2
获取 Targets 信息 V2
message ListTargetsV2Request { repeated string order_by = 2; int64 offset = 3; int64 limit = 4;}message ListTargetsV2Response { int64 total = 2;}service Task
rpc DownloadRRWebFile
下载 RRWeb 文件
message DownloadFileRequest { string filename = 2;}message DownloadFileResponse { bytes content = 2;}rpc GetLatestTasks
获取最近的任务
message GetLatestTasksRequest { // 默认为 0(即从头开始) int32 offset = 1; // 默认为 10 int32 limit = 2;}message GetLatestTasksResponse {}rpc GetRRWebEvents
获取 RRWeb 信息
message GetRRWebEventsRequest {}message GetRRWebEventsResponse {}rpc GetTask
获取任务
message GetTaskReqeust { string task_id = 1;}message GetTaskResponse {}rpc GetTasksByJobId
利用 JobId 获取任务
message GetTasksByJobIdRequest { string job_id = 1;}message GetTasksByJobIdResponse {}rpc GetTasksV1
获取任务信息 V1 @deprecated Use ListTasksV2 instead. GetTasksV1 will be removed in a future version.
message GetTasksV1Request { // 除了 id 外,额外查询的字段,支持 "id", "job_id", "iterate", "job_name", "tid", "status", "start_at", "stop_at", "tick", "manager", "error", "notes", "created_at", "updated_at" repeated string fields = 1; // 筛选字段,多个字段之间为与关系 map<string,string> filter = 2; // 排序字段,排名分先后,默认为按照时间降序 repeated string order_by = 3; // 偏移量 int32 offset = 11; // 跳数 int32 limit = 12;}message GetTasksV1Response { // 总数 int32 total = 1; // 任务列表(字段只包含 fields 中的信息)}rpc ListTasksV2
获取任务信息 V2
message ListTasksV2Request { repeated string order_by = 2; int64 offset = 3; int64 limit = 4;}message ListTasksV2Response { int64 total = 2;}Messages & Enums
message DetectRequest
message DetectRequest { repeated string urls = 1; // 返回结果的 TechnologyResult 是否包含 detail 字段 bool response_include_detail = 2; // 仅支持 upstream_proxy}message DetectResponse
message DetectResponse { // 检测过程中的产生的错误 repeated string errors = 2;}message DownloadFileRequest
message DownloadFileRequest { string filename = 2;}message DownloadFileResponse
message DownloadFileResponse { bytes content = 2;}message GetLatestTasksRequest
message GetLatestTasksRequest { // 默认为 0(即从头开始) int32 offset = 1; // 默认为 10 int32 limit = 2;}message GetLatestTasksResponse
message GetLatestTasksResponse {}message GetRRWebEventsRequest
message GetRRWebEventsRequest {}message GetRRWebEventsResponse
message GetRRWebEventsResponse {}message GetRRWebEventsResponse.Events
message Events { repeated string filenames = 1;}message GetTargetRequest
message GetTargetRequest { string target_id = 1;}message GetTargetResponse
message GetTargetResponse {}message GetTargetsV1Request
Deprecated: Use ListTargetsV2Request instead
message GetTargetsV1Request { // 除了 id 外,额外查询的字段,支持 // "id", "url", "canonical_url", "source", "source_detail", "status", "task_id", "task_job_id", "task_job_iterate", // "parent_target_id", "inherit_target_id", "error", "request", "response", "redirects", // "found_at", "start_at", "load_at", "stop_at", "notes", "created_at", "updated_at", repeated string fields = 1; // 筛选字段,多个字段之间为与关系 map<string,string> filter = 2; // 排序字段,排名分先后,默认为按照时间降序 repeated string order_by = 3; // 偏移量 int32 offset = 11; // 跳数 int32 limit = 12;}message GetTargetsV1Response
Deprecated: Use ListTargetsV2Response instead
message GetTargetsV1Response { // 总数 int32 total = 1; // Targets 列表(字段只包含 fields 中的信息)}message GetTaskReqeust
message GetTaskReqeust { string task_id = 1;}message GetTaskResponse
message GetTaskResponse {}message GetTasksByJobIdRequest
message GetTasksByJobIdRequest { string job_id = 1;}message GetTasksByJobIdResponse
message GetTasksByJobIdResponse {}message GetTasksV1Request
@deprecated Use ListTasksV2Request instead
message GetTasksV1Request { // 除了 id 外,额外查询的字段,支持 "id", "job_id", "iterate", "job_name", "tid", "status", "start_at", "stop_at", "tick", "manager", "error", "notes", "created_at", "updated_at" repeated string fields = 1; // 筛选字段,多个字段之间为与关系 map<string,string> filter = 2; // 排序字段,排名分先后,默认为按照时间降序 repeated string order_by = 3; // 偏移量 int32 offset = 11; // 跳数 int32 limit = 12;}message GetTasksV1Response
@deprecated Use ListTasksV2Response instead
message GetTasksV1Response { // 总数 int32 total = 1; // 任务列表(字段只包含 fields 中的信息)}message ListTargetV2Result
message ListTargetV2Result {}message ListTargetsV2FilterUrl
message ListTargetsV2FilterUrl { // The search keyword (or raw LIKE pattern when match_type is LIKE) string keyword = 1; // How to match (contains, ends_with, or like)}enum ListTargetsV2FilterUrl.MatchType
enum MatchType { MATCH_TYPE_UNSPECIFIED = 0; // LIKE '%keyword%' (escaped) MATCH_TYPE_CONTAINS = 1; // LIKE '%keyword' (escaped) MATCH_TYPE_ENDS_WITH = 2; // Raw LIKE pattern (PostgreSQL only) MATCH_TYPE_LIKE = 3;}message ListTargetsV2Filters
message ListTargetsV2Filters { map<string,string> raw_filters = 1; // URL pattern filtering}message ListTargetsV2Request
message ListTargetsV2Request { repeated string order_by = 2; int64 offset = 3; int64 limit = 4;}message ListTargetsV2Response
message ListTargetsV2Response { int64 total = 2;}message ListTaskV2Result
message ListTaskV2Result { repeated string site_urls = 2;}message ListTasksV2Filters
message ListTasksV2Filters { map<string,string> raw_filters = 1;}message ListTasksV2Request
message ListTasksV2Request { repeated string order_by = 2; int64 offset = 3; int64 limit = 4;}message ListTasksV2Response
message ListTasksV2Response { int64 total = 2;}message ReloadRequest
message ReloadRequest { // no fields}message ReloadResponse
message ReloadResponse { // no fields}