Skip to content

[BUG] Cloudflare Workers 免费版极易触发 exceededCpu 10ms 限制 #67

Description

@aquausora

请确认以下事项

  • 我确认描述清晰有礼貌,已提供必要诊断信息,在最新版本上可以复现。
  • 我确认已经查过相关文档和已有问题和讨论,本次反馈并非是重复提问。
  • 我确认这是Worker项目问题,并非网络和操作导致,也不是Go版的问题。
  • 我确认已阅读开源许可/免责条款/使用政策,理解使用的风险自行承担。

版本(必填)

v4.2.3(Commit 1a41776)

平台(必填)

Cloudflare Workers

DB_FORMAT(必填)

sql(关系表)

DB_DRIVER(必填)

d1

存储驱动(必填)

OneDrive

问题描述(必填)

  1. 部署后登录,添加 OneDrive 存储到 /OneDrive
  2. 打开首页,点击进入 /OneDrive,继续浏览二级文件夹
  3. 出现报错 Request failed with status code 503

报错信息(必填)

日志信息已脱敏

POST /api/fs/list,浏览 /OneDrive 文件时:

{
  "wallTime": 2414,
  "cpuTime": 634,
  "truncated": false,
  "executionModel": "stateless",
  "outcome": "exceededCpu",
  "scriptVersion": { "id": "613a723f-81ce-45d3-8f62-2ad82a21c6eb" },
  "scriptName": "openlist-worker",
  "diagnosticsChannelEvents": [],
  "exceptions": [
    {
      "name": "Error",
      "message": "Worker exceeded CPU time limit.",
      "timestamp": 1789826168335
    }
  ],
  "logs": [],
  "eventTimestamp": 1789826166360,
  "event": {
    "request": {
      "url": "https://<my-worker>.workers.dev/api/fs/list",
      "method": "POST",
      "headers": {
        "accept": "application/json, text/plain, */*",
        "accept-encoding": "gzip, br",
        "accept-language": "zh-CN,zh;q=0.9,ja;q=0.8,en-US;q=0.7,en;q=0.6,zh-TW;q=0.5",
        "authorization": "REDACTED",
        "cf-connecting-ip": "<REDACTED-IP>",
        "cf-ipcountry": "JP",
        "cf-ray": "a3d91783ba6aebf9",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "72",
        "content-type": "application/json;charset=UTF-8",
        "cookie": "REDACTED",
        "dnt": "1",
        "host": "<my-worker>.workers.dev",
        "origin": "https://<my-worker>.workers.dev",
        "priority": "u=1, i",
        "referer": "https://<my-worker>.workers.dev/OneDrive",
        "sec-ch-ua": "\"Google Chrome\";v=\"153\", \"Not_A Brand\";v=\"8\", \"Chromium\";v=\"153\"",
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": "\"macOS\"",
        "sec-fetch-dest": "empty",
        "sec-fetch-mode": "cors",
        "sec-fetch-site": "same-origin",
        "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36",
        "x-forwarded-proto": "https",
        "x-real-ip": "<REDACTED-IP>"
      },
      "cf": {
        "httpProtocol": "HTTP/3",
        "clientAcceptEncoding": "gzip, deflate, br",
        "requestPriority": "",
        "edgeRequestKeepAliveStatus": 1,
        "requestHeaderNames": {},
        "clientTcpRtt": 0,
        "clientQuicRtt": 65,
        "colo": "NRT",
        "asn": "<REDACTED>",
        "asOrganization": "<REDACTED>",
        "country": "JP",
        "isEUCountry": false,
        "city": "<REDACTED>",
        "continent": "AS",
        "region": "<REDACTED>",
        "regionCode": "<REDACTED>",
        "timezone": "Asia/Tokyo",
        "longitude": "<REDACTED>",
        "latitude": "<REDACTED>",
        "postalCode": "<REDACTED>",
        "tlsVersion": "TLSv1.3",
        "tlsCipher": "AEAD-AES128-GCM-SHA256",
        "tlsClientRandom": "<REDACTED>",
        "tlsClientCiphersSha1": "3HTt3+R/6BL3zeALJDSq0pR1yOQ=",
        "tlsClientExtensionsSha1": "Sxz1sNOZPgXozZ0J9nKSn54w2Ak=",
        "tlsClientExtensionsSha1Le": "Av4ltJUTO5CQI1N9cXtY/Kj3Clo=",
        "tlsClientHelloLength": "1947",
        "tlsClientAuth": {
          "certPresented": "0",
          "certVerified": "NONE",
          "certRevoked": "0",
          "certIssuerDN": "",
          "certSubjectDN": "",
          "certIssuerDNRFC2253": "",
          "certSubjectDNRFC2253": "",
          "certIssuerDNLegacy": "",
          "certSubjectDNLegacy": "",
          "certSerial": "",
          "certIssuerSerial": "",
          "certSKI": "",
          "certIssuerSKI": "",
          "certFingerprintSHA1": "",
          "certFingerprintSHA256": "",
          "certNotBefore": "",
          "certNotAfter": "",
          "certRFC9440": "",
          "certRFC9440TooLarge": false,
          "certChainRFC9440": "",
          "certChainRFC9440TooLarge": false
        },
        "verifiedBotCategory": "",
        "edgeL4": { "deliveryRate": 251078 }
      }
    },
    "response": { "status": 503 }
  },
  "id": 57
}

