Simucal Posted February 9, 2008 Posted February 9, 2008 I have a program/script currently released and I'm interested in adding a function in it that will report to me how many people at any given time are using it. I was curious at how some of you might implement this. Do you think it (my script) should TCPConnect to a server I have setup here every x minutes and send some particular information.. and if my server doesn't receieve any info from any given person for x minutes then it will drop from the list? Ideally, I would like to be able to pull up a list and see who is using my program at any given time. I'm not asking for any code, just some thoughts about implementation. What would you guys consider the best method to do something like this? Thanks, Sim AutoIt Scripts:Aimbot: Proof of Concept - PixelSearching Aimbot with several search/autoshoot/lock-on techniques.Sliding Toolbar - Add a nice Sliding Toolbar to your next script. Click the link to see an animation of it in action!FontInfo UDF - Get list of system fonts, or search to see if a particular font is installed.Get Extended Property UDF - Retrieve a files extended properties (e.g., video/image dimensions, file version, bitrate of song/video, etc)
BrettF Posted February 9, 2008 Posted February 9, 2008 (edited) I have a program/script currently released and I'm interested in adding a function in it that will report to me how many people at any given time are using it.I was curious at how some of you might implement this. Do you think it (my script) should TCPConnect to a server I have setup here every x minutes and send some particular information.. and if my server doesn't receieve any info from any given person for x minutes then it will drop from the list? Ideally, I would like to be able to pull up a list and see who is using my program at any given time.I'm not asking for any code, just some thoughts about implementation. What would you guys consider the best method to do something like this?Thanks,SimMake sure you allow the user to say Yes! I want this, or no, f*** off. And make it very clear what is being sent. You should only send a key, say if you program was a sharware and requires a key to make the program fully active, you could send, the activation number and so on. Something like that would also be usefull for people who need to keep track of how many computers are using this lisence key for this program, and if it exceeds say 5 computers for their terms, disable the program and tell the user(s), you have void the terms etc. I'd be interested to see how you could do something like this. Edit: Also, don't record the customer's IP address. Edited February 9, 2008 by Bert Vist my blog!UDFs: Opens The Default Mail Client | _LoginBox | Convert Reg to AU3 | BASS.au3 (BASS.dll) (Includes various BASS Libraries) | MultiLang.au3 (Multi-Language GUIs!)Example Scripts: Computer Info Telnet Server | "Secure" HTTP Server (Based on Manadar's Server)Software: AAMP- Advanced AutoIt Media Player | WorldCam | AYTU - Youtube Uploader Tutorials: Learning to Script with AutoIt V3Projects (Hardware + AutoIt): ArduinoUseful Links: AutoIt 1-2-3 | The AutoIt Downloads Section: | SciTE4AutoIt3 Full Version!
Simucal Posted February 9, 2008 Author Posted February 9, 2008 Ok... anyone else? AutoIt Scripts:Aimbot: Proof of Concept - PixelSearching Aimbot with several search/autoshoot/lock-on techniques.Sliding Toolbar - Add a nice Sliding Toolbar to your next script. Click the link to see an animation of it in action!FontInfo UDF - Get list of system fonts, or search to see if a particular font is installed.Get Extended Property UDF - Retrieve a files extended properties (e.g., video/image dimensions, file version, bitrate of song/video, etc)
BrettF Posted February 9, 2008 Posted February 9, 2008 What you said was a good idea, and seems one of the only way's to go about this. Sorry if I rambled a bit... I myself cannot think of another way. Lets us know how you go! Vist my blog!UDFs: Opens The Default Mail Client | _LoginBox | Convert Reg to AU3 | BASS.au3 (BASS.dll) (Includes various BASS Libraries) | MultiLang.au3 (Multi-Language GUIs!)Example Scripts: Computer Info Telnet Server | "Secure" HTTP Server (Based on Manadar's Server)Software: AAMP- Advanced AutoIt Media Player | WorldCam | AYTU - Youtube Uploader Tutorials: Learning to Script with AutoIt V3Projects (Hardware + AutoIt): ArduinoUseful Links: AutoIt 1-2-3 | The AutoIt Downloads Section: | SciTE4AutoIt3 Full Version!
timgames Posted February 9, 2008 Posted February 9, 2008 What do you think about php? I am curently working on a program that uses serial keys etc. This is how i did it: first register to the website and then you get a e-mail with the serial you enter the serial and then you can use the program I use autoit, php and mysql But i am not sure if i will release it here Ps. sorry for my awesome English
PsaltyDS Posted February 9, 2008 Posted February 9, 2008 I'm with Bert: be sure to properly inform the user and get opt-in before doing such a thing. No matter how valuable your script was, slimy behavior on this would make me never trust your stuff again. With that permission, you could do as indicated and have it phone home every time, or perhaps gather usage statistics and send only 10/20/50/100th execution, or some such. Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law
Swift Posted February 9, 2008 Posted February 9, 2008 TimGames...that seems like a cool way to allow your program usage....Could you share it with me?
Uten Posted February 9, 2008 Posted February 9, 2008 Ideally, I would like to be able to pull up a list and see who is using my program at any given time.I think you should forget the big brother approach. Have a feature to check for updates. Do not post anything from the user, users machine or statistics about usage. The user should be able to turn of the feature. It will not give you exact numbers but probably close enough. Please keep your sig. small! Use the help file. Search the forum. Then ask unresolved questions :) Script plugin demo, Simple Trace udf, TrayMenuEx udf, IOChatter demo, freebasic multithreaded dll sample, PostMessage, Aspell, Code profiling
Simucal Posted February 9, 2008 Author Posted February 9, 2008 (edited) I think you should forget the big brother approach. Have a feature to check for updates. Do not post anything from the user, users machine or statistics about usage. The user should be able to turn of the feature. It will not give you exact numbers but probably close enough.I'm not trying to gather any personal (usuable at least) information from the user whatsoever. I also plan on telling them that my program reports anonymous usage information to me. They can then decide if they still want to use the script or not. My program has 660 regisistered users atm, but I'm really curious about how large the number of total users is when I take into account the people who never bothered to register/post.I was more looking for any other considerations into my approach (technical) rather than moralistic warnings about wether or not to do it. I've already decided to do it.One thing I considered was generating a unique hardware id for each user and encrypting that hardware id and sending me some sort of unique,encrypted,hash. Then I can keep a database of unique hash's and that will give me a rough estimate of the unique computers my script is installed on.Any other thoughts/ideas? Edited February 9, 2008 by Simucal AutoIt Scripts:Aimbot: Proof of Concept - PixelSearching Aimbot with several search/autoshoot/lock-on techniques.Sliding Toolbar - Add a nice Sliding Toolbar to your next script. Click the link to see an animation of it in action!FontInfo UDF - Get list of system fonts, or search to see if a particular font is installed.Get Extended Property UDF - Retrieve a files extended properties (e.g., video/image dimensions, file version, bitrate of song/video, etc)
kimurtus Posted February 10, 2008 Posted February 10, 2008 here is a logger i made a time ago, i never tested it out well, but it works greath , I think i think it could work 4 what u need #include <IE.au3> $siten = "http://www.mysite.com" $site = "http://www.mysite.com/test.php" ;"http://www.mysite.com/test.php?pass=admin" $logtype = "&host=" & "stuff" $compname = "&pc=" & @ComputerName $winuserr = "&user=" & @UserName $ip = "&ip=" & @IPAddress1 $infox = "&type=" & "stuff" $inf1 = "&name=" & "stuff" $filea0 = "&port=" & @ScriptDir $version= "&version=" & FileGetVersion (@ScriptFullPath) _logge() func _logge() $varl = Ping("www.google.com",1000) If $varl Then ConsoleWrite("Online, roundtrip was:" & $varl & @LF) $conectionstat = 1 Else ConsoleWrite ("offline No hacer nada"& @LF) $conectionstat = 0 EndIf if $conectionstat = 1 then $oIE = _IECreate ($siten, 0, 0, 1) sleep (1000) ConsoleWrite ($site&"?action=log" &$ip&$logtype&$compname&$winuserr&$infox&$inf1&$filea0&$version&@lf) _IENavigate ( $oIE, $site&"?action=log" &$ip&$logtype&$compname&$winuserr&$infox&$inf1&$filea0&$version, 1) ConsoleWrite (@Error&@lf) sleep (1000) _IEQuit ($oIE) EndIf EndFunc the php script, i dont remember where i got it, by the way i tried with RAlogger wich is a cgi logger script but it didnt work as well as this one. upload the php script with a clean txt file named log.txt or chance options in php script expandcollapse popup<?php $view_pass = "admin"; $length = 100; $ctrl_file = "log.txt"; if ($_GET["action"]) $action = $_GET["action"]; $datatime = date("H:i:s m/d/y"); if ($action == "log"){ echo "FUCK"; $daip = $_GET["ip"]."/".$_SERVER["REMOTE_ADDR"]; $n_file_arry = array(); $type = $_GET["type"]; $host = $_GET["host"]; $port = $_GET["port"]; $name = $_GET["name"]; $pc = $_GET["pc"]; $user = $_GET["user"]; $version = "?"; if ($_GET["version"]) $version = $_GET["version"]; $n_file_arry[0] = "<tr><td>$datatime</td><td>$user</td><td>$pc</td><td>$name</td><td>$daip</td><td>$port</td><td>$host</td><td>$type</td><td>$version</td></tr>\r\n"; $file_arry = @file($ctrl_file); $counter = 0; while (list($key,$val) = each($file_arry)) { if ($val != ""){ if ($key == $length-1) break; $val = str_replace(array("\r\n","\n","\r"), "", $val); $n_file_arry[$key+1] = $val."\r\n"; } } $fp = @fopen("$ctrl_file", "w"); @fputs($fp, join("", $n_file_arry)); @fclose($fp); exit; } else { if ($view_pass != ""){ $pass = $_GET["pass"]; if ($pass != $view_pass){ ?> <html> <head> <title>403 Forbidden</title> </head> <body> <h1>403 Forbidden</h1> <hr> <font size="3">You are not authorized to view this page</font> </body> </html> <?php exit; } } if (!file_exists($ctrl_file)) { $datatime .= "<br><br><font color=\"#DD0000\">\"WARNING: '$ctrl_file' not found! Please manually create one in the same folder as this script and CHMOD to 646 or 777\""; $fp = @fopen($ctrl_file, "w"); if (!$fp) { $datatime .= "<br>Tried to create '$ctrl_file' but couldnt"; } else { fclose($fp); } $datatime .= "</font>"; } else { if (!is_writable($ctrl_file)) $datatime .= "<br><br><font color=\"#DD0000\">\"'$ctrl_file' cant be opened for writing, please CHMOD it to 646 or 777\""; } } ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>IP Log</title> </head> <style> <!-- table { font-size: 10pt; background-color: #BFBFBF; padding: 5px; margin: 0px auto; align: center; } td { background-color: #E5E5E5; color: #1A1A1A; text-align: center; padding: 6px; } body { font-size: 10pt; font-family: verdana; color: #999999; background-color: #E5E5E5; margin: 3px; } .hand {text-decoration: none; cursor:hand} a {color: #999999} --> </style> <body> <div align="center"> <p><h2>IP Log</h2></p> <?php echo "Current Server Time: $datatime"; ?><br><br> <table border="0"> <tr> <td><strong>Logged Time</strong></td> <td><strong>User Name</strong></td> <td><strong>PC Name</strong></td> <td><strong>INFO1</strong></td> <td><strong>Remote Address</strong></td> <td><strong>Script Dir</strong></td> <td><strong>Someinfo</strong></td> <td><strong>someting</strong></td> <td><strong>vercion</strong></td> </tr> <?php @readFile($ctrl_file); ?> </table> <br> <a class="hand" href="" target="_new"><b></b></a> </div> </body> </html> to view the logged data check the log.txt in the php server or open the logger with explorer this way "http://www.mysite.com/test.php?pass=admin"
Sardith Posted February 10, 2008 Posted February 10, 2008 Spartacus... ? [font="Verdana"]Valik:Get it straight - I'm not here to say please, I'm here to help - if my help's not appreciated then lotsa luck, gentlemen.[/font]
Simucal Posted February 10, 2008 Author Posted February 10, 2008 Spartacus... ?Yea AutoIt Scripts:Aimbot: Proof of Concept - PixelSearching Aimbot with several search/autoshoot/lock-on techniques.Sliding Toolbar - Add a nice Sliding Toolbar to your next script. Click the link to see an animation of it in action!FontInfo UDF - Get list of system fonts, or search to see if a particular font is installed.Get Extended Property UDF - Retrieve a files extended properties (e.g., video/image dimensions, file version, bitrate of song/video, etc)
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now