|
1 | | -# XEngine_Storage |
2 | | - |
3 | | -#### Description |
4 | | -c c++ 存储服务 |
5 | | -c c++ storage service |
6 | | - |
7 | | -#### Software Architecture |
8 | | -Software architecture description |
9 | | - |
10 | | -#### Installation |
11 | | - |
12 | | -1. xxxx |
13 | | -2. xxxx |
14 | | -3. xxxx |
15 | | - |
16 | | -#### Instructions |
17 | | - |
18 | | -1. xxxx |
19 | | -2. xxxx |
20 | | -3. xxxx |
21 | | - |
22 | | -#### Contribution |
23 | | - |
24 | | -1. Fork the repository |
25 | | -2. Create Feat_xxx branch |
26 | | -3. Commit your code |
27 | | -4. Create Pull Request |
28 | | - |
29 | | - |
30 | | -#### Gitee Feature |
31 | | - |
32 | | -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md |
33 | | -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) |
34 | | -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) |
35 | | -4. The most valuable open source project [GVP](https://gitee.com/gvp) |
36 | | -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) |
37 | | -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) |
| 1 | +# XEngine_Storage |
| 2 | + |
| 3 | +## Introduction |
| 4 | +c c++ 存储服务 c c++ 文件存储服务 |
| 5 | +c c++ file storage service |
| 6 | +This is an api gateway for uploading and downloading. |
| 7 | +The service is for users who have business needs for upload and download services (such as developers who need to upload and download servers). |
| 8 | + |
| 9 | +## Software feature |
| 10 | +The purpose of development and implementation based on libXEngine is a cross-platform network storage service |
| 11 | +This repository has a development and master branch. If you want to use it, please use the master branch |
| 12 | + |
| 13 | +feature list: |
| 14 | +1. support file http upload and download(use put and get method) |
| 15 | +2. support http api notify of event and management api interface(planning) |
| 16 | +3. support encrypt data transimission(planning) |
| 17 | +4. support mysql record infomation. |
| 18 | +5. support load banace(planning) |
| 19 | +6. supprot http and private auth(planning) |
| 20 | +7. support log and config |
| 21 | +8. supprot speeds contral |
| 22 | +9. supprot task start and end proxy forwarding(planning) |
| 23 | +10.support p2p,bt and many more(planning) |
| 24 | +11.support second pass |
| 25 | +12.support nginx download proxy_pass |
| 26 | +13.support nginx upload module proxy_pass |
| 27 | + |
| 28 | +## install |
| 29 | + |
| 30 | +#### Requirements |
| 31 | +support system above windows 7sp1 and linux(ubuntu20.04,centos8) |
| 32 | +XEngine need V7.13 or above |
| 33 | +vcpkg need 2021.05.11 or above |
| 34 | + |
| 35 | +#### Windows |
| 36 | +use vs2019 x86 open and complie |
| 37 | +You need to configure the environment in the following way, otherwise you may need to set the library directory in the project yourself |
| 38 | + |
| 39 | +##### install Dependent library |
| 40 | +vcpkg:https://github.com/microsoft/vcpkg |
| 41 | +vcpkg.exe install jsoncpp |
| 42 | +vcpkg integrate install |
| 43 | +you can not use vcpkg and config jsoncpp development for youself |
| 44 | + |
| 45 | +##### XEngine |
| 46 | +XEngine can be download with mine repository,whe you downloaded xengine,you have to add value to you user environment |
| 47 | +- XEngine_Include header file path |
| 48 | +- XEngine_Library library file path |
| 49 | + |
| 50 | +#### Linux |
| 51 | +Linux use Makefile to complie |
| 52 | +supproted ubuntu or centos |
| 53 | + |
| 54 | +##### install Dependent library |
| 55 | +install jsoncpp to your system |
| 56 | +ubuntu20.04 |
| 57 | +sudo apt install libjsoncpp-devel |
| 58 | +Centos8.x |
| 59 | +sudo dnf install jsoncpp-devel |
| 60 | + |
| 61 | +##### XEngine Install |
| 62 | +you can install xengine env to your system by shell |
| 63 | +like this:sudo XEngine_RunEnv.sh -c 3 |
| 64 | +##### complie |
| 65 | +execute command in XEngine_Source path |
| 66 | +make complie |
| 67 | +make FLAGS=InstallAll install |
| 68 | +make FLAGS=CleanAll clear |
| 69 | + |
| 70 | +#### use |
| 71 | + |
| 72 | +1. Switch to the MASTER branch |
| 73 | +2. download code |
| 74 | +3. complie |
| 75 | +4. install |
| 76 | +5. run |
| 77 | +6. use curl or postman test upload and download |
| 78 | + |
| 79 | +## api list |
| 80 | +POST Method used as api server |
| 81 | +it is used as manage service.api format use to url,such as:POST /api/query/file |
| 82 | +The three-segment format is fixed,first api is a fixed,second api of query is a type,third api of file is a name |
| 83 | +support api list reference:apilist.txt |
| 84 | + |
| 85 | +## second pass |
| 86 | +The Second pass is not realized by the server, it is by the client |
| 87 | +upload file second pass is first check the HASH file is on the server, if has file on the server, it will directly prompt the upload is successful. |
| 88 | +The realization of downloading second transmission is to first query the local file save path through HASH, and download it directly if it exists. |
| 89 | + |
| 90 | +## directory struct |
| 91 | +- XEngine_Docment docment directory |
| 92 | +- XEngine_Release install directory |
| 93 | +- XEngine_Source code directory |
| 94 | + |
| 95 | +## Participate in contribution |
| 96 | + |
| 97 | +1. Fork this code |
| 98 | +2. Create new Feat_xxx branch |
| 99 | +3. Submit the code |
| 100 | +4. New Pull Request |
| 101 | + |
| 102 | +## post issues |
| 103 | + |
| 104 | +if you have eny quest.post issues... |
0 commit comments