Comments (12)
That's a great idea. Chrome extensions can make direct network connections so no proxy/websockify would be needed. I authorize you to fork noVNC and make it so ;-) I.e. I will probably get around to someday because it's definitely worthwhile, but if you want it any time soon then go for it.
from novnc.
i wish i had time but heavily into other projects at the moment. Please someone else take the ball and run with it.
from novnc.
So I was searching around today and realized that Chrome extensions cannot create raw socket connections. Extensions can create WebSocket connections just like normal JavaScript. Even NaCl is restricted to WebSockets based connections.
There is some discussion about either raw socket ability of a built-in WebSocket to socket proxy to support SSH connections in Chrome OS: http://code.google.com/p/chromium-os/issues/detail?id=9668
Anyways, until that changes, there isn't much point in going down this road, unfortunately, so I'm closing the issue. If you hear any solid information that this may change please re-open the issue.
from novnc.
And we're back. Chrome just added a API for extensions that allows arbitrary socket connection using a WebSockets to socket proxy that has base64 encoded data. Sounds familiar somehow ;-)
http://src.chromium.org/viewvc/chrome?view=rev&revision=85757
from novnc.
The API for WebSockets to socket proxy is Chrome OS only. However, there is active work happening to allow direct socket connections from chrome extensions. It's not functional yet, but I expect it will be in the next few weeks.
- This blog posts mentions the ongoing work in the second paragraph: http://peter.sh/2011/12/reverse-flexible-rows-and-columns-socket-api-and-panels/
- Here is a recent commit that introduces the (non-functional) API: http://src.chromium.org/viewvc/chrome?view=rev&revision=111800
- Here is the API documentation: http://code.google.com/chrome/extensions/trunk/experimental.socket.html
Anyways, good news for being able to run noVNC in Chrome and being able to connect directly to standard VNC servers. Note that libvncserver now includes WebSocket support (actually bundles noVNC too) and this is possible for other VNC servers as well.
from novnc.
Just FYI, this isn't experimental anymore since Chrome 24:
http://developer.chrome.com/apps/socket.html
http://developer.chrome.com/apps/app_network.html
from novnc.
Here is an gist of an old patch for creating noVNC as a Chrome packaged app that uses Chrome raw sockets: https://gist.github.com/kanaka/7370898 It's out of date and needs some cleanup to apply to master, and but it worked (mostly) against an old version of the tree.
from novnc.
Here is the Firefox OS API docs for TCP Sockets: https://developer.mozilla.org/en-US/docs/WebAPI/TCP_Socket
from novnc.
One more bit of information. The W3C has an active proposal for bringing some standardization to the Raw socket API for installed web applications: http://www.w3.org/2012/sysapps/raw-sockets/
from novnc.
Hosting a HTTP server in a Chrome extension, inception? This brings so many possibility's for communicating with existing systems
from novnc.
@kanaka's W3C link died, this seems to be the latest version: https://www.w3.org/TR/tcp-udp-sockets/ (the group has closed down though according to https://www.w3.org/2012/sysapps/).
Firefox OS has also been retired, its API docs are also no longer relevant.
Chrome apps are also being removed.
With that in mind, I guess that this issue can no longer be solved and it is better to close it?
from novnc.
It sure looks like it, thanks for the research.
from novnc.
Related Issues (20)
- Support running via `npx` HOT 1
- When I introduced Novnc in Vue, it got stuck when deployed to the server HOT 1
- Oculus Quest compatibility/Keyboard not shown/Enter+Del not working HOT 19
- Virtual keyboard button is not always shown when needed HOT 1
- fail to install using npm i HOT 1
- Autoconnect with Password doesn't work HOT 7
- Windows 11 targets do not respect resizeSession HOT 2
- Korean characters are not displayed properly HOT 1
- How to integrate noVNC in Angular 16 HOT 1
- Colour Problem HOT 1
- In the 2012 version of novnc.js, using the numeric keyboard to input "*" results in "8",and "+"results in "="; HOT 2
- Weston VNC server (neatvnc) HOT 1
- Colour Problem HOT 4
- Rewrite page title using 'title' query parameter HOT 2
- There seems an issue while max browser and shrink browser window HOT 3
- How can I run noVNC without frontend / webpack server HOT 2
- Important requirement: Adding configurable frontend base URL. HOT 1
- JS noVNC library not working with React.js HOT 1
- Failed to start WebSockets proxy HOT 1
- Add spice protocol HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from novnc.