[{"data":1,"prerenderedAt":855},["ShallowReactive",2],{"content:\u002Fposts\u002F4632706":3,"surround:\u002Fposts\u002F4632706":844},{"id":4,"title":5,"body":6,"categories":819,"date":821,"description":822,"draft":823,"extension":824,"image":825,"meta":826,"navigation":828,"path":829,"permalink":829,"published":830,"readingTime":831,"recommend":830,"references":830,"seo":836,"sitemap":837,"stem":838,"tags":839,"type":842,"updated":821,"__hash__":843},"content\u002Fposts\u002F2026\u002F不只是图床！使用Telegraph-Image搭建免费无限存储.md","不只是图床！使用 Telegraph-Image 搭建免费无限存储",{"type":7,"value":8,"toc":804},"minimark",[9,20,24,27,30,52,55,59,266,269,274,281,287,290,296,318,321,336,339,685,696,753,768,774,780,786,792,795,801],[10,11,12,19],"p",{},[13,14,18],"a",{"href":15,"rel":16},"https:\u002F\u002Fgithub.com\u002Fcf-pages\u002FTelegraph-Image",[17],"nofollow","Telegraph-Image"," 是一个很有意思的项目，将媒体资源上传到 Telegram，之后获取直链作为图床（不仅限于图片）。正好最近有存音视频的需求，那么搭建一个玩玩。",[21,22,23],"h2",{"id":23},"准备工作",[10,25,26],{},"该项目运行于 Cloudflare Pages，所以无需准备服务器。",[10,28,29],{},"你需要：",[31,32,33,37,40,43,46,49],"ol",{},[34,35,36],"li",{},"cloudflare 账号",[34,38,39],{},"github 账号",[34,41,42],{},"telegram 账号",[34,44,45],{},"科学上网环境",[34,47,48],{},"域名（可选）",[34,50,51],{},"手、大脑",[21,53,54],{"id":54},"实操",[56,57,58],"h3",{"id":58},"基础搭建",[31,60,61,78,101,126,236],{},[34,62,63,64,67,72,74],{},"fork 官方仓库",[65,66],"br",{},[68,69],"img",{"alt":70,"src":71},"fork 官方仓库截图 1","https:\u002F\u002Fbu.dusays.com\u002F2026\u002F08\u002F28\u002F6a90ebdd3e178.webp",[65,73],{},[68,75],{"alt":76,"src":77},"fork 官方仓库截图 2","https:\u002F\u002Fbu.dusays.com\u002F2026\u002F08\u002F28\u002F6a90ebe126fed.webp",[34,79,80,81,86,87,91,92,95,97],{},"打开 ",[13,82,85],{"href":83,"rel":84},"https:\u002F\u002Fcloudflare.com\u002F",[17],"CloudFlare","，进入 ",[88,89,90],"strong",{},"Workers 和 Pages"," 页面，点击 ",[88,93,94],{},"创建应用程序",[65,96],{},[68,98],{"alt":99,"src":100},"Cloudflare Workers 和 Pages 入口截图","https:\u002F\u002Fbu.dusays.com\u002F2026\u002F08\u002F28\u002F6a90ebe4b1992.webp",[34,102,103,104,107,108,111,112,115,116,120,122],{},"点击下方的 ",[88,105,106],{},"开始使用","，以此来创建 ",[88,109,110],{},"Pages","，点击 ",[88,113,114],{},"\"导入现有 Git 存储库\"","，选择刚才创建的 fork 仓库，之后无脑下一步。",[117,118,119],"del",{},"我第一次创建的时候不小心创建成了 worker，搞了半天不知道问题在哪里🤣",[65,121],{},[68,123],{"alt":124,"src":125},"导入 Git 存储库截图","https:\u002F\u002Fbu.dusays.com\u002F2026\u002F08\u002F28\u002F6a90ebe77fca6.webp",[34,127,128,129,174,176,177,182,183,186,187,189,191,195,197,198,200,204,206,210,212,213,218,219,222,223,226,227,229,230,232],{},"接下来要获取运行必备的环境变量信息",[130,131,132,145],"table",{},[133,134,135],"thead",{},[136,137,138,142],"tr",{},[139,140,141],"th",{},"环境变量",[139,143,144],{},"示例值",[146,147,148,162],"tbody",{},[136,149,150,157],{},[151,152,153],"td",{},[154,155,156],"code",{"code":156},"TG_Bot_Token",[151,158,159],{},[154,160,161],{"code":161},"123468:AAxxxGKrn5",[136,163,164,169],{},[151,165,166],{},[154,167,168],{"code":168},"TG_Chat_ID",[151,170,171],{},[154,172,173],{"code":173},"-1234567",[65,175],{},"打开 Telegram，搜索 ",[13,178,181],{"href":179,"rel":180},"https:\u002F\u002Ft.me\u002Fbotfather",[17],"@BotFather","，或者点开链接跳转。打开该机器人的聊天窗口，输入 ",[154,184,185],{"code":185},"\u002Fnewbot","，按照提示进行自定义配置。保存好最后输出的 ",[88,188,156],{},[65,190],{},[68,192],{"alt":193,"src":194},"BotFather 创建 Bot 截图","https:\u002F\u002Fbu.dusays.com\u002F2026\u002F08\u002F28\u002F6a90ebea786ed.webp",[65,196],{},"新建一个频道（Channel），公开私人都行，在频道管理中将刚才你创建的 bot 设置为管理员",[65,199],{},[68,201],{"alt":202,"src":203},"频道设置截图 1","https:\u002F\u002Fbu.dusays.com\u002F2026\u002F08\u002F28\u002F6a90ebed14f69.webp",[65,205],{},[68,207],{"alt":208,"src":209},"频道设置截图 2","https:\u002F\u002Fbu.dusays.com\u002F2026\u002F08\u002F28\u002F6a90ebef113d0.webp",[65,211],{},"之后在该频道里随便发一条消息，并转发给 ",[13,214,217],{"href":215,"rel":216},"https:\u002F\u002Ft.me\u002FVersaToolsBot",[17],"@VersaToolsBot","。",[13,220,217],{"href":215,"rel":221},[17]," 输出的 ",[88,224,225],{},"频道ID"," 即为 ",[88,228,168],{}," 变量值",[65,231],{},[68,233],{"alt":234,"src":235},"获取频道 ID 截图","https:\u002F\u002Fbu.dusays.com\u002F2026\u002F08\u002F28\u002F6a90ebf14a49a.webp",[34,237,238,239,242,243,246,247,250,251,253,257,259,260,262],{},"来到 Pages 的设置页面，在 ",[88,240,241],{},"变量和密钥"," 里配置必备环境变量，如图。之后在 ",[88,244,245],{},"部署"," 页面中 ",[88,248,249],{},"重新部署"," 即可正常运行",[65,252],{},[68,254],{"alt":255,"src":256},"配置环境变量截图","https:\u002F\u002Fbu.dusays.com\u002F2026\u002F08\u002F28\u002F6a90ebf6126fa.webp",[65,258],{},"至此，若网络环境支持，打开自动绑定的域名（pages.dev 结尾），就能看到上传页面了",[65,261],{},[68,263],{"alt":264,"src":265},"上传页面截图","https:\u002F\u002Fbu.dusays.com\u002F2026\u002F08\u002F28\u002F6a90ebf39bb4f.webp",[56,267,268],{"id":268},"可选优化",[270,271,273],"h4",{"id":272},"域名优选","域名&优选",[10,275,276,277,280],{},"由于官方提供的 pages.dev 域名在某些地区被墙，所以最好配置成自己的域名。在 ",[88,278,279],{},"自定义域"," 页面即可配置",[10,282,283],{},[68,284],{"alt":285,"src":286},"自定义域名配置截图","https:\u002F\u002Fbu.dusays.com\u002F2026\u002F08\u002F28\u002F6a90ebfc1931e.webp",[10,288,289],{},"另外，默认分配的节点速度较慢，所以需要优选 IP 进行加速。我这里采用的方法是我认为最简单的 DNS 分流解析，国内解析到优选 CNAME，国外不变。解析服务我使用的是华为云国际，其分区域解析功能是免费的",[10,291,292],{},[68,293],{"alt":294,"src":295},"DNS 分流解析配置截图","https:\u002F\u002Fbu.dusays.com\u002F2026\u002F08\u002F28\u002F6a90ebfe8283c.webp",[10,297,298,299,304,305,308,309,314,315],{},"关于优选 CNAME，我使用的是自维护的 cloudflare.liang.one。网上还有很多类似服务，如 ",[13,300,303],{"href":301,"rel":302},"https:\u002F\u002Fwww.wetest.vip\u002F",[17],"微测网"," 提供的 ",[154,306,307],{"code":307},"*.cloudflare.182682.xyz","，",[13,310,313],{"href":311,"rel":312},"https:\u002F\u002Fwww.byoip.top\u002F",[17],"NB优选"," 的 ",[154,316,317],{"code":317},"*.cloudflare.19931110.xyz",[270,319,320],{"id":320},"可选功能配置",[10,322,323,324,327,328,331,332,335],{},"Telegraph-Image 项目还提供了很多 ",[88,325,326],{},"可选功能","，需要通过 ",[88,329,330],{},"配置环境变量"," 和 ",[88,333,334],{},"绑定相关资源"," 开启",[10,337,338],{},"可选环境变量：",[130,340,341,352],{},[133,342,343],{},[136,344,345,347,349],{},[139,346,141],{},[139,348,144],{},[139,350,351],{},"说明",[146,353,354,369,387,402,419,438,453,487,504,530,553,568,594,613,628,643,657,671],{},[136,355,356,361,366],{},[151,357,358],{},[154,359,360],{"code":360},"BASIC_USER",[151,362,363],{},[154,364,365],{"code":365},"admin",[151,367,368],{},"后台管理页面（\u002Fadmin）的登录用户名。不设置则后台无需登录。",[136,370,371,376,381],{},[151,372,373],{},[154,374,375],{"code":375},"BASIC_PASS",[151,377,378],{},[154,379,380],{"code":380},"admin-password",[151,382,383,384,386],{},"后台管理页面的登录密码，需要和 ",[154,385,360],{"code":360}," 同时设置。",[136,388,389,394,399],{},[151,390,391],{},[154,392,393],{"code":393},"UPLOAD_BASIC_USER",[151,395,396],{},[154,397,398],{"code":398},"uploader",[151,400,401],{},"上传入口的 Basic Auth 用户名。不设置则保持公开上传。",[136,403,404,409,414],{},[151,405,406],{},[154,407,408],{"code":408},"UPLOAD_BASIC_PASS",[151,410,411],{},[154,412,413],{"code":413},"strong-password",[151,415,416,417,386],{},"上传入口的 Basic Auth 密码，需要和 ",[154,418,393],{"code":393},[136,420,421,426,431],{},[151,422,423],{},[154,424,425],{"code":425},"ENABLE_SHORT_URLS",[151,427,428],{},[154,429,430],{"code":430},"true",[151,432,433,434,437],{},"开启后（需绑定 KV）上传将返回形如 ",[154,435,436],{"code":436},"\u002Ffile\u002FAbC123"," 的短链接，原有长链接依然有效。",[136,439,440,445,450],{},[151,441,442],{},[154,443,444],{"code":444},"SHORT_URL_LENGTH",[151,446,447],{},[154,448,449],{"code":449},"6",[151,451,452],{},"短链接 ID 长度（4-16，默认 6），仅在开启短链接时生效。",[136,454,455,460,465],{},[151,456,457],{},[154,458,459],{"code":459},"MODERATION_PROVIDER",[151,461,462],{},[154,463,464],{"code":464},"cloudflare-ai",[151,466,467,468,470,471,474,475,478,479,482,483,486],{},"图片审查服务：",[154,469,464],{"code":464},"（Workers AI，推荐）、",[154,472,473],{"code":473},"moderatecontent","（旧版）或 ",[154,476,477],{"code":477},"none","。不设置时自动检测：有 ",[154,480,481],{"code":481},"ModerateContentApiKey"," 用 moderatecontent，有 ",[154,484,485],{"code":485},"AI"," 绑定用 Workers AI。",[136,488,489,494,499],{},[151,490,491],{},[154,492,493],{"code":493},"MODERATION_AI_MODEL",[151,495,496],{},[154,497,498],{"code":498},"@cf\u002Fmeta\u002Fllama-3.2-11b-vision-instruct",[151,500,501,503],{},[154,502,464],{"code":464}," 审查所使用的 Workers AI 模型。不设置时按内置的现役视觉模型降级链依次尝试，Cloudflare 下线某个模型时会自动降级而不是失效。",[136,505,506,515,523],{},[151,507,508,511,512],{},[154,509,510],{"code":510},"CF_ACCOUNT_ID"," \u002F ",[154,513,514],{"code":514},"CF_API_TOKEN",[151,516,517,511,520],{},[154,518,519],{"code":519},"abc123",[154,521,522],{"code":522},"token",[151,524,525,526,529],{},"可选，两者同时设置即开启",[88,527,528],{},"实时模型发现","：审查模型链改为从 Cloudflare 的现役模型目录实时构建（结果在 KV 中缓存 6 小时），已下线的模型自动剔除、新上线的视觉模型自动加入。Token 只需要 \"Workers AI: Read\" 一项权限。",[136,531,532,536,540],{},[151,533,534],{},[154,535,481],{"code":481},[151,537,538],{},[154,539,519],{"code":519},[151,541,542,543,548,549,552],{},"旧版图片审查，值为 ",[13,544,547],{"href":545,"rel":546},"https:\u002F\u002Fmoderatecontent.com\u002F",[17],"moderatecontent.com"," 的 API key。",[88,550,551],{},"该服务已停止新用户注册","，新部署请改用 Workers AI。",[136,554,555,560,565],{},[151,556,557],{},[154,558,559],{"code":559},"ALLOWED_REFERERS",[151,561,562],{},[154,563,564],{"code":564},"myblog.com,*.example.com",[151,566,567],{},"防盗链：允许引用你文件的域名白名单（逗号分隔）。不设置则不限制；空 Referer（直接访问、API 客户端）和你自己的域名始终放行。",[136,569,570,575,580],{},[151,571,572],{},[154,573,574],{"code":574},"STORAGE_PROVIDER",[151,576,577],{},[154,578,579],{"code":579},"telegram",[151,581,582,583,585,586,589,590,593],{},"上传文件的存储后端：",[154,584,579],{"code":579},"（默认）或 ",[154,587,588],{"code":588},"r2","（需绑定 ",[154,591,592],{"code":592},"img_r2","）。每个文件都会记住自己存在哪里，切换后旧文件依然可以正常加载。",[136,595,596,601,606],{},[151,597,598],{},[154,599,600],{"code":600},"SITE_NAME",[151,602,603],{},[154,604,605],{"code":605},"My Images",[151,607,608,609,612],{},"首页顶部显示的站点名称（通过 ",[154,610,611],{"code":611},"GET \u002Fapi\u002Fconfig"," 下发给前端）。",[136,614,615,620,625],{},[151,616,617],{},[154,618,619],{"code":619},"SITE_TITLE",[151,621,622],{},[154,623,624],{"code":624},"My Images | Home",[151,626,627],{},"首页的浏览器标签页标题。",[136,629,630,635,640],{},[151,631,632],{},[154,633,634],{"code":634},"SITE_BACKGROUND",[151,636,637],{},[154,638,639],{"code":639},"https:\u002F\u002F...\u002Fbg.jpg",[151,641,642],{},"首页背景图 URL。",[136,644,645,650,654],{},[151,646,647],{},[154,648,649],{"code":649},"HIDE_ADMIN_ENTRY",[151,651,652],{},[154,653,430],{"code":430},[151,655,656],{},"隐藏首页上的后台入口链接（\u002Fadmin 页面本身仍可访问）。",[136,658,659,664,668],{},[151,660,661],{},[154,662,663],{"code":663},"WhiteList_Mode",[151,665,666],{},[154,667,430],{"code":430},[151,669,670],{},"白名单模式：只有加入白名单的图片才能被加载。",[136,672,673,678,682],{},[151,674,675],{},[154,676,677],{"code":677},"disable_telemetry",[151,679,680],{},[154,681,430],{"code":430},[151,683,684],{},"退出远端遥测。",[10,686,687,688,691,692,695],{},"绑定（",[154,689,690],{"code":690},"设置","->",[154,693,694],{"code":694},"函数","）：",[130,697,698,710],{},[133,699,700],{},[136,701,702,705,708],{},[139,703,704],{},"类型",[139,706,707],{},"变量名称",[139,709,351],{},[146,711,712,725,741],{},[136,713,714,717,722],{},[151,715,716],{},"KV 命名空间",[151,718,719],{},[154,720,721],{"code":721},"img_url",[151,723,724],{},"绑定一个提前创建好的 KV 命名空间，即可开启后台图片管理；短链接功能也依赖此绑定",[136,726,727,730,734],{},[151,728,729],{},"R2 存储桶",[151,731,732],{},[154,733,592],{"code":592},[151,735,736,737,740],{},"绑定一个提前创建好的 R2 存储桶，配合 ",[154,738,739],{"code":739},"STORAGE_PROVIDER=r2"," 使用",[136,742,743,746,750],{},[151,744,745],{},"Workers AI",[151,747,748],{},[154,749,485],{"code":485},[151,751,752],{},"绑定 Workers AI 即可启用内置图片审查",[10,754,755,756,759,760,762,763,331,765,767],{},"我拿后台管理举例，后台管理功能需要绑定 KV，所以先在 Cloudflare 中创建 KV。然后在 Pages 的设置页面中，点击添加 ",[88,757,758],{},"绑定","。变量名称填入 ",[154,761,721],{"code":721},"。绑定好 KV 后，再添加管理员账号密码相关环境变量 ",[154,764,360],{"code":360},[154,766,375],{"code":375},"，之后重新部署即可开启需要身份验证的后台功能。",[10,769,770],{},[68,771],{"alt":772,"src":773},"创建 KV 命名空间截图","https:\u002F\u002Fbu.dusays.com\u002F2026\u002F08\u002F28\u002F6a90ec029472f.webp",[10,775,776],{},[68,777],{"alt":778,"src":779},"添加绑定截图","https:\u002F\u002Fbu.dusays.com\u002F2026\u002F08\u002F28\u002F6a90ec04a49ef.webp",[10,781,782],{},[68,783],{"alt":784,"src":785},"配置环境变量截图 2","https:\u002F\u002Fbu.dusays.com\u002F2026\u002F08\u002F28\u002F6a90ec076191c.webp",[10,787,788],{},[68,789],{"alt":790,"src":791},"后台管理页面截图","https:\u002F\u002Fbu.dusays.com\u002F2026\u002F08\u002F28\u002F6a90ec09d3760.webp",[21,793,794],{"id":794},"结尾",[10,796,797,798],{},"更多信息请查看官方仓库 ",[13,799,18],{"href":15,"rel":800},[17],[10,802,803],{},"cloudflare 大善人、telegram 大善人",{"title":805,"searchDepth":806,"depth":806,"links":807},"",4,[808,810,818],{"id":23,"depth":809,"text":23},2,{"id":54,"depth":809,"text":54,"children":811},[812,814],{"id":58,"depth":813,"text":58},3,{"id":268,"depth":813,"text":268,"children":815},[816,817],{"id":272,"depth":806,"text":273},{"id":320,"depth":806,"text":320},{"id":794,"depth":809,"text":794},[820],"笔记","2026-08-27 17:22:35","使用 Cloudflare Pages 免费部署 Telegraph-Image，把图片与音视频上传至 Telegram 获取直链，实现免费无限存储；涵盖 Bot\u002F频道准备、环境变量配置、域名优选与后台管理全流程。",false,"md","https:\u002F\u002Fbu.dusays.com\u002F2026\u002F08\u002F28\u002F6a90f0e032a68.webp",{"slots":827},{},true,"\u002Fposts\u002F4632706",null,{"text":832,"minutes":833,"time":834,"words":835},"7 min read",6.605,396300,1321,{"title":5,"description":822},{"loc":829},"posts\u002F2026\u002F不只是图床！使用Telegraph-Image搭建免费无限存储",[85,840,841],"图床","Telegram","tech","XLYvm5bLFwkFiN0toMnUmuFI4Z3lyA8adpUQxO-IHTg",[845,850],{"title":846,"path":847,"stem":848,"date":849,"type":842,"children":-1},"R3S旁路由网络环境配置：使用OpenClahs轻松解决DNS泄露","\u002Fposts\u002Fdde5ac1","posts\u002F2026\u002FR3S旁路由网络环境配置","2026-08-01 21:52:09",{"title":851,"path":852,"stem":853,"date":854,"type":842,"children":-1},"本地部署MiniMax H3和MiniMax Music 3：零成本生成视频与音乐！","\u002Fposts\u002F5eca252","posts\u002F2026\u002F本地部署MiniMax H3和MiniMax Music 3：零成本生成视频与音乐！","2026-08-29 14:29:24",1788177412755]