PDA

View Full Version : [BETA Release] TS Telnet Tool


JD
19-05-2006, 08:01
Hi everyone -

A quick utility I coded today. I found myself frustrated yet again trying to use the telnet console in Windows and thought "It would be nice even to just be able to BACKSPACE!!" so here it is.

Features:
- The ability to backspace!!!
- Visually concealed login prompt to keep your password secret from plain sight
- Support for SuperAdmins and regular ServerAdmins to administer either the entire server or just their own server to which they have admin priviliges to.
- Up-Down arrow key history tracking for previous command entries.

Future Features:
- Auto-complete words for console commands to make finding your command simpler.
- "Save my password" features on final release, which will require the program to be installed to a directory.

Support:
Currently it is wrapped in a Windows executable for BETA purposes. Future releases will be available to linux users. However, this is a client-side utility, and most clients are likely running Windows as their OS.

Screenshot: http://www.jtozone.com/telnet_tool.jpg

Download:
http://www.jtozone.com/TS%20Telnet%20Too%20v0.9.exe

Let me know how you like it!
-JD

bibabu
21-05-2006, 10:54
Very usefull tool.

Thank you :P

JD
21-05-2006, 17:39
You're welcome. There are a few other features I've got working nicely, such as the up-arrow key history of commands, but I want to get a few more things working before releasing a new BETA.

Silent69
26-05-2006, 06:52
i Loaded the tool and its not doing it:[TS]

Put all the passwords, IP etc.. still won't run it only says that TS thing

JD
26-05-2006, 06:59
If you get to the screen where it says "[TS]" that means you have connected to the TS telnet interface. Have you tried to actually type a command? When you first connect, all you'll see is [TS]. It isn't until you type a command that other information will display.

Try typing the following into the command line at the bottom:

gi

then hit enter. It should display a information about the server. If text appears, that means it is working. If only the command you sent appears in the response, then something indeed has gone wrong.

Let me know if this works.

-JD

Brain
26-05-2006, 07:01
Maybe you should start with a simple "help" :)

JD
26-05-2006, 07:04
Either works. The point is, if he types a command and gets no response but the command he sent, then there is indeed a problem.

Silent69
26-05-2006, 07:15
yep, that working, thanx

Bastian
26-05-2006, 14:59
Maybe you should add a welcome message or something like that with general help for your program.

Something like:

[TS Telnet Tool vX.X]
Connection successfully established.

Type 'help' for a list of availabe commands.

Another option would be to integrate a help button which will automatically send the 'help' command to the server.

JD
26-05-2006, 15:06
Good idea. I will do something to this effect on my next release.

I also want to have one more tab, for "Anonymous" so people can still query other servers that they may not have administrative privilages to.

My next build should have:

- Up-arrow history of commands
- Auto-complete commands
- A welcome message with simple instructions

I've found that color-coding the output is going to be a bit trickier than I first thought. I'll hae to have a preset number of functions based on which command is sent, which defines the number of columns. It is going to be a challenge, but color-coded output should make it before a final release.

Cyrus
26-05-2006, 15:51
sounds nice with this features, auto-complete and history is what we need ;-)

but regarding to that backspacing thing: blame microsoft for their implementation of telnet: on linux it does work ;-)

JD
31-05-2006, 07:41
UPDATE

Oh boy... That was an unpleasant journey!!! :p

New Feature
- Command-history!

I just finished adding in command-history. So if you type the following commands:

help
gi
sl

And then press the up arrow, your command box will fill in the last command (sl). If you hit it again, it will go to (gi), and so on. It properly detects bounds, and if you hit the down arrow a bunch of times to get to the least-old command you entered, and then go one-beyond that, it will go blank again.

It works flawlessly, but not easily... It would surprise you how difficult, in Java, it is to handle such a task. I tried using simple data structures but found it either unnecessarily inefficient or not reliable due to bounds. So I created my own data structure containing nodes that I just moved around every time an arrow key is pressed, and merely checked for bounds in their functions.

The point is, history is in. Next on my list is auto-fill for the commands. Getting the swing component I want to work properly is probably the only real challenge here (the GUI) so I should have this done relatively soon. As soon as I do, I'll release another BETA (along with the other small suggestions I picked up along the way) and I'll work on the final release. The final release will include the installation packages for Windows and Unix users, where they will be able to save their passwords and other server details via an INI file.

Feature removal
I had mentioned color-coding the output - that just isn't likely. With my horizontal-scrollbar it is easy enough to keep the columns in-line with each other, but each command would have to have its own case of formatted output, and that is just more work than it's worth for simple color coding... Sorry to anyone who was jazzin' over that particular feature.

Regards,
-JD

Cyrus
31-05-2006, 08:15
It works flawlessly, but not easily... It would surprise you how difficult, in Java, it is to handle such a task. I tried using simple data structures but found it either unnecessarily inefficient or not reliable due to bounds. So I created my own data structure containing nodes that I just moved around every time an arrow key is pressed, and merely checked for bounds in their functions.

Whats the problem with a LinkedList for instance?

JD
31-05-2006, 16:50
The problem with the LinkedList is there is no real way to traverse it in reverse. I more ore less implemented a LinkedList for my data structure, except I had all the necessary functions to allow myself to getNext and getPrevious. This way, every time the arrow keys are pressed, I just move a pointer around this list of history until I hit bounds, or they send the next message, in which case I set the pointer to the end of the LinkedList.

But a native LinkedList was not sufficient. I could do it with one, but it would be horribly inefficient - I'd have to use an int to keep track of the position, and increment and decrement that int, and then iterate through the LinkedList to that position every time - very slow.

-JD

JD
11-06-2006, 02:07
Okay, updated the original post as well.

Here's the changes:

