{"id":910,"date":"2026-04-10T03:41:56","date_gmt":"2026-04-10T03:41:56","guid":{"rendered":"https:\/\/opshub.com.cn\/?p=910"},"modified":"2026-04-10T03:48:21","modified_gmt":"2026-04-10T03:48:21","slug":"rrdtool-%e7%bb%98%e5%88%b6xray%e7%9a%84%e8%bf%9e%e6%8e%a5%e9%80%9f%e7%8e%87%e5%9b%be","status":"publish","type":"post","link":"https:\/\/opshub.com.cn\/?p=910","title":{"rendered":"rrdtool \u7ed8\u5236xray\u7684\u8fde\u63a5\u901f\u7387\u56fe"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash\nwhile true; do\n\tmkdir -p \/data\/shell\/Xstats\n\tif &#91;&#91; ! -f \"\/data\/shell\/Xstats\/downlink_traffic.rrd\" ]]; then\n\t\trrdtool create \/data\/shell\/Xstats\/downlink_traffic.rrd \\\n\t\t\t--step 5 \\\n\t\t\tDS:apollo:COUNTER:10:0:U \\\n\t\t\tDS:dns-in:COUNTER:10:0:U \\\n\t\t\tDS:eolhh:COUNTER:10:0:U \\\n\t\t\tDS:tnsytdyh:COUNTER:10:0:U \\\n\t\t\tDS:dns-out:COUNTER:10:0:U \\\n\t\t\tDS:phylax-block:COUNTER:10:0:U \\\n\t\t\tDS:phylax-direct:COUNTER:10:0:U \\\n\t\t\tDS:phylax-proxy-1:COUNTER:10:0:U \\\n\t\t\tDS:phylax-proxy-2:COUNTER:10:0:U \\\n\t\t\tDS:phylax-proxy-3:COUNTER:10:0:U \\\n\t\t\tDS:phylax-proxy-4:COUNTER:10:0:U \\\n\t\t\tDS:phylax-proxy-5:COUNTER:10:0:U \\\n\t\t\tRRA:AVERAGE:0.5:1:600 \\\n\t\t\tRRA:AVERAGE:0.5:6:700 \\\n\t\t\tRRA:AVERAGE:0.5:24:775 \\\n\t\t\tRRA:AVERAGE:0.5:288:797 \\\n\t\t\tRRA:MAX:0.5:1:600 \\\n\t\t\tRRA:MAX:0.5:6:700 \\\n\t\t\tRRA:MAX:0.5:24:775 \\\n\t\t\tRRA:MAX:0.5:288:797\n\telif &#91;&#91; -f \"\/data\/shell\/Xstats\/downlink_traffic.rrd\" ]]; then\n\t\trrdtool update \/data\/shell\/Xstats\/downlink_traffic.rrd N:$(echo -e \"$(curl -4sLk -o - http:\/\/192.168.1.67:11111\/debug\/vars | jq -r '.stats | .&#91;] | .&#91;] | .downlink')\\n$(curl -4sLk -o - http:\/\/cnta.gpst.net.cn:11111\/debug\/vars | jq -r '.stats | .&#91;] | .&#91;] | .downlink')\" | awk '{if(NR&lt;=12){a&#91;NR]=$1}else if(NR&gt;12){a&#91;NR-12]+=$1}}END{for(i=1;i&lt;=12;i++){printf\"%d:\",a&#91;i]}}' | sed 's\/:$\/\/g')\n\t\tcd \/data\/shell\/Xstats\n\t\t\/opt\/rrdtool\/bin\/rrdtool graph \/data\/shell\/Xstats\/downlink_traffic.png \\\n\t\t\t--start -1800s \\\n\t\t\t--title '\u4e0b\u884c\u8fde\u63a5\u901f\u7387\u8d8b\u52bf\u56fe' \\\n\t\t\t--vertical-label 'bits\/sec' \\\n\t\t\t--width 1200 \\\n\t\t\t--height 500 \\\n\t\t\t--right-axis 1:0 \\\n\t\t\t--units=si --base=1024 \\\n\t\t\t-n LEGEND:10:'\/usr\/share\/fonts\/TrueType\/simhei.ttf' \\\n\t\t\t-n TITLE:12:'\/usr\/share\/fonts\/TrueType\/simhei.ttf' \\\n\t\t\t-n AXIS:10:'\/usr\/share\/fonts\/TrueType\/simhei.ttf' \\\n\t\t\t--color BACK#F5F5F5 --color CANVAS#EEE8AA \\\n\t\t\tHRULE:30000000#FF0000:\"30Mbps\u9884\u8b66\u9608\u503c\u7ebf\\n\" \\\n\t\t\tDEF:apollo=downlink_traffic.rrd:apollo:AVERAGE \\\n\t\t\tDEF:dns-in=downlink_traffic.rrd:dns-in:AVERAGE \\\n\t\t\tDEF:eolhh=downlink_traffic.rrd:eolhh:AVERAGE \\\n\t\t\tDEF:tnsytdyh=downlink_traffic.rrd:tnsytdyh:AVERAGE \\\n\t\t\tDEF:dns-out=downlink_traffic.rrd:dns-out:AVERAGE \\\n\t\t\tDEF:phylax-block=downlink_traffic.rrd:phylax-block:AVERAGE \\\n\t\t\tDEF:phylax-direct=downlink_traffic.rrd:phylax-direct:AVERAGE \\\n\t\t\tDEF:phylax-proxy-1=downlink_traffic.rrd:phylax-proxy-1:AVERAGE \\\n\t\t\tDEF:phylax-proxy-2=downlink_traffic.rrd:phylax-proxy-2:AVERAGE \\\n\t\t\tDEF:phylax-proxy-3=downlink_traffic.rrd:phylax-proxy-3:AVERAGE \\\n\t\t\tDEF:phylax-proxy-4=downlink_traffic.rrd:phylax-proxy-4:AVERAGE \\\n\t\t\tDEF:phylax-proxy-5=downlink_traffic.rrd:phylax-proxy-5:AVERAGE \\\n\t\t\tCDEF:apollo_bits=apollo,8,* \\\n\t\t\tCDEF:dns-in_bits=dns-in,8,* \\\n\t\t\tCDEF:eolhh_bits=eolhh,8,* \\\n\t\t\tCDEF:tnsytdyh_bits=tnsytdyh,8,* \\\n\t\t\tCDEF:dns-out_bits=dns-out,8,* \\\n\t\t\tCDEF:phylax-block_bits=phylax-block,8,* \\\n\t\t\tCDEF:phylax-direct_bits=phylax-direct,8,* \\\n\t\t\tCDEF:phylax-proxy-1_bits=phylax-proxy-1,8,* \\\n\t\t\tCDEF:phylax-proxy-2_bits=phylax-proxy-2,8,* \\\n\t\t\tCDEF:phylax-proxy-3_bits=phylax-proxy-3,8,* \\\n\t\t\tCDEF:phylax-proxy-4_bits=phylax-proxy-4,8,* \\\n\t\t\tCDEF:phylax-proxy-5_bits=phylax-proxy-5,8,* \\\n\t\t\tLINE1:apollo_bits#0000FF:'V\u5165\u7ad9' \\\n\t\t\tLINE1:dns-in_bits#FF9500:'D\u5165\u7ad9' \\\n\t\t\tLINE1:eolhh_bits#FFCC00:'T\u5165\u7ad9' \\\n\t\t\tLINE1:tnsytdyh_bits#34C759:'H\u5165\u7ad9' \\\n\t\t\tLINE2:dns-out_bits#007AFF:'D\u51fa\u7ad9' \\\n\t\t\tLINE2:phylax-block_bits#5856D6:'\u9ed1\u6d1e' \\\n\t\t\tLINE2:phylax-direct_bits#AF52DE:'\u76f4\u8fde' \\\n\t\t\tLINE2:phylax-proxy-1_bits#FF2D55:'A\u6838\u51fa\u7ad9' \\\n\t\t\tLINE2:phylax-proxy-2_bits#00C7BE:'B\u6838\u51fa\u7ad9' \\\n\t\t\tLINE2:phylax-proxy-3_bits#8E8E93:'C\u6838\u51fa\u7ad9' \\\n\t\t\tLINE2:phylax-proxy-4_bits#FF6B6B:'D\u6838\u51fa\u7ad9' \\\n\t\t\tLINE2:phylax-proxy-5_bits#4CD964:'E\u6838\u51fa\u7ad9\\n' \\\n\t\t\tGPRINT:apollo_bits:MAX:'V\u5165\u7ad9\u5cf0\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:dns-in_bits:MAX:'D\u5165\u7ad9\u5cf0\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:eolhh_bits:MAX:'T\u5165\u7ad9\u5cf0\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:tnsytdyh_bits:MAX:'H\u5165\u7ad9\u5cf0\u503c\\: %.2lf %s\\n' \\\n\t\t\tGPRINT:dns-out_bits:MAX:'D\u51fa\u7ad9\u5cf0\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:phylax-block_bits:MAX:'\u9ed1\u6d1e\u5cf0\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:phylax-direct_bits:MAX:'\u76f4\u8fde\u5cf0\u503c\\: %.2lf %s\\n' \\\n\t\t\tGPRINT:phylax-proxy-1_bits:MAX:'A\u6838\u51fa\u7ad9\u5cf0\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:phylax-proxy-2_bits:MAX:'B\u6838\u51fa\u7ad9\u5cf0\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:phylax-proxy-3_bits:MAX:'C\u6838\u51fa\u7ad9\u5cf0\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:phylax-proxy-4_bits:MAX:'D\u6838\u51fa\u7ad9\u5cf0\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:phylax-proxy-5_bits:MAX:'E\u6838\u51fa\u7ad9\u5cf0\u503c\\: %.2lf %s\\n' \\\n\t\t\tGPRINT:apollo_bits:AVERAGE:'V\u5165\u7ad9\u5747\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:dns-in_bits:AVERAGE:'D\u5165\u7ad9\u5747\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:eolhh_bits:AVERAGE:'T\u5165\u7ad9\u5747\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:tnsytdyh_bits:AVERAGE:'H\u5165\u7ad9\u5747\u503c\\: %.2lf %s\\n' \\\n\t\t\tGPRINT:dns-out_bits:AVERAGE:'D\u51fa\u7ad9\u5747\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:phylax-block_bits:AVERAGE:'\u9ed1\u6d1e\u5747\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:phylax-direct_bits:AVERAGE:'\u76f4\u8fde\u5747\u503c\\: %.2lf %s\\n' \\\n\t\t\tGPRINT:phylax-proxy-1_bits:AVERAGE:'A\u6838\u51fa\u7ad9\u5747\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:phylax-proxy-2_bits:AVERAGE:'B\u6838\u51fa\u7ad9\u5747\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:phylax-proxy-3_bits:AVERAGE:'C\u6838\u51fa\u7ad9\u5747\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:phylax-proxy-4_bits:AVERAGE:'D\u6838\u51fa\u7ad9\u5747\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:phylax-proxy-5_bits:AVERAGE:'E\u6838\u51fa\u7ad9\u5747\u503c\\: %.2lf %s'\n\tfi\n\tif &#91;&#91; ! -f \"\/data\/shell\/Xstats\/uplink_traffic.rrd\" ]]; then\n\t\trrdtool create \/data\/shell\/Xstats\/uplink_traffic.rrd \\\n\t\t\t--step 5 \\\n\t\t\tDS:apollo:COUNTER:10:0:U \\\n\t\t\tDS:dns-in:COUNTER:10:0:U \\\n\t\t\tDS:eolhh:COUNTER:10:0:U \\\n\t\t\tDS:tnsytdyh:COUNTER:10:0:U \\\n\t\t\tDS:dns-out:COUNTER:10:0:U \\\n\t\t\tDS:phylax-block:COUNTER:10:0:U \\\n\t\t\tDS:phylax-direct:COUNTER:10:0:U \\\n\t\t\tDS:phylax-proxy-1:COUNTER:10:0:U \\\n\t\t\tDS:phylax-proxy-2:COUNTER:10:0:U \\\n\t\t\tDS:phylax-proxy-3:COUNTER:10:0:U \\\n\t\t\tDS:phylax-proxy-4:COUNTER:10:0:U \\\n\t\t\tDS:phylax-proxy-5:COUNTER:10:0:U \\\n\t\t\tRRA:AVERAGE:0.5:1:600 \\\n\t\t\tRRA:AVERAGE:0.5:6:700 \\\n\t\t\tRRA:AVERAGE:0.5:24:775 \\\n\t\t\tRRA:AVERAGE:0.5:288:797 \\\n\t\t\tRRA:MAX:0.5:1:600 \\\n\t\t\tRRA:MAX:0.5:6:700 \\\n\t\t\tRRA:MAX:0.5:24:775 \\\n\t\t\tRRA:MAX:0.5:288:797\n\telif &#91;&#91; -f \"\/data\/shell\/Xstats\/uplink_traffic.rrd\" ]]; then\n\t\trrdtool update \/data\/shell\/Xstats\/uplink_traffic.rrd N:$(echo -e \"$(curl -4sLk -o - http:\/\/192.168.1.67:11111\/debug\/vars | jq -r '.stats | .&#91;] | .&#91;] | .uplink')\\n$(curl -4sLk -o - http:\/\/cnta.gpst.net.cn:11111\/debug\/vars | jq -r '.stats | .&#91;] | .&#91;] | .uplink')\" | awk '{if(NR&lt;=12){a&#91;NR]=$1}else if(NR&gt;12){a&#91;NR-12]+=$1}}END{for(i=1;i&lt;=12;i++){printf\"%d:\",a&#91;i]}}' | sed 's\/:$\/\/g')\n\t\tcd \/data\/shell\/Xstats\n\t\t\/opt\/rrdtool\/bin\/rrdtool graph \/data\/shell\/Xstats\/uplink_traffic.png \\\n\t\t\t--start -1800s \\\n\t\t\t--title '\u4e0a\u884c\u8fde\u63a5\u901f\u7387\u8d8b\u52bf\u56fe' \\\n\t\t\t--vertical-label 'bits\/sec' \\\n\t\t\t--width 1200 \\\n\t\t\t--height 500 \\\n\t\t\t--right-axis 1:0 \\\n\t\t\t--units=si --base=1024 \\\n\t\t\t-n LEGEND:10:'\/usr\/share\/fonts\/TrueType\/simhei.ttf' \\\n\t\t\t-n TITLE:12:'\/usr\/share\/fonts\/TrueType\/simhei.ttf' \\\n\t\t\t-n AXIS:10:'\/usr\/share\/fonts\/TrueType\/simhei.ttf' \\\n\t\t\t--color BACK#F5F5F5 --color CANVAS#EEE8AA \\\n\t\t\tHRULE:10000000#FF0000:\"10Mbps\u9884\u8b66\u9608\u503c\u7ebf\\n\" \\\n\t\t\tDEF:apollo=uplink_traffic.rrd:apollo:AVERAGE \\\n\t\t\tDEF:dns-in=uplink_traffic.rrd:dns-in:AVERAGE \\\n\t\t\tDEF:eolhh=uplink_traffic.rrd:eolhh:AVERAGE \\\n\t\t\tDEF:tnsytdyh=uplink_traffic.rrd:tnsytdyh:AVERAGE \\\n\t\t\tDEF:dns-out=uplink_traffic.rrd:dns-out:AVERAGE \\\n\t\t\tDEF:phylax-block=uplink_traffic.rrd:phylax-block:AVERAGE \\\n\t\t\tDEF:phylax-direct=uplink_traffic.rrd:phylax-direct:AVERAGE \\\n\t\t\tDEF:phylax-proxy-1=uplink_traffic.rrd:phylax-proxy-1:AVERAGE \\\n\t\t\tDEF:phylax-proxy-2=uplink_traffic.rrd:phylax-proxy-2:AVERAGE \\\n\t\t\tDEF:phylax-proxy-3=uplink_traffic.rrd:phylax-proxy-3:AVERAGE \\\n\t\t\tDEF:phylax-proxy-4=uplink_traffic.rrd:phylax-proxy-4:AVERAGE \\\n\t\t\tDEF:phylax-proxy-5=uplink_traffic.rrd:phylax-proxy-5:AVERAGE \\\n\t\t\tCDEF:apollo_bits=apollo,8,* \\\n\t\t\tCDEF:dns-in_bits=dns-in,8,* \\\n\t\t\tCDEF:eolhh_bits=eolhh,8,* \\\n\t\t\tCDEF:tnsytdyh_bits=tnsytdyh,8,* \\\n\t\t\tCDEF:dns-out_bits=dns-out,8,* \\\n\t\t\tCDEF:phylax-block_bits=phylax-block,8,* \\\n\t\t\tCDEF:phylax-direct_bits=phylax-direct,8,* \\\n\t\t\tCDEF:phylax-proxy-1_bits=phylax-proxy-1,8,* \\\n\t\t\tCDEF:phylax-proxy-2_bits=phylax-proxy-2,8,* \\\n\t\t\tCDEF:phylax-proxy-3_bits=phylax-proxy-3,8,* \\\n\t\t\tCDEF:phylax-proxy-4_bits=phylax-proxy-4,8,* \\\n\t\t\tCDEF:phylax-proxy-5_bits=phylax-proxy-5,8,* \\\n\t\t\tLINE1:apollo_bits#0000FF:'V\u5165\u7ad9' \\\n\t\t\tLINE1:dns-in_bits#FF9500:'D\u5165\u7ad9' \\\n\t\t\tLINE1:eolhh_bits#FFCC00:'T\u5165\u7ad9' \\\n\t\t\tLINE1:tnsytdyh_bits#34C759:'H\u5165\u7ad9' \\\n\t\t\tLINE2:dns-out_bits#007AFF:'D\u51fa\u7ad9' \\\n\t\t\tLINE2:phylax-block_bits#5856D6:'\u9ed1\u6d1e' \\\n\t\t\tLINE2:phylax-direct_bits#AF52DE:'\u76f4\u8fde' \\\n\t\t\tLINE2:phylax-proxy-1_bits#FF2D55:'A\u6838\u51fa\u7ad9' \\\n\t\t\tLINE2:phylax-proxy-2_bits#00C7BE:'B\u6838\u51fa\u7ad9' \\\n\t\t\tLINE2:phylax-proxy-3_bits#8E8E93:'C\u6838\u51fa\u7ad9' \\\n\t\t\tLINE2:phylax-proxy-4_bits#FF6B6B:'D\u6838\u51fa\u7ad9' \\\n\t\t\tLINE2:phylax-proxy-5_bits#4CD964:'E\u6838\u51fa\u7ad9\\n' \\\n\t\t\tGPRINT:apollo_bits:MAX:'V\u5165\u7ad9\u5cf0\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:dns-in_bits:MAX:'D\u5165\u7ad9\u5cf0\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:eolhh_bits:MAX:'T\u5165\u7ad9\u5cf0\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:tnsytdyh_bits:MAX:'H\u5165\u7ad9\u5cf0\u503c\\: %.2lf %s\\n' \\\n\t\t\tGPRINT:dns-out_bits:MAX:'D\u51fa\u7ad9\u5cf0\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:phylax-block_bits:MAX:'\u9ed1\u6d1e\u5cf0\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:phylax-direct_bits:MAX:'\u76f4\u8fde\u5cf0\u503c\\: %.2lf %s\\n' \\\n\t\t\tGPRINT:phylax-proxy-1_bits:MAX:'A\u6838\u51fa\u7ad9\u5cf0\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:phylax-proxy-2_bits:MAX:'B\u6838\u51fa\u7ad9\u5cf0\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:phylax-proxy-3_bits:MAX:'C\u6838\u51fa\u7ad9\u5cf0\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:phylax-proxy-4_bits:MAX:'D\u6838\u51fa\u7ad9\u5cf0\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:phylax-proxy-5_bits:MAX:'E\u6838\u51fa\u7ad9\u5cf0\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:apollo_bits:AVERAGE:'V\u5165\u7ad9\u5747\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:dns-in_bits:AVERAGE:'D\u5165\u7ad9\u5747\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:eolhh_bits:AVERAGE:'T\u5165\u7ad9\u5747\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:tnsytdyh_bits:AVERAGE:'H\u5165\u7ad9\u5747\u503c\\: %.2lf %s\\n' \\\n\t\t\tGPRINT:dns-out_bits:AVERAGE:'D\u51fa\u7ad9\u5747\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:phylax-block_bits:AVERAGE:'\u9ed1\u6d1e\u5747\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:phylax-direct_bits:AVERAGE:'\u76f4\u8fde\u5747\u503c\\: %.2lf %s\\n' \\\n\t\t\tGPRINT:phylax-proxy-1_bits:AVERAGE:'A\u6838\u51fa\u7ad9\u5747\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:phylax-proxy-2_bits:AVERAGE:'B\u6838\u51fa\u7ad9\u5747\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:phylax-proxy-3_bits:AVERAGE:'C\u6838\u51fa\u7ad9\u5747\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:phylax-proxy-4_bits:AVERAGE:'D\u6838\u51fa\u7ad9\u5747\u503c\\: %.2lf %s' \\\n\t\t\tGPRINT:phylax-proxy-5_bits:AVERAGE:'E\u6838\u51fa\u7ad9\u5747\u503c\\: %.2lf %s'\n\tfi\n\tsleep 5\ndone\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1360\" height=\"719\" src=\"https:\/\/opshub.com.cn\/wp-content\/uploads\/2026\/04\/downlink_traffic-1.png\" alt=\"\" class=\"wp-image-916\"\/><\/figure>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-910","post","type-post","status-publish","format-standard","hentry","category-9"],"_links":{"self":[{"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/posts\/910","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=910"}],"version-history":[{"count":3,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/posts\/910\/revisions"}],"predecessor-version":[{"id":918,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/posts\/910\/revisions\/918"}],"wp:attachment":[{"href":"https:\/\/opshub.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=910"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=910"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=910"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}