Go Back   FlashFXP Forums > > > >

ioFTPD General New releases, comments, questions regarding the latest version of ioFTPD.

Reply
 
Thread Tools Rate Thread Display Modes
Old 12-14-2018, 12:40 PM   #1
UltraFine
Junior Member
 
Join Date: Nov 2018
Posts: 26
Lightbulb A GUIDE to setting up IOFTPD with IRCBOT in 2019

Hey everyone,

in this thead I will write down my experiences when setting up ioFTPD and an irc-bot. I tried this setup on two completly diffrent maschined: WIN7 and WIN10.

DOWNLOADING THE IOFTPD EXECUTABLE
It was not quite easy to get to the exec file, or even to understand what is the latest version of the ftpd and the scripts. So the current version of YIL of ioftpd I could not find in the forum so I had to get it from the "internet archive". The current version is 7.7.3. Prodigy compiled a new version 7.7.7 which even support TLS1.3 which you can find here: https://www.flashfxp.com/forum/ioftp...7-7-first.html

DOWNLOADING CURRENT VERSION OF THE SCRIPTS: ioA, ioBanana, ioNINJA
I was not able to get ioA in the latest version 2.0.8. The only version I was able to find was 2.0.5. A download link for ioNINJA was not available anywhere on the forum so I asked on EFnet in the #ioftpd chan. Some nice dude sent me ioNiNJA.1.0.Beta5.rar (although the version tag in the TCL script says its Beta 4). ioNiNJA has a bot (windrop version 1.6.x) included. The current version is 1.8.4.

Henkie2 has re-uploaded the sources and the executables in this thread:
https://www.flashfxp.com/forum/16950/p86407-post1.html

CONFIGURING ioFTPD YIL VERSION 7.3.3
I had no problem setting up ioFTPD.YIL 7.7.3 version. Just follow the instructions in the ioftpd.ini setup VFS files, create a SSL certificate with "site makecert" and you are fine. This version of ioftpd is pretty stable. Only once or twice it crashed with Unhandled exception: Access Violation (0xC0000005).

There seems to be a problem though with SSL and TLS in this version. When I try to FXP with SSL/TSL from glFTPD sites. I get errors like this. Using prodigies version 7.7.7 solves this problem completly.

Code:
[glsite] RETR linux-iso-20181210.r07 ·
[glsite] 150 Opening BINARY mode data connection for linux-iso-20181210.r07 (50000000 bytes) using SSL/TLS.
[glsite] 435 Failed TLS negotiation on data channel (SSL_accept(): (1) error:1417D102:SSL routines:tls_process_client_hello:unsupported protocol), disconnected
[ioftpd] 426 Connection closed: SSL library failure (error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version).
This looks like an outdated SSL ioftpd library to me. I leave it as it is for now.

Installing ioFTPD as a service worked just fine for me, though it led to errors with the eggdrop. See next section for more info on that. By the way, yes, I have setup the ioftpd service to run from the same user who has administrator rights as the eggdrop.

CONFIGURING THE IRC-Bot: Version 1.6.17 vs 1.8.3 eggdrop
I decided to use ioNINJA for my irc-bot. The ioNiNJA.1.0.Beta5.rar had an /eggdrop directory included and ioNINJA readme explicitly tells you to use that included version of the eggdrop (windrop) for ioNINJA to work correctly. I tried to setup the included egddrop version 1.6.something.SSL but I could not manage to make it connect to a SSL irc-network. It just would not connect. It seems like some SSL problem. The only solution to make the bot connect was to update it to the current eggdrop version 1.8.3.SSL. From now on it connected just fine. From here on I used version 1.8.3.

Configuring ioNINJA / DZBOT is more or less strait forward. Interstingly it had some problem finding paths of c:\ioftpd\logs\ files. For some reason the variable holding it was ending up like this "eggdrop\c:\ioftpd\logs\ioftpd.log". I suppose this has something to do with the fact that I updated the eggdrop version to 1.8.3. I fixed that problem in the ioNINJA.TCL file by hand. Then the bot started to give notice.

Starting the eggdrop manually from commandline into the background with "eggdrop.exe" works. But strangly only some anounces work. NEWDIR and DELDIR do not work. Then there was some error that had a problem with "ioFTPD::Window" in one of the TCL procedures (the one that is figuring out the tagline). I just changed the TCL proc by hand to just return an empty string instead of a tagline and the script worked. This would make NEWDIR and DELDIR announces work.

Starting the eggdrop manually from commandline into the background with "eggdrop.exe" works. But strangly only some anounces work. (Or announced would not work at all, I dont remember anymore).

Starting eggdrop from inside of ioftpd (which was started manually) with a batch skript (site startbot) starts the bot into the background but NEWDIR and DELDIR do not get annonuced.

Starting eggdrop from inside of ioftpd (which was started as a service) with a batch skript (site startbot) that starts the bot, but it crashes immediatly.

Working solution so far: Patch the TCL script to return empty tagline. Start ioftpd manually (not as a serivce) and start eggdrop manually with "eggdrop -nt". This works, the NEWDIR gets announced but it is very unsatisfactory.

What about triggering commands from irc-channel?
It is possible to trigger commands from the channel, but those that interact with windows and get information from Windows crash the bot. Good example is the trigger: uptime. This procedure geathers a ton of information from the windows system. It gets them through the TWAPI (TCL-Windows API). I tried to figue out which call exactly makes the bot crash with a really stunning result.

