{"id":7,"date":"2026-03-22T22:14:21","date_gmt":"2026-03-22T14:14:21","guid":{"rendered":"http:\/\/8.141.101.68:9998\/?p=7"},"modified":"2026-04-09T21:40:40","modified_gmt":"2026-04-09T13:40:40","slug":"nodewarden-%e6%8a%8a-bitwarden-%e6%90%ac%e4%b8%8a-cloudflare-workers%ef%bc%8c%e5%bd%bb%e5%ba%95%e5%91%8a%e5%88%ab%e6%9c%8d%e5%8a%a1%e5%99%a8","status":"publish","type":"post","link":"https:\/\/blog.shi-liu.fun\/?p=7","title":{"rendered":"NodeWarden \u2013 \u628a Bitwarden \u642c\u4e0a Cloudflare Workers\uff0c\u5f7b\u5e95\u544a\u522b\u670d\u52a1\u5668"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\u4e0e Bitwarden \u5b98\u65b9\u670d\u52a1\u7aef\u80fd\u529b\u5bf9\u6bd4<a href=\"https:\/\/github.com\/shuaiplus\/NodeWarden#%E4%B8%8E-bitwarden-%E5%AE%98%E6%96%B9%E6%9C%8D%E5%8A%A1%E7%AB%AF%E8%83%BD%E5%8A%9B%E5%AF%B9%E6%AF%94\"><\/a><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u80fd\u529b<\/th><th>Bitwarden<\/th><th>NodeWarden<\/th><th>\u8bf4\u660e<\/th><\/tr><\/thead><tbody><tr><td>\u7f51\u9875\u5bc6\u7801\u5e93<\/td><td>\u2705<\/td><td>\u2705<\/td><td><strong>\u539f\u521bWeb Vault\u754c\u9762<\/strong><\/td><\/tr><tr><td>\u5168\u91cf\u540c\u6b65&nbsp;<code>\/api\/sync<\/code><\/td><td>\u2705<\/td><td>\u2705<\/td><td>\u5df2\u9488\u5bf9\u5b98\u65b9\u5ba2\u6237\u7aef\u505a\u517c\u5bb9\u4f18\u5316<\/td><\/tr><tr><td>\u9644\u4ef6\u4e0a\u4f20 \/ \u4e0b\u8f7d<\/td><td>\u2705<\/td><td>\u2705<\/td><td>Cloudflare R2 \u6216 KV<\/td><\/tr><tr><td>Send<\/td><td>\u2705<\/td><td>\u2705<\/td><td>\u652f\u6301\u6587\u672c\u4e0e\u6587\u4ef6 Send<\/td><\/tr><tr><td>\u5bfc\u5165 \/ \u5bfc\u51fa<\/td><td>\u2705<\/td><td>\u2705<\/td><td>\u652f\u6301 Bitwarden JSON \/ CSV \/&nbsp;<strong>ZIP \u5bfc\u5165\uff08\u5305\u62ec\u9644\u4ef6\uff09<\/strong><\/td><\/tr><tr><td><strong>\u4e91\u7aef\u5907\u4efd\u4e2d\u5fc3<\/strong><\/td><td>\u274c<\/td><td>\u2705<\/td><td><strong>\u652f\u6301 WebDAV \/ E3 \u5b9a\u65f6\u5907\u4efd<\/strong><\/td><\/tr><tr><td>\u5bc6\u7801\u63d0\u793a\uff08\u7f51\u9875\u7aef\uff09<\/td><td>\u26a0\ufe0f&nbsp;\u6709\u9650<\/td><td>\u2705<\/td><td><strong>\u65e0\u9700\u53d1\u9001\u90ae\u4ef6<\/strong><\/td><\/tr><tr><td>TOTP \/ Steam TOTP<\/td><td>\u2705<\/td><td>\u2705<\/td><td>\u542b&nbsp;<code>steam:\/\/<\/code>&nbsp;\u652f\u6301<\/td><\/tr><tr><td>\u591a\u7528\u6237<\/td><td>\u2705<\/td><td>\u2705<\/td><td>\u652f\u6301\u9080\u8bf7\u7801\u6ce8\u518c<\/td><\/tr><tr><td>\u7ec4\u7ec7 \/ \u96c6\u5408 \/ \u6210\u5458\u6743\u9650<\/td><td>\u2705<\/td><td>\u274c<\/td><td>\u672a\u5b9e\u73b0<\/td><\/tr><tr><td>\u767b\u5f55 2FA<\/td><td>\u2705<\/td><td>\u26a0\ufe0f&nbsp;\u90e8\u5206\u652f\u6301<\/td><td>\u5f53\u524d\u4ec5\u652f\u6301\u7528\u6237\u7ea7 TOTP<\/td><\/tr><tr><td>SSO \/ SCIM \/ \u4f01\u4e1a\u76ee\u5f55<\/td><td>\u2705<\/td><td>\u274c<\/td><td>\u672a\u5b9e\u73b0<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u5fc5\u8981\u6761\u4ef6\">\u5fc5\u8981\u6761\u4ef6<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u4f60\u9700\u8981\u6709\u4e00\u4e2a Cloudflare \u8d26\u53f7\uff08\u5fc5\u987b\u6709\u4e00\u4e2a\u57df\u540d\u548c\u4fe1\u7528\u5361\uff09<\/li>\n\n\n\n<li>\u4e00\u4e2a GitHub \u8d26\u53f7<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">\u7f51\u9875\u90e8\u7f72<a href=\"https:\/\/github.com\/shuaiplus\/NodeWarden#%E7%BD%91%E9%A1%B5%E9%83%A8%E7%BD%B2\"><\/a><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Fork <a href=\"https:\/\/github.com\/shuaiplus\/NodeWarden\">\u672c\u4ed3\u5e93<\/a>\u3002\u82e5\u672c\u9879\u76ee\u5bf9\u4f60\u6709\u5e2e\u52a9\uff0c\u6b22\u8fce\u70b9\u4e2a Star\u3002<\/li>\n\n\n\n<li>\u6253\u5f00\u00a0<a href=\"https:\/\/dash.cloudflare.com\/?to=\/:account\/workers-and-pages\/create\">Workers<\/a>\u00a0\u279c\u00a0<code>Continue with GitHub<\/code>\u00a0\u279c \u9009\u62e9\u4f60 Fork \u540e\u7684\u4ed3\u5e93\uff08<code>NodeWarden<\/code>\uff09\u279c \u4e0b\u4e00\u6b65 \u279c \uff08\u9ed8\u8ba4\u4f7f\u7528 R2 \u5b58\u50a8\uff1b\u82e5\u672a\u5f00\u901a\uff0c\u53ef\u7528 KV \u6765\u4ee3\u66ff\uff0c\u5c06<strong>\u90e8\u7f72\u547d\u4ee4<\/strong>\u6539\u4e3a\u00a0<code>npm run deploy:kv<\/code>\uff09\u279c \u90e8\u7f72 \u279c \u6253\u5f00\u751f\u6210\u7684\u94fe\u63a5\u50a8\u5b58\u662f\u5426\u9700\u7ed1\u5361\u5355\u4e2a\u9644\u4ef6\/Send\u6587\u4ef6\u4e0a\u9650\u514d\u8d39\u989d\u5ea6R2\u9700\u8981100 MB\uff08\u8f6f\u9650\u5236\u53ef\u66f4\u6539\uff0910 GBKV\u4e0d\u9700\u898125 MiB\uff08Cloudflare\u9650\u5236\uff091 GB<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"\u8bbe\u7f6e-node-warden\">\u8bbe\u7f6e NodeWarden<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u90e8\u7f72\u6210\u529f\u4e4b\u540e\uff0cCloudflare \u4f1a\u63d0\u4f9b\u4e00\u4e2a\u4e34\u65f6\u5730\u5740\uff0c\u7c7b\u4f3c&nbsp;<kbd>1nodewarden.apipnn.workers.dev<\/kbd>\uff0c\u7528\u6d4f\u89c8\u5668\u6253\u5f00\u5b83\uff0c\u5982\u679c\u6253\u4e0d\u5f00\uff0c\u5c31\u7ed1\u5b9a\u4e00\u4e2a\u4f60\u81ea\u5df1\u7684\u4e8c\u7ea7\u57df\u540d\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd9\u4e2a\u6b65\u9aa4\u4e3b\u8981\u6709\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u8bbe\u7f6e JWT_SECRET<\/li>\n\n\n\n<li>\u8bbe\u7f6e\u4e3b\u8d26\u53f7\u4e0e\u5bc6\u7801<\/li>\n\n\n\n<li>\u8bbe\u7f6e\u542f\u7528\u4e3b\u8d26\u53f7\u7684\u4e8c\u6b21\u9a8c\u8bc1<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/static3cdn.appinn.com\/images\/2026\/02\/Screenshot-2026-02-22-13.19.12@2x.avif'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/static3cdn.appinn.com\/images\/2026\/02\/Screenshot-2026-02-22-13.19.12@2x.avif\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"NodeWarden - \u628a Bitwarden \u642c\u4e0a Cloudflare Workers\uff0c\u5f7b\u5e95\u544a\u522b\u670d\u52a1\u5668 5\" class=\"wp-image-56146\" title=\"NodeWarden - \u628a Bitwarden \u642c\u4e0a Cloudflare Workers\uff0c\u5f7b\u5e95\u544a\u522b\u670d\u52a1\u5668 5\"\/><\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u6700\u540e\u4e00\u6b65\u6210\u529f\u4e4b\u540e\uff0c\u8fd8\u80fd\u9009\u62e9\u5f7b\u5e95\u9690\u85cf\u8fd9\u4e2a\u8bbe\u7f6e\u9875\u9762\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u8bbe\u7f6e\u5b8c\u6210\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u5728\">\u5728\u5ba2\u6237\u7aef\u767b\u5f55<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u6253\u5f00\u4f60\u7684 Bitwarden \u5b98\u65b9\u5ba2\u6237\u7aef\uff0c\u5728\u767b\u5f55\u7684\u5730\u65b9\u9009\u62e9\u81ea\u6258\u7ba1\uff0c\u5e76\u8f93\u5165&nbsp;<strong>\u670d\u52a1\u5668 URL<\/strong>\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/static3cdn.appinn.com\/images\/2026\/02\/IMG_1461.avif'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/static3cdn.appinn.com\/images\/2026\/02\/IMG_1461.avif\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"NodeWarden - \u628a Bitwarden \u642c\u4e0a Cloudflare Workers\uff0c\u5f7b\u5e95\u544a\u522b\u670d\u52a1\u5668 7\" class=\"wp-image-56148\" title=\"NodeWarden - \u628a Bitwarden \u642c\u4e0a Cloudflare Workers\uff0c\u5f7b\u5e95\u544a\u522b\u670d\u52a1\u5668 7\"\/><\/div><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/static3cdn.appinn.com\/images\/2026\/02\/%E6%88%AA%E5%B1%8F-2026-02-22-21.44.16.avif'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/static3cdn.appinn.com\/images\/2026\/02\/%E6%88%AA%E5%B1%8F-2026-02-22-21.44.16.avif\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"NodeWarden - \u628a Bitwarden \u642c\u4e0a Cloudflare Workers\uff0c\u5f7b\u5e95\u544a\u522b\u670d\u52a1\u5668 8\" class=\"wp-image-56149\" title=\"NodeWarden - \u628a Bitwarden \u642c\u4e0a Cloudflare Workers\uff0c\u5f7b\u5e95\u544a\u522b\u670d\u52a1\u5668 8\"\/><\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e4b\u540e\uff0c\u5728\u4f7f\u7528\u521a\u521a\u8bbe\u7f6e\u9875\u9762\u8bbe\u7f6e\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\uff08\u5982\u679c\u8bbe\u7f6e\u4e86\u4e8c\u6b21\u9a8c\u8bc1\uff0c\u8fd8\u4f1a\u8981\u6c42\u8f93\u5165\u9a8c\u8bc1\u7801\uff09\uff0c\u5c31\u53ef\u4ee5\u6b63\u5e38\u767b\u5f55\u5566\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/static3cdn.appinn.com\/images\/2026\/02\/%E6%88%AA%E5%B1%8F-2026-02-22-21.48.13.avif'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/static3cdn.appinn.com\/images\/2026\/02\/%E6%88%AA%E5%B1%8F-2026-02-22-21.48.13.avif\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"NodeWarden - \u628a Bitwarden \u642c\u4e0a Cloudflare Workers\uff0c\u5f7b\u5e95\u544a\u522b\u670d\u52a1\u5668 9\" class=\"wp-image-56150\" title=\"NodeWarden - \u628a Bitwarden \u642c\u4e0a Cloudflare Workers\uff0c\u5f7b\u5e95\u544a\u522b\u670d\u52a1\u5668 9\"\/><\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tip\uff1a\u540c\u6b65\u65b9\u6cd5\uff08\u66f4\u65b0\u4ed3\u5e93\uff09\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u624b\u52a8\uff1a\u6253\u5f00\u4f60 Fork \u7684 GitHub \u4ed3\u5e93\uff0c\u770b\u5230\u9876\u90e8\u540c\u6b65\u63d0\u793a\u540e\uff0c\u70b9\u51fb\u00a0<code>Sync fork<\/code>\u00a0\u279c\u00a0<code>Update branch<\/code><\/li>\n\n\n\n<li>\u81ea\u52a8\uff1a\u8fdb\u5165\u4f60\u7684 Fork \u4ed3\u5e93 \u279c\u00a0<code>Actions<\/code>\u00a0\u279c\u00a0<code>Sync upstream<\/code>\u00a0\u279c\u00a0<code>Enable workflow<\/code>\uff0c\u4f1a\u5728\u6bcf\u5929\u51cc\u6668 3 \u70b9\u81ea\u52a8\u540c\u6b65\u4e0a\u6e38\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e91\u7aef\u5907\u4efd\u8bf4\u660e<a href=\"https:\/\/github.com\/shuaiplus\/NodeWarden#%E4%BA%91%E7%AB%AF%E5%A4%87%E4%BB%BD%E8%AF%B4%E6%98%8E\"><\/a><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u8fdc\u7a0b\u5907\u4efd\u652f\u6301\u00a0<strong>WebDAV<\/strong>\u00a0\u4e0e\u00a0<strong>E3<\/strong><\/li>\n\n\n\n<li>\u52fe\u9009\u201c\u5305\u542b\u9644\u4ef6\u201d\u540e\uff1a\n<ul class=\"wp-block-list\">\n<li>ZIP \u5185\u4ecd\u53ea\u5305\u542b\u00a0<code>db.json<\/code>\u00a0\u4e0e\u00a0<code>manifest.json<\/code><\/li>\n\n\n\n<li>\u771f\u5b9e\u9644\u4ef6\u5355\u72ec\u5b58\u653e\u5728\u00a0<code>attachments\/<\/code><\/li>\n\n\n\n<li>\u540e\u7eed\u5907\u4efd\u4f1a\u6309\u7a33\u5b9a blob \u540d\u590d\u7528\u5df2\u6709\u9644\u4ef6\uff0c\u4e0d\u4f1a\u6bcf\u6b21\u5168\u91cf\u91cd\u4f20<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u8fdc\u7a0b\u8fd8\u539f\u65f6\uff1a\n<ul class=\"wp-block-list\">\n<li>\u4f1a\u4ece\u00a0<code>attachments\/<\/code>\u00a0\u76ee\u5f55\u6309\u9700\u8bfb\u53d6\u9644\u4ef6<\/li>\n\n\n\n<li>\u7f3a\u5931\u7684\u9644\u4ef6\u4f1a\u88ab\u5b89\u5168\u8df3\u8fc7<\/li>\n\n\n\n<li>\u88ab\u8df3\u8fc7\u7684\u9644\u4ef6\u4e0d\u4f1a\u5728\u6062\u590d\u540e\u7684\u6570\u636e\u5e93\u4e2d\u7559\u4e0b\u810f\u8bb0\u5f55<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u5bfc\u5165 \/ \u5bfc\u51fa<a href=\"https:\/\/github.com\/shuaiplus\/NodeWarden#%E5%AF%BC%E5%85%A5--%E5%AF%BC%E5%87%BA\"><\/a><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u5f53\u524d\u652f\u6301\u7684\u5bfc\u5165\u6765\u6e90\u5305\u62ec\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Bitwarden JSON<\/li>\n\n\n\n<li>Bitwarden CSV<\/li>\n\n\n\n<li>Bitwarden \u5bc6\u7801\u5e93 + \u9644\u4ef6 ZIP<\/li>\n\n\n\n<li>NodeWarden JSON<\/li>\n\n\n\n<li>\u7f51\u9875\u5bfc\u5165\u5668\u91cc\u53ef\u89c1\u7684\u591a\u79cd\u6d4f\u89c8\u5668 \/ \u5bc6\u7801\u7ba1\u7406\u5668\u683c\u5f0f<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u5f53\u524d\u652f\u6301\u7684\u5bfc\u51fa\u65b9\u5f0f\u5305\u62ec\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Bitwarden JSON<\/li>\n\n\n\n<li>Bitwarden \u52a0\u5bc6 JSON<\/li>\n\n\n\n<li>\u5e26\u9644\u4ef6\u7684 ZIP \u5bfc\u51fa<\/li>\n\n\n\n<li>NodeWarden JSON \u7cfb\u5217<\/li>\n\n\n\n<li>\u5907\u4efd\u4e2d\u5fc3\u4e2d\u7684\u5b9e\u4f8b\u7ea7\u5b8c\u6574\u624b\u52a8\u5bfc\u51fa<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\u4e0e Bitwarden \u5b98\u65b9\u670d\u52a1\u7aef\u80fd\u529b\u5bf9\u6bd4 \u80fd\u529b Bitwarden NodeWarden \u8bf4\u660e \u7f51\u9875\u5bc6\u7801\u5e93  [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":65,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[8,10,7],"class_list":["post-7","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloudflare","tag-bitwarder","tag-cloudflare","tag-7"],"_links":{"self":[{"href":"https:\/\/blog.shi-liu.fun\/index.php?rest_route=\/wp\/v2\/posts\/7","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.shi-liu.fun\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.shi-liu.fun\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.shi-liu.fun\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.shi-liu.fun\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7"}],"version-history":[{"count":1,"href":"https:\/\/blog.shi-liu.fun\/index.php?rest_route=\/wp\/v2\/posts\/7\/revisions"}],"predecessor-version":[{"id":8,"href":"https:\/\/blog.shi-liu.fun\/index.php?rest_route=\/wp\/v2\/posts\/7\/revisions\/8"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.shi-liu.fun\/index.php?rest_route=\/wp\/v2\/media\/65"}],"wp:attachment":[{"href":"https:\/\/blog.shi-liu.fun\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.shi-liu.fun\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.shi-liu.fun\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}