Apply file transfer restrictions to the integrated browser
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 48/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- typescript, vscode
Rechercherichtung
Beginne damit, die bestehende Handhabung der Einschränkung von Dateiübertragungen und den integrierten Browser-Einstiegspunkt in der code-server-Oberfläche zu lokalisieren. Verfolge, wie Browser-Uploads und -Downloads den lokalen Client beziehungsweise den Remote-Server erreichen, und überprüfe anschließend, dass Übertragungen, die diese Grenze überschreiten, blockiert werden, während nur auf dem Server ausgeführte Vorgänge weiterhin erlaubt sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
What is your suggestion?
I would like code-server to apply the same file transfer restrictions to the integrated browser available directly inside the VS Code/code-server interface.
Today, code-server can restrict actions such as drag-and-drop, file download, and file upload between the user's local machine and the remote code-server environment. However, the integrated browser inside the interface should also respect these restrictions.
If file transfer is disabled, the integrated browser should not allow users to bypass the restriction by downloading files to their local machine or uploading files from their local machine.
However, the browser should still be allowed to download or upload files only within the remote server environment. For example:
- downloading a file from a website should be allowed only if the destination is a folder on the remote server;
- uploading a file should be allowed only if the file comes from the remote server filesystem;
- uploading or downloading directly between the integrated browser and the local client machine should remain blocked when file transfer restrictions are enabled.
In short, the restriction should prevent transfers outside of the server, but should still allow file operations that stay entirely inside the server environment.
Why do you want this feature?
This would improve security and make file transfer restrictions consistent across the whole code-server interface.
In managed or restricted environments, administrators may disable drag-and-drop, file downloads, and file uploads to prevent data from being moved between the remote server and the local user device.
If the integrated browser can still upload files from the local machine or download files to the local machine, users may be able to bypass these restrictions. This weakens the security model and makes the existing restrictions less effective.
The expected behavior would be:
- local machine to server transfer: blocked when upload is disabled;
- server to local machine transfer: blocked when download is disabled;
- server-only file operations through the integrated browser: allowed.
This would be useful for enterprise, education, sandbox, and controlled development environments where administrators need strong control over data movement.
Are there any workarounds to get this functionality today?
There does not seem to be a clean native workaround today.
Possible workarounds may include disabling the integrated browser entirely, using proxy or network-level restrictions, or maintaining custom patches, but these approaches are not ideal. They can be difficult to maintain, may break legitimate workflows, and do not provide a clear policy-based way to enforce the same restrictions everywhere in code-server.
A native option would be much better because it would make the behavior predictable and consistent with the existing file transfer restrictions.
Are you interested in submitting a PR for this?
Not at the moment, but I would be happy to provide more details, test the behavior, or validate a proposed implementation in a restricted code-server environment.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 79.4k
- Forks
- 6.9k
- Ø Merge
- 2 T. 13 Std.
- Gemergte PRs (30 T.)
- 39
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus coder/code-server
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 92/100
coder/code-server#8017 · 2 Kommentare ·
-
Bump proxy-addr to 2.0.8 Offensecurity
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
coder/code-server#8013 · 4 Kommentare ·
-
enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
coder/code-server#7976 · 2 Kommentare ·
-
enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
coder/code-server#7962 · 3 Kommentare ·
-
bug needs-investigation
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
coder/code-server#7955 · 1 Kommentar ·
Alle Issues in coder/code-server
Ähnliche Issues
-
blocklist removal
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
MetaMask/eth-phishing-detect#296544 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
pastelsky/bundlephobia#1122 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
-
category/development priority/P2 scope/file-operations scope/testing type/enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Enatega Customer and Rider app: Add-ons price is not visible to customer after order is placed. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100