Register | Login | |||||
Main
| Memberlist
| Active users
| ACS
| Commons
| Calendar
| Online users Ranks | FAQ | Color Chart | Photo album | IRC Chat |
| |
0 user currently in Acmlmboard support?. |
Acmlm's Board - I2 Archive - Acmlmboard support? - activity monitor | | | |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
User | Post | ||
Cellar Dweller Flurry !!! Level: 27 Posts: 15/269 EXP: 107817 For next: 8342 Since: 03-15-04 From: Arkansas Since last post: 16 days Last activity: 34 min. |
| ||
I wrote a simple hack for AcmlmBoard 1.8a that allows users to receive notification whenever there is activity. If anyone thinks that this might be useful, I can finish the code and provide patching instructions. Receiving the notifications requires a program that can receive and display UDP packets. I used netcat to receive the packets.To use the system the user first subscribes to the notifications through online.php. The user supplies an IP address and a port for the notifications to be sent to. The supplied destination address as saved to the DB along with a time in the future that the subscription should expire. When there is activity, layout.php reads the the subscription list and sends an UDP packet to each person on the list. The packet contains the URI, the name of the user, and optionally the IP address of the page request. |
|||
setrodox Ninji Level: 26 Posts: 150/238 EXP: 89717 For next: 12558 Since: 03-15-04 From: good old austria Since last post: 178 days Last activity: 61 days |
| ||
please finish it. it sounds awesome! (edited by setrodox on 03-23-04 10:29 AM) |
|||
Acmlm Torosu heh Level: 51 Posts: 310/1173 EXP: 981994 For next: 31944 Since: 03-15-04 From: Somewhere that isn't outside of Sherbrooke, Québec, Canada Since last post: 39 days Last activity: 3 hours |
| ||
You want it done because it sounds awful? Seems somewhat contradicting Seems like a cool idea actually, but it would be a little funny to see "There is activity on the board" popup out of nowhere ... And it might not work for everyone, for example if someone uses a router or firewall, or isn't in Windows or Linux ... |
|||
Jesper Busy, busy, busy. Level: 69 Posts: 112/2390 EXP: 2856000 For next: 13743 Since: 03-15-04 From: Sweden. Since last post: 176 days Last activity: 79 days |
| ||
Heh. Yes, please finish this! I can't wait to hack this and integrate it with the long forgotten 'Favorites' feature I wrote. "Acmlm has posted a reply to Lorem Ipsum". Now wouldn't that be something? I've actually been thinking about an AcmlmBoard app for easier posting, much like Bouche's ABME(?) app but far more advanced, looking a bit like Outlook actually. (edited by Jesper on 03-23-04 09:39 AM) |
|||
setrodox Ninji Level: 26 Posts: 155/238 EXP: 89717 For next: 12558 Since: 03-15-04 From: good old austria Since last post: 178 days Last activity: 61 days |
| ||
Originally posted by Acmlm i was faster writing than thinking... i wanted to write awesome not awful... |
|||
ErkDog Fuzz Ball Level: 47 Posts: 97/982 EXP: 752190 For next: 14013 Since: 03-15-04 From: Richmond, VA Since last post: 40 days Last activity: 19 days |
| ||
yeah that would work for anyone who is not behind a firewall or router... otherwise they would have to simply forward that port.... |
|||
Cellar Dweller Flurry !!! Level: 27 Posts: 18/269 EXP: 107817 For next: 8342 Since: 03-15-04 From: Arkansas Since last post: 16 days Last activity: 34 min. |
| ||
I looks like it's working good enough for a release. There may be a few security bugs, so point out any that you see. Here is a 52985 byte screenshot of the system being demonstrated. The window on the top is running netcat(invocation: nc -u -l -p 31337 ). The graphical browser is showing how online.php tells users that they are being watched. It is set to autoreload so that the subscription doesn't run out. The three windows on the right are running Lynx. They are all logged on as different users for testing and demonstration.Here are the diffs: The format should not be hard to understand. If you have patch , you can edit the names at the top of the diffs and feed them to patch.Now what is needed is a client app that subscribes using POST, automatically renews, and displays the activity. |
|||
Jesper Busy, busy, busy. Level: 69 Posts: 132/2390 EXP: 2856000 For next: 13743 Since: 03-15-04 From: Sweden. Since last post: 176 days Last activity: 79 days |
| ||
Cellar Dweller: looks nice. I have a similar project going on now (inspired by yours!). I'd love it if you could contact me on AIM ("wootest") and we could talk about how we could perhaps integrate them or atleast make them similar or share basic code. | |||
Cellar Dweller Flurry !!! Level: 27 Posts: 22/269 EXP: 107817 For next: 8342 Since: 03-15-04 From: Arkansas Since last post: 16 days Last activity: 34 min. |
| ||
I don't have AIM. Perhaps we could talk here or on IRC? | |||
Jesper Busy, busy, busy. Level: 69 Posts: 174/2390 EXP: 2856000 For next: 13743 Since: 03-15-04 From: Sweden. Since last post: 176 days Last activity: 79 days |
| ||
Hm. PM me when you usually chat, in which channels and under what nicknames. | |||
guruzim Newcomer Level: 5 Posts: 4/6 EXP: 359 For next: 170 Since: 03-15-04 Since last post: 472 days Last activity: 105 days |
| ||
Wouldn't it be better to have the client app initiate the session with the server? I would think that you would want to have the client app send a username / password to your server, authenticate the person, and then write the IP address of the machine that your client is connecting from. Have the client send keepalives to the server to tell it that it is still connected. Then, you just send the packets to everyone in that table. If your server does not get the keepalive, then it would delete the row Alternatively, you could make the client acknowledge receipt of the packet, and after a certain number of non acknowledged packets you could cut them off. Granted, I've never written anything like this - but I'm interested. If you don't need to have security by obscurity, I'd like to talk about this here if possible. |
|||
Cellar Dweller Flurry !!! Level: 27 Posts: 24/269 EXP: 107817 For next: 8342 Since: 03-15-04 From: Arkansas Since last post: 16 days Last activity: 34 min. |
| ||
The client is already required logon before requesting notifications from the server. The client is allowed to specify any IP address because the client may be using a HTTP proxy or some strange network. The code probably should check that the IP address is not multicast. The code already requires a high port to prevent packets from going to a UDP service somewhere. The code is designed to work on cheap hosts that only allow a limited number of languages on thier servers. Adding acknowledgements would require the script to wait for a response and slow down the whole site or having an external program perform the notifications. There appears to be no way for a PHP script to fork off a child process running the same script independant of the web server if PHP is running as a server module. After talking to Jesper on IRC about ways to send updates, I thought of another way. It would require giving up on up-to-the-second updates but would work on any host capable of hosting a stock AcmlmBoard. For each AcmlmBoard page requested, insert a row into a log table and remove all rows that are older than a certain amount of time. When someone wants to see recent activity, dump all of the table that the the user wants and is allowed to see. As for the obscurity around AcmlmBoard development, I don't think all of the reasons are technical. As for anything I code, I'd like feedback about possible problems or improvements before any deployment takes place. |
|||
guruzim Newcomer Level: 5 Posts: 5/6 EXP: 359 For next: 170 Since: 03-15-04 Since last post: 472 days Last activity: 105 days |
| ||
I think I'm getting ahead of myself.. I've been trying to come up with a cool project to work on with mono or .NET, and I keep thinking of everything as a web service. So most of your hosts won't allow a java app to connect to the database... that would definitely make this much harder. The reason that I was thinking you would not want to allow the person to input their own IP address is that you would be opening yourself up to someone attempting to use your scripts as a method of DOSing someone / annoying someone with BlackICE or similar firewalll alerts. DOS woudln't be a huge risk because you aren't sending tons of packets, but depending on how much checking you do, and how creative people get, they could do some bad things with that by combining multple subscriptions and post flooding. I like the idea of a client app because you could avoid people using an HTTP proxy - but then I'm always looking for ways to ban people so that's probably my bias. |
|||
Tuvai Permanently banned for account hacking. Level: 24 Posts: 146/211 EXP: 74894 For next: 3231 Since: 03-15-04 Since last post: 566 days Last activity: 339 days |
| ||
Originally posted by guruzimThat's what refrained me from actually making applications in VB that interact with my server's MySQL database, however, letting a PHP page on my server spit out whatever information I need and next reading that page with the Internet Transfer Control, I still can. |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
Acmlm's Board - I2 Archive - Acmlmboard support? - activity monitor | | | |