BrowserAutomationStudio 21.4.1 has been released
There are a several big changes in this version:
- The 'Proxy' action now not only changes the proxy, but also makes the proxy change look more natural.
- Working with main window (the black one) is now more intuitive and user friendly.
- Fixed one very unpleasant bug associated with the delayed release of memory when working with a single browser for a long time.
Let's look at each change in more detail.
Until recently, BAS prohibited any WebRTC ip requests. In this version, it changes the ip received from WebRTC to the external ip of the current proxy. This happens by default when using the 'Proxy' action, however, the new functionality can be disabled. Lets review details of implementation:
- Ip substitution occurs at the browser level, it is impossible to detect it via js.
- Different browsers may display information in SDP format, however it is slightly different. Substitution can be done through the replacement of the text, and this method can be detected by checking some details specific to the browser. BAS provides information exactly as Chrome does, without replacing text.
- Requests to any STUN server are denied. Even if you prohibit receiving information directly through js, but leave the browser an opportunity to make a request to the server, the real ip will not be known to the client, but it will be known to the server and if you configure several servers or several ports and associate the user with a specific server, you can get ip on the client side. BAS protects against this method.
There is a simple method to check if a site is trying to get your ip through WebRTC or not, just install Wireshark, set the 'stun' string in the filter field, and go to the site, which you want to check. If it uses WebRTC, requests will be displayed in the application window. Here is a video that demonstrates this: https://i.imgur.com/LwKQY7S.gifv
In the case of BAS, there will be no requests, even if ip will return.
Why not make requests to the STUN server through proxy?
Not all proxies supports the UPD protocol, although this is indicated in the specification. An example of such a proxy is https://i.imgur.com/ubKq7nZ.gifv In the future, BAS will check proxies for this feature, but now all requests to the STUN server are prohibited.
As you can see that current WebRTC replacement implementation is not ideal but it is close enough to it.
In addition, the action 'Proxy' is now also able to automatically change the geolocation and time zone of the browser.
Changing the time zone now also occurs at the browser level - absolutely all dates that the browser returns now have a time zone exactly the same as that timezone of proxy.
BAS has learned how to correctly return the modified date, taking into account DST.
These values are also replaced when using the 'Proxy' action, you can verify this by accessing previous page from BAS.
Finally, it could happen that the ip that you use to access the proxy does not match its external ip, in such cases BAS will receive an external ip through the ip.bablosoft.com service. Unfortunately, there is no way to get an address without a network request. The service should work stably at 20k requests per second. This can be disabled.
A lot of attention in the new update was paid to the usability of the main window.
For items whose value may not be completely clear, hints have appeared.
Many convenient details were implemented: the list of recent projects is now always on the main panel, the path to the current project can be copied, all icons are replaced with those that look better with a small size of elements, the icons of running browsers are changed.
Added the ability to quickly share projects - open a project from link and upload to Google Drive.
Updated project compilation window, it has become more intuitive and integrated with the cloud. Now the project can be updated / created directly from BAS, it is possible avoid creating an archive during compilation.
A lot of time was spent searching to fix the bug with the delayed memory release. The bug exists all the time throughout the life of the project and manifested itself only when several browsers worked 10 or more hours without restarting. Memory consumption increased by about 5-10 mb per hour, after a few days of continuous work, the project becomes unusable. The error was related to the Qt library, a method was found to work around this bug.
I hope that you will enjoy the new version and it will be useful!
Allister last edited by
I am extremely impressed by this update good sir. You are one talented genius. Thank you!
peellpeell last edited by
There is a problem setting the WebRTC ip. Everytime the "Proxy" is replaced in the middle of a script or if you are using "rotation proxy" the ip webterc is set to "default" by the first one to be used, so if you are running an application and need to switch " proxy "10 times, the first application of the proxy will be compatible WebRTC IP, but the other 9 proxy changes will" load / carry "the first Ip as WebRTC and this does not change, even using actions like" clear cache "" clean mask "nothing changes the WebRTC Ip after it is set at the beginning of the script.