Chromium WebGadget v4
Re: Chromium WebGadget
Updated:
- improved \Standalone Examples\CDP_ISAPI_DLL.pb
Included the option to take a full-page screenshot or a viewport screenshot.
If it's not already evident, the extension is a DLL with the same functionality as the Chromium WebGadget and the standalone CDP Tool.
Screenshot of an iPhone displaying the updated ISAPI extension.
- improved \Standalone Examples\CDP_ISAPI_DLL.pb
Included the option to take a full-page screenshot or a viewport screenshot.
If it's not already evident, the extension is a DLL with the same functionality as the Chromium WebGadget and the standalone CDP Tool.
Screenshot of an iPhone displaying the updated ISAPI extension.
Last edited by JHPJHP on Fri Mar 24, 2023 8:49 pm, edited 4 times in total.
Re: Chromium WebGadget
Ever It's hard to me to follow some of your examples maybe because my english language is not good
I think an explication of a real-life example of use would be good
I think an explication of a real-life example of use would be good
Re: Chromium WebGadget
Hi Caronte3D,
Thank you for your question.
- everything is centered around the Chrome DevTools Protocol which includes JavaScript support
Chromium WebGadget: Much like the current PureBasic WebGadget, but (opinion) 100x more powerful.
- the only requirement is either having Chromium Edge or Google Chrome installed
- real world examples were already provided, including examples to test capabilities
CDP Standalone Tool: Most of what you can program using the Chromium WebGadget can also be applied against a local browser.
- includes running a browser in headless mode with full access to the Chrome DevTools Protocol
- currently seven browsers are supported, but more can be added upon request
ISAPI Extension: Allows control of the Chromium WebGadget or local browser (headless supported) from a remote device (i.e., smart phone).
- the administrative uses are only limited by the imagination; (again) see the Chrome DevTools Protocol for capabilities
Sorry I didn't provide you with a list of individual uses, but it's a WebGadget on steroids, there are (opinion) a million plus uses.
Thank you for your question.
Are you referring to the framework as a whole, or one of its many uses?Caronte3D wrote:Ever It's hard to me to follow some of your examples maybe because my english language is not good
I think an explication of a real-life example of use would be good
- everything is centered around the Chrome DevTools Protocol which includes JavaScript support
Chromium WebGadget: Much like the current PureBasic WebGadget, but (opinion) 100x more powerful.
- the only requirement is either having Chromium Edge or Google Chrome installed
- real world examples were already provided, including examples to test capabilities
CDP Standalone Tool: Most of what you can program using the Chromium WebGadget can also be applied against a local browser.
- includes running a browser in headless mode with full access to the Chrome DevTools Protocol
- currently seven browsers are supported, but more can be added upon request
ISAPI Extension: Allows control of the Chromium WebGadget or local browser (headless supported) from a remote device (i.e., smart phone).
- the administrative uses are only limited by the imagination; (again) see the Chrome DevTools Protocol for capabilities
Sorry I didn't provide you with a list of individual uses, but it's a WebGadget on steroids, there are (opinion) a million plus uses.
Re: Chromium WebGadget
Yeah! I already know It's like WebGadget but better
But...
I could do arbitrary things on a remote computer from a web browser?
Example: I could navigate to the IP of a VPS and do some search on a database and return the results?
In other words... it´s a client/server thing?
But...
I could do arbitrary things on a remote computer from a web browser?
Example: I could navigate to the IP of a VPS and do some search on a database and return the results?
In other words... it´s a client/server thing?
Re: Chromium WebGadget
Hi Caronte3D,
So, we're only talking about the ISAPI extension; sorry, it wasn't clear from your first post.
TBH, I'm finding your recent question just as vague, but let me error on the side of caution.
Whatever the Chromium WebGadget Framework can do locally, can be initiated remotely and the results returned to the remote device.
1. Commands (JSON text) are sent from a client (remote device) to the IIS server through an ISAPI extension.
2. The IIS server through the ISAPI extension makes a WebSocket connection to the local browser executing the sent commands.
3. The results (JSON text) are passed from the browsers WebSocket connection, through the ISAPI extension, back to the client.
So, we're only talking about the ISAPI extension; sorry, it wasn't clear from your first post.
TBH, I'm finding your recent question just as vague, but let me error on the side of caution.
No, it cannot do arbitrary things on a remote computer, and unless there is a web interface to the VPS and database, it cannot do that either.Caronte3D wrote:I could do arbitrary things on a remote computer from a web browser?
Example: I could navigate to the IP of a VPS and do some search on a database and return the results?
Whatever the Chromium WebGadget Framework can do locally, can be initiated remotely and the results returned to the remote device.
1. Commands (JSON text) are sent from a client (remote device) to the IIS server through an ISAPI extension.
2. The IIS server through the ISAPI extension makes a WebSocket connection to the local browser executing the sent commands.
3. The results (JSON text) are passed from the browsers WebSocket connection, through the ISAPI extension, back to the client.
Last edited by JHPJHP on Fri Oct 14, 2022 3:53 pm, edited 1 time in total.
Re: Chromium WebGadget
Oh! Ok, ok, now I understand.
Thanks for your explanation
Thanks for your explanation
Re: Chromium WebGadget
Updated:
- framework name changes
- stability enhancements
Framework Name Changes
Previously: CB_WebGadget (Chromium Browser WebGadget)
Currently: Cr_WebGadget (Chromium WebGadget)
Cr: Symbol for the Chromium element found in the Periodic Table of Elements.
NOTE
In addition, there were numerous variable name changes to match the current standard.
Previous projects will need to be updated in order to use the current framework.
Stability Enhancements (CDP_ISAPI_DLL.pb)
If you ever worked with an ISAPI extension you know how the smallest discrepancy can cause a page error.
Added auto-scaling to the base64 screenshot; based on numerous tests capturing various size webpages.
- framework name changes
- stability enhancements
Framework Name Changes
Previously: CB_WebGadget (Chromium Browser WebGadget)
Currently: Cr_WebGadget (Chromium WebGadget)
Cr: Symbol for the Chromium element found in the Periodic Table of Elements.
NOTE
In addition, there were numerous variable name changes to match the current standard.
Previous projects will need to be updated in order to use the current framework.
Stability Enhancements (CDP_ISAPI_DLL.pb)
If you ever worked with an ISAPI extension you know how the smallest discrepancy can cause a page error.
Added auto-scaling to the base64 screenshot; based on numerous tests capturing various size webpages.
Re: Chromium WebGadget
Updated:
- improved HTML for better device compatibility
- compressed ISAPI images (webp) for faster loading
- added \Standalone Examples\CDP Sources\isapi\references\readme.txt
NB*: The ISAPI example was written as a template to create your own extension to the Chromium WebGadget framework.
The following ISAPI example (DLL) has been included with FREE STUFF
- \Standalone Examples\CDP Sources\isapi\binaries\
- improved HTML for better device compatibility
- compressed ISAPI images (webp) for faster loading
- added \Standalone Examples\CDP Sources\isapi\references\readme.txt
NB*: The ISAPI example was written as a template to create your own extension to the Chromium WebGadget framework.
The following ISAPI example (DLL) has been included with FREE STUFF
- \Standalone Examples\CDP Sources\isapi\binaries\
Last edited by JHPJHP on Fri Mar 24, 2023 8:52 pm, edited 2 times in total.
Re: Chromium WebGadget
Updated:
- added three template examples
Template Examples
- CDP_Standalone.pb: Take a full-page screenshot of a Chromium browser or Cr WebGadget
- CrWG_DevTools.pb: Simple browser with Navigate, Back, Forward, Refresh and Home buttons
- CrWG_General.pb: Simple video player (less than 30 lines of code)
NB*: It would be fairly easy to write an ISAPI extension, accessible from a smart phone, to control most browsers video players remotely.
- added three template examples
Template Examples
- CDP_Standalone.pb: Take a full-page screenshot of a Chromium browser or Cr WebGadget
- CrWG_DevTools.pb: Simple browser with Navigate, Back, Forward, Refresh and Home buttons
- CrWG_General.pb: Simple video player (less than 30 lines of code)
NB*: It would be fairly easy to write an ISAPI extension, accessible from a smart phone, to control most browsers video players remotely.
Re: Chromium WebGadget
Updated:
- added another ISAPI example
Previously, I wrote how easy it would be to create an ISAPI extension to control a browsers video player remotely from your smart phone.
Because most video players use the same HTML5 video element, the extension works for most websites (YouTube, Vimeo, Tubi, etc.).
Features
1. Video Filter populated from an SQLite database.
2. Video Selection populated from an SQLite database.
3. Browser Navigation initiated from Video Selection.
4. Play, Pause, Seek, Volume and Fullscreen buttons.
NOTE: The Play button can also be used to Skip Ads in YouTube.
- added another ISAPI example
Previously, I wrote how easy it would be to create an ISAPI extension to control a browsers video player remotely from your smart phone.
Because most video players use the same HTML5 video element, the extension works for most websites (YouTube, Vimeo, Tubi, etc.).
Features
1. Video Filter populated from an SQLite database.
2. Video Selection populated from an SQLite database.
3. Browser Navigation initiated from Video Selection.
4. Play, Pause, Seek, Volume and Fullscreen buttons.
NOTE: The Play button can also be used to Skip Ads in YouTube.
Last edited by JHPJHP on Fri Oct 28, 2022 5:36 pm, edited 8 times in total.
Re: Chromium WebGadget
Wow, you go a long way.
I didn't take the time to play with it but it looks like an awesome Chromium Gadget.
Thanks for sharing in your PureBasic Stuff, Rogers!
I didn't take the time to play with it but it looks like an awesome Chromium Gadget.
Thanks for sharing in your PureBasic Stuff, Rogers!
Re: Chromium WebGadget
Hi ChrisR,
Thank you for your post, it's always nice to receive a positive comment.
---------------------------------------
Updated (ISAPI remote example):
- added seek buttons
- added volume buttons
- updated icons
- improved layout
- optimized code
Thank you for your post, it's always nice to receive a positive comment.
---------------------------------------
Updated (ISAPI remote example):
- added seek buttons
- added volume buttons
- updated icons
- improved layout
- optimized code
Last edited by JHPJHP on Sun Oct 30, 2022 2:27 am, edited 2 times in total.
Re: Chromium WebGadget
Updated (ISAPI examples):
- stability improvements
- squashed a couple bugs
- included DebugView.zip
Thanks to an excellent tip from freak I was able to track down and fix an intermittent bug using the suggested tool.
- stability improvements
- squashed a couple bugs
- included DebugView.zip
Thanks to an excellent tip from freak I was able to track down and fix an intermittent bug using the suggested tool.
Last edited by JHPJHP on Sun Oct 30, 2022 2:28 am, edited 1 time in total.
Re: Chromium WebGadget
Updated:
- Progressive Web App (PWA)
- added startup image
- added Skip Ads button (YouTube only)
- added Closed Captions button (YouTube only)
With the use of a manifest file and some iPhone specific meta tags, the example now best emulates an iPhone app.
Essentially this is an iPhone app written in PureBasic, but with the added functionality of working on any device with a browser.
NB*: Android and Windows specific meta tags were included but have not been tested.
- Progressive Web App (PWA)
- added startup image
- added Skip Ads button (YouTube only)
- added Closed Captions button (YouTube only)
With the use of a manifest file and some iPhone specific meta tags, the example now best emulates an iPhone app.
Essentially this is an iPhone app written in PureBasic, but with the added functionality of working on any device with a browser.
NB*: Android and Windows specific meta tags were included but have not been tested.
Last edited by JHPJHP on Fri Mar 24, 2023 8:47 pm, edited 1 time in total.
Re: Chromium WebGadget
Updated:
- added IP Address field to CDP_Control_Panel.pb
- added IP Address field to CDP_ISAPI_Capture_DLL.pb
- numerous improvements to CDP_ISAPI_Video_DLL.pb
CDP Control Panel / CDP ISAPI Capture DLL
When a browser is run in headless mode a WebSocket connection can now be made from any IP address within the local network.
Demonstration
1. Run CDP_Control_Panel.pb.
2. Select "Enable Headless Browser Mode" checkbox.
3. Press the [ > ] button to select a browser.
4. Open a browser on another device.
5. Enter [local IP address]:9222\json
Closing Headless Browser
6. Press the [+] button to make the Port connection.
7. Press the Connect DevTools button.
8. Closing CDP Control Panel will also close the Headless Browser.
- added IP Address field to CDP_Control_Panel.pb
- added IP Address field to CDP_ISAPI_Capture_DLL.pb
- numerous improvements to CDP_ISAPI_Video_DLL.pb
CDP Control Panel / CDP ISAPI Capture DLL
When a browser is run in headless mode a WebSocket connection can now be made from any IP address within the local network.
Demonstration
1. Run CDP_Control_Panel.pb.
2. Select "Enable Headless Browser Mode" checkbox.
3. Press the [ > ] button to select a browser.
4. Open a browser on another device.
5. Enter [local IP address]:9222\json
Closing Headless Browser
6. Press the [+] button to make the Port connection.
7. Press the Connect DevTools button.
8. Closing CDP Control Panel will also close the Headless Browser.
Last edited by JHPJHP on Thu Nov 17, 2022 4:37 pm, edited 1 time in total.