{"id":1044,"date":"2019-12-02T14:34:26","date_gmt":"2019-12-02T23:34:26","guid":{"rendered":"\/blog\/?p=1044"},"modified":"2023-09-21T09:26:46","modified_gmt":"2023-09-21T00:26:46","slug":"rclone%eb%a5%bc-%ec%82%ac%ec%9a%a9%ed%95%9c-%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%ec%a0%80%ec%9e%a5%ec%86%8conedrive-%eb%8f%99%ea%b8%b0%ed%99%94","status":"publish","type":"post","link":"https:\/\/hasu0707.duckdns.org\/blog\/?p=1044","title":{"rendered":"[rclone]\ub97c \uc0ac\uc6a9\ud55c \ud074\ub77c\uc6b0\ub4dc \uc800\uc7a5\uc18c(OneDrive) \ub3d9\uae30\ud654"},"content":{"rendered":"\n<span style=\"font-size: 12px;\"><span style=\"font-family: monospace;\"><strong>\u25a0 \uc900\ube44\ubb3c<\/strong><br \/>- Storage\ub97c \ud0d1\uc7ac\ud55c Linux \uba38\uc2e0\uc5d0 rclone \uc124\uce58<br \/>- \ud074\ub77c\uc774\uc5b8\ud2b8 \uc708\ub3c4\uc6b0 PC\uc5d0 rclone \uc124\uce58<br \/><br \/><strong>\u25a0 rclone \uc124\uce58<\/strong><br \/><br \/>curl -O <a href=\"https:\/\/downloads.rclone.org\/rclone-current-linux-arm.zip\" target=\"_blank\" rel=\"noopener\">https:\/\/downloads.rclone.org\/rclone-current-linux-arm.zip<\/a><br \/>unzip rclone-current-linux-arm.zip<br \/>cp -fv rclone-*-linux-arm\/rclone \/usr\/bin\/<br \/>rm -rf rclone-*<br \/><br \/>\uc708\ub3c4\uc6b0\ub294<br \/><a href=\"https:\/\/rclone.org\/downloads\/\" target=\"_blank\" rel=\"noopener\">https:\/\/rclone.org\/downloads\/<\/a>&nbsp;\uc5d0\uc11c \ub2e4\uc6b4\ub85c\ub4dc \ubc1b\uc544 \uc124\uce58\ud55c\ub2e4.<br \/><br \/><strong>\u25a0 \ub9ac\ub205\uc2a4 \uc11c\ubc84\uc5d0\uc11c rclone \uc124\uc815<\/strong><br \/><br \/>\uc544\ub798\uc640 \uac19\uc740 \uacfc\uc815\uc73c\ub85c \uc124\uc815\ud55c\ub2e4.<br \/><strong>$ rclone config<\/strong><br \/><br \/><strong>n) New remote<\/strong><br \/>s) Set configuration password<br \/>q) Quit config<br \/>n\/s\/q&gt; <span style=\"color: #e03e2d;\"><strong>n<\/strong><\/span><br \/>name&gt; <span style=\"color: #e03e2d;\"><strong>test-onedrive_com<\/strong><\/span><br \/>Option Storage.<br \/>Type of storage to configure.<br \/>Choose a number from below, or type in your own value.<br \/><strong><span style=\"color: #843fa1;\">28 \/ Microsoft OneDrive<\/span><\/strong><br \/><strong><span style=\"color: #843fa1;\">&nbsp; &nbsp;\\ (onedrive)<\/span><\/strong><br \/>Storage&gt; <span style=\"color: #e03e2d;\"><strong>28<\/strong><\/span><br \/>Option client_id.<br \/>OAuth Client Id.<br \/>Leave blank normally.<br \/>Enter a value. Press Enter to leave empty.<br \/>client_id&gt; <strong><span style=\"color: #3598db;\">[\uadf8\ub0e5 \uc5d4\ud130]<\/span><\/strong><br \/>Option client_secret.<br \/>OAuth Client Secret.<br \/>Leave blank normally.<br \/>Enter a value. Press Enter to leave empty.<br \/>client_secret&gt;<strong> <span style=\"color: #3598db;\">[\uadf8\ub0e5 \uc5d4\ud130]<\/span><\/strong><br \/>Option region.<br \/>Choose national cloud region for OneDrive.<br \/>Choose a number from below, or type in your own string value.<br \/>Press Enter for the default (global).<br \/><strong>&nbsp;<span style=\"color: #843fa1;\">1 \/ Microsoft Cloud Global<\/span><\/strong><br \/><strong><span style=\"color: #843fa1;\">&nbsp; &nbsp;\\ (global)<\/span><\/strong><br \/>&nbsp;2 \/ Microsoft Cloud for US Government<br \/>&nbsp; &nbsp;\\ (us)<br \/>&nbsp;3 \/ Microsoft Cloud Germany<br \/>&nbsp; &nbsp;\\ (de)<br \/>&nbsp;4 \/ Azure and Office 365 operated by 21Vianet in China<br \/>&nbsp; &nbsp;\\ (cn)<br \/>region&gt; <strong><span style=\"color: #e03e2d;\">1<\/span><\/strong><br \/>Edit advanced config?<br \/>y) Yes<br \/>n) No (default)<br \/>y\/n&gt; <strong><span style=\"color: #e03e2d;\">n<\/span><\/strong><br \/>Use auto config?<br \/>&nbsp;* Say Y if not sure<br \/>&nbsp;* Say N if you are working on a remote or headless machine<br \/><br \/>y) Yes (default)<br \/>n) No<br \/>y\/n&gt; <strong><span style=\"color: #e03e2d;\">y<\/span><\/strong><br \/>2022\/05\/02 14:28:50 NOTICE: If your browser doesn't open automatically go to the following link: http:\/\/127.0.0.1:53682\/auth?state=eZY-4uk4V93RKCMLeEq2jA<br \/>2022\/05\/02 14:28:50 NOTICE: Log in and authorize rclone for access<br \/>2022\/05\/02 14:28:50 NOTICE: Waiting for code...<br \/>2022\/05\/02 14:29:26 NOTICE: Got code<br \/>Option config_type.<br \/>Type of connection<br \/>Choose a number from below, or type in an existing string value.<br \/>Press Enter for the default (onedrive).<br \/><span style=\"color: #843fa1;\"><strong>&nbsp;1 \/ OneDrive Personal or Business<\/strong><\/span><br \/><span style=\"color: #843fa1;\"><strong>&nbsp; &nbsp;\\ (onedrive)<\/strong><\/span><br \/>&nbsp;2 \/ Root Sharepoint site<br \/>&nbsp; &nbsp;\\ (sharepoint)<br \/>&nbsp; &nbsp;\/ Sharepoint site name or URL<br \/>&nbsp;3 | E.g. mysite or https:\/\/contoso.sharepoint.com\/sites\/mysite<br \/>&nbsp; &nbsp;\\ (url)<br \/>&nbsp;4 \/ Search for a Sharepoint site<br \/>&nbsp; &nbsp;\\ (search)<br \/>&nbsp;5 \/ Type in driveID (advanced)<br \/>&nbsp; &nbsp;\\ (driveid)<br \/>&nbsp;6 \/ Type in SiteID (advanced)<br \/>&nbsp; &nbsp;\\ (siteid)<br \/>&nbsp; &nbsp;\/ Sharepoint server-relative path (advanced)<br \/>&nbsp;7 | E.g. \/teams\/hr<br \/>&nbsp; &nbsp;\\ (path)<br \/>config_type&gt; <strong><span style=\"color: #e03e2d;\">1<\/span><\/strong><br \/>Drive OK?<br \/><br \/>Found drive \"root\" of type \"business\"<br \/>URL: https:\/\/unanu-my.sharepoint.com\/personal\/h1733_e365_fun\/Documents<br \/><br \/>y) Yes (default)<br \/>n) No<br \/>y\/n&gt; <span style=\"color: #e03e2d;\"><strong>y<\/strong><\/span><br \/>--------------------<br \/>[test-onedrive_com]<br \/>type = onedrive<br \/>token = {\"access_token\":\"eyJ0eXAiOi...ysh6uSQ\",\"expiry\":\"2022-05-02T15:44:52.6385577+09:00\"}<br \/>drive_id = b!b...UK9_HSJs-21ywO...i4_C7O<br \/>drive_type = business<br \/>--------------------<br \/>y) Yes this is OK (default)<br \/>e) Edit this remote<br \/>d) Delete this remote<br \/>y\/e\/d&gt; <strong><span style=\"color: #e03e2d;\">y<\/span><\/strong><br \/>Current remotes:<br \/><br \/>Name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Type<br \/>==== &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ====<br \/>test-onedrive_com &nbsp; &nbsp; &nbsp; onedrive<br \/><br \/>e) Edit existing remote<br \/>n) New remote<br \/>d) Delete remote<br \/>r) Rename remote<br \/>c) Copy remote<br \/>s) Set configuration password<br \/>q) Quit config<br \/>e\/n\/d\/r\/c\/s\/q&gt; <strong><span style=\"color: #e03e2d;\">q<\/span><\/strong><br \/><br \/><strong>\u25a0 \uc708\ub3c4\uc6b0PC\uc5d0\uc11c rclone \ub9ac\ubaa8\ud2b8 \uc778\uc99d<\/strong><br \/><br \/>\uc708\ub3c4\uc6b0 \ucee4\ub9e8\ub4dc \ud504\ub86c\ud2b8\ud504\uc5d0\uc11c rclone &amp; \uc6f9\ube0c\ub77c\uc6b0\uc800\ub97c \uc0ac\uc6a9\ud574\uc11c \uc544\ub798\uc640 \uac19\uc774 \uc778\uc99d \ubc1b\ub294\ub2e4.<br \/><strong><span style=\"color: #843fa1;\">rclone authorize \"onedrive\"<\/span><\/strong><\/span><\/span>\n\n\n\n<span style=\"font-family: monospace;\"><img decoding=\"async\" src=\"\/blog\/wp-content\/uploads\/cms_xe\/img0671.png\" alt=\"\"><br><img decoding=\"async\" src=\"\/blog\/wp-content\/uploads\/cms_xe\/img0580.png\" alt=\"\"><br><\/span>\n\n\n\n<span style=\"font-family: monospace; font-size: 12px;\"><strong>\u25a0 \ub9ac\ub205\uc2a4 \uc11c\ubc84\uc5d0\uc11c rclone \uc778\uc99d\ud0a4 \uc785\ub825<\/strong><br><br>result&gt; <span style=\"color: #843fa1;\">\uc5ec\uae30\uc5d0 \uc708\ub3c4\uc6b0PC\uc5d0\uc11c \ubc1b\uc740 \ud0a4\ub97c \ubd99\uc5ec \ub123\ub294\ub2e4.<\/span> <span style=\"color: #169179;\">{\"access_token\":\"eyJ0edsfsaer4gfw34...wem4j0SZNqI3SAA\",\"expiry\":\"2019-12-02T12:30:46.2077483+09:00\"}<\/span><br>Choose a number from below, or type in an existing value<br>&nbsp;1 \/ OneDrive Personal or Business<br>&nbsp; &nbsp;\\ \"onedrive\"<br>&nbsp;2 \/ Root Sharepoint site<br>&nbsp; &nbsp;\\ \"sharepoint\"<br>&nbsp;3 \/ Type in driveID<br>&nbsp; &nbsp;\\ \"driveid\"<br>&nbsp;4 \/ Type in SiteID<br>&nbsp; &nbsp;\\ \"siteid\"<br>&nbsp;5 \/ Search a Sharepoint site<br>&nbsp; &nbsp;\\ \"search\"<br>Your choice&gt; <span style=\"color: #e03e2d;\">1<\/span><br>Found 1 drives, please select the one you want to use:<br>0: OneDrive (business) id=b!kowefawefawefawefawefasdfq23fq23fq23fq23g54gw534rff4f4rgfrg3_HKH<br>Chose drive to use:&gt;<span style=\"color: #ba372a;\"> 0<\/span><br>Found drive 'root' of type 'business', URL: https:\/\/wenzhan1o-my.sharepoint.com\/personal\/myid_hotmail_com\/Documents<br>Is that okay?<br>y) Yes<br>n) No<br>y\/n&gt;<br><span style=\"color: #ba372a;\">y<\/span><br>--------------------<br>[onedrive]<br>type = onedrive<br>token = {\"access_token\":\"eyJ0eXAieiwoef...pbHyowem4j0SZNqI3SAA\",\"expiry\":\"2019-12-02T12:30:46.2077483+09:00\"}<br>drive_id = b!kodQ3NkYXUCYrawefawefawefawefawefw4fu89w4hfwifh0ssQHRqznObX2_HKH<br>drive_type = business<br>--------------------<br>y) Yes this is OK<br>e) Edit this remote<br>d) Delete this remote<br>y\/e\/d&gt; <span style=\"color: #ba372a;\">y<\/span><br>Current remotes:<br><br>Name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Type<br>==== &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ====<br>onedrive &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; onedrive<br><br>e) Edit existing remote<br>n) New remote<br>d) Delete remote<br>r) Rename remote<br>c) Copy remote<br>s) Set configuration password<br>q) Quit config<br>e\/n\/d\/r\/c\/s\/q&gt; <span style=\"color: #ba372a;\">q<br><br><\/span><\/span>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p>\u25a0 rclone-sync.sh\ub97c \uc0ac\uc6a9\ud55c \ub3d9\uae30\ud654<br><br>\uc544\ub798\uc758 \uc2a4\ud06c\ub9bd\ud2b8\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub3d9\uae30\ud654 \ud55c\ub2e4.<br>\uc774 \uc2a4\ud06c\ub9bd\ud2b8\ub294 \uc911\ubcf5 \uc2e4\ud589 \ubc29\uc9c0 \uae30\ub2a5\uc774 \uc788\uc73c\ubbc0\ub85c cron \ub370\ubaac\uc5d0 10\ubd84 \uac04\uaca9\uc73c\ub85c \uc2e4\ud589\ub418\ub3c4\ub85d \ud574 \ub193\uc73c\uba74 \uc790\ub3d9\uc73c\ub85c \ub3d9\uae30\ud654 \ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#!\/bin\/bash\nver=\"10.00\"\nDIR=\"$( cd \"$( dirname \"${BASH_SOURCE[0]}\" )\" &amp;&amp; pwd )\"  # get cur dir of this script\nprogName=$(basename -- \"$0\")\ncd $DIR\necho \"$progName $ver  written by Claude Pageau\"\n: '\n If lockCheckFile=True then script checks pi-timolo.sync file exists\n Otherwise no sync is attempted.  This can be useful for\n Low Bandwidth connections with low frequency of motion tracking events\n'\n\n#  Customize rclone sync variables Below\n# ---------------------------------------\n\nlockFileCheck=false       # true= Checks for pi-timolo.sync file. false = No Check (case sensitive)\nrcloneName=\"onedrive\"     # \"rclone listremotes\" \ucee4\ub9e8\ub4dc\ub85c \ubcf4\uc774\ub294 \ud074\ub77c\uc6b0\ub4dc \uc2a4\ud1a0\ub9ac\uc9c0 \uba85\nsyncRoot=\"\/usr\"           # \ub85c\uceec \ub8e8\ud2b8 \ud3f4\ub354 (chroot\ub418\ub294 \ud3f4\ub354)\nlocalDir=\"share\/X11\"            # \ub85c\uceec \ub8e8\ud2b8 \ud3f4\ub354\ub97c \uae30\uc900\uc73c\ub85c \ud55c \ub85c\uceec \ud3f4\ub354\uba85\nremoteDir=\"\/X11\/123\/456\"          # \uc6d0\uaca9\uc9c0 \ud3f4\ub354 (\ud3f4\ub354\uac00 \uc5c6\uc73c\uba74 \uc0dd\uc131\ub41c\ub2e4)\nrcloneParam=\"copy\"        # \ub3d9\uae30\ud654 \ubc29\ubc95\n                          # sync: \uc591\ubc29\ud5a5 \ub3d9\uae30\ud654\n                          # copy: \ub85c\uceec \uc2a4\ud1a0\ub9ac\uc9c0\u2192\uc6d0\uaca9 \uc2a4\ud1a0\ub9ac\uc9c0\ub85c \ubcf5\uc0ac\n                          # move: \ub85c\uceec \uc2a4\ud1a0\ub9ac\uc9c0\u2192\uc6d0\uaca9 \uc2a4\ud1a0\ub9ac\uc9c0\ub85c \uc774\ub3d9\n# ---------------------------------------\n\n\n# Display Users Settings\necho \"----------- SETTINGS -------------\n\nlockFileCheck : $lockFileCheck\nrcloneName    : $rcloneName\nsyncRoot      : $syncRoot\nlocalDir      : $localDir\nremoteDir     : $remoteDir\nrcloneParam   : $rcloneParam   (Options are sync, copy or move)\n\n---------------------------------\"\n\nlockFilePath=\"\/home\/pi\/pi-timolo\/pi-timolo.sync\"\n\ncd $syncRoot   # Change to local rclone root folder\nif pidof -o %PPID -x \"$progName\"; then\n    echo \"WARN  - $progName Already Running. Only One Allowed.\"\nelse\n    if [ -f \/usr\/bin\/rclone ]; then    #  Check if rclone installed\n        rclone version   # Display rclone version\n        if [ ! -d \"$localDir\" ] ; then   # Check if Local sync Folder Exists\n           echo \"---------------------------------------------------\"\n           echo \"ERROR : localDir=$localDir Does Not Exist.\"\n           echo \"        Please Investigate Bye ...\"\n           exit 1\n        fi\n        \/usr\/bin\/rclone listremotes | grep \"$rcloneName\"  # Check if remote storage name exists\n        if [ $? == 0 ]; then    # Check if listremotes found anything\n            if $lockFileCheck ; then\n                if [ -f \"$lockFilePath\" ] ; then  # Check if sync lock file exists\n                    echo \"INFO  : Found Lock File $lockFilePath\"\n                    echo \"        rclone $rcloneParam is Required.\"\n                else\n                    echo \"INFO  : Lock File Not Found: $lockFilePath\"\n                    echo \"        rclone $rcloneParam is Not Required.\"\n                    echo \"Exiting $progName ver $ver\"\n                    exit 0\n                fi\n            fi\n            echo \"INFO  : \/usr\/bin\/rclone $rcloneParam -v $localDir $rcloneName:$remoteDir\"\n            echo \"        One Moment Please ...\"\n            \/usr\/bin\/rclone $rcloneParam -v $localDir $rcloneName:$remoteDir\n            if [ ! $? -eq 0 ]; then\n                echo \"---------------------------------------------------\"\n                echo \"ERROR : rclone $rcloneParam Failed.\"\n                echo \"        Review rclone %rcloneParam Output for Possible Cause.\"\n            else\n                echo \"INFO  : rclone $rcloneParam Successful ...\"\n                if $lockFileCheck ; then\n                    if [ -f \"$lockFilePath\" ] ; then\n                        echo \"INFO  : Delete File $lockFilePath\"\n                        rm -f $lockFilePath\n                    fi\n                fi\n            fi\n        else\n            echo \"---------------------------------------------------\"\n            echo \"ERROR : rcloneName=$rcloneName Does not Exist\"\n            echo \"INFO  : List Remote Storage Names that are Setup.\"\n            echo \"rclone listremotes\"\n            echo \"-------------------\"\n            rclone listremotes\n            echo \"--------------------\"\n            echo \"INFO  : If listremotes Listing is Empty, Read pi-timolo Wiki\"\n            echo \"        How to Setup a Remote Storage Name.\"\n        fi\n    else\n        echo \"ERROR : \/usr\/bin\/rclone Not Installed.\"\n        echo \"        You Must Install and Configure rclone\"\n        echo \"        See pi-timolo Wiki for Details\"\n    fi\nfi\necho \"---------------------------------------------------\"\necho \"Exiting $progName ver $ver Bye ...\"<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u25a0 \uc900\ube44\ubb3c- Storage\ub97c \ud0d1\uc7ac\ud55c Linux \uba38\uc2e0\uc5d0 rclone \uc124\uce58- \ud074\ub77c\uc774\uc5b8\ud2b8 \uc708\ub3c4\uc6b0 PC\uc5d0 rclone \uc124\uce58 \u25a0 rclone \uc124\uce58 curl -O https:\/\/downloads.rclone.org\/rclone-current-linux-arm.zipunzip rclone-current-linux-arm.zipcp -fv rclone-*-linux-arm\/rclone \/usr\/bin\/rm -rf rclone-* \uc708\ub3c4\uc6b0\ub294https:\/\/rclone.org\/downloads\/&nbsp;\uc5d0\uc11c \ub2e4\uc6b4\ub85c\ub4dc \ubc1b\uc544 \uc124\uce58\ud55c\ub2e4. \u25a0 \ub9ac\ub205\uc2a4 \uc11c\ubc84\uc5d0\uc11c rclone \uc124\uc815 \uc544\ub798\uc640 \uac19\uc740 \uacfc\uc815\uc73c\ub85c \uc124\uc815\ud55c\ub2e4.$ rclone config n) New remotes) Set configuration passwordq) Quit confign\/s\/q&gt; nname&gt; test-onedrive_comOption Storage.Type of storage to configure.Choose [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[15],"tags":[],"class_list":["post-1044","post","type-post","status-publish","format-standard","hentry","category-computing_tools"],"_links":{"self":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1044","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1044"}],"version-history":[{"count":0,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1044\/revisions"}],"wp:attachment":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1044"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1044"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1044"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}