Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V3.17.0.1001 Merge #57

Merged
merged 22 commits into from
Nov 6, 2024
Merged
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
56af293
update:CHANGELOG
xengine-qyt Aug 13, 2024
df577cd
added:workflows
xengine-qyt Sep 19, 2024
03d093b
fixed:build error on mac os
xengine-qyt Sep 19, 2024
9008cb8
fixed:build error
xengine-qyt Sep 19, 2024
a2cd79a
fixed:vs Problems with incorrect generation order
xengine-qyt Sep 19, 2024
2472d9e
update:make file
xengine-qyt Sep 19, 2024
2331d03
modify:copy module way
xengine-qyt Sep 19, 2024
fd31892
update:read me
xengine-qyt Sep 25, 2024
b8eaa9e
update:sub module library
xengine-qyt Oct 10, 2024
7653f36
fixed:crash when exist service
xengine-qyt Oct 10, 2024
ce875f0
added:crash core-dump support for windows
xengine-qyt Oct 11, 2024
312f21c
improved:start parameter parse
xengine-qyt Oct 15, 2024
0075854
modify:enum file function match to xengine v8.42
xengine-qyt Oct 24, 2024
90509b5
modify:enum sub dir file for webdav of depth supported
xengine-qyt Oct 24, 2024
13fedca
delete:user local authorize and just use proxy api authorize
xengine-qyt Oct 24, 2024
525c446
fixed:not parse speed limit for upload
xengine-qyt Oct 24, 2024
94a1f64
modify:The upload speed limit is now processed using a new mode, netw…
xengine-qyt Oct 25, 2024
b22c3e2
modify:some bug for upload limit
xengine-qyt Oct 25, 2024
915c8aa
added:implement encryption and decryption for http basic and digest
xengine-qyt Oct 29, 2024
6d6b0c7
update:read me
xengine-qyt Nov 1, 2024
38425f8
added:issues translator workflows/issue-translator.yml
xengine-qyt Nov 1, 2024
3e73f64
update:read me and document and configure file
xengine-qyt Nov 6, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .github/workflows/issue-translator.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Issue Translator
on:
issue_comment:
types: [created]
issues:
types: [opened]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: usthe/issues-translate-action@v2.7
with:
IS_MODIFY_TITLE: false
CUSTOM_BOT_NOTE: Bot detected the issue body's language is not English, translate it automatically.
64 changes: 64 additions & 0 deletions .github/workflows/linuxbuild.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: ubuntu build workflows

on:
push:
branches: [ "develop" ]
pull_request:
branches: [ "develop" ]

permissions:
contents: read

jobs:
build:
strategy:
# Set fail-fast to false to ensure that feedback is delivered for all matrix combinations. Consider changing this to true when your workflow is stable.
fail-fast: false
matrix:
include:
- os: ubuntu-22.04
#- os: ubuntu-24.04
runs-on: ${{ matrix.os }}

steps:
# 检出您的主仓库代码
- name: Checkout main repository code
uses: actions/checkout@v4
with:
ref: 'develop'

# 检出依赖的xengine仓库到指定的xengine目录
- name: Checkout dependency repository (xengine)
uses: actions/checkout@v4
with:
repository: libxengine/libxengine
path: libxengine

- name: sub module checkout (opensource)
run: |
git submodule init
git submodule update

# 设置依赖库的环境变量
- name: Set up Dependency Environment Variables
run: |
cd libxengine
chmod 777 *
sudo ./XEngine_LINEnv.sh -i 3
cd ..
#编译
- name: make
run: |
cd XEngine_Source
make
make FLAGS=InstallAll
make FLAGS=CleanAll

make RELEASE=1
make FLAGS=InstallAll
make FLAGS=CleanAll
cd ..
- name: test
run: |
cd XEngine_Release
./XEngine_XStorageApp -t
64 changes: 64 additions & 0 deletions .github/workflows/macbuild.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: macos build workflows

on:
push:
branches: [ "develop" ]
pull_request:
branches: [ "develop" ]

permissions:
contents: read

jobs:
build:
strategy:
matrix:
include:
- os: macos-13
runs-on: ${{ matrix.os }}

steps:
- name: Checkout main repository code
uses: actions/checkout@v4
with:
ref: 'develop'

# 检出依赖的xengine仓库到指定的xengine目录
- name: Checkout dependency repository (xengine)
uses: actions/checkout@v4
with:
repository: libxengine/libxengine
path: libxengine