If you run the bot manually as "eggdrop.exe -nt" most calls inside the TCL proc of !uptime do well. Some crash the bot. So I commented out those that make the bot crash. And it kind of works.
If you run the bot manually as "eggdrop.exe" all calls crash the bot on !uptime.
If you run ioftpd as a service run the bot manually as "eggdrop.exe" all calls crash the bot on !uptime AND ioftpd becomes unfuntional. You cannot login anymore. It stops at USER command of ftp with some error message. Restarting ioftpd makes it go away.

The version of TWAPI that is part of ioNINJA is 2.0. The current version is 4.3. I tried to update the TWAPI to 4.3. For some reason TCL does not manage to find newer versions of it. It needed more hacking and I left it as it is for now.

SUMMARY: If you port ioNInja to eggdrop 1.8.x
Start ioftpd.exe manually (not as a service). Update eggdrop to currect version and run it as "eggdrop -nt". Do not use !uptime or other commands that process data based on TWAPI.

Last edited by UltraFine; 01-10-2019 at 03:40 AM.
UltraFine is offline   Reply With Quote
Old 03-20-2019, 03:33 PM   #2
mescal1n
Junior Member
 
Join Date: Jan 2011
Posts: 9
Default

Quote:
Configuring ioNINJA / DZBOT is more or less strait forward. Interstingly it had some problem finding paths of c:\ioftpd\logs\ files. For some reason the variable holding it was ending up like this "eggdrop\c:\ioftpd\logs\ioftpd.log". I suppose this has something to do with the fact that I updated the eggdrop version to 1.8.3. I fixed that problem in the ioNINJA.TCL file by hand. Then the bot started to give notice.

Starting the eggdrop manually from commandline into the background with "eggdrop.exe" works. But strangly only some anounces work. NEWDIR and DELDIR do not work. Then there was some error that had a problem with "ioFTPD::Window" in one of the TCL procedures (the one that is figuring out the tagline). I just changed the TCL proc by hand to just return an empty string instead of a tagline and the script worked. This would make NEWDIR and DELDIR announces work.

Starting the eggdrop manually from commandline into the background with "eggdrop.exe" works. But strangly only some anounces work. (Or announced would not work at all, I dont remember anymore).

Starting eggdrop from inside of ioftpd (which was started manually) with a batch skript (site startbot) starts the bot into the background but NEWDIR and DELDIR do not get annonuced.

Starting eggdrop from inside of ioftpd (which was started as a service) with a batch skript (site startbot) that starts the bot, but it crashes immediatly.

Working solution so far: Patch the TCL script to return empty tagline. Start ioftpd manually (not as a serivce) and start eggdrop manually with "eggdrop -nt". This works, the NEWDIR gets announced but it is very unsatisfactory.
Good work!

Could you please explain which changes you did inside the TCL? Maybe you could attach your modified TCL?

Thank you! =)
mescal1n is offline   Reply With Quote
Old 01-23-2020, 12:56 PM   #3
shift
Junior Member
 
Join Date: Jan 2020
Posts: 3
Default

I would also like to know what changes you did ? and it was in ioNiNJA.itcl right? But if you have time maby you could come by into the ioftpd channel on efnet ? I am trying to upgrade to newst version but have been trouble shooting last few days, and now i have same error as you:

[18:55:07] dZSbot error: Unable to read log file "/eggdrop old/c:/ioFTPD_v2/logs/ioFTPD.log".
shift is offline   Reply With Quote
Old 02-12-2020, 08:36 AM   #4
shift
Junior Member
 
Join Date: Jan 2020
Posts: 3
Default

So the problem seems to have been solved, by some great guys on the #ioftpd channel on EFnet.
So to get the eggdrop working, it needed some little tweaking, but after that it seems like evrything works fine.

So in the dzbot.conf file there is some lines there need to be modified, so it uses linux paths instead of windows.

set glftpdlog(NORMAL) "/cygdrive/c/ioftpd/logs/ioFTPD.log"
set sysoplog(EXTERNAL) "/cygdrive/c/ioftpd/logs/sysop.log"
set loginlog(NORMAL) "/cygdrive/c/ioftpd/logs/error.log"

Note that it is not c:/

It is in the top of the file.

Also it seems like the dzsbot.tcl file needed a little mod too. In the top of the file add this line:
set ::tcl_library "./lib/tcl8.5"

After adding these changes it should work like normal.

Also a big thanks to the guys who figured all of this out, you know who you are.

And also a thanks to Prodigy for taking the time to upgrade the ioftpd to support ssl.1.3
shift is offline   Reply With Quote
Old 02-25-2020, 04:16 PM   #5
Hans_
Junior Member
 
Join Date: Feb 2012
Posts: 28
Default

Quote:
The version of TWAPI that is part of ioNINJA is 2.0. The current version is 4.3. I tried to update the TWAPI to 4.3. For some reason TCL does not manage to find newer versions of it. It needed more hacking and I left it as it is for now.
The main problem i see here is: when you update TWAPI you will also need to Update the TCL libs, wich mostlikely will break ioninja (new functions added and old functions removed in TCL in general). So i guess if you want to update to latest TCL and latest TWAPI you will need to recode ioninja..


What i saw is that last version supporting TCL 8.4 is TWAPI 2.1.6 -> if i am not mistaken).

latest TCL: 8.6.10 / November 21, 2019
latest TWAPI: 4.3.5

Last edited by Hans_; 02-25-2020 at 04:20 PM. Reason: typos / more infos
Hans_ is offline   Reply With Quote
Reply

Tags
download, ftp, fxp, ioftpd, version

Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 11:04 PM.

Parts of this site powered by vBulletin Mods & Addons from DragonByte Technologies Ltd. (Details)