{"id":32525,"date":"2020-02-16T17:13:59","date_gmt":"2020-02-16T09:13:59","guid":{"rendered":"http:\/\/4563.org\/?p=32525"},"modified":"2020-02-16T17:13:59","modified_gmt":"2020-02-16T09:13:59","slug":"%e5%88%a9%e7%94%a8%e9%97%b2%e7%bd%aevps%e6%90%ad%e5%bb%babitwarden%e7%a7%81%e4%ba%ba%e5%af%86%e7%a0%81%e7%ae%a1%e7%90%86%ef%bc%8c%e6%a6%a8%e5%b9%b2%e5%b0%8f%e9%b8%a1%e4%bb%b7%e5%80%bc","status":"publish","type":"post","link":"http:\/\/4563.org\/?p=32525","title":{"rendered":"\u5229\u7528\u95f2\u7f6evps\u642d\u5efabitwarden\u79c1\u4eba\u5bc6\u7801\u7ba1\u7406\uff0c\u69a8\u5e72\u5c0f\u9e21\u4ef7\u503c"},"content":{"rendered":"\n<p>  \t\t\t\t\t<strong>mmmmmiku<\/strong>  \t\t\t\t\u5927\u4f6c\u6709\u8bdd\u8bf4 : 2019-11-26 12:51:27\t<\/p>\n<h3>\u5229\u7528\u95f2\u7f6evps\u642d\u5efabitwarden\u79c1\u4eba\u5bc6\u7801\u7ba1\u7406\uff0c\u69a8\u5e72\u5c0f\u9e21\u4ef7\u503c<\/h3>\n<p>  \t\t \u672c\u5e16\u6700\u540e\u7531 mmmmmiku \u4e8e 2019-11-27 08:08 \u7f16\u8f91 <\/p>\n<p> ~\u5229\u7528virmach\u6216\u8005\u5176\u4ed6\u5bb6\u7684\u5783\u573e\u5c0f\u9e21\u914d\u4e0adropbox\u5907\u4efd\u6570\u636e\uff0c\u597d\u5904\u5728\u4e8e\u6210\u672c\u6781\u5176\u4f4e\uff0c\u4e00\u5e74\u751a\u81f3\u4e0d\u52305\u5200\uff01\u6bd4\u6ca1\u670980\u7aef\u53e3\u7684NAS\u5f3a\u591a\u4e86<br \/>  ~\u4f7f\u7528bitwarden_rs\u642d\u5efa\u5e76\u6bcf\u5929\u5907\u4efd\u4e24\u6b21\u5230dropbox\u4fdd\u8bc1\u6570\u636e\u5b89\u5168\u3002<br \/>  ~\u7406\u8bba\u4e0a\u80fd\u8dd1docker\u5c31\u884c\uff0c\u6211\u642d\u5efa\u5728virmach 1c384mb\u7684\u5c0f\u9e21\u4e0a<br \/>  ~\u642d\u5efa\u73af\u5883\u4e3aCentos7\uff0c\u53ea\u8981\u80fd\u88c5docker\u5c31\u884c\u3002<br \/>  ~bitwarden\u7684app\u548c\u6d4f\u89c8\u5668\u63d2\u4ef6\u53ef\u4ee5\u5728\u5bf9\u5e94\u7684\u5e94\u7528\u5546\u5e97\u91cc\u627e\u5230\uff0c\u81ea\u52a8\u586b\u5145\u975e\u5e38\u65b9\u4fbf\u3002\u5b89\u88c5\u540e\u53ef\u4ee5\u5728\u8bbe\u7f6e\u91cc\u586b\u81ea\u5df1\u7684\u57df\u540d\u3002<\/p>\n<p>  yum -y install docker<br \/>  systemctl enable docker<br \/>  systemctl start docker<br \/>  curl -L https:\/\/github.com\/docker\/compose\/releases\/download\/1.25.0\/docker-compose-`uname -s`-`uname -m` -o \/usr\/local\/bin\/docker-compose<br \/>  chmod +x \/usr\/local\/bin\/docker-compose<br \/>  mkdir \/usr\/local\/bitwarden<br \/>  vi \/usr\/local\/bitwarden\/config.env<br \/>  vi \/usr\/local\/bitwarden\/docker-compose.yml<br \/>  cd \/usr\/local\/bitwarden<br \/>  docker-compose up -d<br \/>  config.env<br \/>  SIGNUPS_ALLOWED=true<br \/>  DOMAIN=https:\/\/xxx.com<br \/>  DATABASE_URL=\/data\/bitwarden.db<br \/>  ROCKET_WORKERS=10<br \/>  WEB_VAULT_ENABLED=true<br \/>  ADMIN_TOKEN=wwwwwwwwwwwwwwww<br \/>  WEBSOCKET_ENABLED=true<br \/>  docker-compose.yml<br \/>  version: &#8216;3&#8217;<\/p>\n<p>  services:<br \/>  bitwarden:<br \/>  &nbsp; &nbsp; image: bitwardenrs\/server:latest<br \/>  &nbsp; &nbsp; container_name: bitwarden<br \/>  &nbsp; &nbsp; restart: always<br \/>  &nbsp; &nbsp; volumes:<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&#8211; .\/data:\/data<br \/>  &nbsp; &nbsp; env_file:<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&#8211; config.env<br \/>  &nbsp; &nbsp; ports:<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&#8211; &quot;9999:80&quot;<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&#8211; &quot;9998:3012&quot;<br \/>  DOMAIN\u586b\u81ea\u5df1\u7684\u57df\u540d\uff0c\u9700\u8981HTTPS\u3002<br \/>  ADMIN_TOKEN\u4e3a\u7ba1\u7406\u9762\u677f\u5bc6\u7801\uff0c\u63a8\u8350\u4f7f\u7528\u201copenssl rand -base64 48\u201d\u751f\u6210\u3002<br \/>  SIGNUPS_ALLOWED=true\uff0c\u6b64\u9879\u63a7\u5236\u6ce8\u518c\uff0c\u53ea\u60f3\u81ea\u5df1\u7528\u7684\u8bdd\u6ce8\u518c\u540e\u53ef\u4ee5\u6539\u4e3afalse\u3002<\/p>\n<p>  \u7136\u540e\u901a\u8fc7nginx\u53cd\u4ee3\u5f00\u542fSSL<br \/>  \u7531\u4e8evir\u7684\u7f51\u7edc\u975e\u5e38\u5783\u573e\uff0c\u5efa\u8bae\u53bbcf\u91cc\u751f\u6210orgin\u8bc1\u4e66\uff0c\u5957\u4e0acf\u98df\u7528\u3002\u8fd9\u6837\u53ef\u4ee5\u4e0d\u7528\u8003\u8651\u6e90\u7ad9\u8bc1\u4e66\u7eed\u671f<br \/>  server<br \/>  &nbsp; &nbsp; {&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;listen 80;<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;server_name&nbsp; &nbsp; pw.xx.com ;<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;return&nbsp; &nbsp;&nbsp; &nbsp;301 https:\/\/$server_name$request_uri;<br \/>  }<\/p>\n<p>  server<br \/>  &nbsp; &nbsp; {<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;listen 443 ssl http2;<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;#listen [::]:443 ssl http2;<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;#listen [::]:80;<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;server_name pw.xx.com ;<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;ssl_certificate \/xx.crt;<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;ssl_certificate_key \/xx.key;<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;server_tokens&nbsp; &nbsp;&nbsp; &nbsp;off;<br \/>  &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;ssl_protocols&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;<br \/>  &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;ssl_prefer_server_ciphers on;<br \/>  &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;ssl_ciphers &quot;EECDH+AES128:RSA+AES128:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5&quot;;<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;ssl_session_cache shared:SSL:10m;<br \/>  &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;ssl_session_timeout&nbsp; &nbsp;&nbsp; &nbsp;1d;<br \/>  &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;ssl_stapling&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;on;<br \/>  &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;ssl_stapling_verify&nbsp; &nbsp;&nbsp; &nbsp;on;<br \/>  &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;resolver 8.8.8.8 8.8.4.4;<br \/>  &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;resolver_timeout&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;10s;<br \/>  &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;add_header Strict-Transport-Security &quot;max-age=63072000;includeSubdomains; preload&quot;;<br \/>  &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;add_header X-Frame-Options DENY;<br \/>  &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;add_header X-Content-Type-Options nosniff;<br \/>  &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;add_header X-XSS-Protection &quot;1; mode=block&quot;;<br \/>  &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;client_max_body_size 128M;<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br \/>  &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;location \/ {<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;proxy_pass http:\/\/localhost:9999;<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;proxy_set_header Host $host;<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;proxy_set_header X-Real-IP $remote_addr;<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;proxy_set_header X-Forwarded-Proto $scheme;<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;}<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; location \/notifications\/hub {<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;proxy_pass http:\/\/localhost:9998;<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;proxy_set_header Upgrade $http_upgrade;<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;proxy_set_header Connection &quot;upgrade&quot;;<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;}<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; location \/notifications\/hub\/negotiate {<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;proxy_pass http:\/\/localhost:9999;<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;}<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br \/>  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Optionally add extra authentication besides the AUTH_TOKEN<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;# If you don&#8217;t want this, leave this part out<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;location \/admin {<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;# See: https:\/\/docs.nginx.com\/nginx\/admin-guide\/security-controls\/configuring-http-basic-authentication\/<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;proxy_set_header Host $host;<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;proxy_set_header X-Real-IP $remote_addr;<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;proxy_set_header X-Forwarded-Proto $scheme;<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;proxy_pass http:\/\/localhost:9999;<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;}<\/p>\n<p>  &nbsp; &nbsp;&nbsp; &nbsp;access_log\/home\/wwwlogs\/pw.xx.com.log;<br \/>  &nbsp; &nbsp; }<\/p>\n<p>  \u7136\u540evi \/etc\/rc.d\/rc.local\u5728\u6700\u540e\u52a0\u4e0a<br \/>  \/usr\/local\/bin\/docker-compose -f \/usr\/local\/bitwarden\/docker-compose.yml up -d<br \/>  \u8fd9\u6837\u5f00\u673a\u5c31\u4f1a\u81ea\u52a8\u542f\u52a8bitwarden<br \/>  \u8bbf\u95eehttps:\/\/\u4f60\u7684\u57df\u540d\/admin\u53ef\u4ee5\u8fdb\u53bb\u7ba1\u7406\u9762\u677f<br \/>  \u5230\u8fd9\u91ccbitwarden\u5c31\u642d\u5efa\u5b8c\u6210\u53ef\u4ee5\u4f7f\u7528\u4e86\uff0c\u4e0d\u8fc7\u4e2a\u4eba\u8fd8\u662f\u5efa\u8bae\u914d\u7f6e\u6570\u636e\u5907\u4efd\u3002<\/p>\n<p>  \u5148\u6765\u4e2a\u9a9a\u64cd\u4f5c\uff0c\u5b89\u88c57Z\uff0c\u4e3a\u7684\u662f\u628a\u6570\u636e\u52a0\u5bc6\u6253\u5305\u7136\u540e\u518d\u4f20\u5230dropbox<br \/>  wget https:\/\/astuteinternet.dl.sourceforge.net\/project\/p7zip\/p7zip\/16.02\/p7zip_16.02_src_all.tar.bz2<br \/>  tar -jxvf p7zip_16.02_src_all.tar.bz2<br \/>  cd p7zip_16.02<br \/>  make &amp;&amp; make install<br \/>  mkdir \/usr\/local\/backup<br \/>  vi \/usr\/local\/backup\/backup.sh<br \/>  wget https:\/\/raw.githubusercontent.com\/andreafabrizi\/Dropbox-Uploader\/master\/dropbox_uploader.sh<br \/>  chmod +x backup.sh dropbox_uploader.sh<br \/>  \/usr\/local\/backup\/dropbox_uploader.sh<br \/>  \/usr\/local\/backup\/backup.sh<br \/>  crotab -e<\/p>\n<p>  backup.sh\uff0c\u8fd9\u4e2a\u662f\u7528\u519b\u54e5lnmp\u7684\u5907\u4efd\u811a\u672c\u6539\u7684\u3002<br \/>  #!\/bin\/bash<\/p>\n<p>  #Funciont: Backup website and mysql database<br \/>  #Author: licess<br \/>  #Website: https:\/\/lnmp.org<\/p>\n<p>  Bit_name=&quot;bitwarden&quot;<br \/>  dropboxshell_dir=&quot;\/usr\/local\/backup\/dropbox_uploader.sh&quot;<br \/>  drop_dir=\/${Bit_name}\/$(date +&quot;%Y%m%d%H&quot;)<br \/>  password=&quot;wwwwwwww&quot;<\/p>\n<p>  #IMPORTANT!!!Please Setting the following Values!<br \/>  Zip_Dir=&quot;\/usr\/local\/bin\/7za&quot;<br \/>  Backup_Home=&quot;\/usr\/local\/backup\/&quot;<br \/>  ######~Set Directory you want to backup~######<br \/>  Backup_Dir=(&quot;\/usr\/local\/bitwarden&quot;)<\/p>\n<p>  #Values Setting END!<\/p>\n<p>  OldBackup=${Bit_name}$(date -d -7day +&quot;%Y%m%d%H&quot;).7z<br \/>  Old_DROPBOX_DIR=\/${Bit_name}\/$(date -d -30day +&quot;%Y%m%d%H&quot;)<\/p>\n<p>  Backup_Dir()<br \/>  {<br \/>  &nbsp; &nbsp; Backup_Path=$1<br \/>  &nbsp; &nbsp; Dir_Name=`echo ${Backup_Path##*\/}`<br \/>  &nbsp; &nbsp; Pre_Dir=`echo ${Backup_Path}|sed &#8216;s\/&#8217;${Dir_Name}&#8217;\/\/g&#8217;`<br \/>  &nbsp; &nbsp; tar zcf ${Backup_Home}bit-${Dir_Name}-$(date +&quot;%Y%m%d%H&quot;).tar.gz -C ${Pre_Dir} ${Dir_Name}<br \/>  }<\/p>\n<p>  if [ ! -f ${MySQL_Dump} ]; then<br \/>  &nbsp; &nbsp; echo &quot;mysqldump command not found.please check your setting.&quot;<br \/>  &nbsp; &nbsp; exit 1<br \/>  fi<\/p>\n<p>  if [ ! -d ${Backup_Home} ]; then<br \/>  &nbsp; &nbsp; mkdir -p ${Backup_Home}<br \/>  fi<\/p>\n<p>  echo &quot;Backup bitwarden files&#8230;&quot;<br \/>  for dd in ${Backup_Dir[@]};do<br \/>  &nbsp; &nbsp; Backup_Dir ${dd}<br \/>  done<\/p>\n<p>  echo &quot;compass with 7z&#8230;&quot;<br \/>  ${Zip_Dir} a -mhe -p${password} ${Backup_Home}${Bit_name}$(date +&quot;%Y%m%d%H&quot;).7z ${Backup_Home}bit-${Dir_Name}-$(date +&quot;%Y%m%d%H&quot;).tar.gz<br \/>  rm -rf ${Backup_Home}bit-${Dir_Name}-$(date +&quot;%Y%m%d%H&quot;).tar.gz<\/p>\n<p>  echo &quot;upload to dropbox&#8230;&quot;<br \/>  ${dropboxshell_dir} upload $Backup_Home\/${Bit_name}$(date +&quot;%Y%m%d%H&quot;).7z $drop_dir\/${Bit_name}$(date +&quot;%Y%m%d%H&quot;).7z<br \/>  ${dropboxshell_dir} delete $Old_DROPBOX_DIR<\/p>\n<p>  echo &quot;Delete old backup files&#8230;&quot;<br \/>  rm -f ${Backup_Home}${OldBackup}<\/p>\n<p>  password\u8fd9\u91cc\u586b\u4f60\u60f3\u8bbe\u7f6e\u7684\u538b\u7f29\u5305\u5bc6\u7801\u3002<\/p>\n<p>  \u9700\u8981\u6ce8\u518cdropbox\uff08\u9700\u8981f~q\uff09\u9a8c\u8bc1\u90ae\u7bb1\u540e\uff0c\u8fdb\u5165https:\/\/www.dropbox.com\/developers\/apps\u5efa\u7acb\u4e00\u4e2aapp\u5e76\u751f\u6210\u5bc6\u94a5<\/p>\n<p>  https:\/\/s2.ax1x.com\/2019\/11\/26\/Mzl38g.png<br \/>  https:\/\/s2.ax1x.com\/2019\/11\/26\/Mzl1PS.png<br \/>  https:\/\/s2.ax1x.com\/2019\/11\/26\/MzlQ58.png<\/p>\n<p>  \u8fd0\u884cdropbox_uploader.sh\u540e\u5c06\u5bc6\u94a5\u586b\u8fdb\u53bb<br \/>  \u8fd0\u884c\u4e00\u6b21backup.sh\u662f\u4e3a\u4e86\u6d4b\u8bd5\u5907\u4efd\u662f\u5426\u6709\u6548<\/p>\n<p>  \u6700\u540ecrontab\u6dfb\u52a0\u5b9a\u65f6\u4efb\u52a1<br \/>  0 13 * * * \/usr\/local\/backup\/backup.sh<br \/>  0 22 * * * \/usr\/local\/backup\/backup.sh<br \/>  \u5728\u6bcf\u592913\u70b9\u548c22\u70b9\u5907\u4efd\u5230dropbox<\/p>\n<p>  \u642d\u5efa\u597d\u7684\u6f14\u793a\u7ad9\u53c2\u8003\u6211\u7684\u7b7e\u540d\u3002<br \/>  \u2193\u2193\u2193\u2193\u2193\u2193\u2193\u2193\u2193\u2193\u2193<\/p>\n<p>  \t\t\t\t<\/p>\n<p>  \t\t\t\t\t<strong>\u5c0f\u65ed<\/strong>  \t\t\t\t\u5927\u4f6c\u6709\u8bdd\u8bf4 : 2019-11-26 13:02:19\t<\/p>\n<h3><\/h3>\n<p>  \t\t\u81ea\u5efa\u4e0d\u5b89\u5168 \u6211\u5165\u4f60\u5c0f\u9e21\u62ff\u5230\u6240\u6709\u5bc6\u7801 \u5305\u62ec\u6240\u5728\u7684\u7f51\u7ad9\u5730\u5740<br \/>  \u5165\u4fb5\u4f60\u7684dropbox\u83b7\u53d6\u5907\u4efd\u62ff\u5230\u5bc6\u7801<br \/>  \u5bc6\u7801\u4e22\u5931 \u5907\u4efd\u4e22\u5931<br \/>  dropbox\u8d26\u53f7\u88ab\u5c01<br \/>  \u6240\u4ee5\u3002\u3002\u3002\u3002\t\t\t\t<\/p>\n<p>  \t\t\t\t\t<strong>mmmmmiku<\/strong>  \t\t\t\t\u5927\u4f6c\u6709\u8bdd\u8bf4 : 2019-11-26 13:05:19\t<\/p>\n<h3><\/h3>\n<p>  \t\t\u5c0f\u65ed \u5927\u4f6c\u6709\u8bdd\u8bf4 : 2019-11-26 13:02<br \/>  \u81ea\u5efa\u4e0d\u5b89\u5168 \u6211\u5165\u4f60\u5c0f\u9e21\u62ff\u5230\u6240\u6709\u5bc6\u7801 \u5305\u62ec\u6240\u5728\u7684\u7f51\u7ad9\u5730\u5740<br \/>  \u5165\u4fb5\u4f60\u7684dropbox\u83b7\u53d6\u5907\u4efd\u62ff\u5230\u5bc6\u7801<br \/>  \u5bc6\u7801\u4e22\u5931 \u5907\u4efd\u4e22 &#8230;<\/p>\n<p> \u9996\u5148\uff0c\u4f60\u62ff\u5230bitwarden\u7684\u6570\u636e\u5e93\u6587\u4ef6\u4e5f\u62ff\u4e0d\u5230\u5bc6\u7801\uff0c\u7136\u540e\u4e0a\u4f20dropbox\u7684\u538b\u7f29\u5305\u901a\u8fc77Z\u52a0\u4e86\u5bc6\uff0c\u4f60\u80fd\u7834\u89e316\u4f4d\u5e26\u5b57\u7b26\u7684\u5bc6\u7801\u90a3\u4f60\u725b\u76ae\u3002\u62c5\u5fc3dropbox\u88ab\u5c01\u53ef\u4ee5ftp\u53d1\u56de\u4f60\u5bb6\u91cc\u6216\u8005\u4f7f\u7528\u5176\u4ed6\u5b89\u5168\u7684\u5907\u4efd\u9014\u5f84\u3002\t\t\t\t<\/p>\n<p>  \t\t\t\t\t<strong>\u65e0\u65f6\u5d29\u6e83<\/strong>  \t\t\t\t\u5927\u4f6c\u6709\u8bdd\u8bf4 : 2019-11-26 12:55:24\t<\/p>\n<h3><\/h3>\n<p>  \t\tTql\t\t\t\t<\/p>\n<p>  \t\t\t\t\t<strong>w742152012<\/strong>  \t\t\t\t\u5927\u4f6c\u6709\u8bdd\u8bf4 : 2019-11-26 12:55:49\t<\/p>\n<h3><\/h3>\n<p>  \t\t\u9a6c\u514b\t\t\t\t<\/p>\n<p>  \t\t\t\t\t<strong>lunatic<\/strong>  \t\t\t\t\u5927\u4f6c\u6709\u8bdd\u8bf4 : 2019-11-26 12:56:15\t<\/p>\n<h3><\/h3>\n<p>  \t\t\u652f\u6301\uff0c\u6211\u4e4b\u524d\u57fa\u4e8e\u5b9d\u5854\u9762\u677f\u641e\u4e86\u4e00\u6b21\uff0c\u4f46\u662f\u603b\u611f\u89c9\u54ea\u6709\u95ee\u9898\u3002\t\t\t\t<\/p>\n<p>  \t\t\t\t\t<strong>\u2660\u2663\u2665\u2764<\/strong>  \t\t\t\t\u5927\u4f6c\u6709\u8bdd\u8bf4 : 2019-11-26 12:56:18\t<\/p>\n<h3><\/h3>\n<p>  \t\t\u8fd9\u4e2a\u6709\u4ec0\u4e48\u65b9\u4fbf\u7684\u5730\u65b9 \u8ddflastpass \u6709\u5565\u4e0d\u4e00\u6837\uff1f\t\t\t\t<\/p>\n<p>  \t\t\t\t\t<strong>lixiaojun<\/strong>  \t\t\t\t\u5927\u4f6c\u6709\u8bdd\u8bf4 : 2019-11-26 12:56:29\t<\/p>\n<h3><\/h3>\n<p>  \t\t\u7136\u540e\u5462\uff1f\u5982\u4f55\u98df\u7528\uff0c\u81ea\u5df1\u518d\u505a\u4e2achrome\u63d2\u4ef6\uff0c\u518d\u641e\u4e2aapp\uff1f\t\t\t\t<\/p>\n<p>  \t\t\t\t\t<strong>mmmmmiku<\/strong>  \t\t\t\t\u5927\u4f6c\u6709\u8bdd\u8bf4 : 2019-11-26 13:00:52\t<\/p>\n<h3><\/h3>\n<p>  \t\tlixiaojun \u5927\u4f6c\u6709\u8bdd\u8bf4 : 2019-11-26 12:56<br \/>  \u7136\u540e\u5462\uff1f\u5982\u4f55\u98df\u7528\uff0c\u81ea\u5df1\u518d\u505a\u4e2achrome\u63d2\u4ef6\uff0c\u518d\u641e\u4e2aapp\uff1f<\/p>\n<p> \u5b98\u65b9\u63d0\u4f9b\u4e86\u5168\u90e8\u5e73\u53f0\u7684\u63d2\u4ef6\u548capp\uff0c\u4f60\u88c5\u597d\u540e\u5728app\u6216\u8005\u63d2\u4ef6\u91cc\u628a\u57df\u540d\u8bbe\u7f6e\u4e3a\u81ea\u5df1\u7684\u5c31\u53ef\u4ee5\u4e86\t\t\t\t<\/p>\n<p>  \t\t\t\t\t<strong>suantong<\/strong>  \t\t\t\t\u5927\u4f6c\u6709\u8bdd\u8bf4 : 2019-11-26 13:02:00\t<\/p>\n<h3><\/h3>\n<p>  \t\t\u4e3b\u8981\u8981\u6709\u63d2\u4ef6\u81ea\u52a8\u586b\u5145\u3002\u8fd9\u79cd\u7a0b\u5ea6\u672c\u5730\u76f4\u63a5keepassx+Dropbox\u8db3\u591f\uff0c\u4e0d\u653e\u5fc3\u8fd8\u53ef\u4ee5\u5728\u5907\u4efd\u76ee\u5f55\u7528git\u540c\u6b65\u3002\t\t\t  <\/p>\n","protected":false},"excerpt":{"rendered":"<p>mmmmmiku \u5927\u4f6c\u6709\u8bdd\u8bf4 : &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[],"tags":[],"_links":{"self":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/32525"}],"collection":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=32525"}],"version-history":[{"count":0,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/32525\/revisions"}],"wp:attachment":[{"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=32525"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=32525"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=32525"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}