- name: sub module checkout (opensource)
run: |
git submodule init
git submodule update

- name: brew install
run: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 设置依赖库的环境变量
- name: Set up Dependency Environment Variables
run: |
cd libxengine
chmod 777 *
./XEngine_LINEnv.sh -i 3
cd ..
#编译
- name: make debug
run: |
cd XEngine_Source
make PLATFORM=mac
make PLATFORM=mac FLAGS=InstallAll
make PLATFORM=mac FLAGS=CleanAll
- name: make release
run: |
cd XEngine_Source
make PLATFORM=mac RELEASE=1
make PLATFORM=mac FLAGS=InstallAll
make PLATFORM=mac FLAGS=CleanAll
- name: test
run: |
cd XEngine_Release
./XEngine_XStorageApp -t
103 changes: 39 additions & 64 deletions .github/workflows/msbuild.yml
Original file line number Diff line number Diff line change
@@ -1,32 +1,44 @@
name: C++ Build with Dependencies
name: windows build workflows

#on: [push] # 触发条件,推送和拉取请求时,
on:
workflow_dispatch: # 添加这行来启用手动触发
push:
branches: [ "develop" ]
pull_request:
branches: [ "develop" ]

permissions:
contents: write
contents: read

jobs:
build:
strategy:
# Set fail-fast to false to ensure that feedback is delivered for all matrix combinations. Consider changing this to true when your workflow is stable.
fail-fast: false
matrix:
configuration: [Release]
platform: [x86]
configuration: [Debug ,Release]
platform: [x86 ,x64]

runs-on: windows-latest # 最新的 Windows 环境

steps:
# 检出您的主仓库代码
- name: Checkout main repository code
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
ref: 'develop'

# 检出依赖的xengine仓库到指定的xengine目录
- name: Checkout dependency repository (xengine)
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
repository: libxengine/xengine
repository: libxengine/libxengine
path: xengine

- name: sub module checkout (opensource)
run: |
git submodule init
git submodule update
shell: pwsh

# 设置依赖库的环境变量
- name: Set up Dependency Environment Variables
@@ -42,61 +54,24 @@ jobs:
#编译
- name: Build Solution
run: msbuild XEngine_Source/XEngine_StorageApp.sln /p:Configuration=${{ matrix.configuration }} /p:Platform=${{ matrix.platform }}

