Skip to content

Commit 4517690

Browse files
committed
文档完善
1.完善OneClick工具文档 2.完善加密功能文档
1 parent cc94893 commit 4517690

File tree

1 file changed

+62
-1
lines changed

1 file changed

+62
-1
lines changed

README.md

Lines changed: 62 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,67 @@ lotus client retrieve --miner <节点ID> <数据CID> /path/to/save
6767
等候数据取回即可,取回操作会收取费用
6868

6969
欢迎大家上手测试,有问题请提交Issue~
70-
#### 社区:
70+
71+
### One-Click一键数据备份工具
72+
使用方法:
73+
```
74+
root@devmachine:~# vsharecloud-oneclick --<参数名称>=<参数>
75+
```
76+
绝对路径调用(方便于二次开发):
77+
```
78+
/opt/vsharecloud-tools/one_click_tool.py --<参数名称>=<参数>
79+
```
80+
参数说明:
81+
- --mode,-m
82+
- 储存交易模式,详情参考 `vsharecloud-cli` 的3种模式 | 默认值为 `1`
83+
- --inputfile,-in
84+
- 文件路径 | 默认值为 `None`
85+
- --duration,-d
86+
- 储存交易天数 | 默认值为 `190`
87+
- --gcmode,-gc
88+
- 是否清理缓存,设定为`y`则清理 | 默认值为 `n` ,长时间不清理IPFS缓存可能会爆硬盘(滑稽
89+
- --minerid,-mid
90+
- MinerID,即目标储存节点的ID | 默认值为 `None`
91+
- --dealtimes,-n
92+
- 订单发起数量,仅在模式为3的时候有效 | 默认值为 `3`
93+
- --maxbudget
94+
- 最大预算,仅在模式为3的时候有效 | 默认值为 `0.5`
95+
- --config
96+
- 外部配置文件路径,若导入外部配置文件,则无需设置其他参数 | 默认值为 `None`
97+
- --encryptmode
98+
- 加密模式,目前支持 `keyword`密码加密,和 `rsa`公私钥加密 | 默认值为 `None` 即没有加密(慎用!)
99+
- --encryptkey,-k
100+
- 加密公钥的路径或者是加密密码 | 默认值为(慎用!) `VshareCloud`
101+
- --cid_saving_path,-o
102+
- 保存CID记录的文件夹路径,会生成一个MarkDown文件用以追溯历史备份记录 | 默认值为 `None` ,未指定时不备份
103+
#### 实用案例(已测试):
104+
1.模拟,适配`宝塔面板`数据库备份场景,公私钥模式:
105+
```
106+
/opt/vsharecloud-tools/one_click_tool.py -gc=y --encryptmode=rsa -k=/www/wwwroot/pub.key --cid_saving_path=/www/wwwroot/ -in=/www/backup/database/
107+
```
108+
如果在内存较小的设备上使用,请减少单次备份的文件大小以降低在计算大小时的内存开支
109+
110+
如果不希望IPFS占用过多的内存和CPU资源,请执行:
111+
```
112+
ipfs config --json Routing.Type '"none"'
113+
systemctl restart ipfs-daemon
114+
```
115+
此操作将会关闭IPFS的DHT功能,关闭后不影响备份组件的工作,但是此节点将会无法与IPFS网络进行有效通信
116+
### 数据解密
117+
此工具的加密本质是调用`OpenSSL`对数据进行加密
118+
#### 加密过程:
119+
- 首先生成一个64位的随机字符串,每次加密都会独立生成
120+
- 使用随机生成的字符串调用OpenSSL和Tar对数据同时进行打包加密,加密算法为 `AES-256-CBC`
121+
- 随后使用提供的公钥对随机生成的随机数进行加密,生成`file.rand.enc`,所以此文件会存在于每个使用本工具加密的文件CID路径中。
122+
#### 解密步骤:
123+
- 使用OpenSSL和私钥解密随机数秘钥文件
124+
```
125+
openssl rsautl -decrypt -inkey private.key -in file.rand.enc -out file.rand
126+
```
127+
- 使用解密后的随机数文件解密文件
128+
```
129+
openssl enc -d -aes-256-cbc -k file:file.rand -in encryped-files.tar.gz | tar xzvf -
130+
```
131+
### 社区:
71132
- 频道:https://t.me/vsharebetter
72133
- 群组:https://t.me/ipns_tech

0 commit comments

Comments
 (0)