This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.


For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message.

Dcc requester--

Old posts that have not been replied to for several years.
Locked
h
h3ll

Dcc requester--

Post by h3ll »

I was wondering if anybody has made a dcc requester script basically what it would do is:
1)User requests file on a channel
2)bot searches tis db to check which channel has that file
3)bot joins that channel and requests that file
4)bot fakes ctcp reply to that of the user
5)user recieves file instead of bot
....
If anybody has written such a script or seen such a script or can write such a script please let me know
thanks,
h3ll
p
ppslim
Revered One
Posts: 3914
Joined: Sun Sep 23, 2001 8:00 pm
Location: Liverpool, England

Post by ppslim »

First thing, it all depends on what you mean by fake CTCP reply.

In genral though, fake CTCP replies would be stupid and impossible to make functions.

There are two ways you could go about sending a CTCP reply.

One would direct a connection at the client that has the file. However, this would not work, as the other client (the one with the file), would need to grant permission for the file to be sent first (IE, using the /dcc send command, or via a script).

Another would direct the connection at the bot, where the bot could be connected to the client, and re-direct the file through a script.

The DCC system is more complex than this. If it where this simple, then I could simply read any file thats on another persons computer.

If you where to go for a method of tell the person who and where the file is, that you are still stuck.

PersonA requests FileA. The bot joins ChannelA.

This is simple. However, each and every file serviving script is different. The search commands may be different, you may need to send them to a private message, rather than the channel. The data returned may be different for each and every script.

You could maybe make a script compatable with one or two script, but even that would be large.
Last edited by ppslim on Sat Nov 30, 2002 10:20 am, edited 1 time in total.
h
h3ll

Post by h3ll »

Fake ctcp reply as in faking the ip
that was what someone suggested on #eggdrop so im following that
if theres a better method then i would most certainly prefer that
basically what i want the script to do is to is to allow users to download stuff from bots which i have no control over on other channels
I would just make the bot dload the file and send it again but the file would be over 1.2gb and it would be pretty costly....
Alternative methods are welcome
Thanks,
h3ll
p
ppslim
Revered One
Posts: 3914
Joined: Sun Sep 23, 2001 8:00 pm
Location: Liverpool, England

Post by ppslim »

There are no alternative methods.

IP faking is simply not possible.

OK, 3 nicknames.
Client
Bot
FServ

No guessing for what each ones job is in this.

Client sends a request to Bot.

As stated in my previous post, the bot will search, and is likely to have the problems of parsing.

Lets pretend that Bot found the file Client wants on FServ

Bot needs to tell client to get FileA from FServ.

Bot could send a fake CTCP, giving the IP of FServ. This would not work. FServ is the one that needas to send this CTCP message, as a port needs to be opened, and needs to be associated with that file. This can only be done in the clinet/bot of FServ, using a script or command.
p
ppslim
Revered One
Posts: 3914
Joined: Sun Sep 23, 2001 8:00 pm
Location: Liverpool, England

Post by ppslim »

Maybe I should explain how the DCC system works.

We have 2 nciks, Rx and Tx.

Tx wants to send Rx a file.

Either using a script, or a builting command of his client, Tx, will innitiate the send.

The client will then dot he following.

DO any checking regarding file blocks, or IP bans (if the client supports it)
Check the file exists.
Open a port, to listen for connections.

It will now send Rx a CTCP message, wiht the filename, TX's IP address, the port number Tx opened.

If Rx accepts the send, the following will then happen.

Any file/IP blcoks will eb checked (again, if supported)
Make a TCP/IP connection to the IP and Port specified in the CTCP message.

The files will then be transported through this connection.

As you can see. The first step is quite important. Without Tx setting up a port, there is no way for Rx to connect.

It may be possible however, in a script that you want to do the following.

A third nickname, Relay.

Rx asks Relay to look for the file.

Relay finds it, and makes a request for the file. When relays gets a CTCP says the file can be downloaded, relay will send the IP and PORT of Tx.

This is still dlawed, and is likely not to work.

Most FServ scripts, will check that the person downloading the file, is on one of the channels he is Serving in (IE, relay needs to stay in the channel, until it is complete), the IP address of the connection matches the hostname used on IRC (usualy disabled on masking servers).

You may find it far simpler to download and use a purpose built FServ script.
h
h3ll

Post by h3ll »

Ok u didnt understand me properly
heh
There is no fserv
there is a xdcc bot running iroffer.
We have 3 nicks:
User
Request-bot
Xdcc-bot[on another channel]
now the user would do a @ find for the file
a script called irspider modified a little bit would search its database and send the results to Request-bot
Then request-bot would join the channel specified in the priv that the bot running irspider sent it.
It would request the file from a xdcc bot which would send it the file
What it would do is pass on the file to the user
It wouldnt dload it by itself it would just pass it on to the user....
Using your previously mentioned example:
relay = request-bot sends the ctcp to the user and the user recieves the file.
The network im on will support masking....
Hope u understood it better now
Peace,
h3ll
P.S the irspider thing was a recent addition so please dont flame me ;)
h
h3ll

Post by h3ll »

Heh i would appreciate some help .....
h3ll
p
ppslim
Revered One
Posts: 3914
Joined: Sun Sep 23, 2001 8:00 pm
Location: Liverpool, England

Post by ppslim »

And we would appreciate patients, but 9 in 10 times, neither of us get it.

Your previous posts conflicts with another.

In one, you state you don't want to download the file, as it's 12.6 GB, which is unrealistic, but then you go on to state you do.
h
h3ll

Post by h3ll »

lol the file is 1.26 gb not 12.6
i do not want to download it
i want to pass it onto the user
sorta like a middle man
i dont see in which post i stated i want to download it
Thanks,
h3ll
j
jedis

Post by jedis »

I don't think what you're requesting is possible. Sorry.
User avatar
stdragon
Owner
Posts: 959
Joined: Sun Sep 23, 2001 8:00 pm
Contact:

Post by stdragon »

So basically you're saying is you want the bot to request the file, then forge a response to another client so that he downloads it instead of the bot?

1. <requester to bot> !get blah.mp3
2. <bot to fserve> !get blah.mp3
3. <fserve to bot> dcc send blah.mp3 98178931 4332
4. <bot to requester> dcc send blah.mp3 98178931 4332
5. requester connects to fserve and gets file (based on forged dcc send)

Is that about what you had in mind? It would work, unless the clients check for forged dccs.
Locked