5 ms·
It's unfortunate that this had to happen, but the landscape around FTP is increasingly unexamined and part of a dead era. The effort required to build in robus
by trangus_1985 5y ago
It's unfortunate that this had to happen, but the landscape around FTP is increasingly unexamined and part of a dead era. The effort required to build in robust SFTP support as well as convert existing FTP users to it is non-trivial, and not within the charter of a modern web browser.
It's sad, but not surprising.
- tyingq 5y ago"not within the charter of a modern web browser" That barrier seems pretty porous these days. Being that you can access serial ports via JS, for example :)
- jrochkind1 5y agoHmmm... would it be possible to write an ftp client in browser JS? I think probably not.
- liketochill 5y agoI don’t program web sites or web browsers, but with wasm or web sockets can’t you make a web page that opens a connection and sends arbitrary binary data to another server without any http?
- notamy 5y ago> but with wasm or web sockets can’t you make a web page that opens a connection and sends arbitrary binary data to another server without any http? I can't speak to WASM, but websockets are literally just a layer over HTTP in some regards -- a websocket connection is initiated by sending an HTTP request with the Upgrade header.
- ForHackernews 5y agoYou watch, eventually everything be a layer over HTTPS[0], and 443 will be the only port. RIP Internet. [0] https://en.wikipedia.org/wiki/DNS_over_HTTPS https://en.wikipedia.org/wiki/DNS_over_HTTPS
- handrous 5y agoLast I checked you'd still be speaking HTTP (even if it's "WebSockets"), not raw TCP. Certainly there's no UDP support. You'd need a translating proxy of some kind.
- duskwuff 5y agoNo. WebSockets are a specific protocol tunneled over HTTP, not raw sockets, and WASM doesn't expose any functionality which wasn't already available to JS.
- liketochill 5y agoWebrtc?
- tyingq 5y agoYou could make something similar to FTP with that, but it wouldn't be interoperable. Web browsers just don't expose a generic socket api where you can specify ports, bind(), listen(), accept(), connect(), and so on. So you can't make generic socket clients or servers. XHR, websockets, webrtc, and so on might be able to connect to a specific port, but they send things that would cause errors, and can't send/receive arbitrarily crafted sequences of data.
- johannes1234321 5y agoYes, you can build an FTP client in JavaScript. However the browser won't let you escape the sandbox and open an arbitrary port ... but on Node.js or FirefoxOS (haha) there shouldn't be a problem, except weirdness in standard interpretation :)