Jump to content
UBot Underground

[Sell] - Ubot Comminication Plugin - Browser Control (Pro) Use Chrome / Ff Etc - Run Code On / Control External Bots, Web Server Control (Pro) + More


Recommended Posts

How to do load cookies?? I just tried but didn't work .... 

Here what I doing : use CBrowser to login youtube and save CBrowser cookies... then load the cookies saved, and navigate to CBrowser but i got the youtube is not logged in... Please if you've an example ... 

 

You need to navigate to the webpage first then load cookies then navigate to it again.

  • Like 1
Link to post
Share on other sites
  • Replies 440
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

>>Quick Update<<   A Team of 3 advanced Ubot Developers have taken over the project. We purchased the source code and full rights to it. We are now analyzing the source code and looking t

The first 5 tutorial videos are available (FREE)   http://www.bot-factory.com/downloads/communication-plugin-tutorials I cover a lot of the basics first. But we will move into more complex things as w

Version 2.9.7.2 Fixed: HTTP proxy authentication with Chrome   Update is now available on JVZOO It was allot of work to release this update and also would like to thank everyone for there patience an

Posted Images

Hey guys, looks like this PI could solve some issues Im having but would just like to ask a couple of things to see if I could adapt a current project to make use of this. Excuse the drawn out explanation but I want to be sure this will work before buying and starting to rewrite what Ive done already........

I have a multithreaded bot using thread > in new browser to spawn say a max of 10 instances of browser which all run the same code running through a series of commands. Some instances will finish quickly 1-3 secs as the initial check will show theres nothing to be done while some will take up to a few mins as each code sequence runs stuff, loops waiting for the scraped html then finishes or continues on depending on the results scraped and so on.

As the code runs it it updates a global list outside the thread with certain key info on whats happend and the final result before the thread closes so when say 100k instances are done I can go back and trace exactly whats happened in each thread any if any didnt work, why.

Long story short with the current setup..... Im getting data integrity issues between threads, threads will go off on the wrong course because UB seems not to preserving data intergirty within each thread and trying to debug is a nightmare as I cant even be 100% sure about the debugging info as Im writing to files as this appears to be mixed up too.

So I want to eliminate the thread > in new browser and replace this with a loop where the loop spawns 10 browsers each running through the same code with each instance able to update a global list for the key info and final result for that instance once completed.

I dont want to use the client server architecture with a server spawning 10 bots each with a single browser instance because although this seems perfect for data integrity, the time overhead loading a new client bot 100k times will be add up too much especially when some instances currently close as fast as 1-3 secs as theres nothing to be done.

So, it sounds like this would be something this PI can do even just by using the ability for one bot to spawn multiple independent browser instances with no need for the UB "thread > in new browser" with each browser instance updating a global list for the key info and final result of each of the 10 concurrent browser instances until all 100k instances have completed.

Now for the questions......

1. In the above scenario, if I have 10 browser instances each running code assiging values to the same named var, is data integrity preserved in each occurance of that same named var simply by merit of the fact each is in a truly isolated/seperate browser session?

2. If so, I assume all I would need to do then would be to "lock" the section of code that writes to the global list and that would ensure the 10 browser instances would still in the main run concurently and the only delay would be if/when the adding of the data list item to the global list was taking place if 2 or more  instances tried to add to list at the same time?

If you can confim/correct this I'd be very grateful :)

Link to post
Share on other sites

Now for the questions......

 

1. In the above scenario, if I have 10 browser instances each running code assiging values to the same named var, is data integrity preserved in that same occurance of the var simply by merit of the fact this is a truly isolated/seperate browser session?

 

2. If so, I assume all I would need to do then would be to "lock" the section of code that writes to the global list and that would ensure the 10 browser instances would still in the main run concurently and the only delay would be if/when the adding of the data list item to the global list was taking place if 2 instances tried to add to list at the same time?

 

If you can confim/correct this I'd be very grateful :)

1. The data integrity will not be protected by merely using the CBrowser commands. However using the lock commands that are provided with it will preserve the integrity of the data.

 

