From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 83A901FF2DD for ; Fri, 12 Jul 2024 00:30:32 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 9FE20399D6; Fri, 12 Jul 2024 00:30:54 +0200 (CEST) To: "pve-devel@lists.proxmox.com" Date: Thu, 11 Jul 2024 22:27:32 +0000 MIME-Version: 1.0 Message-ID: List-Id: Proxmox VE development discussion List-Post: From: "Blythe, Nathan F. - US via pve-devel" Precedence: list Cc: "Blythe, Nathan F. - US" X-Mailman-Version: 2.1.29 X-BeenThere: pve-devel@lists.proxmox.com List-Subscribe: , List-Unsubscribe: , List-Archive: Reply-To: Proxmox VE development discussion List-Help: Subject: [pve-devel] Interest in a file manager interface within pve-manager? Content-Type: multipart/mixed; boundary="===============4390769579423382587==" Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" --===============4390769579423382587== Content-Type: message/rfc822 Content-Disposition: inline Return-Path: X-Original-To: pve-devel@lists.proxmox.com Delivered-To: pve-devel@lists.proxmox.com Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 03240BFC1D for ; Fri, 12 Jul 2024 00:30:52 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id D3A4439A40 for ; Fri, 12 Jul 2024 00:30:51 +0200 (CEST) Received: from mailserver3b.caci.com (mail.caci.com [204.194.76.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Fri, 12 Jul 2024 00:30:49 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=caci.com; i=@caci.com; q=dns/txt; s=caci; t=1720737050; x=1752273050; h=from:to:subject:date:message-id:mime-version; bh=PXIWHrleSErjyHzHAu6+7gQ53voqDY7UTf6OQYzetDA=; b=usdwLHYKSgneWVvw1knyyHNU736mjzaxFQdvtvBdeYk7ZkX3ZYtxVSoT K/mrZc3dN2DkLbmNp7aIBfuIkVmZhpqYC9zDev8ZW853mDGleVJB5XloS HF+eArOTJeYraxRbSQiLx5R1pVSvYzKPx++ISYHEx2ep/yrdiiXYP3p1s IK+rCvdBI04w6azb8WYdax6jEm8SrCJo8uzY+AKw4sN9weryukpthJeDt tWSDEQiG9zTnfH6T2Q6lkhKuvLKcns8H1rCphkQWzCswVh4bB6hHrqNmv DFuT+wo7SoNW3FtQjk1RxvrTVlS2CQga4nNxQa1xSJ3sjeIS+W5z+sDMJ w==; X-CSE-ConnectionGUID: HJnUVP06SgKVdTVlFhCoLg== X-CSE-MsgGUID: lWZSMLrmT4OPA67KiGCuHw== X-ThreatScanner-Verdict: Negative X-IronPort-AV: E=Sophos;i="6.09,201,1716264000"; d="scan'208,217";a="17942455" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from cis-ex1901b.caci.com ([10.202.50.12]) by mailserver3b.caci.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 11 Jul 2024 18:27:37 -0400 Received: from cis-ex1901a.caci.com (10.201.50.19) by cis-ex1901b.caci.com (10.202.50.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.9; Thu, 11 Jul 2024 18:27:35 -0400 Received: from USG02-CY1-obe.outbound.protection.office365.us (10.201.132.44) by cis-ex1901a.caci.com (10.201.50.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.9 via Frontend Transport; Thu, 11 Jul 2024 18:27:35 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none; b=yQD1XL/6JnLVL35b/LlN958XvaK7KJP9zQYuC90aT2IstOaV9j58N45F57T5CTytpO1vGeHR7JDdGK9HVZ/TAu5qzqynJdIJjDwCCWnbeGDRV8RVKH+XYnfiQmnySC3ulPANWtWMdrwG2izha1uXFFdQ/swFw8zXq2Jjar6n0zsYbXGJr2aD0Vp00jrzRQpxeEPivX0nkyqkpRDYj7UYX1/r8fMxvKr/PM+ibBYedWFa9baJmBaN7ES+6b7nH86awLd4BcBkabssz7ugaI0Usmc/J+wvSLZS3xv1Q81NhAJfDxC4GjTvnv3CpmCibs24gJCprMLo/ieAsLxWqMOD4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector5401; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=xiLTnUNmBgB5CgU6YtmLKDhM8QoN3BZf6hNiVf7NrzY=; b=U+ZKSG/InhtWVnzk84LnzYfUsomB5nfl55zWvYwTCdOs2W3UZF7b+EI6D+R95jW2Vkf5b6TEH6pB9XvyY7GQ5hIUaAhqi52II/AoQMplRF6WHyLsvZdHc7tUbDM/sIjyRrpinIpNbJo7whGTKCC/ogaU8aDg2GIuEF1mMXH3yYe7u0m5YjLvJfLEmaGpgra2xg2RKPOHmZWoxEQ4JZvQlv60LGesK7gI5UhbdHnunHV1/UuvtUINm/nFWNFvRzEYEYwO+lVrrsICw/dMDtiLhrLXYySIoV9fJ6Sv+G3QOrnkKxuv/MVDeGVe88F/zUIc9NMRNnqcro7B56WNPDCB5g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=caci.com; dmarc=pass action=none header.from=caci.com; dkim=pass header.d=caci.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=caci.onmicrosoft.com; s=selector1-caci-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xiLTnUNmBgB5CgU6YtmLKDhM8QoN3BZf6hNiVf7NrzY=; b=CQ7uol/LBmKFPcbF8IHFeaYXGnzHLRCIS1mJKiRB5f1uffwx21Y/w5Il2WH5GJdxEZ0J9pZcsRFeq1wuIrTWUpDRXpa0wxgtl9O0zFMFNCsMmAvwQpbfTvtA0JWIELDuj1eziBIPfYtrSSaA+l13zvBicgsD/YVEkmEKUCIzeUQ= Received: from SN5P110MB0863.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:42a::11) by SN5P110MB0623.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:42a::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.39; Thu, 11 Jul 2024 22:27:33 +0000 Received: from SN5P110MB0863.NAMP110.PROD.OUTLOOK.COM ([fe80::99df:920f:6bf:f3b]) by SN5P110MB0863.NAMP110.PROD.OUTLOOK.COM ([fe80::99df:920f:6bf:f3b%7]) with mapi id 15.20.7633.021; Thu, 11 Jul 2024 22:27:32 +0000 From: "Blythe, Nathan F. - US" To: "pve-devel@lists.proxmox.com" Subject: Interest in a file manager interface within pve-manager? Thread-Topic: Interest in a file manager interface within pve-manager? Thread-Index: AdrT3RyTrQj8/aq7S1C3xa3rEK4xFA== Date: Thu, 11 Jul 2024 22:27:32 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=caci.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN5P110MB0863:EE_|SN5P110MB0623:EE_ x-ms-office365-filtering-correlation-id: 975e9305-d1d1-4e25-76e8-08dca1f8a86d x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?GeVMarGZGtarZV4xp9FXn1Nq2r4llzIabA96kFYrX0dHrE3HAOYsaDMhftlG?= =?us-ascii?Q?M2Bjkb2ZG1BkphDZgJa2uBxZbrzczRPG8dAYwCCik32ITimnNURP2X/TaE5W?= =?us-ascii?Q?cUeUSXDiSlNr8DpWsO6MgKMlxSByYObiFHJYe5uXUM9ddLb4riOezfUZxyc5?= =?us-ascii?Q?hnMtEwpYxIwc4qOK/AnDUAvsKr+taIMiKotGwgaaUn2JZ5n5WjAnH7t0lEy7?= =?us-ascii?Q?O0ICnxx5JIQinmx3QPEVbjtrIWHRebDoVpO/ovwb61N3090XGA1BMoiZOmfF?= =?us-ascii?Q?PG0g93ygB29/URbmi3mo1oFGsMsCChjLXQiNCUHfj7ZjMNI+6XP0swKRxINW?= =?us-ascii?Q?FPaX4ZmSfGee0VrEy/5LHy/PfPftc9j6Y33NkQBrx+Dqh2bzwXHX0iCdnoZx?= =?us-ascii?Q?64hIk19k64wjXBNssCtRchTomhThFngbSTJ1OwyncRA4341daZhF8ikWWji7?= =?us-ascii?Q?qQf9lQ9/sdVZdqbgnGOMMFWplCzxuqwLBelekxZNhAuTGBMXHeY3+jZSFH78?= =?us-ascii?Q?/DsnixZ5zKUhWCC6AedDRBzuBJLpbJalU0f/5bGJfZorUXpCSdf1kLY0Ef4c?= =?us-ascii?Q?4hZqpk+n6iuVQFXoKrvjjlqp3vGMwFYoLiOXV9jxx2iNZcabCP0HGiqzaATA?= =?us-ascii?Q?WRQ24A0tpy4lhCMixdWF9FuOc223j5Eu/V4P3Hj+EJeqoufs8us5SzYEEvz7?= =?us-ascii?Q?apzyeRZYgtq8G+tKFvGjeV8tpldws0DYLOZewMUzm9ba6goaQcgFtuL3LJL/?= =?us-ascii?Q?ZMFd/cnoDt59qRFjphn3HXZYaldJ9i48+u+8N26jWCZ5Af9fKVxX4lkOnd0n?= =?us-ascii?Q?5Ijpvbx/vyCA3Jg6y/tx859WXefyR/hRV6K9IuTWgHkb8ZZFtchejATtne/F?= =?us-ascii?Q?GBd3maagYu4Tsz1nItcoSzmHSfZYEUtwtwdVr+k2iiIN5X8Fhk0UFfLUSLvQ?= =?us-ascii?Q?JlPXOBwG2bcjevuJVD78h5RvQF8+X6/kAtf43yelLl8p/Pzi0YPWfGeLG7pV?= =?us-ascii?Q?4RCu3uLaV8x3NCwoHxNUPGoOjKgMHuaneAXUxNnHDFsfC5XihlDjX/a1IEXj?= =?us-ascii?Q?U5l9N/OehMULHYe6TRMwBvX/PVgmTUGdtcJqZYgdIf+5uvw0gVZGayTt3TQC?= =?us-ascii?Q?UAh/Uex4heRJ2EHNwZ23HwOjrO5jhK/zUfGc/8IC+Fp9MYxkQzPSsKHyH7oe?= =?us-ascii?Q?Wc1tDfqrPIEOIc9+SNg6MeSlD9usFwG0w6WMRy9kNZuXbq1FPEqqV3sbe5lu?= =?us-ascii?Q?qh2HkYZer0KzkS2qQoJAOTT6lvNe5IYKIevgFcFgzcMbnMB+pHeStqazlodo?= =?us-ascii?Q?KxCHKP5FMGwrWyErzuXdv5upK9wbmcwJ6jyfafPSorI/1f3b/y+RwIkGNaGK?= =?us-ascii?Q?JD9sjiFl8OfmhNDiR5NdMyQJKy6aoJLy3h2Dmd/TgREXoxQUaQ=3D=3D?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN5P110MB0863.NAMP110.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?t8rbfgHiuqum0862nxMMKBBc3ThHGa2PnJAKW5CYy8Pe8CAubolrETLU6e1J?= =?us-ascii?Q?aUDThzWUJlEI8gWlq9ykWzGppeI+cYaiyNxWlm1fd6o+v9B9xORaXj3gIpl1?= =?us-ascii?Q?eUDgxH3WAOG2Rxeg95u96PCUJpw/krZCEb30mI0OeSR1lVajtCzgvdtP48Mn?= =?us-ascii?Q?I6d5mEGttnecwn9kb+SIJJn3Yr+aukXB9VF0Y2rTSZ936GN3MMyyorSjqdSB?= =?us-ascii?Q?RMVY3/IlJgAZEAYI4Ql8RsR4GwLfc5GhVcACxIWag0KoHTUn6WrNzwdtQZ2i?= =?us-ascii?Q?lI4WlghAw2logHHuxcYkAfrisOJrhQHzogMpvGYdjmC9ny/bFw5AGV+Q/quK?= =?us-ascii?Q?H5bqV6rLSfVcppy//dR6j1RFolWi983QDQ3sTfBme3gWhs39lgWjJKDSBgMK?= =?us-ascii?Q?a+lcX9fw7fIpgiHVvChK8EwO26Jpj2yXWWAv7N3eARKLB84RULuvv2fkQRtJ?= =?us-ascii?Q?VXt+ERLpclDoluorL9RjQ/qbV9bjcZt69acbGWlFM1kvk9NCP0o5SpzjiKei?= =?us-ascii?Q?ORimYxJTW1fzgMDnph1ZVnBJR34HG3iPvXsZyPMt7+GFRKQ35EKl6PwbZfB0?= =?us-ascii?Q?fpXNWzZJpNb2BeQCw7bL+CaX8/Ncw86dVs+v6LSTxqoaJ74ogxlm2qU2RlUO?= =?us-ascii?Q?KO05ftOBFvjs+M6G7jmQTL+FmU3TzVNxEN28vZTbc0i92bAYhPiwGUYylP/O?= =?us-ascii?Q?pymzvdLFYGjyge3s1T/Zr07jTba4K0CBaG3CLBGfWMce+dwLAuCkzmqQtjYJ?= =?us-ascii?Q?tMbSc5npqkcTUdwO5jd/OiEuI2zfTvBp9i1fTJU3HZ0DA9lNQvMGEU6Gb4N5?= =?us-ascii?Q?7IrT8XNSXl+BBJvQP4eXCUwPO25EjwTXPSdD/gube0KxcAZjbC9XuYZ5pp9F?= =?us-ascii?Q?9FL84MK87m74jz+rAFzZh53oHXMlku7JgOHL8aRmV836nJk6KqmFtJD+Lrde?= =?us-ascii?Q?rFFmdVT9Mnea4fzQSsNRM4ln7csKihLh4Uu9UG7Pn6TqE96MjaXlpizwr/sm?= =?us-ascii?Q?Kakm8cEITAycNXnbAqdkxCkh6tWlk9ux4Db4QaqKr0Ycn+nr5ZStdU46uawi?= =?us-ascii?Q?UbnJd7fzWGLNumejKSkDSRg1YW4WI2Q4HnWKyGoNns9JX/72VkHCX+67YLrQ?= =?us-ascii?Q?CMb8//6hRluCs5XdceO1DTt2ZzfT0TK1YZbB4Gra8EK+Q9WXQIbjEZukIw3R?= =?us-ascii?Q?6LdyAXzbMCOYdyrwyj+V4OcNIYxdUdDIerLVJuCCYXC28WKRumRbDfX6b3yo?= =?us-ascii?Q?lUwLtyIS+/Itct8EK6unxug2JotSRV9ELxyLjCKhx2njsFLfXbA2mce/9fNb?= =?us-ascii?Q?Ln19hAtYsbGODl2QzQDGxrYJat82P1wl+eaJbOPDJqZBGu2KTriBmYzbPO8G?= =?us-ascii?Q?B++8IWu5zF+GDkKRa6FdqQ3/I/oilsufh/N5gWpQlQ3MVoXaQAThzVecJ1J6?= =?us-ascii?Q?v/LSd54eybp8KVKZrIi0LaiZZjubboUSz0AOLey2uPZkBI4tXxjhSDJuSkSU?= =?us-ascii?Q?FnJpWN/iP7GuWh5dAivF9fdAYhqOuNj5sE+OxuFOOHBHla1zbHCWNfmeGxTA?= =?us-ascii?Q?l/DY7eHU/s4O4HfMQYU0yXzbuVMrzPEAkqNrtJD+?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN5P110MB0863.NAMP110.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 975e9305-d1d1-4e25-76e8-08dca1f8a86d X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jul 2024 22:27:32.8859 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 74cf14f4-38e0-460b-9d96-c0a51cb4a55c X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN5P110MB0623 X-OriginatorOrg: caci.com X-SPAM-LEVEL: Spam detection results: 1 ARC_SIGNED 0.001 Message has a ARC signature ARC_VALID 0.001 Message has a valid ARC signature AWL 0.699 Adjusted score from AWL reputation of From: address BAYES_50 0.8 Bayes spam probability is 40 to 60% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain DMARC_PASS -0.1 DMARC pass policy HTML_MESSAGE 0.001 HTML included in message SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Hello, We have a need for a non-network based (i.e. hypercall / out-of-band) file = browser for containers and VMs within the pve-manager web UI. I'd like to b= e able to select a VM or container, click "More", and choose "File manager"= and then browse the VM or container's file systems and upload or download = files from my local system, through the web-browser. For VMs (qemu), the qemu-guest-agent provides the ability to read/write gue= st files, and the pve API exposes it (with strict file size limits) as node= s->{node}->qemu->{vmid}->agent->file-*. Presumably, a web UI file manager w= ould use that API endpoint, plus maybe an enhancement for directory listing= and chunked upload/download (to support arbitrary size files). For containers (LXC), the pct application can read/write files by (I think)= mounting the container root file system on the host and touching it direct= ly. But there's no corresponding API endpoint. If there were, it could be u= sed by a future web UI file manager. So to implement this feature, I think there are 5 steps: 1. Enhance the qemu-guest-agent and qm to support reading directory stru= cture and creating directories. 2. Enhance the pve API to expose these new features like file-read and f= ile-write. 3. Enhance the pve API to support chunked file read and write, for large= files. Maybe also requiring an enhancement to the qemu-guest-agent? 4. Enhance the pve API to support chunked file read/write, whole file re= ad/write, and directory structure/creating directories (through direct file= system interaction on the host). 5. Write a JS front-end file manager, invokable from the Other menu, whi= ch uses these new/enhanced API endpoints to implement a general purpose out= -of-band file manager. Is there interest from the proxmox developers for something like this? If w= e started working on some of these items, would there be interest in accept= ing patches? Does my general approach look sound? (We also investigated using SPICE's folder-sharing capabilities and the spi= ce-proxy provided by the host, but that doesn't work with the Windows virt-= viewer client, only the Linux client. It looks like there was some interest= in the past in enhancing xterm.js to support xmodem file transfer, but it = didn't go far.) Regards, Nathan Blythe CACI ________________________________ This electronic message contains information from CACI International Inc or= subsidiary companies, which may be company sensitive, proprietary, privile= ged or otherwise protected from disclosure. The information is intended to = be used solely by the recipient(s) named above. If you are not an intended = recipient, be aware that any review, disclosure, copying, distribution or u= se of this transmission or its contents is prohibited. If you have received= this transmission in error, please notify the sender immediately. --===============4390769579423382587== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel --===============4390769579423382587==--