[Agent Tools](https://tools.openkrill.app/) / [Blog](https://tools.openkrill.app/blog)

# How to turn Google Drive share links into direct downloads, list Baidu shares and clean social URLs

When you pass a Google Drive `/file/d/<id>/view` URL to `curl` or `aria2c`, you download an HTML viewer shell instead of the file, and large files stop at Google's virus-scan confirmation page. On 2026-10-20 we benchmarked [Share Link Resolver](https://tools.openkrill.app/sharelink) ([MCP reference](https://tools.openkrill.app/tools/sharelink) at `https://sharelink.openkrill.app/mcp`) on the public CelebA identity mapping file against `gdown`, WonderPlugin's converter and `gdocs2direct`. In 2,260 ms, `resolve_share_link` returned the exact file name (`identity_CelebA.txt`), byte size (`3,424,458` bytes), direct `drive.usercontent.google.com` URL with `confirm=t`, and ready-to-run `curl`, `aria2c` and Aria2 JSON-RPC hand-offs.

## 13 supported providers across cloud drives and social links

Calling `list_share_providers` on `https://sharelink.openkrill.app/mcp` returns the 13 supported providers split into two categories:

- **Google Drive (`google_drive`, `kind: "drive"`)** across `drive.google.com`, `drive.usercontent.google.com` and `docs.google.com`. Public files get a direct `drive.usercontent.google.com/download?id=<id>&export=download&confirm=t` URL; public folders list one level via `embeddedfolderview`; Google Docs, Sheets and Slides export as `.docx`, `.xlsx` and `.pptx`.
- **Baidu Netdisk (百度网盘, `baidu`, `kind: "drive"`)** across `pan.baidu.com` and `yun.baidu.com`. Verifies optional 4-character extraction codes (`?pwd=abcd` or the `password` argument) against `pan.baidu.com/share/verify` and lists the shared files and byte counts via `/share/list` (`auth_need: "provider_sign_in"` for downloading the bytes).
- **11 social post canonicalizers (`kind: "social"`)**: YouTube (`youtube`), X / Twitter (`x`), Reddit (`reddit`), TikTok (`tiktok`), Pinterest (`pinterest`), Instagram (`instagram`), Threads (`threads`), Facebook (`facebook`), LinkedIn (`linkedin`), Telegram (`telegram`) and Bilibili (`bilibili`). For these providers, the tool strips tracking parameters, expands shortener hosts and returns the clean canonical post URL with `download: "none"`.

## Step 1: Resolve a Google Drive file link and compare 3 rivals

We ran the same public Google Drive file link (`https://drive.google.com/file/d/1_ee_0u7vcNLOfNLegJRHmolfH5ICW-XS/view`) through Share Link Resolver and three rivals on 2026-10-20:

```
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "resolve_share_link",
    "arguments": {
      "url": "https://drive.google.com/file/d/1_ee_0u7vcNLOfNLegJRHmolfH5ICW-XS/view"
    }
  }
}
```

The response in 2,260 ms includes the file metadata and three download hand-offs:

```
{
  "status": "ok",
  "provider": "google_drive",
  "title": "identity_CelebA.txt",
  "download": "direct",
  "files": [
    {
      "name": "identity_CelebA.txt",
      "is_folder": false,
      "size_bytes": 3424458,
      "open_url": "https://drive.google.com/file/d/1_ee_0u7vcNLOfNLegJRHmolfH5ICW-XS/view",
      "direct_url": "https://drive.usercontent.google.com/download?id=1_ee_0u7vcNLOfNLegJRHmolfH5ICW-XS&export=download&confirm=t",
      "handoff": {
        "curl": "curl -L --fail -o 'identity_CelebA.txt' 'https://drive.usercontent.google.com/download?id=1_ee_0u7vcNLOfNLegJRHmolfH5ICW-XS&export=download&confirm=t'",
        "aria2c": "aria2c -x 4 -s 4 -o 'identity_CelebA.txt' 'https://drive.usercontent.google.com/download?id=1_ee_0u7vcNLOfNLegJRHmolfH5ICW-XS&export=download&confirm=t'",
        "aria2_rpc": {
          "jsonrpc": "2.0",
          "id": "openkrill-sharelink",
          "method": "aria2.addUri",
          "params": [
            ["https://drive.usercontent.google.com/download?id=1_ee_0u7vcNLOfNLegJRHmolfH5ICW-XS&export=download&confirm=t"],
            { "out": "identity_CelebA.txt" }
          ]
        }
      }
    }
  ]
}
```

Here is how Share Link Resolver compared against the three rivals on the same link:

| Tool | Wall time | Score | File name and size before download | Direct URL and CLI hand-off |
| --- | --- | --- | --- | --- |
| **Share Link Resolver (`resolve_share_link`)** | 2,260 ms | 9.6 / 10 | `identity_CelebA.txt`, `3,424,458` bytes | `drive.usercontent.google.com/download?...&confirm=t` plus ready `curl`, `aria2c` and `aria2.addUri` JSON-RPC |
| `gdown` CLI (`uvx gdown <url> --json`) | 3,866 ms | 8.2 / 10 | `identity_CelebA.txt`; no byte count without downloading | Streams the file or writes `drive.google.com/uc?id=...` in `--json`; no `aria2c` or RPC hand-off |
| WonderPlugin Google Drive Converter | 2,615 ms | 7.6 / 10 | None (string regex only) | Rejected the plain `/view` URL until `?usp=sharing` was appended; outputs `drive.google.com/uc?export=download&id=...` |
| `gdocs2direct` (GitHub Pages widget) | not run | not run | None | Client-side browser form only; no HTTP API or CLI mode |

## Step 2: Strip tracking parameters and normalize social links

Pass any shared social URL to `resolve_share_link` to strip tracking query parameters and canonicalize legacy domains such as `twitter.com`:

```
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "resolve_share_link",
    "arguments": {
      "url": "https://twitter.com/OpenAI/status/1895186539732943114?s=20&utm_source=share"
    }
  }
}
```

The tool returns `provider: "x"`, `canonical_url: "https://x.com/OpenAI/status/1895186539732943114"` and `download: "none"`.

## Use Share Link Resolver on the web, in your browser or via MCP

- [Share Link Resolver web app](https://tools.openkrill.app/sharelink) with one-click copy for direct URLs, `curl`, `aria2c` and local Aria2 / Motrix RPC hand-off
- [Share Link Resolver MCP server reference](https://tools.openkrill.app/tools/sharelink) (`https://sharelink.openkrill.app/mcp`)
- [OpenKrill Share Link userscript (openkrill-sharelink.user.js)](https://tools.openkrill.app/sharelink/openkrill-sharelink.user.js) for Tampermonkey and Violentmonkey
- [Share Link Resolver Agent Skill (SKILL.md)](https://tools.openkrill.app/skills/sharelink-jobs/SKILL.md) for automated dataset and folder link resolution

## Sources

- [Google Drive public test file (identity_CelebA.txt)](https://drive.google.com/file/d/1_ee_0u7vcNLOfNLegJRHmolfH5ICW-XS/view) used in the 2026-10-20 benchmark
- [gdown on GitHub](https://github.com/wkentaro/gdown) (checked 2026-10-20)
- [WonderPlugin Google Drive Direct Link Generator](https://www.wonderplugin.com/online-tools/google-drive-direct-link-generator/) (checked 2026-10-20)

## Frequently asked questions

- How do I turn a Google Drive share link into a direct download URL for curl or aria2c?: Paste the Google Drive link into tools.openkrill.app/sharelink or call resolve_share_link on https://sharelink.openkrill.app/mcp. For a public file, the tool returns the drive.usercontent.google.com/download URL with export=download&confirm=t alongside the file name, size in bytes, and ready curl -L, aria2c -x 4 -s 4 and aria2.addUri JSON-RPC payloads.
- How can I list the files inside a public Baidu Netdisk share link?: Call resolve_share_link on https://sharelink.openkrill.app/mcp with the pan.baidu.com or yun.baidu.com share URL and pass the 4-character extraction code either in ?pwd=code on the URL or in the password argument. The resolver calls pan.baidu.com/share/verify and /share/list to return the file names, paths, byte sizes and modification timestamps.
- What is the clean canonical URL for a shared X, TikTok, or Instagram link without tracking parameters?: Call resolve_share_link with a link from any of the 11 supported social platforms (YouTube, X, Reddit, TikTok, Pinterest, Instagram, Threads, Facebook, LinkedIn, Telegram or Bilibili). It strips tracking query parameters such as utm_source, s, si and igshid, expands short links like youtu.be or redd.it, and returns the canonical post URL.
- Does Share Link Resolver bypass private permissions or download social videos?: No. It only resolves Google Drive and Baidu Netdisk links that the owner shared publicly, and for social links it returns only the clean canonical post URL (download: "none").
