mirror of
https://github.com/netfun2000/ThunderOpenSDK.git
synced 2026-02-27 09:54:20 +08:00
Initial commit
This commit is contained in:
2
.gitattributes
vendored
Normal file
2
.gitattributes
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
# Auto detect text files and perform LF normalization
|
||||
* text=auto
|
||||
BIN
360Jisu_Thunder_Cloud/360dl.dll
Normal file
BIN
360Jisu_Thunder_Cloud/360dl.dll
Normal file
Binary file not shown.
BIN
360Jisu_Thunder_Cloud/download/MiniThunderPlatform.exe
Normal file
BIN
360Jisu_Thunder_Cloud/download/MiniThunderPlatform.exe
Normal file
Binary file not shown.
BIN
360Jisu_Thunder_Cloud/download/XLBugHandler.dll
Normal file
BIN
360Jisu_Thunder_Cloud/download/XLBugHandler.dll
Normal file
Binary file not shown.
BIN
360Jisu_Thunder_Cloud/download/XLBugReport.exe
Normal file
BIN
360Jisu_Thunder_Cloud/download/XLBugReport.exe
Normal file
Binary file not shown.
BIN
360Jisu_Thunder_Cloud/download/atl71.dll
Normal file
BIN
360Jisu_Thunder_Cloud/download/atl71.dll
Normal file
Binary file not shown.
3
360Jisu_Thunder_Cloud/download/dc.ini
Normal file
3
360Jisu_Thunder_Cloud/download/dc.ini
Normal file
@@ -0,0 +1,3 @@
|
||||
[op]
|
||||
ps=1
|
||||
pp=1
|
||||
BIN
360Jisu_Thunder_Cloud/download/dl_peer_id.dll
Normal file
BIN
360Jisu_Thunder_Cloud/download/dl_peer_id.dll
Normal file
Binary file not shown.
BIN
360Jisu_Thunder_Cloud/download/download_engine.dll
Normal file
BIN
360Jisu_Thunder_Cloud/download/download_engine.dll
Normal file
Binary file not shown.
4
360Jisu_Thunder_Cloud/download/id.dat
Normal file
4
360Jisu_Thunder_Cloud/download/id.dat
Normal file
@@ -0,0 +1,4 @@
|
||||
[partner]
|
||||
id = 80000043
|
||||
ver = 3.2.1.46
|
||||
|
||||
BIN
360Jisu_Thunder_Cloud/download/mini_unzip_dll.dll
Normal file
BIN
360Jisu_Thunder_Cloud/download/mini_unzip_dll.dll
Normal file
Binary file not shown.
BIN
360Jisu_Thunder_Cloud/download/minizip.dll
Normal file
BIN
360Jisu_Thunder_Cloud/download/minizip.dll
Normal file
Binary file not shown.
BIN
360Jisu_Thunder_Cloud/download/msvcp71.dll
Normal file
BIN
360Jisu_Thunder_Cloud/download/msvcp71.dll
Normal file
Binary file not shown.
BIN
360Jisu_Thunder_Cloud/download/msvcr71.dll
Normal file
BIN
360Jisu_Thunder_Cloud/download/msvcr71.dll
Normal file
Binary file not shown.
BIN
360Jisu_Thunder_Cloud/download/zlib1.dll
Normal file
BIN
360Jisu_Thunder_Cloud/download/zlib1.dll
Normal file
Binary file not shown.
13
README.MD
Normal file
13
README.MD
Normal file
@@ -0,0 +1,13 @@
|
||||
# 迅雷下载引擎
|
||||
|
||||
分别由 小米, 猎豹, 360极速浏览器等软件提取
|
||||
|
||||
不承担软件无毒, 均为网络搜集, 自行校验签名
|
||||
|
||||
|
||||
# 编译可用
|
||||
|
||||
[MiniThunder] : (https://github.com/intlinfo/MiniThunder)
|
||||
此代码 编译之后, 扔给需要的动态库, 可直接下载使用, 看资源数, 来决定下载速度, 貌似无限速
|
||||
|
||||
|
||||
BIN
XunleiDownload_Old/XLDownload.dll
Normal file
BIN
XunleiDownload_Old/XLDownload.dll
Normal file
Binary file not shown.
36
XunleiDownload_Old/XLDownload.h
Normal file
36
XunleiDownload_Old/XLDownload.h
Normal file
@@ -0,0 +1,36 @@
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
------------------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--------------
|
||||
*/
|
||||
#include <Windows.h>
|
||||
|
||||
BOOL __stdcall XLInitDownloadEngine();
|
||||
|
||||
DWORD __stdcall XLURLDownloadToFile(LPCTSTR pszFileName, LPCTSTR pszUrl, LPCTSTR pszRefUrl, LONG & lTaskId);
|
||||
|
||||
DWORD __stdcall XLQueryTaskInfo(LONG lTaskId, LONG *plStatus, ULONGLONG *pullFileSize, ULONGLONG *pullRecvSize);
|
||||
|
||||
DWORD __stdcall XLPauseTask(LONG lTaskId, LONG & lNewTaskId);
|
||||
|
||||
DWORD __stdcall XLContinueTask(LONG lTaskId);
|
||||
|
||||
DWORD __stdcall XLContinueTaskFromTdFile(LPCTSTR pszTdFileFullPath, LONG & lTaskId);
|
||||
|
||||
VOID __stdcall XLStopTask(LONG lTaskId);
|
||||
|
||||
BOOL __stdcall XLUninitDownloadEngine();
|
||||
|
||||
DWORD __stdcall XLGetErrorMsg(DWORD dwErrorId, LPTSTR pszBuffer, DWORD & dwSize);
|
||||
|
||||
|
||||
/*
|
||||
----------------------<2D><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>-----------------
|
||||
*/
|
||||
enum enumTaskStatus{
|
||||
enumTaskStatus_Connect = 0, // <20>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
enumTaskStatus_Download = 2, // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
||||
enumTaskStatus_Pause = 10, // <20><>ͣ
|
||||
enumTaskStatus_Success = 11, // <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>
|
||||
enumTaskStatus_Fail = 12, // <20><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
|
||||
};
|
||||
BIN
XunleiDownload_Old/XLDownload.lib
Normal file
BIN
XunleiDownload_Old/XLDownload.lib
Normal file
Binary file not shown.
82
XunleiDownload_Old/XLError.h
Normal file
82
XunleiDownload_Old/XLError.h
Normal file
@@ -0,0 +1,82 @@
|
||||
#pragma once
|
||||
|
||||
#define XL_SUCCESS 0
|
||||
#define XL_ERROR_FAIL 0x10000000
|
||||
|
||||
// <20><>δ<EFBFBD><CEB4><EFBFBD>г<EFBFBD>ʼ<EFBFBD><CABC>
|
||||
#define XL_ERROR_UNINITAILIZE XL_ERROR_FAIL+1
|
||||
|
||||
// <20><>֧<EFBFBD>ֵ<EFBFBD>Э<EFBFBD>飬Ŀǰֻ֧<D6BB><D6A7>HTTP
|
||||
#define XL_ERROR_UNSPORTED_PROTOCOL XL_ERROR_FAIL+2
|
||||
|
||||
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>ʧ<EFBFBD><CAA7>
|
||||
#define XL_ERROR_INIT_TASK_TRAY_ICON_FAIL XL_ERROR_FAIL+3
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>ʧ<EFBFBD><CAA7>
|
||||
#define XL_ERROR_ADD_TASK_TRAY_ICON_FAIL XL_ERROR_FAIL+4
|
||||
|
||||
// ָ<><D6B8>Ϊ<EFBFBD><CEAA>
|
||||
#define XL_ERROR_POINTER_IS_NULL XL_ERROR_FAIL+5
|
||||
|
||||
// <20>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ǿմ<C7BF>
|
||||
#define XL_ERROR_STRING_IS_EMPTY XL_ERROR_FAIL+6
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>û<EFBFBD>а<EFBFBD><D0B0><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
||||
#define XL_ERROR_PATH_DONT_INCLUDE_FILENAME XL_ERROR_FAIL+7
|
||||
|
||||
// <20><><EFBFBD><EFBFBD>Ŀ¼ʧ<C2BC><CAA7>
|
||||
#define XL_ERROR_CREATE_DIRECTORY_FAIL XL_ERROR_FAIL+8
|
||||
|
||||
// <20>ڴ治<DAB4><E6B2BB>
|
||||
#define XL_ERROR_MEMORY_ISNT_ENOUGH XL_ERROR_FAIL+9
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD>
|
||||
#define XL_ERROR_INVALID_ARG XL_ERROR_FAIL+10
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><F1B2BBB4><EFBFBD>
|
||||
#define XL_ERROR_TASK_DONT_EXIST XL_ERROR_FAIL+11
|
||||
|
||||
// <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD>
|
||||
#define XL_ERROR_FILE_NAME_INVALID XL_ERROR_FAIL+12
|
||||
|
||||
// û<><C3BB>ʵ<EFBFBD><CAB5>
|
||||
#define XL_ERROR_NOTIMPL XL_ERROR_FAIL+13
|
||||
|
||||
// <20>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ﵽ<EFBFBD><EFB5BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define XL_ERROR_TASKNUM_EXCEED_MAXNUM XL_ERROR_FAIL+14
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ֪
|
||||
#define XL_ERROR_INVALID_TASK_TYPE XL_ERROR_FAIL+15
|
||||
|
||||
// <20>ļ<EFBFBD><C4BC>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define XL_ERROR_FILE_ALREADY_EXIST XL_ERROR_FAIL+16
|
||||
|
||||
// <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define XL_ERROR_FILE_DONT_EXIST XL_ERROR_FAIL+17
|
||||
|
||||
// <20><>ȡcfg<66>ļ<EFBFBD>ʧ<EFBFBD><CAA7>
|
||||
#define XL_ERROR_READ_CFG_FILE_FAIL XL_ERROR_FAIL+18
|
||||
|
||||
// д<><D0B4>cfg<66>ļ<EFBFBD>ʧ<EFBFBD><CAA7>
|
||||
#define XL_ERROR_WRITE_CFG_FILE_FAIL XL_ERROR_FAIL+19
|
||||
|
||||
// <20><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F1A3ACBF><EFBFBD><EFBFBD>Dz<EFBFBD>֧<EFBFBD>ֶϵ<D6B6><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD>п<EFBFBD><D0BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD>ʧ<EFBFBD><CAA7>
|
||||
// ͨ<><CDA8><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>
|
||||
#define XL_ERROR_CANNOT_CONTINUE_TASK XL_ERROR_FAIL+20
|
||||
|
||||
// <20><EFBFBD><DEB7><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><F1A3ACBF><EFBFBD><EFBFBD>Dz<EFBFBD>֧<EFBFBD>ֶϵ<D6B6><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD>п<EFBFBD><D0BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD>ʧ<EFBFBD><CAA7>
|
||||
// ͨ<><CDA8><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>
|
||||
#define XL_ERROR_CANNOT_PAUSE_TASK XL_ERROR_FAIL+21
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̫С
|
||||
#define XL_ERROR_BUFFER_TOO_SMALL XL_ERROR_FAIL+22
|
||||
|
||||
// <20><><EFBFBD><EFBFBD>XLInitDownloadEngine<6E><65><EFBFBD>̣߳<DFB3><CCA3>ڵ<EFBFBD><DAB5><EFBFBD>XLUninitDownloadEngine֮ǰ<D6AE>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̣߳<DFB3><CCA3>ڵ<EFBFBD><DAB5><EFBFBD>XLUninitDownloadEngine֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD>뱣<EFBFBD><EBB1A3>ִ<EFBFBD><D6B4>״̬<D7B4><CCAC>
|
||||
#define XL_ERROR_INIT_THREAD_EXIT_TOO_EARLY XL_ERROR_FAIL+23
|
||||
|
||||
// TP<54><50><EFBFBD><EFBFBD>
|
||||
#define XL_ERROR_TP_CRASH XL_ERROR_FAIL+24
|
||||
|
||||
// <20><><EFBFBD>Ϸ<F1B2BBBA><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>XLContinueTaskFromTdFile<6C><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>ʧ<EFBFBD><CAA7>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define XL_ERROR_TASK_INVALID XL_ERROR_FAIL+25
|
||||
BIN
XunleiDownload_Old/zlib1.dll
Normal file
BIN
XunleiDownload_Old/zlib1.dll
Normal file
Binary file not shown.
BIN
liebao_Thunder_Cloud/download/MiniThunderPlatform.exe
Normal file
BIN
liebao_Thunder_Cloud/download/MiniThunderPlatform.exe
Normal file
Binary file not shown.
BIN
liebao_Thunder_Cloud/download/XLBugHandler.dll
Normal file
BIN
liebao_Thunder_Cloud/download/XLBugHandler.dll
Normal file
Binary file not shown.
BIN
liebao_Thunder_Cloud/download/XLBugReport.exe
Normal file
BIN
liebao_Thunder_Cloud/download/XLBugReport.exe
Normal file
Binary file not shown.
BIN
liebao_Thunder_Cloud/download/atl71.dll
Normal file
BIN
liebao_Thunder_Cloud/download/atl71.dll
Normal file
Binary file not shown.
BIN
liebao_Thunder_Cloud/download/dl_peer_id.dll
Normal file
BIN
liebao_Thunder_Cloud/download/dl_peer_id.dll
Normal file
Binary file not shown.
BIN
liebao_Thunder_Cloud/download/download_engine.dll
Normal file
BIN
liebao_Thunder_Cloud/download/download_engine.dll
Normal file
Binary file not shown.
2
liebao_Thunder_Cloud/download/id.dat
Normal file
2
liebao_Thunder_Cloud/download/id.dat
Normal file
@@ -0,0 +1,2 @@
|
||||
[partner]
|
||||
id=80000054
|
||||
BIN
liebao_Thunder_Cloud/download/minizip.dll
Normal file
BIN
liebao_Thunder_Cloud/download/minizip.dll
Normal file
Binary file not shown.
BIN
liebao_Thunder_Cloud/download/msvcp71.dll
Normal file
BIN
liebao_Thunder_Cloud/download/msvcp71.dll
Normal file
Binary file not shown.
BIN
liebao_Thunder_Cloud/download/msvcr71.dll
Normal file
BIN
liebao_Thunder_Cloud/download/msvcr71.dll
Normal file
Binary file not shown.
BIN
liebao_Thunder_Cloud/download/zlib1.dll
Normal file
BIN
liebao_Thunder_Cloud/download/zlib1.dll
Normal file
Binary file not shown.
383
liebao_Thunder_Cloud/thunderWrapper.h
Normal file
383
liebao_Thunder_Cloud/thunderWrapper.h
Normal file
@@ -0,0 +1,383 @@
|
||||
#ifndef __GTC_THUNDERWRAPPER__
|
||||
#define __GTC_THUNDERWRAPPER__
|
||||
#pragma once
|
||||
#include "AC/sysupport.h"
|
||||
|
||||
namespace gtc {
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// 2016-3-4 kp007 Ѹ<><D1B8>ͷ<EFBFBD>ļ<EFBFBD>
|
||||
#pragma pack(push, 1)
|
||||
struct DownTaskParam
|
||||
{
|
||||
DownTaskParam()
|
||||
{
|
||||
memset(this, 0, sizeof(DownTaskParam));
|
||||
nReserved1 = 5;
|
||||
bReserved = FALSE;
|
||||
DisableAutoRename = FALSE;
|
||||
IsOnlyOriginal = FALSE;
|
||||
IsResume = TRUE;
|
||||
}
|
||||
int nReserved;
|
||||
wchar_t szTaskUrl[2084]; // <20><><EFBFBD><EFBFBD>URL
|
||||
wchar_t szRefUrl[2084]; // <20><><EFBFBD><EFBFBD>ҳ
|
||||
wchar_t szCookies[4096]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>cookie
|
||||
wchar_t szFilename[MAX_PATH]; // <20><><EFBFBD>ر<EFBFBD><D8B1><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>.
|
||||
wchar_t szReserved0[MAX_PATH];
|
||||
wchar_t szSavePath[MAX_PATH]; // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>Ŀ¼
|
||||
HWND hReserved;
|
||||
BOOL bReserved;
|
||||
wchar_t szReserved1[64];
|
||||
wchar_t szReserved2[64];
|
||||
BOOL IsOnlyOriginal; // <20>Ƿ<EFBFBD>ֻ<EFBFBD><D6BB>ԭʼ<D4AD><CABC>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>
|
||||
UINT nReserved1;
|
||||
BOOL DisableAutoRename; // <20><>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
BOOL IsResume; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
DWORD reserved[2048];
|
||||
};
|
||||
enum DOWN_TASK_STATUS
|
||||
{
|
||||
NOITEM = 0,
|
||||
TSC_ERROR,
|
||||
TSC_PAUSE,
|
||||
TSC_DOWNLOAD,
|
||||
TSC_COMPLETE,
|
||||
TSC_STARTPENDING,
|
||||
TSC_STOPPENDING
|
||||
};
|
||||
enum TASK_ERROR_TYPE
|
||||
{
|
||||
TASK_ERROR_UNKNOWN = 0x00, // δ֪<CEB4><D6AA><EFBFBD><EFBFBD>
|
||||
TASK_ERROR_DISK_CREATE = 0x01, // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ʧ<EFBFBD><CAA7>
|
||||
TASK_ERROR_DISK_WRITE = 0x02, // д<>ļ<EFBFBD>ʧ<EFBFBD><CAA7>
|
||||
TASK_ERROR_DISK_READ = 0x03, // <20><><EFBFBD>ļ<EFBFBD>ʧ<EFBFBD><CAA7>
|
||||
TASK_ERROR_DISK_RENAME = 0x04, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
|
||||
TASK_ERROR_DISK_PIECEHASH = 0x05, // <20>ļ<EFBFBD>ƬУ<C6AC><D0A3>ʧ<EFBFBD><CAA7>
|
||||
TASK_ERROR_DISK_FILEHASH = 0x06, // <20>ļ<EFBFBD>ȫ<EFBFBD><C8AB>У<EFBFBD><D0A3>ʧ<EFBFBD><CAA7>
|
||||
TASK_ERROR_DISK_DELETE = 0x07, // ɾ<><C9BE><EFBFBD>ļ<EFBFBD>ʧ<EFBFBD><CAA7>ʧ<EFBFBD><CAA7>
|
||||
TASK_ERROR_DOWN_INVALID = 0x10, // <20><>Ч<EFBFBD><D0A7>DOWN<57><4E>ַ
|
||||
TASK_ERROR_PROXY_AUTH_TYPE_UNKOWN = 0x20, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ֪
|
||||
TASK_ERROR_PROXY_AUTH_TYPE_FAILED = 0x21, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤ʧ<D6A4><CAA7>
|
||||
TASK_ERROR_HTTPMGR_NOT_IP = 0x30, // http<74><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ip<69><70><EFBFBD><EFBFBD>
|
||||
TASK_ERROR_TIMEOUT = 0x40, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ
|
||||
TASK_ERROR_CANCEL = 0x41, // <20><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>
|
||||
TASK_ERROR_TP_CRASHED= 0x42, // MINITP<54><50><EFBFBD><EFBFBD>
|
||||
TASK_ERROR_ID_INVALID = 0x43, // TaskId <20>Ƿ<EFBFBD>
|
||||
};
|
||||
struct DownTaskInfo
|
||||
{
|
||||
DownTaskInfo()
|
||||
{
|
||||
memset(this, 0, sizeof(DownTaskInfo));
|
||||
stat = TSC_PAUSE;
|
||||
fail_code = TASK_ERROR_UNKNOWN;
|
||||
fPercent = 0;
|
||||
bIsOriginUsable = false;
|
||||
fHashPercent = 0;
|
||||
}
|
||||
DOWN_TASK_STATUS stat;
|
||||
TASK_ERROR_TYPE fail_code;
|
||||
wchar_t szFilename[MAX_PATH];
|
||||
wchar_t szReserved0[MAX_PATH];
|
||||
__int64 nTotalSize; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD>С(<28>ֽ<EFBFBD>)
|
||||
__int64 nTotalDownload; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>(<28><><EFBFBD>ܴ<EFBFBD><DCB4>ڻ<EFBFBD><DABB>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>)
|
||||
float fPercent; // <20><><EFBFBD>ؽ<EFBFBD><D8BD><EFBFBD>
|
||||
int nReserved0;
|
||||
int nSrcTotal; // <20><><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>
|
||||
int nSrcUsing; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>
|
||||
int nReserved1;
|
||||
int nReserved2;
|
||||
int nReserved3;
|
||||
int nReserved4;
|
||||
__int64 nReserved5;
|
||||
__int64 nDonationP2P; // p2p<32><70><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
|
||||
__int64 nReserved6;
|
||||
__int64 nDonationOrgin; // ԭʼ<D4AD><CABC>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
|
||||
__int64 nDonationP2S; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
|
||||
__int64 nReserved7;
|
||||
__int64 nReserved8;
|
||||
int nSpeed; // <20><>ʱ<EFBFBD>ٶ<EFBFBD>(<28>ֽ<EFBFBD>/<2F><>)
|
||||
int nSpeedP2S; // <20><>ʱ<EFBFBD>ٶ<EFBFBD>(<28>ֽ<EFBFBD>/<2F><>)
|
||||
int nSpeedP2P; // <20><>ʱ<EFBFBD>ٶ<EFBFBD>(<28>ֽ<EFBFBD>/<2F><>)
|
||||
bool bIsOriginUsable; // ԭʼ<D4AD><CABC>Դ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>Ч
|
||||
float fHashPercent; // <20>ֲ<EFBFBD><D6B2>ṩ<EFBFBD><E1B9A9>ֵ
|
||||
int IsCreatingFile; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||
DWORD reserved[64];
|
||||
};
|
||||
enum DOWN_PROXY_TYPE
|
||||
{
|
||||
PROXY_TYPE_IE = 0,
|
||||
PROXY_TYPE_HTTP = 1,
|
||||
PROXY_TYPE_SOCK4 = 2,
|
||||
PROXY_TYPE_SOCK5 = 3,
|
||||
PROXY_TYPE_FTP = 4,
|
||||
PROXY_TYPE_UNKOWN = 255,
|
||||
};
|
||||
enum DOWN_PROXY_AUTH_TYPE
|
||||
{
|
||||
PROXY_AUTH_NONE =0,
|
||||
PROXY_AUTH_AUTO,
|
||||
PROXY_AUTH_BASE64,
|
||||
PROXY_AUTH_NTLM,
|
||||
PROXY_AUTH_DEGEST,
|
||||
PROXY_AUTH_UNKOWN,
|
||||
};
|
||||
struct DOWN_PROXY_INFO
|
||||
{
|
||||
BOOL bIEProxy;
|
||||
BOOL bProxy;
|
||||
DOWN_PROXY_TYPE stPType;
|
||||
DOWN_PROXY_AUTH_TYPE stAType;
|
||||
wchar_t szHost[2048];
|
||||
INT32 nPort;
|
||||
wchar_t szUser[50];
|
||||
wchar_t szPwd[50];
|
||||
wchar_t szDomain[2048];
|
||||
};
|
||||
struct WSAPROTOCOL_INFOW;
|
||||
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// 2016-3-4 kp007 <09><><EFBFBD>庯<EFBFBD><E5BAAF>ָ<EFBFBD><D6B8>
|
||||
typedef BOOL (*fn_Init)(void);
|
||||
typedef BOOL (*fn_UnInit)(void);
|
||||
typedef HANDLE (*fn_TaskCreate)(DownTaskParam &stParam);
|
||||
typedef BOOL (*fn_TaskDelete)(HANDLE hTask);
|
||||
typedef BOOL (*fn_TaskStart) (HANDLE hTask);
|
||||
typedef BOOL (*fn_TaskPause) (HANDLE hTask);
|
||||
typedef BOOL (*fn_TaskQuery) (HANDLE hTask,DownTaskInfo &stTaskInfo);
|
||||
typedef BOOL (*fn_TaskQueryEx) (HANDLE hTask,DownTaskInfo &stTaskInfo);
|
||||
typedef void (*fn_LimitSpeed)(INT32 nKBps);
|
||||
typedef void (*fn_LimitUploadSpeed)(INT32 nTcpBps,INT32 nOtherBps);
|
||||
typedef BOOL (*fn_DelTempFile)(DownTaskParam &stParam);
|
||||
typedef BOOL (*fn_SetProxy)(DOWN_PROXY_INFO &stProxy);
|
||||
typedef void (*fn_SetUserAgent)( const TCHAR* pszUserAgent );
|
||||
typedef BOOL (*fn_GetFileSizeWithUrl)(const wchar_t * lpURL, INT64& iFileSize);
|
||||
typedef BOOL (*fn_ParseThunderPrivateUrl)(const TCHAR *pszThunderUrl, TCHAR *normalUrlBuffer, INT32 bufferLen);
|
||||
typedef LONG (*fn_SetAdditionInfo)( HANDLE task_id, WSAPROTOCOL_INFOW *sock_info, CHAR *http_resp_buf, LONG buf_len );
|
||||
typedef BOOL (*fn_SetFileIdAndSize)(HANDLE hTask, char szFileId[40], unsigned __int64 nFileSize);
|
||||
|
||||
#define CHECKFUNC(f, ret) if (f == NULL) return ret;
|
||||
#define CHECKFUNC_(f) if (f == NULL) return;
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// thunderWrapper <09><> 2016-3-4 kp007
|
||||
// Ѹ<><D1B8><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD>װ<EFBFBD><D7B0>
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
class thunderWrapper
|
||||
{
|
||||
public:
|
||||
thunderWrapper(PCWSTR pDllPath = L"xldl.dll")
|
||||
: m_hModule(NULL)
|
||||
, m_hTask(NULL)
|
||||
{
|
||||
_Init = NULL; // (fn_Init) ::GetProcAddress(m_hModule, "XL_Init");
|
||||
_UnInit = NULL; // (fn_UnInit) ::GetProcAddress(m_hModule, "XL_UnInit");
|
||||
_TaskCreate = NULL; // (fn_TaskCreate) ::GetProcAddress(m_hModule, "XL_CreateTask");
|
||||
_TaskDelete = NULL; // (fn_TaskDelete) ::GetProcAddress(m_hModule, "XL_DeleteTask");
|
||||
_TaskStart = NULL; // (fn_TaskStart) ::GetProcAddress(m_hModule, "XL_StartTask");
|
||||
_TaskPause = NULL; // (fn_TaskPause) ::GetProcAddress(m_hModule, "XL_StopTask");
|
||||
_TaskQuery = NULL; // (fn_TaskQuery) ::GetProcAddress(m_hModule, "XL_QueryTaskInfo");
|
||||
_TaskQueryEx = NULL; // (fn_TaskQueryEx) ::GetProcAddress(m_hModule, "XL_QueryTaskInfoEx");
|
||||
_LimitSpeed = NULL; // (fn_LimitSpeed) ::GetProcAddress(m_hModule, "XL_SetSpeedLimit");
|
||||
_LimitUploadSpeed = NULL; // (fn_LimitUploadSpeed) ::GetProcAddress(m_hModule, "XL_SetUploadSpeedLimit");
|
||||
_DelTempFile = NULL; // (fn_DelTempFile) ::GetProcAddress(m_hModule, "XL_DelTempFile");
|
||||
_SetProxy = NULL; // (fn_SetProxy) ::GetProcAddress(m_hModule, "XL_SetProxy");
|
||||
_SetUserAgent = NULL; // (fn_SetUserAgent) ::GetProcAddress(m_hModule, "XL_SetUserAgent");
|
||||
_GetFileSizeWithUrl = NULL; // (fn_GetFileSizeWithUrl) ::GetProcAddress(m_hModule, "XL_GetFileSizeWithUrl");
|
||||
_ParseThunderPrivateUrl = NULL; // (fn_ParseThunderPrivateUrl) ::GetProcAddress(m_hModule, "XL_ParseThunderPrivateUrl");
|
||||
_SetAdditionInfo = NULL; // (fn_SetAdditionInfo) ::GetProcAddress(m_hModule, "XL_SetAdditionInfo");
|
||||
_SetFileIdAndSize = NULL; // (fn_SetFileIdAndSize) ::GetProcAddress(m_hModule, "XL_SetFileIdAndSize");
|
||||
|
||||
//m_hModule = ::LoadLibraryW(pDllPath);
|
||||
//assert(m_hModule);
|
||||
//if (m_hModule == NULL)
|
||||
//{
|
||||
// throw L"can not load xldl.dll";
|
||||
//}
|
||||
//_Init = (fn_Init) ::GetProcAddress(m_hModule, "XL_Init");
|
||||
//_UnInit = (fn_UnInit) ::GetProcAddress(m_hModule, "XL_UnInit");
|
||||
//_TaskCreate = (fn_TaskCreate) ::GetProcAddress(m_hModule, "XL_CreateTask");
|
||||
//_TaskDelete = (fn_TaskDelete) ::GetProcAddress(m_hModule, "XL_DeleteTask");
|
||||
//_TaskStart = (fn_TaskStart) ::GetProcAddress(m_hModule, "XL_StartTask");
|
||||
//_TaskPause = (fn_TaskPause) ::GetProcAddress(m_hModule, "XL_StopTask");
|
||||
//_TaskQuery = (fn_TaskQuery) ::GetProcAddress(m_hModule, "XL_QueryTaskInfo");
|
||||
//_TaskQueryEx = (fn_TaskQueryEx) ::GetProcAddress(m_hModule, "XL_QueryTaskInfoEx");
|
||||
//_LimitSpeed = (fn_LimitSpeed) ::GetProcAddress(m_hModule, "XL_SetSpeedLimit");
|
||||
//_LimitUploadSpeed = (fn_LimitUploadSpeed) ::GetProcAddress(m_hModule, "XL_SetUploadSpeedLimit");
|
||||
//_DelTempFile = (fn_DelTempFile) ::GetProcAddress(m_hModule, "XL_DelTempFile");
|
||||
//_SetProxy = (fn_SetProxy) ::GetProcAddress(m_hModule, "XL_SetProxy");
|
||||
//_SetUserAgent = (fn_SetUserAgent) ::GetProcAddress(m_hModule, "XL_SetUserAgent");
|
||||
//_GetFileSizeWithUrl = (fn_GetFileSizeWithUrl) ::GetProcAddress(m_hModule, "XL_GetFileSizeWithUrl");
|
||||
//_ParseThunderPrivateUrl = (fn_ParseThunderPrivateUrl) ::GetProcAddress(m_hModule, "XL_ParseThunderPrivateUrl");
|
||||
//_SetAdditionInfo = (fn_SetAdditionInfo) ::GetProcAddress(m_hModule, "XL_SetAdditionInfo");
|
||||
//_SetFileIdAndSize = (fn_SetFileIdAndSize) ::GetProcAddress(m_hModule, "XL_SetFileIdAndSize");
|
||||
}
|
||||
|
||||
virtual ~thunderWrapper(void)
|
||||
{
|
||||
if (m_hModule)
|
||||
{
|
||||
::FreeLibrary(m_hModule);
|
||||
}
|
||||
}
|
||||
|
||||
bool init(PCWSTR pDllPath = L"xldl.dll")
|
||||
{
|
||||
assert(!m_hModule);
|
||||
|
||||
m_hModule = ::LoadLibraryW(pDllPath);
|
||||
assert(m_hModule);
|
||||
if (m_hModule == NULL)
|
||||
{
|
||||
throw L"can not load xldl.dll";
|
||||
}
|
||||
_Init = (fn_Init) ::GetProcAddress(m_hModule, "XL_Init");
|
||||
_UnInit = (fn_UnInit) ::GetProcAddress(m_hModule, "XL_UnInit");
|
||||
_TaskCreate = (fn_TaskCreate) ::GetProcAddress(m_hModule, "XL_CreateTask");
|
||||
_TaskDelete = (fn_TaskDelete) ::GetProcAddress(m_hModule, "XL_DeleteTask");
|
||||
_TaskStart = (fn_TaskStart) ::GetProcAddress(m_hModule, "XL_StartTask");
|
||||
_TaskPause = (fn_TaskPause) ::GetProcAddress(m_hModule, "XL_StopTask");
|
||||
_TaskQuery = (fn_TaskQuery) ::GetProcAddress(m_hModule, "XL_QueryTaskInfo");
|
||||
_TaskQueryEx = (fn_TaskQueryEx) ::GetProcAddress(m_hModule, "XL_QueryTaskInfoEx");
|
||||
_LimitSpeed = (fn_LimitSpeed) ::GetProcAddress(m_hModule, "XL_SetSpeedLimit");
|
||||
_LimitUploadSpeed = (fn_LimitUploadSpeed) ::GetProcAddress(m_hModule, "XL_SetUploadSpeedLimit");
|
||||
_DelTempFile = (fn_DelTempFile) ::GetProcAddress(m_hModule, "XL_DelTempFile");
|
||||
_SetProxy = (fn_SetProxy) ::GetProcAddress(m_hModule, "XL_SetProxy");
|
||||
_SetUserAgent = (fn_SetUserAgent) ::GetProcAddress(m_hModule, "XL_SetUserAgent");
|
||||
_GetFileSizeWithUrl = (fn_GetFileSizeWithUrl) ::GetProcAddress(m_hModule, "XL_GetFileSizeWithUrl");
|
||||
_ParseThunderPrivateUrl = (fn_ParseThunderPrivateUrl) ::GetProcAddress(m_hModule, "XL_ParseThunderPrivateUrl");
|
||||
_SetAdditionInfo = (fn_SetAdditionInfo) ::GetProcAddress(m_hModule, "XL_SetAdditionInfo");
|
||||
_SetFileIdAndSize = (fn_SetFileIdAndSize) ::GetProcAddress(m_hModule, "XL_SetFileIdAndSize");
|
||||
|
||||
CHECKFUNC(_Init, false);
|
||||
return _Init() == TRUE;
|
||||
}
|
||||
bool unInit()
|
||||
{
|
||||
CHECKFUNC(_UnInit, false);
|
||||
return TRUE == _UnInit();
|
||||
}
|
||||
bool taskCreate(DownTaskParam ¶m)
|
||||
{
|
||||
CHECKFUNC(_TaskCreate, false);
|
||||
m_hTask = _TaskCreate(param);
|
||||
return m_hTask != NULL;
|
||||
}
|
||||
bool taskCreate(PCWSTR ptaskUrl, PCWSTR pSavePath, PCWSTR pFileName)
|
||||
{
|
||||
assert(ptaskUrl && pSavePath && pFileName);
|
||||
DownTaskParam param;
|
||||
std::wcsncpy(param.szTaskUrl, ptaskUrl, _countof(param.szTaskUrl));
|
||||
std::wcsncpy(param.szFilename, pFileName, _countof(param.szFilename));
|
||||
std::wcsncpy(param.szSavePath, pSavePath, _countof(param.szSavePath));
|
||||
|
||||
return taskCreate(param);
|
||||
}
|
||||
bool taskDelete()
|
||||
{
|
||||
CHECKFUNC(_TaskDelete, false);
|
||||
assert(m_hTask);
|
||||
bool bl = TRUE == _TaskDelete(m_hTask);
|
||||
if(bl) m_hTask = NULL;
|
||||
return bl;
|
||||
}
|
||||
bool taskStart()
|
||||
{
|
||||
CHECKFUNC(_TaskStart, false);
|
||||
assert(m_hTask);
|
||||
return TRUE == _TaskStart(m_hTask);
|
||||
}
|
||||
bool taskPause()
|
||||
{
|
||||
CHECKFUNC(_TaskPause, false);
|
||||
assert(m_hTask);
|
||||
return TRUE == _TaskPause(m_hTask);
|
||||
}
|
||||
bool taskQuery(DownTaskInfo &stTaskInfo)
|
||||
{
|
||||
CHECKFUNC(_TaskQuery, false);
|
||||
assert(m_hTask);
|
||||
return TRUE == _TaskQuery(m_hTask, stTaskInfo);
|
||||
}
|
||||
bool taskQueryEx(DownTaskInfo &stTaskInfo)
|
||||
{
|
||||
CHECKFUNC(_TaskQueryEx, false);
|
||||
assert(m_hTask);
|
||||
return TRUE == _TaskQueryEx(m_hTask, stTaskInfo);
|
||||
}
|
||||
void limitSpeed(INT32 nBps)
|
||||
{
|
||||
CHECKFUNC_(_LimitSpeed);
|
||||
_LimitSpeed(nBps);
|
||||
}
|
||||
void limitUploadSpeed(INT32 nTcpBps,INT32 nOtherBps)
|
||||
{
|
||||
CHECKFUNC_(_LimitUploadSpeed);
|
||||
_LimitUploadSpeed(nTcpBps, nOtherBps);
|
||||
}
|
||||
bool delTempFile(DownTaskParam &stParam)
|
||||
{
|
||||
CHECKFUNC(_DelTempFile,false);
|
||||
return TRUE == _DelTempFile(stParam);
|
||||
}
|
||||
bool setProxy(DOWN_PROXY_INFO &stProxy)
|
||||
{
|
||||
CHECKFUNC(_SetProxy, false);
|
||||
return TRUE == _SetProxy(stProxy);
|
||||
}
|
||||
void setUserAgent(const TCHAR *pszUserAgent)
|
||||
{
|
||||
CHECKFUNC_(_SetUserAgent);
|
||||
_SetUserAgent(pszUserAgent);
|
||||
}
|
||||
bool getFileSizeWithUrl(const wchar_t * lpURL, INT64& iFileSize)
|
||||
{
|
||||
CHECKFUNC(_GetFileSizeWithUrl, false);
|
||||
return TRUE == _GetFileSizeWithUrl(lpURL, iFileSize);
|
||||
}
|
||||
bool parseThunderPrivateUrl(const TCHAR *pszThunderUrl, TCHAR *normalUrlBuffer, INT32 bufferLen)
|
||||
{
|
||||
//if (_ParseThunderPrivateUrl == NULL ) return FALSE;
|
||||
CHECKFUNC(_ParseThunderPrivateUrl, false);
|
||||
return TRUE == _ParseThunderPrivateUrl(pszThunderUrl, normalUrlBuffer, bufferLen);
|
||||
}
|
||||
LONG setAdditionInfo(HANDLE task_id, WSAPROTOCOL_INFOW *sock_info, CHAR *http_resp_buf, LONG buf_len)
|
||||
{
|
||||
CHECKFUNC(_SetAdditionInfo, 0);
|
||||
return _SetAdditionInfo(task_id, sock_info, http_resp_buf, buf_len);
|
||||
}
|
||||
LONG setFileIdAndSize(char szFileId[40], unsigned __int64 nFileSize)
|
||||
{
|
||||
CHECKFUNC(_SetFileIdAndSize, 0);
|
||||
assert(m_hTask);
|
||||
return _SetFileIdAndSize(m_hTask, szFileId, nFileSize);
|
||||
}
|
||||
|
||||
private:
|
||||
HMODULE m_hModule;
|
||||
HANDLE m_hTask;
|
||||
|
||||
fn_Init _Init;
|
||||
fn_UnInit _UnInit;
|
||||
fn_TaskCreate _TaskCreate;
|
||||
fn_TaskDelete _TaskDelete;
|
||||
fn_TaskStart _TaskStart;
|
||||
fn_TaskPause _TaskPause;
|
||||
fn_TaskQuery _TaskQuery;
|
||||
fn_TaskQueryEx _TaskQueryEx;
|
||||
fn_LimitSpeed _LimitSpeed;
|
||||
fn_LimitUploadSpeed _LimitUploadSpeed;
|
||||
fn_DelTempFile _DelTempFile;
|
||||
fn_SetProxy _SetProxy;
|
||||
fn_SetUserAgent _SetUserAgent;
|
||||
fn_GetFileSizeWithUrl _GetFileSizeWithUrl;
|
||||
fn_ParseThunderPrivateUrl _ParseThunderPrivateUrl;
|
||||
fn_SetAdditionInfo _SetAdditionInfo;
|
||||
fn_SetFileIdAndSize _SetFileIdAndSize;
|
||||
};
|
||||
}
|
||||
|
||||
#endif // __GTC_THUNDERWRAPPER__
|
||||
BIN
liebao_Thunder_Cloud/xldl.dll
Normal file
BIN
liebao_Thunder_Cloud/xldl.dll
Normal file
Binary file not shown.
21
xiaomi_Thunder_Cloud/LICENSE
Normal file
21
xiaomi_Thunder_Cloud/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2017 Himmelt
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
2
xiaomi_Thunder_Cloud/README.md
Normal file
2
xiaomi_Thunder_Cloud/README.md
Normal file
@@ -0,0 +1,2 @@
|
||||
# ThunderOpenSDK
|
||||
ThunderOpenSDK
|
||||
6
xiaomi_Thunder_Cloud/changelog.txt
Normal file
6
xiaomi_Thunder_Cloud/changelog.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
2014-05-15
|
||||
更新日志:
|
||||
1.调整原始资源废弃策略
|
||||
2.增加对raw deflate压缩格式的支持
|
||||
3.增加浏览器模式
|
||||
|
||||
BIN
xiaomi_Thunder_Cloud/download-complete.wav
Normal file
BIN
xiaomi_Thunder_Cloud/download-complete.wav
Normal file
Binary file not shown.
BIN
xiaomi_Thunder_Cloud/download/MiniThunderPlatform.exe
Normal file
BIN
xiaomi_Thunder_Cloud/download/MiniThunderPlatform.exe
Normal file
Binary file not shown.
BIN
xiaomi_Thunder_Cloud/download/XLBugHandler.dll
Normal file
BIN
xiaomi_Thunder_Cloud/download/XLBugHandler.dll
Normal file
Binary file not shown.
BIN
xiaomi_Thunder_Cloud/download/XLBugReport.exe
Normal file
BIN
xiaomi_Thunder_Cloud/download/XLBugReport.exe
Normal file
Binary file not shown.
BIN
xiaomi_Thunder_Cloud/download/atl71.dll
Normal file
BIN
xiaomi_Thunder_Cloud/download/atl71.dll
Normal file
Binary file not shown.
BIN
xiaomi_Thunder_Cloud/download/dl_peer_id.dll
Normal file
BIN
xiaomi_Thunder_Cloud/download/dl_peer_id.dll
Normal file
Binary file not shown.
BIN
xiaomi_Thunder_Cloud/download/download_engine.dll
Normal file
BIN
xiaomi_Thunder_Cloud/download/download_engine.dll
Normal file
Binary file not shown.
4
xiaomi_Thunder_Cloud/download/id.dat
Normal file
4
xiaomi_Thunder_Cloud/download/id.dat
Normal file
@@ -0,0 +1,4 @@
|
||||
[partner]
|
||||
id = 80000054
|
||||
ver = 3.2.1.48
|
||||
|
||||
BIN
xiaomi_Thunder_Cloud/download/minizip.dll
Normal file
BIN
xiaomi_Thunder_Cloud/download/minizip.dll
Normal file
Binary file not shown.
BIN
xiaomi_Thunder_Cloud/download/msvcp71.dll
Normal file
BIN
xiaomi_Thunder_Cloud/download/msvcp71.dll
Normal file
Binary file not shown.
BIN
xiaomi_Thunder_Cloud/download/msvcr71.dll
Normal file
BIN
xiaomi_Thunder_Cloud/download/msvcr71.dll
Normal file
Binary file not shown.
BIN
xiaomi_Thunder_Cloud/download/zlib1.dll
Normal file
BIN
xiaomi_Thunder_Cloud/download/zlib1.dll
Normal file
Binary file not shown.
1
xiaomi_Thunder_Cloud/version.data
Normal file
1
xiaomi_Thunder_Cloud/version.data
Normal file
@@ -0,0 +1 @@
|
||||
1.2.141023.7z
|
||||
BIN
xiaomi_Thunder_Cloud/xldl.dll
Normal file
BIN
xiaomi_Thunder_Cloud/xldl.dll
Normal file
Binary file not shown.
159
xiaomi_Thunder_Cloud/xldl.h
Normal file
159
xiaomi_Thunder_Cloud/xldl.h
Normal file
@@ -0,0 +1,159 @@
|
||||
#pragma once
|
||||
|
||||
// <20><><EFBFBD>нṹ<D0BD>嶨<EFBFBD>尴1<E5B0B4>ֽڶ<D6BD><DAB6><EFBFBD>
|
||||
#pragma pack(push, 1)
|
||||
struct DownTaskParam
|
||||
{
|
||||
DownTaskParam()
|
||||
{
|
||||
memset(this, 0, sizeof(DownTaskParam));
|
||||
nReserved1 = 5;
|
||||
bReserved = FALSE;
|
||||
DisableAutoRename = FALSE;
|
||||
IsOnlyOriginal = FALSE;
|
||||
IsResume = TRUE;
|
||||
}
|
||||
int nReserved;
|
||||
wchar_t szTaskUrl[2084]; // <20><><EFBFBD><EFBFBD>URL
|
||||
wchar_t szRefUrl[2084]; // <20><><EFBFBD><EFBFBD>ҳ
|
||||
wchar_t szCookies[4096]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>cookie
|
||||
wchar_t szFilename[MAX_PATH]; // <20><><EFBFBD>ر<EFBFBD><D8B1><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>.
|
||||
wchar_t szReserved0[MAX_PATH];
|
||||
wchar_t szSavePath[MAX_PATH]; // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>Ŀ¼
|
||||
HWND hReserved;
|
||||
BOOL bReserved;
|
||||
wchar_t szReserved1[64];
|
||||
wchar_t szReserved2[64];
|
||||
BOOL IsOnlyOriginal; // <20>Ƿ<EFBFBD>ֻ<EFBFBD><D6BB>ԭʼ<D4AD><CABC>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>
|
||||
UINT nReserved1;
|
||||
BOOL DisableAutoRename; // <20><>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
BOOL IsResume; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
DWORD reserved[2048];
|
||||
};
|
||||
enum DOWN_TASK_STATUS
|
||||
{
|
||||
NOITEM = 0,
|
||||
TSC_ERROR,
|
||||
TSC_PAUSE,
|
||||
TSC_DOWNLOAD,
|
||||
TSC_COMPLETE,
|
||||
TSC_STARTPENDING,
|
||||
TSC_STOPPENDING
|
||||
};
|
||||
enum TASK_ERROR_TYPE
|
||||
{
|
||||
TASK_ERROR_UNKNOWN = 0x00, // δ֪<CEB4><D6AA><EFBFBD><EFBFBD>
|
||||
TASK_ERROR_DISK_CREATE = 0x01, // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ʧ<EFBFBD><CAA7>
|
||||
TASK_ERROR_DISK_WRITE = 0x02, // д<>ļ<EFBFBD>ʧ<EFBFBD><CAA7>
|
||||
TASK_ERROR_DISK_READ = 0x03, // <20><><EFBFBD>ļ<EFBFBD>ʧ<EFBFBD><CAA7>
|
||||
TASK_ERROR_DISK_RENAME = 0x04, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
|
||||
TASK_ERROR_DISK_PIECEHASH = 0x05, // <20>ļ<EFBFBD>ƬУ<C6AC><D0A3>ʧ<EFBFBD><CAA7>
|
||||
TASK_ERROR_DISK_FILEHASH = 0x06, // <20>ļ<EFBFBD>ȫ<EFBFBD><C8AB>У<EFBFBD><D0A3>ʧ<EFBFBD><CAA7>
|
||||
TASK_ERROR_DISK_DELETE = 0x07, // ɾ<><C9BE><EFBFBD>ļ<EFBFBD>ʧ<EFBFBD><CAA7>ʧ<EFBFBD><CAA7>
|
||||
TASK_ERROR_DOWN_INVALID = 0x10, // <20><>Ч<EFBFBD><D0A7>DOWN<57><4E>ַ
|
||||
TASK_ERROR_PROXY_AUTH_TYPE_UNKOWN = 0x20, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ֪
|
||||
TASK_ERROR_PROXY_AUTH_TYPE_FAILED = 0x21, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤ʧ<D6A4><CAA7>
|
||||
TASK_ERROR_HTTPMGR_NOT_IP = 0x30, // http<74><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ip<69><70><EFBFBD><EFBFBD>
|
||||
TASK_ERROR_TIMEOUT = 0x40, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ
|
||||
TASK_ERROR_CANCEL = 0x41, // <20><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>
|
||||
TASK_ERROR_TP_CRASHED= 0x42, // MINITP<54><50><EFBFBD><EFBFBD>
|
||||
TASK_ERROR_ID_INVALID = 0x43, // TaskId <20>Ƿ<EFBFBD>
|
||||
};
|
||||
struct DownTaskInfo
|
||||
{
|
||||
DownTaskInfo()
|
||||
{
|
||||
memset(this, 0, sizeof(DownTaskInfo));
|
||||
stat = TSC_PAUSE;
|
||||
fail_code = TASK_ERROR_UNKNOWN;
|
||||
fPercent = 0;
|
||||
bIsOriginUsable = false;
|
||||
fHashPercent = 0;
|
||||
}
|
||||
DOWN_TASK_STATUS stat;
|
||||
TASK_ERROR_TYPE fail_code;
|
||||
wchar_t szFilename[MAX_PATH];
|
||||
wchar_t szReserved0[MAX_PATH];
|
||||
__int64 nTotalSize; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD>С(<28>ֽ<EFBFBD>)
|
||||
__int64 nTotalDownload; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>(<28><><EFBFBD>ܴ<EFBFBD><DCB4>ڻ<EFBFBD><DABB>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>)
|
||||
float fPercent; // <20><><EFBFBD>ؽ<EFBFBD><D8BD><EFBFBD>
|
||||
int nReserved0;
|
||||
int nSrcTotal; // <20><><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>
|
||||
int nSrcUsing; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>
|
||||
int nReserved1;
|
||||
int nReserved2;
|
||||
int nReserved3;
|
||||
int nReserved4;
|
||||
__int64 nReserved5;
|
||||
__int64 nDonationP2P; // p2p<32><70><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
|
||||
__int64 nReserved6;
|
||||
__int64 nDonationOrgin; // ԭʼ<D4AD><CABC>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
|
||||
__int64 nDonationP2S; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
|
||||
__int64 nReserved7;
|
||||
__int64 nReserved8;
|
||||
int nSpeed; // <20><>ʱ<EFBFBD>ٶ<EFBFBD>(<28>ֽ<EFBFBD>/<2F><>)
|
||||
int nSpeedP2S; // <20><>ʱ<EFBFBD>ٶ<EFBFBD>(<28>ֽ<EFBFBD>/<2F><>)
|
||||
int nSpeedP2P; // <20><>ʱ<EFBFBD>ٶ<EFBFBD>(<28>ֽ<EFBFBD>/<2F><>)
|
||||
bool bIsOriginUsable; // ԭʼ<D4AD><CABC>Դ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>Ч
|
||||
float fHashPercent; // <20>ֲ<EFBFBD><D6B2>ṩ<EFBFBD><E1B9A9>ֵ
|
||||
int IsCreatingFile; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||
DWORD reserved[64];
|
||||
};
|
||||
enum DOWN_PROXY_TYPE
|
||||
{
|
||||
PROXY_TYPE_IE = 0,
|
||||
PROXY_TYPE_HTTP = 1,
|
||||
PROXY_TYPE_SOCK4 = 2,
|
||||
PROXY_TYPE_SOCK5 = 3,
|
||||
PROXY_TYPE_FTP = 4,
|
||||
PROXY_TYPE_UNKOWN = 255,
|
||||
};
|
||||
enum DOWN_PROXY_AUTH_TYPE
|
||||
{
|
||||
PROXY_AUTH_NONE =0,
|
||||
PROXY_AUTH_AUTO,
|
||||
PROXY_AUTH_BASE64,
|
||||
PROXY_AUTH_NTLM,
|
||||
PROXY_AUTH_DEGEST,
|
||||
PROXY_AUTH_UNKOWN,
|
||||
};
|
||||
struct DOWN_PROXY_INFO
|
||||
{
|
||||
BOOL bIEProxy;
|
||||
BOOL bProxy;
|
||||
DOWN_PROXY_TYPE stPType;
|
||||
DOWN_PROXY_AUTH_TYPE stAType;
|
||||
wchar_t szHost[2048];
|
||||
INT32 nPort;
|
||||
wchar_t szUser[50];
|
||||
wchar_t szPwd[50];
|
||||
wchar_t szDomain[2048];
|
||||
};
|
||||
struct WSAPROTOCOL_INFOW;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
namespace DownEngine
|
||||
{
|
||||
extern "C" __declspec(dllimport) BOOL XL_Init(void);
|
||||
extern "C" __declspec(dllimport) BOOL XL_UnInit(void);
|
||||
extern "C" __declspec(dllimport) HANDLE XL_CreateTask(DownTaskParam &stParam);
|
||||
extern "C" __declspec(dllimport) BOOL XL_DeleteTask(HANDLE hTask);
|
||||
extern "C" __declspec(dllimport) BOOL XL_StartTask(HANDLE hTask);
|
||||
extern "C" __declspec(dllimport) BOOL XL_StopTask(HANDLE hTask);
|
||||
extern "C" __declspec(dllimport) BOOL XL_ForceStopTask(HANDLE hTask);
|
||||
extern "C" __declspec(dllimport) BOOL XL_QueryTaskInfo(HANDLE hTask, DownTaskInfo & stTaskInfo); //<2F>ɰ<EFBFBD><C9B0>ӿڣ<D3BF>ʹ<EFBFBD><CAB9>Ex<45>ӿ<EFBFBD><D3BF>滻
|
||||
extern "C" __declspec(dllimport) BOOL XL_QueryTaskInfoEx(HANDLE hTask, DownTaskInfo & stTaskInfo);
|
||||
extern "C" __declspec(dllimport) BOOL XL_DelTempFile(DownTaskParam &stParam);
|
||||
extern "C" __declspec(dllimport) void XL_SetSpeedLimit(INT32 nKBps);
|
||||
extern "C" __declspec(dllimport) void XL_SetUploadSpeedLimit(INT32 nTcpKBps,INT32 nOtherKBps);
|
||||
extern "C" __declspec(dllimport) BOOL XL_SetProxy(DOWN_PROXY_INFO &stProxyInfo);
|
||||
extern "C" __declspec(dllimport) void XL_SetUserAgent(const wchar_t *pszUserAgent);
|
||||
extern "C" __declspec(dllimport) BOOL XL_ParseThunderPrivateUrl(const wchar_t *pszThunderUrl, wchar_t *normalUrlBuffer, INT32 bufferLen);
|
||||
extern "C" __declspec(dllimport) BOOL XL_GetFileSizeWithUrl(const wchar_t * lpURL, INT64& iFileSize);
|
||||
extern "C" __declspec(dllimport) BOOL XL_SetFileIdAndSize(HANDLE hTask, char szFileId[40], unsigned __int64 nFileSize);
|
||||
extern "C" __declspec(dllimport) BOOL XL_SetAdditionInfo( HANDLE task_id, WSAPROTOCOL_INFOW *sock_info, CHAR *http_resp_buf, LONG buf_len );
|
||||
extern "C" __declspec(dllimport) HANDLE XL_CreateTaskByURL(const wchar_t *url, const wchar_t *path, const wchar_t *fileName, BOOL IsResume);
|
||||
extern "C" __declspec(dllimport) LONG XL_CreateTaskByThunder(wchar_t *pszUrl, wchar_t *pszFileName, wchar_t *pszReferUrl, wchar_t *pszCharSet, wchar_t *pszCookie);
|
||||
extern "C" __declspec(dllimport) LONG XL_CreateBTTaskByThunder(const wchar_t *pszPath);
|
||||
};
|
||||
Reference in New Issue
Block a user