POST /api/admin/storage/update,保存存储配置时:

{
  "wallTime": 2848,
  "cpuTime": 822,
  "truncated": false,
  "executionModel": "stateless",
  "outcome": "exceededCpu",
  "scriptVersion": { "id": "613a723f-81ce-45d3-8f62-2ad82a21c6eb" },
  "scriptName": "openlist-worker",
  "diagnosticsChannelEvents": [],
  "exceptions": [
    {
      "name": "Error",
      "message": "Worker exceeded CPU time limit.",
      "timestamp": 1789825901089
    }
  ],
  "logs": [
    { "message": ["[DB] saveDb: sealing and persisting to d1, storages=2"], "level": "log", "timestamp": 1789825899862 },
    { "message": ["[DB] saveDb: sealed data size=18763 bytes"], "level": "log", "timestamp": 1789825899862 },
    { "message": ["[DB] Successfully persisted 2 storages to d1"], "level": "log", "timestamp": 1789825899986 },
    { "message": ["[DB] saveDb: sealing and persisting to d1, storages=2"], "level": "log", "timestamp": 1789825900873 },
    { "message": ["[DB] saveDb: sealed data size=18465 bytes"], "level": "log", "timestamp": 1789825900873 },
    { "message": ["[DB] Successfully persisted 2 storages to d1"], "level": "log", "timestamp": 1789825900984 },
    { "message": ["[DB] saveDb: sealing and persisting to d1, storages=2"], "level": "log", "timestamp": 1789825901089 }
  ],
  "eventTimestamp": 1789825898779,
  "event": {
    "request": {
      "url": "https://<my-worker>.workers.dev/api/admin/storage/update",
      "method": "POST",
      "headers": {
        "accept": "application/json, text/plain, */*",
        "accept-encoding": "gzip, br",
        "accept-language": "zh-CN,zh;q=0.9,ja;q=0.8,en-US;q=0.7,en;q=0.6,zh-TW;q=0.5",
        "authorization": "REDACTED",
        "cf-connecting-ip": "<REDACTED-IP>",
        "cf-ipcountry": "JP",
        "cf-ray": "a3d910fb5924e35a",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "1454",
        "content-type": "application/json;charset=UTF-8",
        "cookie": "REDACTED",
        "dnt": "1",
        "host": "<my-worker>.workers.dev",
        "origin": "https://<my-worker>.workers.dev",
        "priority": "u=1, i",
        "referer": "https://<my-worker>.workers.dev/@manage/storages/edit/1",
        "sec-ch-ua": "\"Google Chrome\";v=\"153\", \"Not_A Brand\";v=\"8\", \"Chromium\";v=\"153\"",
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": "\"macOS\"",
        "sec-fetch-dest": "empty",
        "sec-fetch-mode": "cors",
        "sec-fetch-site": "same-origin",
        "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36",
        "x-forwarded-proto": "https",
        "x-real-ip": "<REDACTED-IP>"
      },
      "cf": {
        "httpProtocol": "HTTP/3",
        "clientAcceptEncoding": "gzip, deflate, br",
        "requestPriority": "",
        "edgeRequestKeepAliveStatus": 1,
        "requestHeaderNames": {},
        "clientTcpRtt": 0,
        "clientQuicRtt": 87,
        "colo": "NRT",
        "asn": "<REDACTED>",
        "asOrganization": "<REDACTED>",
        "country": "JP",
        "isEUCountry": false,
        "city": "<REDACTED>",
        "continent": "AS",
        "region": "<REDACTED>",
        "regionCode": "<REDACTED>",
        "timezone": "Asia/Tokyo",
        "longitude": "<REDACTED>",
        "latitude": "<REDACTED>",
        "postalCode": "<REDACTED>",
        "tlsVersion": "TLSv1.3",
        "tlsCipher": "AEAD-AES128-GCM-SHA256",
        "tlsClientRandom": "<REDACTED>",
        "tlsClientCiphersSha1": "3HTt3+R/6BL3zeALJDSq0pR1yOQ=",
        "tlsClientExtensionsSha1": "MrBko42jLXFDAyIXQg1pBLGEo/s=",
        "tlsClientExtensionsSha1Le": "tBi7TOmj9dFSzb1rBo3JStsqO8Q=",
        "tlsClientHelloLength": "1958",
        "tlsClientAuth": {
          "certPresented": "0",
          "certVerified": "NONE",
          "certRevoked": "0",
          "certIssuerDN": "",
          "certSubjectDN": "",
          "certIssuerDNRFC2253": "",
          "certSubjectDNRFC2253": "",
          "certIssuerDNLegacy": "",
          "certSubjectDNLegacy": "",
          "certSerial": "",
          "certIssuerSerial": "",
          "certSKI": "",
          "certIssuerSKI": "",
          "certFingerprintSHA1": "",
          "certFingerprintSHA256": "",
          "certNotBefore": "",
          "certNotAfter": "",
          "certRFC9440": "",
          "certRFC9440TooLarge": false,
          "certChainRFC9440": "",
          "certChainRFC9440TooLarge": false
        },
        "verifiedBotCategory": "",
        "edgeL4": { "deliveryRate": 47972 }
      }
    },
    "response": { "status": 503 }
  },
  "id": 34
}