2. Exactly, "lock" the code that writes or read to and from the global list by placing it inside a lock command. The time delay be minimalistic at what you lose from locking a protected piece of code. Let's say adding to a list takes 2-3ms then all threads that are waiting have to wait 2-3ms but it assures data integrity. But most of the time they don't even have to wait it's just for those cases where it hit's the code simultaneously. Locking is just a part of threading, like fishes are part of the ocean. It's the only way to assure data integrity.

 

For a more in depth reading about what locks do and what they prevent you can check out this article from Microsoft's MSDN Magazine.

 

Link to post
Share on other sites

I guess this is the most important part of the article.
 

Races
Imagine a program that processes requests and has a global counter, totalRequests, that is incremented after every request is completed. As you can see, the code that does this for a sequential program is trivial:
totalRequests = totalRequests + 1
If, however, the program has multiple threads servicing requests and updating totalRequests, there is a problem. The compiler might compile the increment operation into the following machine code:
Consider what would happen if two threads ran this code simultaneously. As shown in Figure 4, both threads will load the same value for totalRequests, both will increment it, and both will store it back to totalRequests. At the end of that sequence two threads have processed a request; however, the value in totalRequests will only be one larger than it was previously. Clearly, this isn't what you want. Bugs like this, which occur because of bad timing between threads, are called races.

 

 

Locks
The most common way of preventing races is to use locks to prevent other threads from accessing memory associated with an invariant while it is broken. This removes the fourth condition I mentioned, thus making a race impossible.
Edited by diskwizz
Link to post
Share on other sites

2. Exactly, "lock" the code that writes or read to and from the global list by placing it inside a lock command. The time delay be minimalistic at what you lose from locking a protected piece of code. Let's say adding to a list takes 2-3ms then all threads that are waiting have to wait 2-3ms but it assures data integrity. But most of the time they don't even have to wait it's just for those cases where it hit's the code simultaneously.

Thats what I hoped, cool, thanks for that.

 

1. The data integrity will not be protected by merely using the CBrowser commands. However using the lock commands that are provided with it will preserve the integrity of the data.

So any #var assigments would also have to be locked for the entire required duration of the existance of that var or it will be overwritten by a different browser instance assigning a different value to that same named #var?

 

Ok just to 100% sure.....

 

What would happen if the value of 1 was assigned to #counter in browser 1, then 5 seconds later the value of 2 was assigned to #counter in browser 2 (assuming the assign code wasnt in a lock) then 3 seconds after that, the code in browser 1 added the value of #counter to a global list? (add to list code would be locked of course)

 

What would the value written by browser 1 be? 1 or 2?

Link to post
Share on other sites

Hey Wizz,

 

Do you think you can create more tutorials on the pro version?

I mean on how to play with the php files for us who dont know how to code in php..

Looks like these are the commands to control your bot by using a browser right?

That means we can control it on our mobile phone which is great!

I just need some guidance to this..

 

Thanks

Link to post
Share on other sites

Thats what I hoped, cool, thanks for that.

 

So any #var assigments would also have to be locked for the entire required duration of the existance of that var or it will be overwritten by a different browser instance assigning a different value to that same named #var?

 

Ok just to 100% sure.....

 

What would happen if the value of 1 was assigned to #counter in browser 1, then 5 seconds later the value of 2 was assigned to #counter in browser 2 (assuming the assign code wasnt in a lock) then 3 seconds after that, the code in browser 1 added the value of #counter to a global list? (add to list code would be locked of course)

 

What would the value written by browser 1 be? 1 or 2?

Whenever you read or write you to or from a global variable,list or table you have to contain it inside a lock container to keep the data integrity in tact.

Link to post
Share on other sites

Whenever you read or write you to or from a global variable,list or table you have to contain it inside a lock container to keep the data integrity in tact.

 

Yeah understand that about global but in this instance I am asking about local. The only global entity would be the list to write the value of the local var In the code.

 

#counter would be local so is it local to the browser instance? i.e. can #counter have its own unique values within the browser its running in?

 

 