# 打包
- name: Copy Build binaries for x86
#测试
- name: Conditional Step for x86 Release
if: matrix.configuration == 'Release' && matrix.platform == 'x86'
run: |
mkdir -p "x86/XEngine_StorageApp"
cp -r ./XEngine_Release/* x86/XEngine_StorageApp/
cp -r ./XEngine_Source/Release/*.dll x86/XEngine_StorageApp/
cp -r ./XEngine_Source/Release/*.exe x86/XEngine_StorageApp/
cp -r ./XEngine_Source/VSCopy_x86.bat x86/XEngine_StorageApp/
cd x86/XEngine_StorageApp && ./VSCopy_x86.bat
cd ..
cd ..
7z a XEngine_StorageApp-x86-Windows.zip ./x86/XEngine_StorageApp/*
cp -r XEngine_Source/Release/*.dll XEngine_Release/
cp -r XEngine_Source/Release/*.exe XEngine_Release/
cp -r XEngine_Source/VSCopy_x86.bat XEngine_Release/
cd XEngine_Release
./VSCopy_x86.bat
./XEngine_StorageApp.exe -t
shell: pwsh

- name: Calculate new tag
id: newtag
shell: bash
- name: Conditional Step for x86 Debug
if: matrix.configuration == 'Debug' && matrix.platform == 'x86'
run: |
git fetch --tags
TAG=$(git tag --sort=-v:refname | head -n 1)
MAJOR=$(echo $TAG | cut -d '.' -f 1)
MINOR=$(echo $TAG | cut -d '.' -f 2)
PATCH=$(echo $TAG | cut -d '.' -f 3)
BUILD=$(echo $TAG | cut -d '.' -f 4)
MINOR_BUMP=$((MINOR + 1))
NEW_TAG="${MAJOR}.${MINOR_BUMP}.0.${BUILD}"
echo "NEW_TAG=$NEW_TAG" >> $GITHUB_ENV
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git tag $NEW_TAG
git push origin $NEW_TAG

# 创建GitHub Release
- name: Create Release
id: create_release
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ env.NEW_TAG }}
name: Release ${{ env.NEW_TAG }}
body: |
[${{ github.sha }}](https://github.com/libxengine/XEngine_Storage/commit/${{ github.sha }})
${{ github.event.head_commit.message }}
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# 上传x86的zip包作为发布的artifacts
- name: Upload x86 Release Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./XEngine_StorageApp-x86-Windows.zip
asset_name: XEngine_StorageApp-x86-Windows.zip
asset_content_type: application/zip
cp -r XEngine_Source/Debug/*.dll XEngine_Release/
cp -r XEngine_Source/Debug/*.exe XEngine_Release/
cp -r XEngine_Source/VSCopy_x86.bat XEngine_Release/
cd XEngine_Release
./VSCopy_x86.bat
./XEngine_StorageApp.exe -t
shell: pwsh
42 changes: 42 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,45 @@
XEngine_Storage V3.17.0.1001

added:workflows support
added:start test parameter supported
added:crash core-dump support for windows
added:implement encryption and decryption for http basic and digest
update:sub module library
improved:start parameter parse
modify:enum file function match to xengine v8.42
modify:The upload speed limit is now processed using a new mode, network events + algorithm events, and will not affect other network clients
fixed:build error on mac os
fixed:vs Problems with incorrect generation order
fixed:crash when exist service
delete:user local authorize and just use proxy api authorize

增加:工作流支持
增加:启动参数测试支持
增加:windows coredump支持
增加:HTTP基本和摘要加解密实现
更新:子模块支持库
优化:启动参数优化
修改:匹配了代码库版本到XEngine V8.42
修改:上传限速使用了新的方法,网络事件+算法事件,不会影响其他客户端了
修正:mac系统编译问题
修正:生成顺序问题
修正:某些时候退出崩溃问题
删除:本地验证支持并且验证只使用代理授权验证
======================================================================================
XEngine_Storage V3.16.0.1001

增加:上传接口文件准备支持
增加:webdav协议支持:OPTIONS POST GET PUT PROPFIND PROPPATCH DELETE LOCK UNLOCK
增加:XML的子模块
修正:可能跳过存储KEY名称的错误返回
修正:APIHelp_Distributed_DLStorage 某些时候文件名称和key不正确导致的问题

added:upload create ready supported
added:webdav protocol support:OPTIONS POST GET PUT PROPFIND PROPPATCH DELETE LOCK UNLOCK
add:xml module form sub module
fixed:maybe return error bucket when input mistake storage key
fixed:APIHelp_Distributed_DLStorage sometime is file name and key is incorrect
======================================================================================
XEngine_Storage V3.15.0.1001

增加:用户上传下载动作支持
11 changes: 4 additions & 7 deletions README.en.md
Original file line number Diff line number Diff line change
@@ -22,7 +22,7 @@ feature list:
5. support load banace
6. supprot http auth
7. support log and config
8. supprot speeds contral
8. Support multi-threaded file upload and download
9. supprot task start and end proxy forwarding
10. support p2p
11. bt protocol
@@ -40,11 +40,11 @@ feature list:

#### XEngine Evn
you must install XEngine,need V8.10 or above,install XEngine can be refer to xengine Readme docment
GITEE:https://gitee.com/xyry/libxengine
GITHUB:https://github.com/libxengine/xengine
GITEE:https://gitee.com/libxengine/libxengine
GITHUB:https://github.com/libxengine/libxengine

##### fast to deployment
git clone https://gitee.com/xyry/libxengine.git or git clone https://github.com/libxengine/xengine.git
git clone https://gitee.com/libxengine/libxengine.git or git clone https://github.com/libxengine/libxengine.git
window Exection XEngine_WINEnv.bat
Linux Exection:sudo ./XEngine_LINEnv.sh -i 3
Macos Exection:./XEngine_LINEnv.sh -i 3
@@ -104,9 +104,6 @@ P2P distributed download is the same as the hyper-threaded download of other dow
UPLoad File: curl -d 'hello xengine' -X POST "http://192.168.1.8:5102/api?filename=hello.txt&storeagekey=storagekey1"
Download File: curl -X GET "http://192.168.1.8:5101/storagekey1/hello.txt"

## now task
P2P WAN file search and download support

## Installation Instructions
#### Install
Modify the configuration file to what you need, and then run the service directly
Loading
Loading