相关配置(必填)

备份得到的信息,已脱敏:

{
  "encrypted": "",
  "settings": [
    {
      "key": "version",
      "value": "v4.2.3",
      "help": "Application Version",
      "type": "string",
      "group": 1,
      "flag": 1
    },
    {
      "key": "site_title",
      "value": "Index Drive Prohibitorum",
      "help": "Site Title",
      "type": "string",
      "group": 1,
      "flag": 0
    },
    {
      "key": "announcement",
      "help": "Site Announcement",
      "type": "text",
      "group": 1,
      "flag": 0
    },
    {
      "key": "pagination_type",
      "value": "load_more",
      "help": "Pagination Type",
      "type": "select",
      "options": "all,pagination,load_more,auto_load_more",
      "group": 1,
      "flag": 0
    },
    {
      "key": "default_page_size",
      "value": "5",
      "help": "Default Page Size",
      "type": "number",
      "group": 1,
      "flag": 0
    },
    {
      "key": "allow_indexed",
      "value": "false",
      "help": "Allow Search Engine Indexing",
      "type": "bool",
      "group": 1,
      "flag": 0
    },
    {
      "key": "allow_mounted",
      "value": "true",
      "help": "Allow Mounted Storages",
      "type": "bool",
      "group": 1,
      "flag": 0
    },
    {
      "key": "robots_txt",
      "value": "User-agent: *\nAllow: /",
      "help": "Robots Txt Content",
      "type": "text",
      "group": 1,
      "flag": 0
    },
    {
      "key": "logo",
      "value": "https://<my-domain>/favicon/favicon-drive.png",
      "help": "Site Logo URL",
      "type": "string",
      "group": 2,
      "flag": 0
    },
    {
      "key": "favicon",
      "value": "https://<my-domain>/favicon/favicon-drive.ico",
      "help": "Favicon URL",
      "type": "string",
      "group": 2,
      "flag": 0
    },
    {
      "key": "main_color",
      "value": "#33a6b8",
      "help": "Main Theme Color",
      "type": "string",
      "group": 2,
      "flag": 0
    },
    {
      "key": "home_icon",
      "value": "🧭 ",
      "help": "Home Icon Name",
      "type": "string",
      "group": 2,
      "flag": 0
    },
    {
      "key": "home_container",
      "value": "max_980px",
      "help": "Home Container Width",
      "type": "select",
      "options": "max_980px,hope_container",
      "group": 2,
      "flag": 0
    },
    {
      "key": "settings_layout",
      "value": "responsive",
      "help": "Settings Layout Mode",
      "type": "select",
      "options": "list,responsive",
      "group": 2,
      "flag": 0
    },
    {
      "key": "text_types",
      "value": "txt,htm,html,xml,java,properties,sql,js,md,json,conf,ini,vue,php,py,bat,gitignore,yml,go,sh,c,cpp,h,hpp,tsx,vtt,srt,ass,rs,lrc,strm",
      "help": "Text File Extensions",
      "type": "text",
      "group": 3,
      "flag": 0
    },
    {
      "key": "audio_types",
      "value": "mp3,flac,ogg,m4a,wav,opus,wma",
      "help": "Audio File Extensions",
      "type": "text",
      "group": 3,
      "flag": 0
    },
    {
      "key": "video_types",
      "value": "mp4,mkv,avi,mov,rmvb,webm,flv,m3u8",
      "help": "Video File Extensions",
      "type": "text",
      "group": 3,
      "flag": 0
    },
    {
      "key": "image_types",
      "value": "jpg,tiff,jpeg,png,gif,bmp,svg,ico,swf,webp,avif",
      "help": "Image File Extensions",
      "type": "text",
      "group": 3,
      "flag": 0
    },
    {
      "key": "proxy_types",
      "value": "m3u8,url",
      "help": "Proxy File Extensions",
      "type": "text",
      "group": 3,
      "flag": 0
    },
    {
      "key": "proxy_ignore_headers",
      "value": "authorization,referer",
      "help": "Proxy Ignore Headers",
      "type": "text",
      "group": 3,
      "flag": 0
    },
    {
      "key": "external_previews",
      "value": "{}",
      "help": "External Previews JSON Config",
      "type": "text",
      "group": 3,
      "flag": 0
    },
    {
      "key": "iframe_previews",
      "value": "{\n\t\"doc,docx,xls,xlsx,ppt,pptx\": {\n\t\t\"Microsoft\":\"https://view.officeapps.live.com/op/view.aspx?src=$e_url\",\n\t\t\"Google\":\"https://docs.google.com/gview?url=$e_url&embedded=true\"\n\t},\n\t\"pdf\": {\n\t\t\"PDF.js\":\"https://res.oplist.org/pdf.js/web/viewer.html?file=$e_url\"\n\t},\n\t\"epub\": {\n\t\t\"EPUB.js\":\"https://res.oplist.org/epub.js/viewer.html?url=$e_url\"\n\t}\n}",
      "help": "Iframe Previews JSON Config",
      "type": "text",
      "group": 3,
      "flag": 0
    },
    {
      "key": "audio_cover",
      "value": "https://res.oplist.org/logo/logo.svg",
      "help": "Audio Default Cover Image URL",
      "type": "string",
      "group": 3,
      "flag": 0
    },
    {
      "key": "audio_autoplay",
      "value": "true",
      "help": "Autoplay Audio",
      "type": "bool",
      "group": 3,
      "flag": 0
    },
    {
      "key": "video_autoplay",
      "value": "true",
      "help": "Autoplay Video",
      "type": "bool",
      "group": 3,
      "flag": 0
    },
    {
      "key": "preview_archives_by_default",
      "value": "true",
      "help": "Preview Archives By Default",
      "type": "bool",
      "group": 3,
      "flag": 0
    },
    {
      "key": "readme_autorender",
      "value": "true",
      "help": "Readme Autorender",
      "type": "bool",
      "group": 3,
      "flag": 0
    },
    {
      "key": "filter_readme_scripts",
      "value": "true",
      "help": "Filter Readme Scripts",
      "type": "bool",
      "group": 3,
      "flag": 0
    },
    {
      "key": "force_preview",
      "help": "Force Preview Config",
      "type": "text",
      "group": 3,
      "flag": 0
    },
    {
      "key": "specify_preview",
      "help": "Specify Preview Layout Config",
      "type": "text",
      "group": 3,
      "flag": 0
    },
    {
      "key": "markdown_autorender",
      "value": "true",
      "help": "Autorender Markdown",
      "type": "bool",
      "group": 3,
      "flag": 0
    },
    {
      "key": "code_editor_theme",
      "value": "vs-dark",
      "help": "Monaco Theme",
      "type": "select",
      "options": "vs,vs-dark,hc-black",
      "group": 3,
      "flag": 0
    },
    {
      "key": "office_preview",
      "value": "true",
      "help": "Enable Office Document Preview",
      "type": "bool",
      "group": 3,
      "flag": 0
    },
    {
      "key": "pdf_preview",
      "value": "true",
      "help": "Enable PDF Preview",
      "type": "bool",
      "group": 3,
      "flag": 0
    },
    {
      "key": "hide_files",
      "value": "/\\/README.md/i",
      "help": "Files Regex to Hide",
      "type": "text",
      "group": 4,
      "flag": 0
    },
    {
      "key": "package_download",
      "value": "true",
      "help": "Package Download Enabled",
      "type": "bool",
      "group": 4,
      "flag": 0
    },
    {
      "key": "customize_head",
      "help": "Custom Head HTML/CSS",
      "type": "text",
      "group": 4,
      "flag": 0
    },
    {
      "key": "customize_body",
      "help": "Custom Body Script",
      "type": "text",
      "group": 4,
      "flag": 0
    },
    {
      "key": "link_expiration",
      "value": "0",
      "help": "Link Expiration in Seconds",
      "type": "number",
      "group": 4,
      "flag": 0
    },
    {
      "key": "sign_all",
      "value": "false",
      "help": "Sign All Download Links",
      "type": "bool",
      "group": 4,
      "flag": 0
    },
    {
      "key": "seed_site_url",
      "help": "Public site URL used by transfer seed sources",
      "type": "string",
      "group": 4,
      "flag": 1
    },
    {
      "key": "seed_default_matrix",
      "value": "{\"md5\":{\"whole\":true,\"pieces\":false},\"sha1\":{\"whole\":true,\"pieces\":false},\"sha256\":{\"whole\":true,\"pieces\":false}}",
      "help": "Default transfer seed hash matrix",
      "type": "text",
      "group": 4,
      "flag": 1
    },
    {
      "key": "seed_format_policies",
      "value": "{\"oss\":\"off\",\"torrent\":\"off\",\"cas\":\"off\"}",
      "help": "Automatic transfer seed format policies",
      "type": "text",
      "group": 4,
      "flag": 1
    },
    {
      "key": "seed_auto_generate_policy",
      "value": "off",
      "help": "Global automatic transfer seed policy",
      "type": "select",
      "options": "off,on",
      "group": 4,
      "flag": 1
    },
    {
      "key": "seed_single_direct_preview",
      "value": "false",
      "help": "Open single-file transfer seeds directly in preview",
      "type": "bool",
      "group": 4,
      "flag": 0
    },
    {
      "key": "seed_cas_direct_access",
      "value": "false",
      "help": "When opening a single-file CAS seed, immediately rapid-upload it into the same folder and preview the restored file",
      "type": "bool",
      "group": 4,
      "flag": 0
    },
    {
      "key": "seed_default_trackers",
      "help": "Default tracker list offered when generating torrent seeds (one tracker per line)",
      "type": "text",
      "group": 4,
      "flag": 1
    },
    {
      "key": "privacy_regs",
      "value": "(?:(?:\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\n([[:xdigit:]]{1,4}(?::[[:xdigit:]]{1,4}){7}|::|:(?::[[:xdigit:]]{1,4}){1,6}|[[:xdigit:]]{1,4}:(?::[[:xdigit:]]{1,4}){1,5}|(?:[[:xdigit:]]{1,4}:){2}(?::[[:xdigit:]]{1,4}){1,4}|(?:[[:xdigit:]]{1,4}:){3}(?::[[:xdigit:]]{1,4}){1,3}|(?:[[:xdigit:]]{1,4}:){4}(?::[[:xdigit:]]{1,4}){1,2}|(?:[[:xdigit:]]{1,4}:){5}:[[:xdigit:]]{1,4}|(?:[[:xdigit:]]{1,4}:){1,6}:)\n(?U)access_token=(.*)&",
      "help": "Privacy Regex Rules",
      "type": "text",
      "group": 4,
      "flag": 0
    },
    {
      "key": "ocr_api",
      "value": "https://openlistteam-ocr-api-server.hf.space/ocr/file/json",
      "help": "OCR API Endpoint",
      "type": "string",
      "group": 4,
      "flag": 0
    },
    {
      "key": "filename_char_mapping",
      "value": "{\"/\": \"|\"}",
      "help": "Filename Char Mapping JSON",
      "type": "text",
      "group": 4,
      "flag": 0
    },
    {
      "key": "forward_direct_link_params",
      "value": "false",
      "help": "Forward Direct Link Params",
      "type": "string",
      "group": 4,
      "flag": 0
    },
    {
      "key": "ignore_direct_link_params",
      "value": "sign,openlist_ts",
      "help": "Ignore Direct Link Params",
      "type": "string",
      "group": 4,
      "flag": 0
    },
    {
      "key": "webauthn_login_enabled",
      "value": "false",
      "help": "Webauthn Login Enabled",
      "type": "bool",
      "group": 4,
      "flag": 0
    },
    {
      "key": "allow_previewing_sharing_files",
      "value": "true",
      "help": "Allow Previewing Sharing Files",
      "type": "bool",
      "group": 4,
      "flag": 0
    },
    {
      "key": "allow_previewing_sharing_archives",
      "value": "true",
      "help": "Allow Previewing Sharing Archives",
      "type": "bool",
      "group": 4,
      "flag": 0
    },
    {
      "key": "force_proxy_sharing_files",
      "value": "false",
      "help": "Force Proxy Sharing Files",
      "type": "bool",
      "group": 4,
      "flag": 0
    },
    {
      "key": "share_summary_content",
      "value": "@{{creator}} shared {{#each files}}{{#if @first}}\"{{filename this}}\"{{/if}}{{#if @last}}{{#unless (eq @index 0)}} and {{@index}} more files{{/unless}}{{/if}}{{/each}} from {{site_title}}: {{base_url}}/@s/{{id}}{{#if pwd}} , the share code is {{pwd}}{{/if}}{{#if expires}}, please access before {{dateLocaleString expires}}.{{/if}}",
      "help": "Share Summary Content",
      "type": "text",
      "group": 4,
      "flag": 0
    },
    {
      "key": "handle_hook_after_writing",
      "value": "false",
      "help": "Handle Hook After Writing",
      "type": "string",
      "group": 4,
      "flag": 0
    },
    {
      "key": "handle_hook_rate_limit",
      "value": "0",
      "help": "Handle Hook Rate Limit",
      "type": "number",
      "group": 4,
      "flag": 0
    },
    {
      "key": "ignore_system_files",
      "value": "false",
      "help": "Ignore System Files (.DS_Store, desktop.ini, etc.)",
      "type": "bool",
      "group": 4,
      "flag": 0
    },
    {
      "key": "auto_update_index",
      "value": "false",
      "help": "Auto Update Search Index",
      "type": "bool",
      "group": 4,
      "flag": 0
    },
    {
      "key": "sso_login_enabled",
      "value": "false",
      "help": "Enable SSO Login",
      "type": "bool",
      "group": 7,
      "flag": 0
    },
    {
      "key": "sso_login_platform",
      "help": "SSO Platform",
      "type": "select",
      "options": "Github,Microsoft,Google,Dingtalk,Casdoor,OIDC",
      "group": 7,
      "flag": 0
    },
    {
      "key": "sso_client_id",
      "help": "SSO Client ID",
      "type": "string",
      "group": 7,
      "flag": 0
    },
    {
      "key": "sso_client_secret",
      "help": "SSO Client Secret",
      "type": "string",
      "group": 7,
      "flag": 0
    },
    {
      "key": "sso_login_url",
      "help": "SSO Authorization Endpoint",
      "type": "string",
      "group": 7,
      "flag": 0
    },
    {
      "key": "sso_token_url",
      "help": "SSO Token Endpoint (optional, defaults per platform)",
      "type": "string",
      "group": 7,
      "flag": 0
    },
    {
      "key": "sso_userinfo_url",
      "help": "SSO UserInfo Endpoint (optional, defaults per platform)",
      "type": "string",
      "group": 7,
      "flag": 0
    },
    {
      "key": "sso_scopes",
      "help": "SSO OAuth2 Scopes (optional, space separated)",
      "type": "string",
      "group": 7,
      "flag": 0
    },
    {
      "key": "sso_oidc_discovery_url",
      "help": "OIDC Discovery URL (for OIDC platform)",
      "type": "string",
      "group": 7,
      "flag": 0
    },
    {
      "key": "sso_login_callback_url",
      "help": "SSO Redirect/Callback URL (optional, defaults to /api/auth/sso_callback)",
      "type": "string",
      "group": 7,
      "flag": 0
    },
    {
      "key": "sso_compatibility_mode",
      "value": "false",
      "help": "SSO Compatibility Mode (postMessage token handoff)",
      "type": "bool",
      "group": 7,
      "flag": 0
    },
    {
      "key": "sso_auto_register",
      "value": "false",
      "help": "Auto Register New SSO Users",
      "type": "bool",
      "group": 7,
      "flag": 0
    },
    {
      "key": "sso_default_dir",
      "value": "/",
      "help": "SSO Default Directory for New Users",
      "type": "string",
      "group": 7,
      "flag": 0
    },
    {
      "key": "sso_default_permission",
      "value": "0",
      "help": "SSO Default Permission for New Users",
      "type": "number",
      "group": 7,
      "flag": 0
    },
    {
      "key": "ldap_host",
      "help": "LDAP Server Host",
      "type": "string",
      "group": 8,
      "flag": 0
    },
    {
      "key": "ldap_port",
      "value": "389",
      "help": "LDAP Server Port",
      "type": "number",
      "group": 8,
      "flag": 0
    },
    {
      "key": "traffic_limit",
      "value": "0",
      "help": "Traffic Limit in MB",
      "type": "number",
      "group": 10,
      "flag": 0
    },
    {
      "key": "ip_limit",
      "value": "0",
      "help": "IP Rate Limit Per Minute",
      "type": "number",
      "group": 10,
      "flag": 0
    },
    {
      "key": "115_temp_dir",
      "help": "115 Temp Directory",
      "type": "string",
      "group": 14,
      "flag": 0
    },
    {
      "key": "115_open_temp_dir",
      "help": "115 Open Temp Directory",
      "type": "string",
      "group": 14,
      "flag": 0
    },
    {
      "key": "123_temp_dir",
      "help": "123 Pan Temp Directory",
      "type": "string",
      "group": 14,
      "flag": 0
    },
    {
      "key": "123_open_temp_dir",
      "help": "123 Open Temp Directory",
      "type": "string",
      "group": 14,
      "flag": 0
    },
    {
      "key": "123_open_callback_url",
      "help": "123 Open Callback URL",
      "type": "string",
      "group": 14,
      "flag": 0
    },
    {
      "key": "pikpak_temp_dir",
      "help": "PikPak Temp Directory",
      "type": "string",
      "group": 14,
      "flag": 0
    },
    {
      "key": "thunder_temp_dir",
      "help": "Thunder Temp Directory",
      "type": "string",
      "group": 14,
      "flag": 0
    },
    {
      "key": "thunder_browser_temp_dir",
      "help": "Thunder Browser Temp Directory",
      "type": "string",
      "group": 14,
      "flag": 0
    },
    {
      "key": "thunderx_temp_dir",
      "help": "ThunderX Temp Directory",
      "type": "string",
      "group": 14,
      "flag": 0
    },
    {
      "key": "token",
      "value": "<REDACTED-TOKEN>",
      "help": "115 / PikPak / Thunder Token",
      "type": "string",
      "group": 14,
      "flag": 0
    },
    {
      "key": "package_download_disabled",
      "value": "false",
      "help": "Disable Package Download",
      "type": "bool",
      "group": 14,
      "flag": 0
    },
    {
      "key": "search_index",
      "value": "none",
      "type": "select",
      "group": 6,
      "flag": 0
    },
    {
      "key": "ignore_paths",
      "help": "one path per line",
      "type": "text",
      "group": 6,
      "flag": 1
    },
    {
      "key": "max_index_depth",
      "value": "20",
      "help": "max depth of index",
      "type": "number",
      "group": 6,
      "flag": 1
    },
    {
      "key": "sso_oidc_username_key",
      "value": "name",
      "type": "string",
      "group": 7,
      "flag": 1
    },
    {
      "key": "sso_organization_name",
      "type": "string",
      "group": 7,
      "flag": 1
    },
    {
      "key": "sso_application_name",
      "type": "string",
      "group": 7,
      "flag": 1
    },
    {
      "key": "sso_endpoint_name",
      "type": "string",
      "group": 7,
      "flag": 1
    },
    {
      "key": "sso_jwt_public_key",
      "type": "string",
      "group": 7,
      "flag": 1
    },
    {
      "key": "sso_extra_scopes",
      "type": "string",
      "group": 7,
      "flag": 1
    },
    {
      "key": "ldap_login_enabled",
      "value": "false",
      "type": "bool",
      "group": 8,
      "flag": 0
    }
  ],
  "users": [
    {
      "id": 1,
      "username": "admin",
      "role": 2,
      "permission": 65535,
      "base_path": "/",
      "disabled": false,
      "sso_id": "",
      "allow_ldap": true,
      "pwd_update_at": "2026-09-13T04:57:01.401Z",
      "otp": false
    },
    {
      "id": 2,
      "username": "guest",
      "role": 1,
      "permission": 0,
      "base_path": "/Welcome",
      "disabled": false,
      "sso_id": "",
      "allow_ldap": false,
      "pwd_update_at": "1970-01-01T00:00:00.000Z",
      "otp": false
    },
    {
      "id": 3,
      "username": "Player",
      "role": 0,
      "permission": 256,
      "base_path": "/Welcome/🎬 Epidaurus",
      "disabled": false,
      "sso_id": "",
      "allow_ldap": false,
      "pwd_update_at": "2026-09-13T05:21:26.386Z",
      "otp": false
    },
    {
      "id": 4,
      "username": "Music",
      "role": 0,
      "permission": 256,
      "base_path": "/Welcome/📼 Mousike",
      "disabled": false,
      "sso_id": "",
      "allow_ldap": false,
      "pwd_update_at": "2026-09-13T05:21:43.074Z",
      "otp": false
    },
    {
      "id": 5,
      "username": "Book",
      "role": 0,
      "permission": 256,
      "base_path": "/Welcome/📖 Al-Iskandariya",
      "disabled": false,
      "sso_id": "",
      "allow_ldap": false,
      "pwd_update_at": "2026-09-13T05:35:22.832Z",
      "otp": false
    }
  ],
  "storages": [
    {
      "id": 1,
      "mount_path": "/OneDrive",
      "order": 0,
      "driver": "Onedrive",
      "status": "work",
      "addition": "{\"root_folder_path\":\"/\",\"region\":\"global\",\"is_sharepoint\":false,\"use_online_api\":false,\"api_url_address\":\"https://api.oplist.org/onedrive/renewapi\",\"client_id\":\"<REDACTED-CLIENT-ID>\",\"client_secret\":\"<REDACTED-CLIENT-SECRET>\",\"redirect_uri\":\"https://api.oplist.org/onedrive/callback\",\"refresh_token\":\"<REDACTED-REFRESH-TOKEN>\",\"site_id\":\"\",\"chunk_size\":5,\"custom_host\":\"\",\"disable_disk_usage\":false,\"enable_direct_upload\":false,\"order_by\":\"filename\",\"order_direction\":\"asc\"}",
      "modified": "2026-09-19T13:52:59.348Z",
      "enable_sign": true,
      "webdav_policy": "302_redirect"
    },
    {
      "id": 2,
      "mount_path": "/Welcome",
      "order": 0,
      "driver": "Alias",
      "cache_expiration": 30,
      "status": "work",
      "addition": "{\"paths\":\"🌍 Download-Hub:/OneDrive/Resource\\n🎬 Epidaurus:/OneDrive/Media/Series\\n⛩️ Kyuu-Jigoku:/OneDrive/Media/Game\\n📼 Mousike:/OneDrive/Media/Music\\n📖 Al-Iskandariya:/OneDrive/eBook\",\"read_conflict_policy\":\"first\",\"write_conflict_policy\":\"disabled\",\"put_conflict_policy\":\"disabled\",\"order_by\":\"name\",\"order_direction\":\"asc\"}",
      "modified": "2026-09-13T05:33:59.010Z",
      "seed_policy": "inherit",
      "web_proxy": false,
      "webdav_policy": "302_redirect"
    }
  ],
  "metas": [
    {
      "id": 1,
      "path": "/Welcome/⛩️ Kyuu-Jigoku",
      "read_users": [],
      "read_users_sub": false,
      "write_users": [],
      "write_users_sub": false,
      "password": "<REDACTED-PASSWORD>",
      "p_sub": false,
      "write": false,
      "w_sub": true,
      "h_sub": false,
      "r_sub": false,
      "header_sub": false
    }
  ],
  "shares": []
}

复现链接(可选)

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions