name: "qsreplace" command: "python3" args: - "-c" - | import shlex import subprocess import sys if len(sys.argv) < 2: sys.stderr.write("缺少URL列表\n") sys.exit(1) urls = sys.argv[1] replacement = sys.argv[2] if len(sys.argv) > 2 else "" extra = sys.argv[3] if len(sys.argv) > 3 else "" cmd = ["qsreplace"] if extra: cmd.extend(shlex.split(extra)) if replacement: cmd.append(replacement) proc = subprocess.run( cmd, input=urls, capture_output=True, text=True, ) if proc.stdout: sys.stdout.write(proc.stdout) if proc.stderr: sys.stderr.write(proc.stderr) sys.exit(proc.returncode) enabled: true short_description: "查询字符串参数替换工具" description: | Qsreplace是一个用于替换URL中查询字符串参数的工具,常用于模糊测试。 **主要功能:** - 参数替换 - 批量处理 - 多种替换模式 - 快速处理 **使用场景:** - 参数模糊测试 - URL处理 - 工具链集成 - 安全测试 parameters: - name: "urls" type: "string" description: "要处理的URL(每行一个)" required: true position: 0 format: "positional" - name: "replacement" type: "string" description: "替换字符串" required: false default: "" position: 1 format: "positional" - name: "additional_args" type: "string" description: | 额外的Qsreplace参数。用于传递未在参数列表中定义的Qsreplace选项。 **示例值:** - "-a": 追加模式 - "-d": 删除参数 **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false default: "" position: 2 format: "positional"