- Added a small paragraph to help users when they first log in.
- Implemented the command history - when you have the command text field selected, press up to cycle through your previous commands.
- Improved the window, it should scroll better.
- Improved some backend workings of the program.

Download:
http://www.jtozone.com/TS%20Telnet%20Too%20v0.9.exe

Regards,
-JD

AMDFreak
28-06-2006, 20:44
hello

Can you Compile it as .jar?? for the Linux Users??

greets Sascha

JD
29-06-2006, 00:07
I can compile a linux binary from my Jar, if that's what you're asking. The Jar itself is too insecure, without obfuscating my code it would make for real easy decompiling of the .class files and stealing of code.

I will compile a linux binary tonight.

Cyrus
29-06-2006, 14:32
Unpack the .exe with "unzip" and rezip it with a zipwriter to build the jar.

JD
29-06-2006, 16:23
:p I know how to buld a JAR silly. Besides, my IDE builds Jars for you with a click of a button, so no big deal. But the thing about JAR's is, they contain the .class files of your program easily available. All somebody has to do is literally unpack the JAR, take the .class files, and feed them through a simple converter tool downloadable from the internet which will convert them into .java files with proper tabbing and everything.

So unless I obfiscate my code and make it unreadable, but still functional, and THEN package it, I wouldn't want to release a JAR, I'd rather release an EXE because those are generally more difficult to decompile (or impossible? I've never tried).

See what I'm saying?

I tried to compile it on a Linux box last night and got some weird deprication errors that did not show up on my Windows build. The weird part is, even with setting various other flags, it ultimately refused to compile for me. I was tired so didn't try to fix the problem, and am going to work on it later tonight after work.

Cyrus
29-06-2006, 18:26
hmm sorry it was not a hitn for you, it was a hint for AMDFreak. Basically it was just how I built a JAR-File from your exe just with unzip and zip to try it on Linux. Sry about that but you are not compiling this program into an executable you just pack it into an selfextracting zipfile. For real compilation you should use a real compiler for instance gij.

And you made "dempilation" so easy that you put the sourcecode files together with the bytecode files in the archive so please dont blame me ;)

PS: I know you used Eclipse with the FatJar Plugin to build the JAR-File before you packed it ;-)

Veriton
08-07-2006, 03:23
I would have to agree, but i so far have not found a program (such as this) that allows Server Admins to ban player IP's through these third party programs!, I have tried 'TS Admin Client' but yet again, seems to be either not able to, or it's a bug within the program, i have not yet been able to resolve why! But this is a handy item i would like to see with Telnet, it gives us a chance to be able to ban, in the event, a hacker without joining the TS, which would risk them banning us!

Thomas
08-07-2006, 11:01
The rights-system of TeamSpeak does not allow Server Admins to ban over TCP Query, with which these apps are working.
So: No chance to ban without superadmin

Veriton
08-07-2006, 12:54
dang...ok thanks anyway.

AMDFreak
18-07-2006, 14:07
I can compile a linux binary from my Jar, if that's what you're asking. The Jar itself is too insecure, without obfuscating my code it would make for real easy decompiling of the .class files and stealing of code.

I will compile a linux binary tonight.

Where is the Linux binary???

Or took it sooooo long to compile???:D

But its only a Telnet Window.... sooo It does not interest me... Telnet can i start over console...( Yes i have the exe unziped, and so sorry.. the Sourcecode is in the exe.... what you are telking about decompile??)

So it's not interesting..

greetz Sascha

JD
18-07-2006, 16:32
It's no big deal you having the source code really, I think it's funny people are un-wrapping it. I really stopped trying to compile a linux binary because linux users have a way better terminal than us Windows users, which allows them to backspace, uo-arrow, and it displays output better; everything my tool was designed to do. So it is really just for the Windows fans.

As for the un-wrapping - do you realize how technology-illiterate 90% of the people on this forum are? Especially with regard to programming, EXE's, Telnet, and TeamSpeak in general. So for the 3 or 4 people who know how to unpack it are probably all programmers and aren't going to try to steal any source code for any of their own products ;).

EDIT:
When I make my TeamSpeak backup utility, that will be pretty closed-source. There realy isn't one like it. I think the advanced web-admin pro does backups, but don't they like improv with the backups by storing channel information in their own XML file or something? My program is going to use the Java database technology to actually make queries to the server.dbs and save each server's configuration in its own database, so if any one server is ever hacked or needs to be reverted, you can easily take one of several archives and delete the current entry from the server.dbs and insert the backup into it :). True backup.

spRite93
02-08-2006, 13:46
Hallo!

By command "quit" in console came
the error message:

"A terrible error occurred in
Telnet, please report this error!"

MfG: sprite

lissandro
15-08-2006, 13:41
when i tryed to put the comand KI
the following message was displayed
"A terrible error ocurred in
Telnet, please report"

i try the comands
ki 30 7 donīt idle on this server
ki 10 1 test
ki 1 1 retry

all those lines displays the error message, it is. ;)

I would like to know anything else..
i have an server who i want to set privileges in telnet plataform for admins do something else, is there anyway or the teamspeak software does not suport this?

JD
15-08-2006, 18:26
I'll look into it. The quit command works for me - it might have been an isolated incident.

As for the ki command, I know what the problem is and will address it ASAP.

magewonders
25-10-2006, 03:33
When I try logging in, I get the following error message:

Socket Error # 10060
Connection timed out

Thomas
25-10-2006, 11:47
Perhaps you entered a wrong TCP Query Port. Please check this.

The default port is 51234, but if someone has changed this in the server.ini, you have to ask your root-admin.


@JD: Please update the links.

magewonders
25-10-2006, 22:06
I'm the admin. I haven't changed it. The port is still the same.

magewonders
25-10-2006, 22:45
I'm the admin. I haven't changed it.


Still doesn't work.