static void Main(string[] args) { int option = 0; var taskManager = new TaskManager(); while (option != 3) { Console.WriteLine("1.Add File Task\n2.Add PhoneCall Task\n3.Exit\nYour option:"); option = int.Parse(Console.ReadLine()); var childLifeSpan = new int(); IChildTask childTask; switch (option) { case 1: Console.WriteLine("Enter milliseconds to run:"); childLifeSpan = int.Parse(Console.ReadLine()); childTask = new FileTask(childLifeSpan); taskManager.AddTask(childTask); break; case 2: Console.WriteLine("Enter milliseconds to run:"); childLifeSpan = int.Parse(Console.ReadLine()); childTask = new PhoneCallTask(childLifeSpan); taskManager.AddTask(childTask); break; case 3: Console.WriteLine("Thank you:"); break; } } }
public static void Main(string[] args) { CuckooSession session = new CuckooSession("127.0.0.1", 8090); using (CuckooManager manager = new CuckooManager(session)) { FileTask task = new FileTask(); task.Filepath = "/var/www/payload.exe"; int taskID = manager.CreateTask(task); while ((task = (FileTask)manager.GetTaskDetails(taskID)).Status == "pending" || task.Status == "processing") { Console.WriteLine("Waiting 30 seconds..." + task.Status); System.Threading.Thread.Sleep(30000); } if (task.Status == "failure") { Console.WriteLine("There was an error:"); foreach (object error in task.Errors) { Console.WriteLine(error); } return; } string report = manager.GetTaskReport(taskID).ToString(); Console.WriteLine(report); } }
public static void Main (string[] args) { CuckooSession session = new CuckooSession ("192.168.1.105", 8090); JObject response = session.ExecuteCommand ("/cuckoo/status", "GET"); Console.WriteLine(response.ToString()); using (CuckooManager manager = new CuckooManager(session)) { FileTask task = new FileTask(); task.Filepath = "/Users/bperry/Projects/metasploit-framework/data/post/bypassuac-x64.exe"; int taskID = manager.CreateTask(task); while((task = (FileTask)manager.GetTaskDetails(taskID)).Status == "pending" || task.Status == "running") { Console.WriteLine("Waiting 30 seconds..."+task.Status); System.Threading.Thread.Sleep(30000); } if (task.Status == "failure") { Console.WriteLine ("There was an error:"); foreach (var error in task.Errors) Console.WriteLine(error); return; } string report = manager.GetTaskReport(taskID).ToString(); Console.WriteLine(report); } }
private void DeployCommand(MessageBody messageBody) { AssemblyExcuteEnvironment.Current.UnloadDomain(excuteDomainKey); var file1 = FileTask.GetObjectBySerializeString(messageBody.Datas); string datas = TinctSlaveNode.Current.NodeInfo.NodeName; try { File.WriteAllBytes(file1.FileName, file1.Content.ToArray()); datas += ",true"; } catch { //write failed datas += ",false"; } TinctMessage message = new TinctMessage(); message.MessageHeader = new MessageHeader() { CommandType = CommandType.Deploy }; MessageBody body = new MessageBody(); message.MessageBody = body; TinctSlaveNode.Current.SendMessage(TinctNodeCongratulations.MasterName, message); }
private IFile AddFile(FileTask op) { var fileStream = _getFile.GetFile(Path.Combine(_settingsFileWatcher.ScanDirectory, op.FileName)); _fileList.AddFile(new CurrentFileEntry(op.FileName, fileStream)); return(fileStream); }
private void ButtonDownload_Click(object sender, RoutedEventArgs e) { if (this.ListViewFile.SelectedIndex < 0) { return; } List <FileTask> fileTasks = new List <FileTask>(); //var a = this.ListViewFile.SelectedItems; //var selected = fileClasses[this.ListViewFile.SelectedIndex]; foreach (SocketFileInfo selected in this.ListViewFile.SelectedItems) { FileTask task = new FileTask { Route = SocketFactory.CurrentRoute.Copy(), IsDirectory = selected.IsDirectory, Type = TransferType.Download, RemotePath = RemoteDirectory + selected.Name, Length = selected.Length, }; if (task.IsDirectory) { task.Length = FileTaskManager.GetDownloadDirectoryTaskLength(task); } fileTasks.Add(task); } DownloadConfirm(fileTasks); }
public async Task <IActionResult> Edit(int id, [Bind("Id,Path_File,File_Detail,TaskDistributionId")] FileTask fileTask) { if (id != fileTask.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(fileTask); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!FileTaskExists(fileTask.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["TaskDistributionId"] = new SelectList(_context.TaskDistributions, "Id", "View", fileTask.TaskDistributionId); return(View(fileTask)); }
/// <summary> /// browser 页面添加下载任务的响应事件 /// </summary> /// <param name="downloadTask">文件/文件夹任务</param> public void AddTask(FileTask task) { FTManager.AddTask(task); if (!IsTransfering) { FTManager.InitDownload(); } }
public async Task <IActionResult> Create([Bind("Id,Path_File,File_Detail,TaskDistributionId")] FileTask fileTask) { if (ModelState.IsValid) { _context.Add(fileTask); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["TaskDistributionId"] = new SelectList(_context.TaskDistributions, "Id", "View", fileTask.TaskDistributionId); return(View(fileTask)); }
private void RunPlotQueue() { FileRepository repo = new FileRepository(); FileTask task = null; while ((task = repo.GetTask("")) != null) { if (task.ExtName.Equals("dwg", StringComparison.OrdinalIgnoreCase)) { try { label2.Text = string.Format("正在获取文件...[{0}]", task.Name); //1.从filestore获取文件 byte[] bytes = FileStoreHelper.GetFile(task.ID); FileStoreHelper.SaveFileBuffer(bytes, Path.Combine(OfficeHelper.GetFolderPath(task.ID, "Files"), task.Name)); //2.设置文件数据库状态为进行中 repo.StartTask(task.ID); //3.开始进行转换 label2.Text = string.Format("正在进行格式打印...[{0}]", task.Name); var imgDTO = OfficeHelper.InitDTO(task.Name, bytes.Length, task.ID); var result = FileConverter.Exec(imgDTO); bool isSucc = false; if (result != null && result.status) { //4.设置转图层次,并生成json文件 imgDTO.Versions[0].ImageZoomLevel = result.ZoomLevel; OfficeHelper.WriteJsonFile(imgDTO); isSucc = true; } Application.DoEvents(); //5.回置状态 label2.Text = "最近:[" + imgDTO.Name + "]打印" + (isSucc ? "成功":"失败") + ",打印时间(" + DateTime.Now.ToString("yyyy年MM月dd日 HH时mm分") + ")"; repo.EndTask(task.ID, isSucc ? ResultStatus.Success:ResultStatus.Error); //6.删除原文件 if (File.Exists(imgDTO.Versions[0].FullPath)) { File.Delete(imgDTO.Versions[0].FullPath); } } catch (Exception ex) { // 记录日志 LogWriter.Info(string.Format(ex.Message, DateTime.Now.ToString(), task.ID, task.Name, ex.StackTrace)); repo.EndTask(task.ID, ResultStatus.Error); } } } }
public void RunFileTask() { TinctTaskRepository q = new TinctTaskRepository(); var mloggname = "Masterlogger"; var mfilename = "Log4net.config"; var slogname = "Slavelogger"; TinctTaskService.StartMasterService(); Thread.Sleep(2000); TinctTaskService.StartSlaveService(slogname, mfilename); Thread.Sleep(2000); TinctTaskService.StartTaskService(q, mloggname, mfilename); TinctTask t1 = new TinctTask(); t1.Name = "test"; t1.DllName = "Tinct.PlatformController"; t1.NamespaceName = "Tinct.PlatformController"; t1.ClassName = "TinctTestController"; t1.MethodName = "LoadData1"; t1.Datas = "test"; q.QueueTinctTask(t1); FileTask file = new FileTask(); file.FileName = "Tinct.PlatformController.dll"; file.SourcePath = "test.txt"; file.Content = new List <byte>(); Thread.Sleep(10000); TinctTaskService.DeployFile(file); //TinctMessage msg = new TinctMessage(); //msg.MessageHeader = new MessageHeader(); //msg.MessageHeader.CommandType = CommandType.Deploy; //msg.MessageBody = new MessageBody(); //msg.MessageBody.Datas = file.ToJsonSerializeString(); //TinctMasterNode.Current.SendMessage(TinctNodeCongratulations.MasterName, msg); Console.Read(); }
public void HandleTask(TaskType taskType, TaskMethod taskMethod, string[] args) { switch (taskType) { case TaskType.File: if (taskMethod == TaskMethod.Delete) { if (args.Length <= 0) { throw new ArgumentException("args must be longer then 0!"); } var fileTask = new FileTask(); Console.WriteLine(fileTask.ClearFile(ReplacementHelper.SanatizePathname(args[0]))); } break; case TaskType.Directory: if (taskMethod == TaskMethod.Delete) { if (args.Length == 0) { throw new ArgumentException("args must be longer then 0!"); } var dirTask = new DirectoryTask(); Console.WriteLine(dirTask.DeleteDirectory(ReplacementHelper.SanatizePathname(args[0]))); } else if (taskMethod == TaskMethod.Clean) { if (args.Length == 0) { throw new ArgumentException("args must be longer then 0!"); } var dirTask = new DirectoryTask(); dirTask.CleanDirectory(ReplacementHelper.SanatizePathname(args[0])).ForEach((dir) => { Console.WriteLine(dir); }); } break; case TaskType.Recycling: var recyclingTask = new RecyclingTask(); recyclingTask.ClearRecycling(); break; } }
public static void DeployFile(FileTask file) { var bytes = File.ReadAllBytes(file.SourcePath); file.Content.AddRange(bytes); TinctMessage msg = new TinctMessage(); msg.MessageHeader = new MessageHeader(); msg.MessageHeader.CommandType = CommandType.Deploy; msg.MessageBody = new MessageBody(); msg.MessageBody.Datas = file.ToJsonSerializeString(); TinctTaskRepository.Current.ClearAllTinctTasks(); for (int i = 0; i < TinctMasterNode.Current.SlaveNodes.Count; i++) { try { TinctMasterNode.Current.SendMessage(TinctMasterNode.Current.SlaveNodes[i].NodeName, msg); } catch { ///when change salve node status,ingore that } } }
public void DoNext(Target target, FileTask nextStep) { NextStep = nextStep; Target = target; }
public static SocketClient GenerateConnectedSocketClient(FileTask task, int maxTry = 1, int retryInterval = 3000) { return(GenerateConnectedSocketClient(task.Route, maxTry, retryInterval)); }
public ActionResult <GenericValidator> ProcessData() { var gVal = new GenericValidator { FileTasks = new List <FileTask>() }; try { var path = Path.Combine(_hostingEnvironment.WebRootPath, @"NDR"); var dir = new DirectoryInfo(path); if (!dir.Exists) { Directory.CreateDirectory(path); } var files = dir.GetFiles(); if (files.Any()) { files.ToList().ForEach(f => { var facilityFiles = new List <Container>(); using (var zipStream = new ZipInputStream(f.OpenRead())) { ZipEntry theEntry; while ((theEntry = zipStream.GetNextEntry()) != null) { var fileName = theEntry.Name.ToLower(); try { if (fileName.EndsWith(".xml") && !fileName.StartsWith("__macosx")) { var doc = new XmlDocument(); doc.Load(zipStream); XmlDocument d = new XmlDocument(); d.LoadXml(doc.LastChild.OuterXml); var dSerialised = JsonConvert.SerializeXmlNode(d); var ndrExtract = JsonConvert.DeserializeObject <Extract>(dSerialised); facilityFiles.Add(ndrExtract.Container); string xmlString = System.IO.File.ReadAllText(fileName); var serializer = new XmlSerializer(typeof(List <Extract>), new XmlRootAttribute("Container")); var stringReader = new StringReader(xmlString); var ndrExtract1 = (Extract)serializer.Deserialize(stringReader); } } catch (Exception e) { gVal.Code = -1; gVal.Message = e.Message; var ef = new FileTask { FacilityName = fileName, Message = e.InnerException != null? e.InnerException.Message : e.Message, Code = -1 }; gVal.FileTasks.Add(ef); } } } }); } return(gVal); } catch (Exception e) { gVal.Code = -1; gVal.Message = e.InnerException != null ? e.InnerException.Message : e.Message; return(gVal); } }
static void Main(string[] args) { var username = "******"; var password = "******"; // Test login check var checkResult = Authentication.LoginCheck(username); CheckSuccess(checkResult); // Handle verify code if (checkResult.needVCode) { File.WriteAllBytes("vcode.png", checkResult.image); Console.WriteLine("Verification code required. Input the text in vcode.png."); try { System.Diagnostics.Process.Start("vcode.png"); } catch (Exception) { } checkResult.verifyCode = Console.ReadLine(); try { File.Delete("vcode.png"); } catch (Exception) { } } else { Console.WriteLine("Verification code NOT required."); } // Test login var loginResult = Authentication.Login(username, password, checkResult); CheckSuccess(loginResult); Console.WriteLine(loginResult.credential); Console.WriteLine("uid: " + loginResult.credential.uid); var credential = loginResult.credential; // Test get quota var quotaResult = Operation.GetQuota(credential); CheckSuccess(quotaResult); Console.WriteLine(quotaResult.used + "/" + quotaResult.total); // Test get user info var infoResult = Operation.GetUserInfo(credential); CheckSuccess(infoResult); Console.WriteLine(infoResult.records[0].uname + " " + infoResult.records[0].priority_name + " " + infoResult.records[0].avatar_url); // Test list file var fileListResult = Operation.GetFileList("/", credential); CheckSuccess(fileListResult); Console.WriteLine(string.Join("\r\n", fileListResult.list.Take(5).Select(e => e.path + " " + e.isdir + " " + e.size).ToArray())); // Test thumbnail var thumbnailResult = Operation.GetThumbnail("/1.mp4", credential); CheckSuccess(thumbnailResult); Console.WriteLine("Thumbnail " + thumbnailResult.image.Length + " bytes."); try { File.WriteAllBytes("thumb.jpg", thumbnailResult.image); var process = System.Diagnostics.Process.Start("thumb.jpg"); } catch (Exception) { } // Test rapid upload var rapidUploadResult = Operation.RapidUpload(UploadHelper.GetFileProperty("Z:\\Thunder9.0.14.358.exe"), "/t.exe", credential); CheckSuccess(rapidUploadResult); Console.WriteLine("Rapid: " + rapidUploadResult.info.path + " " + rapidUploadResult.info.size); // Test get upload servers var servers = Operation.GetUploadServers(credential); CheckSuccess(servers); Console.WriteLine("Servers: " + string.Join(" ", servers.servers)); // Test simple upload var simpleUploadResult = Operation.SimpleUpload("Z:\\1.rar", "/1.rar", credential, servers.servers[0]); CheckSuccess(simpleUploadResult); Console.WriteLine("Simple: " + simpleUploadResult.path + " " + simpleUploadResult.size); // Test chunked upload var chunkedUploadResult = Operation.ChunkedUpload("Z:\\2.rar", "/2.rar", credential); CheckSuccess(chunkedUploadResult); Console.WriteLine("Chunked: " + chunkedUploadResult.path + " " + chunkedUploadResult.size); // Test get download urls var downloadResult = Operation.GetDownload("/1.mp4", credential); CheckSuccess(downloadResult); Console.WriteLine("Download URL count = " + downloadResult.urls.Length + " " + downloadResult.urls[0].rank + " " + downloadResult.urls[0].url); // Test file operations var fileopResult = Operation.Copy("/1.mp4", "/", "2.mp4", credential); CheckSuccess(fileopResult); fileopResult = Operation.Move("/2.mp4", "/", "3.mp4", credential); CheckSuccess(fileopResult); fileopResult = Operation.Rename("/3.mp4", "4.mp4", credential); CheckSuccess(fileopResult); fileopResult = Operation.Delete("/4.mp4", credential); CheckSuccess(fileopResult); fileopResult = Operation.CreateFolder("/test", credential); CheckSuccess(fileopResult); Console.WriteLine("New folder name: " + fileopResult.path); // Test share var shareResult = Operation.Share(new[] { "/1.mp4" }, credential); CheckSuccess(shareResult); Console.WriteLine(shareResult.link + " " + shareResult.shorturl); shareResult = Operation.Share(new[] { "/1.mp4" }, credential, "8888"); CheckSuccess(shareResult); Console.WriteLine(shareResult.link + " " + shareResult.shorturl); // Test transfer shared files var transferResult = Operation.Transfer("http://pan.baidu.com/s/1hsfZ1TM", "/", credential, "1w9w"); CheckSuccess(transferResult); Console.WriteLine(transferResult.extra.list.Select(e => e.from + " " + e.to + "\r\n").ToString()); // Test offline var queryLinkResult = Operation.QueryLinkFiles("/downfile.torrent", credential); CheckSuccess(queryLinkResult); queryLinkResult.files.ToList().ForEach(f => Console.WriteLine(f.file_name + " " + f.size)); var addOfflineResult = Operation.AddOfflineTask("/downfile.torrent", "/", credential, new[] { 1 }, queryLinkResult.sha1); CheckSuccess(addOfflineResult); Console.WriteLine(addOfflineResult.task_id + " " + addOfflineResult.rapid_download); addOfflineResult = Operation.AddOfflineTask("http://www.baidu.com/", "/", credential); CheckSuccess(addOfflineResult); Console.WriteLine(addOfflineResult.task_id + " " + addOfflineResult.rapid_download); addOfflineResult = Operation.AddOfflineTask("magnet:?xt=urn:btih:eb748516ee0968422d9827a9991d28cbd4dc4f3f", "/", credential, new[] { 1, 2 }); CheckSuccess(addOfflineResult); Console.WriteLine(addOfflineResult.task_id + " " + addOfflineResult.rapid_download); addOfflineResult = Operation.AddOfflineTask("ed2k://|file|[柳井正与优衣库].蔡成平.文字版(ED2000.COM).epub|890525|90a92b89df20a8b2283fe3450f872590|h=oxrt54bznbtq5pr47dfmj4zfn5ctbvek|/", "/", credential); CheckSuccess(addOfflineResult); Console.WriteLine(addOfflineResult.task_id + " " + addOfflineResult.rapid_download); var offlineListResult = Operation.GetOfflineList(credential); CheckSuccess(offlineListResult); offlineListResult.tasks.ToList().ForEach(t => Console.WriteLine(t.status + " " + t.task_id + " " + t.task_name + " " + t.finished_size + "/" + t.file_size + " " + t.od_type)); Operation.ClearOfflineTask(credential); foreach (var item in offlineListResult.tasks) { Operation.CancelOfflineTask(item.task_id, credential); Operation.DeleteOfflineTask(item.task_id, credential); } offlineListResult = Operation.GetOfflineList(credential); CheckSuccess(offlineListResult); Debug.Assert(offlineListResult.tasks.Length == 0); Console.WriteLine("Offline list cleared."); // Test download var adapter = new BaiduAdapter() { credential = credential, path = "/1.mp4", size = fileListResult.list.First(e => e.path == "/1.mp4").size }; var task = new FileTask(adapter, "Z:\\1.mp4"); var st = new Stopwatch(); st.Start(); while (!task.IsCompleted()) { Console.WriteLine(task.GetDownloadedBytes()); foreach (var item in task.DownloadSources) { Console.WriteLine(" " + item.URL.Substring(0, 20) + " " + item.GetDownloadedBytes()); } Thread.Sleep(1000); } st.Stop(); Console.WriteLine("Time taken: " + st.ElapsedMilliseconds / 1000); // Done Console.WriteLine("Success"); Console.ReadLine(); }
public void Execute(IJobExecutionContext context) { var taskId = ""; var jobDataTaskId = context.Trigger.JobDataMap["taskId"]; if (jobDataTaskId != null) { taskId = jobDataTaskId.ToString(); } FileRepository repo = new FileRepository(); FileTask task = null; while ((task = repo.GetTask(taskId)) != null) { // 修改开始执行时间 repo.StartTask(task.ID); try { if (!IsConvertFormat(task.ExtName)) { throw new Exception("未知文件类型,没有相关的转换器!"); } string viewMode = AppConfig.GetAppSettings("ViewMode"); if (viewMode != ViewModeDTO.TilePicViewer.ToString()) { string folderPath = OfficeHelper.GetFolderPath(task.ID); var pdfFilePath = Path.Combine(folderPath, task.ID + ".pdf"); var swfFilePath = Path.Combine(folderPath, task.ID + ".swf"); var snapFilePath = Path.Combine(folderPath, task.ID + ".png"); #region 1.转换PDF byte[] pdfBuffer = null; if (!string.IsNullOrEmpty(task.ExtName)) { if (task.ExtName.ToLower() == "pdf") { pdfBuffer = FileStoreHelper.GetFile(task.Name); } else if (task.ExtName.ToLower() == "docx" || task.ExtName.ToLower() == "doc") { // 获取文件 var butter = FileStoreHelper.GetFile(task.Name); pdfBuffer = FileConverter.Word2PDF(butter, pdfFilePath, task.ExtName.ToLower()); } else if (task.ExtName.ToLower() == "xlsx" || task.ExtName.ToLower() == "xls") { // 获取文件 var buffer = FileStoreHelper.GetFile(task.Name); pdfBuffer = FileConverter.Excel2PDF(buffer); } else if (task.ExtName.ToLower() == "txt") { // 获取文件 var buffer = FileStoreHelper.GetFile(task.Name); pdfBuffer = FileConverter.Txt2PDF(buffer); } else if (task.ExtName.ToLower() == "jpg" || task.ExtName.ToLower() == "jpeg" || task.ExtName.ToLower() == "png") { // 获取文件 var buffer = FileStoreHelper.GetFile(task.Name); pdfBuffer = FileConverter.Img2PDF(buffer); } else if (task.ExtName.ToLower() == "tif" || task.ExtName.ToLower() == "tiff") { // 获取文件 var buffer = FileStoreHelper.GetFile(task.Name); pdfBuffer = FileConverter.Tif2PDF(buffer); } else { throw new Exception("未知文件类型,没有相关的转换器!"); } } else { throw new Exception("未定义文件类型!"); } if (pdfBuffer == null) { throw new Exception("PDF文件不存在!"); } #endregion #region 2.生成SWF var pdfPageCount = FileConverter.GetPageCount(pdfBuffer); if (!File.Exists(pdfFilePath)) { FileConverter.SaveFileBuffer(pdfBuffer, pdfFilePath); FileConverter.PDF2SWF(pdfFilePath, swfFilePath, pdfPageCount); } #endregion #region 3.生成缩略图 byte[] snapBuffer = FileConverter.ConvertToSnap(pdfBuffer, "pdf"); FileConverter.SaveFileBuffer(snapBuffer, snapFilePath); #endregion repo.EndTask(task.ID, ResultStatus.Success); } else { //1.获取文件 byte[] bytes = FileStoreHelper.GetFile(task.ID); string filePath = OfficeHelper.GetFolderPath(task.ID, "Files"); FileStoreHelper.SaveFileBuffer(bytes, Path.Combine(filePath, task.Name)); //2.转图 var imgDTO = OfficeHelper.InitDTO(task.Name, bytes.Length, task.ID); FileConverter fileConverter = new FileConverter(); var result = fileConverter.Exec(imgDTO); if (result == null || !result.status) { throw new Exception("转图失败!"); } //3.生成记录文件 imgDTO.Versions[0].ImageZoomLevel = 18; imgDTO.Versions[0].HighHeightUnit = result.HighHeightUnit; OfficeHelper.WriteJsonFile(imgDTO); //4.设置数据库完成 repo.EndTask(task.ID, ResultStatus.Success); //5.删除原始文件 if (File.Exists(imgDTO.Versions[0].FullPath)) { File.Delete(imgDTO.Versions[0].FullPath); } } } catch (Exception ex) { // 记录日志 repo.EndTask(task.ID, ResultStatus.Error); LogWriter.Info(string.Format(ErrInfo, DateTime.Now.ToString(), task.ID, task.Name, ex.Message, ex.StackTrace)); } } //新增处理关联word、excel进程关闭问题 2019-5-29 CloseExit(); }