Agent discovery: ai-plugin.json manifest + AI-crawler robots.txt rules (nothumansearch score 50->70)
This commit is contained in:
28
app.py
28
app.py
@@ -560,10 +560,36 @@ socks5://USER:PASS@{PROXY['host']}:{PROXY['socks_port']}
|
||||
@app.route("/robots.txt")
|
||||
def robots():
|
||||
return app.response_class(
|
||||
"User-agent: *\nAllow: /\nSitemap: https://%s/sitemap.xml\n" % SITE_HOST,
|
||||
"User-agent: *\nAllow: /\n"
|
||||
"User-agent: GPTBot\nAllow: /\n"
|
||||
"User-agent: ClaudeBot\nAllow: /\n"
|
||||
"User-agent: anthropic-ai\nAllow: /\n"
|
||||
"User-agent: Google-Extended\nAllow: /\n"
|
||||
"User-agent: PerplexityBot\nAllow: /\n"
|
||||
"User-agent: CCBot\nAllow: /\n"
|
||||
"Sitemap: https://%s/sitemap.xml\n" % SITE_HOST,
|
||||
mimetype="text/plain")
|
||||
|
||||
|
||||
@app.route("/ai-plugin.json")
|
||||
def ai_plugin():
|
||||
return jsonify({
|
||||
"schema_version": "v1",
|
||||
"name_for_human": "Clean Proxys",
|
||||
"name_for_model": "clean_proxys",
|
||||
"description_for_human": "Clean residential SOCKS5/HTTP proxies with global geo-targeting. No KYC, Bitcoin billing.",
|
||||
"description_for_model": "Buy clean residential SOCKS5/HTTP proxies programmatically. "
|
||||
"No KYC, Bitcoin billing, country/city geo-targeting, sticky or rotating sessions. "
|
||||
"Use list_plans then buy_proxy to provision a proxy, poll get_order_status until paid, "
|
||||
"then connect with the returned socks5/http credentials. "
|
||||
"OpenAPI spec at /openapi.json; MCP server at /mcp.",
|
||||
"api": {"type": "openapi", "url": f"https://{SITE_HOST}/openapi.json", "has_user_authentication": False},
|
||||
"auth": {"type": "none"},
|
||||
"contact_email": "indianaholmes1@icloud.com",
|
||||
"legal_info_url": f"https://{SITE_HOST}/",
|
||||
})
|
||||
|
||||
|
||||
@app.route("/api/v1/info")
|
||||
def api_info():
|
||||
return jsonify({
|
||||
|
||||
Reference in New Issue
Block a user