Link to post
Share on other sites

Yeah understand that about global but in this instance I am asking about local. In the code the #counter would be local so is it local to the browser instance? i.e. can #counter have its own unique values within the browser its running in?

 

 

Locals are only local inside a define this is a behavior i can change or have any grip on that im sorry. But you can put your Cbrowser code inside a define and execute it everytime like a function.

 

We are just limited to the access Ubot gives us.

Link to post
Share on other sites

Yeah currently im still thinking how i should handle the cookies internally, for now you first have to load the page then load the cookies and refresh the page.

 

I'm working on solving this issue though, but this is the current work around for it.

 

 

You need to navigate to the webpage first then load cookies then navigate to it again.

 

I was do that... but didn't work

 

Edit : done ... work guys... sorry my mistake

Edited by awpramono
Link to post
Share on other sites

Hey Wizz,

 

Do you think you can create more tutorials on the pro version?

I mean on how to play with the php files for us who dont know how to code in php..

Looks like these are the commands to control your bot by using a browser right?

That means we can control it on our mobile phone which is great!

I just need some guidance to this..

 

Thanks

 

Hi Kreatus

 

We have documented the functions we supply in the pro plugin for php.  Teaching php is not really part of the scope of this plugin however keep an eye out for our latest how to tutorial we will be making soon.

 

Yes the commands are to talk to your bot via your webbrowser.

 

 

Jane

Link to post
Share on other sites

Hi Kreatus

 

We have documented the functions we supply in the pro plugin for php.  Teaching php is not really part of the scope of this plugin however keep an eye out for our latest how to tutorial we will be making soon.

 

Yes the commands are to talk to your bot via your webbrowser.

 

 

Jane

 

Not teaching php but show more information how it works and other useful examples.

Glad that you are considering more tutorials..

 

Thanks

Link to post
Share on other sites

Not teaching php but show more information how it works and other useful examples.

Glad that you are considering more tutorials..

 

Thanks

 

Its a class we wrote so php programmers will know how to use it already and there are too many example of its use for us to go into that realm really.  We are not teaching php.   but like i said please look out for the tutorial

Link to post
Share on other sites

I mean on external browser, could use that plugin?

Yes you can you can save the image to the disk with CBrowser Save Screenshot Element then upload it to your service of choice with that plugin.

Link to post
Share on other sites

diskwizz have you had time to look at the “Cbrowser  type text” as this is failing for me reasonably often meaning  I have to use run JavaScript for input commands.  And as far as I know you can’t send a carriage return with JavaScript so it has it restrictions.

Link to post
Share on other sites

diskwizz have you had time to look at the “Cbrowser  type text” as this is failing for me reasonably often meaning  I have to use run JavaScript for input commands.  And as far as I know you can’t send a carriage return with JavaScript so it has it restrictions.

Yeah that update will come in a few days as it requires some time to add that functionality. Most lickely somewhere before or during the weekend. As you've noticed i do most of my updates around that time.

 

I haven't forgotten about you ;)

Link to post
Share on other sites

How to remote bot on server (vps)? I've read this topic from beginning, but but it seems like the discussion about vps is truncated....

 

http://s7.postimg.org/fq9e3noxn/screenshot_312.jpg

 

true, but I can't send message ....

Link to post
Share on other sites

http://s7.postimg.org/fq9e3noxn/screenshot_312.jpg

 

true, but I can't send message ....

 

So your server is running on port 80. And you are not able to connect to that bot from your local machine?

That could mean different things:

 

1. There is a firewall running on your server that is blocking port 80

2. Port 80 is used by other stuff (Not sure if the plugin will show an

3. Some other networking TCP/IP related communication issues. Hard to tell without knowing your setup

 

Dan

Link to post
Share on other sites

How to remote bot on server (vps)? I've read this topic from beginning, but but it seems like the discussion about vps is truncated....

The only way to do it is to add your external ip, you can also try ip 0.0.0.0. If that doesnt work then you need to test out your network and see whats wronge, like Dan said above.

Edited by diskwizz
Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...