From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <pve-devel-bounces@lists.proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9])
	by lore.proxmox.com (Postfix) with ESMTPS id 83A901FF2DD
	for <inbox@lore.proxmox.com>; 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" <pve-devel@lists.proxmox.com>
Date: Thu, 11 Jul 2024 22:27:32 +0000
MIME-Version: 1.0
Message-ID: <mailman.421.1720737053.331.pve-devel@lists.proxmox.com>
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Post: <mailto:pve-devel@lists.proxmox.com>
From: "Blythe, Nathan F. - US via pve-devel" <pve-devel@lists.proxmox.com>
Precedence: list
Cc: "Blythe, Nathan F. - US" <nathaniel.blythe@caci.com>
X-Mailman-Version: 2.1.29
X-BeenThere: pve-devel@lists.proxmox.com
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=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" <pve-devel-bounces@lists.proxmox.com>

--===============4390769579423382587==
Content-Type: message/rfc822
Content-Disposition: inline

Return-Path: <prvs=9158b4c6c=nathaniel.blythe@caci.com>
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 <pve-devel@lists.proxmox.com>; 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 <pve-devel@lists.proxmox.com>; 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 <pve-devel@lists.proxmox.com>; 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" <nathaniel.blythe@caci.com>
To: "pve-devel@lists.proxmox.com" <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: <SN5P110MB08631CBC92535BADBE9076B8E1A5A@SN5P110MB0863.NAMP110.PROD.OUTLOOK.COM>
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==--