{"id":4474,"date":"2023-04-02T12:17:29","date_gmt":"2023-04-02T04:17:29","guid":{"rendered":"https:\/\/blog.coderfan.org\/?p=4474"},"modified":"2023-06-27T19:10:23","modified_gmt":"2023-06-27T11:10:23","slug":"using-toybox-in-android","status":"publish","type":"post","link":"https:\/\/blog.coderfan.org\/en\/using-toybox-in-android.html","title":{"rendered":"Android\u7cfb\u7edf\u4e2dtoybox\/busybox\u4f7f\u7528"},"content":{"rendered":"<div class='booster-block booster-read-block'>\n                <div class=\"twp-read-time\">\n                \t<i class=\"booster-icon twp-clock\"><\/i> <span>Read Time:<\/span>2 Minute, 6 Second                <\/div>\n\n            <\/div>\n<p class=\"has-text-align-justify\">\u6211\u4eec\u5df2\u7ecf\u77e5\u9053Android\u7cfb\u7edf\u57fa\u4e8eLinux\uff0c\u5f88\u591aLinux\u547d\u4ee4\u5982pwd\/cd\/ifconfig\u7b49\u90fd\u53ef\u4ee5\u5728Android\u4e2d\u4f7f\u7528\u3002\u4e0d\u8fc7\u6211\u4eec\u4ed4\u7ec6\u89c2\u5bdf\u5c31\u4f1a\u53d1\u73b0\u4e24\u8005\u7684\u5dee\u5f02\uff0c\u6bd4\u5982\u9488\u5bf9pwd\u547d\u4ee4\uff0c\u6211\u4eec\u5728Ubuntu 20\u4e2d\u7684\/usr\/bin\u76ee\u5f55\u4e0b\u53ef\u4ee5\u627e\u5230\u5b83\uff1a<\/p>\n\n\n\n<pre class=\"io-enlighter-pre\"><code class=\"gl\" data-enlighter-language=\"generic\" data-enlighter-linenumbers=\"true\" data-enlighter-lineoffset=\"\" data-enlighter-highlight=\"\">btcd@btcd-OptiPlex-7090:\/usr\/bin$ ls -la | grep pwd\n-rwxr-xr-x  1 root   root       43352 9\u6708   5  2019 pwd\n-rwxr-xr-x  1 root   root       14568 9\u6708   9  2021 pwdx<\/code><\/pre>\n\n\n\n<p class=\"has-text-align-justify\">\u4f46\u662f\u5728Android\u7cfb\u7edf\u4e2d\uff0c\u6240\u6709\u7684\u53ef\u6267\u884ccommand\u90fd\u4f4d\u4e8e\/system\/bin\u76ee\u5f55\u4e0b\uff0c\u4e8b\u5b9e\u4e0a\u6211\u5173\u6ce8\u5230\u5728\/vendor\/bin\u5185\u4e5f\u6709\u76f8\u5e94\u7684cmd\u547d\u4ee4\u5b58\u5728\u3002\u4f46\u4e0d\u7ba1\u662f\/system\/bin \u8fd8\u662f\/vendor\/bin\uff0c\u6211\u4eec\u67e5\u770bpwd\u547d\u4ee4\u7684\u4fe1\u606f\uff0c\u6211\u4eec\u4f1a\u89c2\u5bdf\u5230\u5982\u4e0b\u5185\u5bb9\uff1a<\/p>\n\n\n\n<pre class=\"io-enlighter-pre\"><code class=\"gl\" data-enlighter-language=\"generic\" data-enlighter-linenumbers=\"true\" data-enlighter-lineoffset=\"\" data-enlighter-highlight=\"\">trout_x86:\/system\/bin # ls -lah pwd\nlrwxr-xr-x 1 root shell 6 2009-01-01 00:00 pwd -> toybox\ntrout_x86:\/system\/bin #<\/code><\/pre>\n\n\n\n<p class=\"has-text-align-justify\">\u662f\u7684\uff0c\u6211\u4eec\u53ef\u4ee5\u6e05\u6670\u5730\u770b\u5230\uff0c\u5728\/system\/bin\u4e2dpwd\u5c5e\u4e8e\u4e00\u4e2a\u8f6f\u94fe\u63a5\uff0c\u800c\u8be5\u8f6f\u94fe\u63a5\u6307\u5411\u4e86toybox\uff0c\u5728\/vendor\/bin\u4e2d\u4e5f\u7c7b\u4f3c\uff0c\u4e0d\u8fc7\u6307\u5411\u7684\u662ftoybox_vendor\u3002\u8fd9\u8bf4\u660e\u8fd9\u4e9b\u547d\u4ee4\u90fd\u662f\u901a\u8fc7toybox\u6765\u6267\u884c\u7684\uff0c\u6211\u4eec\u53ef\u4ee5\u7edf\u8ba1\u4e00\u4e0b\u6709\u591a\u5c11\u547d\u4ee4\u662f\u901a\u8fc7toybox\u6765\u5b9e\u73b0\u7684\uff1a<\/p>\n\n\n\n<pre class=\"io-enlighter-pre\"><code class=\"gl\" data-enlighter-language=\"generic\" data-enlighter-linenumbers=\"true\" data-enlighter-lineoffset=\"\" data-enlighter-highlight=\"\">trout_x86:\/system\/bin # ls -la | grep toybox | wc -l                                                                                                                                                       \n175\ntrout_x86:\/system\/bin #<\/code><\/pre>\n\n\n\n<p class=\"has-text-align-justify\">\u8fd9\u8bf4\u660e\u5728Android12\u4e2d\uff0c\u9664\u53bbtoybox\u547d\u4ee4\u672c\u8eab\uff0c\u5171\u6709174\u4e2a\u547d\u4ee4\u901a\u8fc7toybox\u6267\u884c\u3002\u90a3\u4e48\u5177\u4f53\u6709\u54ea\u4e9b\u547d\u4ee4\u662f\u901a\u8fc7toybox\u8fdb\u884c\u652f\u6301\u7684\u5462\uff0c\u6211\u4eec\u8fd0\u884ctoybox\u547d\u4ee4\uff0c\u53ef\u4ee5\u770b\u5230\u5176\u8be6\u7ec6\u7684\u547d\u4ee4\u5217\u8868:<\/p>\n\n\n\n<pre class=\"io-enlighter-pre\"><code class=\"gl\" data-enlighter-language=\"generic\" data-enlighter-linenumbers=\"true\" data-enlighter-lineoffset=\"\" data-enlighter-highlight=\"\">trout_x86:\/system\/bin # toybox\n[ acpi base64 basename blkdiscard blkid blockdev cal cat chattr chcon chgrp chmod chown chroot chrt cksum clear cmp comm cp cpio cut date dd devmem df diff dirname dmesg dos2unix du echo egrep\nenv expand expr fallocate false fgrep file find flock fmt free freeramdisk fsfreeze fsync getconf getenforce getfattr getopt grep groups gunzip gzip head help hostname hwclock i2cdetect i2cdump\ni2cget i2cset iconv id ifconfig inotifyd insmod install ionice iorenice iotop kill killall ln load_policy log logname losetup ls lsattr lsmod lsof lspci lsusb makedevs md5sum microcom mkdir\nmkfifo mknod mkswap mktemp modinfo modprobe more mount mountpoint mv nbd-client nc netcat netstat nice nl nohup nproc nsenter od partprobe paste patch pgrep pidof ping ping6 pivot_root pkill\npmap printenv printf prlimit ps pwd pwdx readelf readlink realpath renice restorecon rev rfkill rm rmdir rmmod rtcwake runcon sed sendevent seq setenforce setfattr setsid sha1sum sha224sum sha256sum\nsha384sum sha512sum sleep sort split stat strings stty swapoff swapon sync sysctl tac tail tar taskset tee test time timeout top touch tr traceroute traceroute6 true truncate tty tunctl ulimit\numount uname uniq unix2dos unlink unshare uptime usleep uudecode uuencode uuidgen vconfig vi vmstat watch wc which whoami xargs xxd yes zcat \ntrout_x86:\/system\/bin #<\/code><\/pre>\n\n\n\n<p class=\"has-text-align-justify\">\u8fd9\u91cc\u53ef\u4ee5\u63d0\u4e00\u70b9\uff0c\u5982\u679c\u6211\u4eec\u8981\u5728\u5b89\u5353\u91cc\u4f7f\u7528vi\u600e\u4e48\u529e\u5462\uff0c\u5982\u679c\u6211\u4eec\u76f4\u63a5\u4f7f\u7528vi\u547d\u4ee4\u6765\u7f16\u8f91\u6587\u4ef6\uff0c\u6211\u4eec\u5927\u6982\u4f1a\u5f97\u5230\u5982\u4e0b\u9519\u8bef\u63d0\u793a\uff1a<\/p>\n\n\n\n<pre class=\"io-enlighter-pre\"><code class=\"gl\" data-enlighter-language=\"generic\" data-enlighter-linenumbers=\"true\" data-enlighter-lineoffset=\"\" data-enlighter-highlight=\"\">trout_x86:\/system\/etc\/automotive\/evs # vi con\nconfig.json           config_override.json\ntrout_x86:\/system\/etc\/automotive\/evs # vi config.json                                                                                                                                                      \n\/system\/bin\/sh: vi: inaccessible or not found\n127|trout_x86:\/system\/etc\/automotive\/evs # <\/code><\/pre>\n\n\n\n<p>\u90a3\u4e48\u6b63\u786e\u7684\u7528\u6cd5\u5176\u5b9e\u662f\u662f\u901a\u8fc7toybox\uff0c\u901a\u8fc7toybox\u6765\u4f7f\u7528vi\u7f16\u8f91\u6587\u672c\u5185\u5bb9\u5e94\u8be5\u4f7f\u7528\u5982\u4e0b\u547d\u4ee4\uff1a<\/p>\n\n\n\n<pre class=\"io-enlighter-pre\"><code class=\"gl\" data-enlighter-language=\"generic\" data-enlighter-linenumbers=\"true\" data-enlighter-lineoffset=\"\" data-enlighter-highlight=\"\">trout_x86:toybox vi config.json<\/code><\/pre>\n\n\n\n<p class=\"has-text-align-justify\">toybox\u672c\u8eab\u4e0d\u5c5e\u4e8eGoogle\u5b98\u65b9\u7ef4\u62a4\u7684\u5185\u5bb9\uff0c\u5176\u5b98\u65b9\u4ed3\u5e93\u6258\u7ba1\u4e8eGithub\u3002\u4f46\u662f\u6211\u4eec\u53ef\u4ee5\u5728AOSP\u7684\u6e90\u7801\u4e2d\u627e\u5230\u76f8\u5173\u7684\u6e90\u7801\uff0c\u5176\u4f4d\u4e8e\/external\/toybox\u76ee\u5f55\u5185\u3002\u6b64\u65f6\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7mmm\u547d\u4ee4\u6765\u624b\u52a8\u7f16\u8bd1\u53ef\u4ee5\u76f4\u63a5\u5728Android\u73af\u5883\u5185\u8fd0\u884c\u7684binary\u3002\u5982\u679c\u6211\u4eec\u6ca1\u6709AOSP\u7684\u6e90\u7801\u73af\u5883\uff0c\u6211\u4eec\u4e5f\u53ef\u4ee5\u57fa\u4e8e\u5b98\u65b9\u4ed3\u5e93\u7684\u6307\u5bfc\u7ed3\u5408NDK\u73af\u5883\u4ea4\u53c9\u7f16\u8bd1\u6765\u83b7\u5f97\u53ef\u4ee5\u5206\u53d1\u7684binary\u3002<\/p>\n\n\n\n<p class=\"has-text-align-justify\">\u9664\u4e86toybox\uff0c\u6211\u4eec\u8fd8\u53ef\u4ee5\u4f7f\u7528busybox\uff0cbusybox\u4e5f\u88ab\u79f0\u4e4b\u4e3a\u201c\u745e\u58eb\u519b\u5200\u201d\u3002\u4e8b\u5b9e\u4e0a\u5728\u5f88\u591a\u5d4c\u5165\u5f0fLinux\u7cfb\u7edf\u4e2d\uff0c\u8bb8\u591a\u547d\u4ee4\u90fd\u7531buysbox\u63d0\u4f9b\u3002\u800c\u5728\u65e9\u671f\u7684Android\u4e2d\uff0c\u4e5f\u662f\u96c6\u6210\u7684busybox\u800c\u975etoybox\u3002\u5173\u4e8ebusybox\u4e0etoybox\u7684\u5dee\u522b\uff0c\u8fd9\u91cc\u7b80\u5355\u5217\u4e3e\u5982\u4e0b\uff1a<\/p>\n\n\n\n<p>1.License\u8bb8\u53ef\u5dee\u5f02\uff1abusybox\u57fa\u4e8eGPL\u8bb8\u53ef\uff0c\u800ctoybox\u57fa\u4e8eBSD\u8bb8\u53ef\u3002<\/p>\n\n\n\n<p>2.\u76f8\u5bf9\u4e8ebusybox\uff0ctoybox\u4f53\u79ef\u66f4\u5c0f\uff0c\u6548\u7387\u66f4\u9ad8\uff0c\u4f46\u76f8\u5bf9\u7684\u652f\u6301\u7684\u547d\u4ee4\u4e5f\u4f1a\u5c11\u4e00\u4e9b<\/p>\n\n\n\n<p>3.toybox\u805a\u7126\u4e8ePOSIX-2008 and LSB 4.1\uff0c\u5bf9\u4e8eGNU\u6807\u51c6\u53ca\u5176\u62d3\u5c55\u5219\u7f3a\u5c11\u517c\u5bb9\u6027<\/p>\n\n\n\n<p class=\"has-text-align-justify\">\u5982\u679c\u6211\u4eec\u60f3\u5728Android\u7cfb\u7edf\u4e2d\u4f7f\u7528busybox\uff0c\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u8fd9\u4e2a\u94fe\u63a5\u4e0b\u8f7d\u5bf9\u5e94\u67b6\u6784\u7684busybox\u7a0b\u5e8f\uff1a<a href=\"https:\/\/busybox.net\/source.html\" class=\"ek-link\">https:\/\/busybox.net\/source.html<\/a>\uff0c\u5c06\u5176\u63a8\u5165Android\u7cfb\u7edf\u8fdb\u884c\u4f7f\u7528\u3002<\/p>\n        <div class=\"booster-block booster-reactions-block\">\n            <div class=\"twp-reactions-icons\">\n                \n                <div class=\"twp-reacts-wrap\">\n                    <a react-data=\"be-react-1\" post-id=\"4474\" class=\"be-face-icons un-reacted\" href=\"javascript:void(0)\">\n                        <img decoding=\"async\" src=\"https:\/\/blog.coderfan.org\/wp-content\/plugins\/booster-extension\/\/assets\/icon\/happy.svg\" alt=\"Happy\">\n                    <\/a>\n                    <div class=\"twp-reaction-title\">\n                        Happy                    <\/div>\n                    <div class=\"twp-count-percent\">\n                                                    <span style=\"display: none;\" class=\"twp-react-count\">0<\/span>\n                        \n                                                <span class=\"twp-react-percent\"><span>0<\/span> %<\/span>\n                                            <\/div>\n                <\/div>\n\n                <div class=\"twp-reacts-wrap\">\n                    <a react-data=\"be-react-2\" post-id=\"4474\" class=\"be-face-icons un-reacted\" href=\"javascript:void(0)\">\n                        <img decoding=\"async\" src=\"https:\/\/blog.coderfan.org\/wp-content\/plugins\/booster-extension\/\/assets\/icon\/sad.svg\" alt=\"Sad\">\n                    <\/a>\n                    <div class=\"twp-reaction-title\">\n                        Sad                    <\/div>\n                    <div class=\"twp-count-percent\">\n                                                    <span style=\"display: none;\" class=\"twp-react-count\">0<\/span>\n                                                                        <span class=\"twp-react-percent\"><span>0<\/span> %<\/span>\n                                            <\/div>\n                <\/div>\n\n                <div class=\"twp-reacts-wrap\">\n                    <a react-data=\"be-react-3\" post-id=\"4474\" class=\"be-face-icons un-reacted\" href=\"javascript:void(0)\">\n                        <img decoding=\"async\" src=\"https:\/\/blog.coderfan.org\/wp-content\/plugins\/booster-extension\/\/assets\/icon\/excited.svg\" alt=\"Excited\">\n                    <\/a>\n                    <div class=\"twp-reaction-title\">\n                        Excited                    <\/div>\n                    <div class=\"twp-count-percent\">\n                                                    <span style=\"display: none;\" class=\"twp-react-count\">0<\/span>\n                                                                        <span class=\"twp-react-percent\"><span>0<\/span> %<\/span>\n                                            <\/div>\n                <\/div>\n\n                <div class=\"twp-reacts-wrap\">\n                    <a react-data=\"be-react-6\" post-id=\"4474\" class=\"be-face-icons un-reacted\" href=\"javascript:void(0)\">\n                        <img decoding=\"async\" src=\"https:\/\/blog.coderfan.org\/wp-content\/plugins\/booster-extension\/\/assets\/icon\/sleepy.svg\" alt=\"Sleepy\">\n                    <\/a>\n                    <div class=\"twp-reaction-title\">\n                        Sleepy                    <\/div>\n                    <div class=\"twp-count-percent\">\n                                                    <span style=\"display: none;\" class=\"twp-react-count\">0<\/span>\n                        \n                                                <span class=\"twp-react-percent\"><span>0<\/span> %<\/span>\n                                            <\/div>\n                <\/div>\n\n                <div class=\"twp-reacts-wrap\">\n                    <a react-data=\"be-react-4\" post-id=\"4474\" class=\"be-face-icons un-reacted\" href=\"javascript:void(0)\">\n                        <img decoding=\"async\" src=\"https:\/\/blog.coderfan.org\/wp-content\/plugins\/booster-extension\/\/assets\/icon\/angry.svg\" alt=\"Angry\">\n                    <\/a>\n                    <div class=\"twp-reaction-title\">Angry<\/div>\n                    <div class=\"twp-count-percent\">\n                                                    <span style=\"display: none;\" class=\"twp-react-count\">0<\/span>\n                                                                        <span class=\"twp-react-percent\"><span>0<\/span> %<\/span>\n                        \n                    <\/div>\n                <\/div>\n\n                <div class=\"twp-reacts-wrap\">\n                    <a react-data=\"be-react-5\" post-id=\"4474\" class=\"be-face-icons un-reacted\" href=\"javascript:void(0)\">\n                        <img decoding=\"async\" src=\"https:\/\/blog.coderfan.org\/wp-content\/plugins\/booster-extension\/\/assets\/icon\/surprise.svg\" alt=\"Surprise\">\n                    <\/a>\n                    <div class=\"twp-reaction-title\">Surprise<\/div>\n                    <div class=\"twp-count-percent\">\n                                                    <span style=\"display: none;\" class=\"twp-react-count\">0<\/span>\n                                                                        <span class=\"twp-react-percent\"><span>0<\/span> %<\/span>\n                                            <\/div>\n                <\/div>\n\n            <\/div>\n        <\/div>","protected":false},"excerpt":{"rendered":"<p>\u5728Android\u7cfb\u7edf\u4e2d\u4f7f\u7528toybox<\/p>","protected":false},"author":1,"featured_media":4483,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":1,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[18],"tags":[46],"class_list":["post-4474","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-operating-system","tag-android"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[]}},"aioseo_notices":[],"featured_image_urls":{"full":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android.jpg",512,269,false],"thumbnail":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android-150x150.jpg",150,150,true],"medium":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android-300x158.jpg",300,158,true],"medium_large":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android.jpg",512,269,false],"large":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android.jpg",512,269,false],"1536x1536":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android.jpg",512,269,false],"2048x2048":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android.jpg",512,269,false],"trp-custom-language-flag":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android-18x9.jpg",18,9,true]},"post_excerpt_stackable":"<p>\u5728Android\u7cfb\u7edf\u4e2d\u4f7f\u7528toybox<\/p>\n","category_list":"<a href=\"https:\/\/blog.coderfan.org\/en\/category\/operating-system\" rel=\"category tag\">\u64cd\u4f5c\u7cfb\u7edf<\/a>","author_info":{"name":"FranzKafka95","url":"https:\/\/blog.coderfan.org\/en\/author\/yushenglonely95"},"comments_num":"0 comments","featured_image_urls_v2":{"full":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android.jpg",512,269,false],"thumbnail":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android-150x150.jpg",150,150,true],"medium":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android-300x158.jpg",300,158,true],"medium_large":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android.jpg",512,269,false],"large":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android.jpg",512,269,false],"1536x1536":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android.jpg",512,269,false],"2048x2048":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android.jpg",512,269,false],"trp-custom-language-flag":["https:\/\/blog.coderfan.org\/wp-content\/uploads\/2023\/04\/android-18x9.jpg",18,9,true]},"post_excerpt_stackable_v2":"<p>\u5728Android\u7cfb\u7edf\u4e2d\u4f7f\u7528toybox<\/p>\n","category_list_v2":"<a href=\"https:\/\/blog.coderfan.org\/en\/category\/operating-system\" rel=\"category tag\">\u64cd\u4f5c\u7cfb\u7edf<\/a>","author_info_v2":{"name":"FranzKafka95","url":"https:\/\/blog.coderfan.org\/en\/author\/yushenglonely95"},"comments_num_v2":"0 comments","_links":{"self":[{"href":"https:\/\/blog.coderfan.org\/en\/wp-json\/wp\/v2\/posts\/4474","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.coderfan.org\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.coderfan.org\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.coderfan.org\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.coderfan.org\/en\/wp-json\/wp\/v2\/comments?post=4474"}],"version-history":[{"count":8,"href":"https:\/\/blog.coderfan.org\/en\/wp-json\/wp\/v2\/posts\/4474\/revisions"}],"predecessor-version":[{"id":4823,"href":"https:\/\/blog.coderfan.org\/en\/wp-json\/wp\/v2\/posts\/4474\/revisions\/4823"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.coderfan.org\/en\/wp-json\/wp\/v2\/media\/4483"}],"wp:attachment":[{"href":"https:\/\/blog.coderfan.org\/en\/wp-json\/wp\/v2\/media?parent=4474"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.coderfan.org\/en\/wp-json\/wp\/v2\/categories?post=4474"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.coderfan.org\/en\/wp-json\/wp\/v2\/tags?post=4474"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}