sundapeng / web-shell Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/web-shell
Automatically exported from code.google.com/p/web-shell
-------------------------------------------------------------------- WebShell 0.9.6 (C) 2007 by Marc S. Ressl Released under the GPL 2.0 http://www-personal.umich.edu/~mressl/webshell -------------------------------------------------------------------- WebShell is a web-based ssh shell. It runs on any browser capable of JavaScript and AJAX. You can use it from any computer or iPhone/smartphone. The server is written in Python and is very easy to set up on Linux, Mac OS X, *BSD, Solaris, and any Unix that runs python 2.3. WebShell is based on Ajaxterm. If you have any questions, use the forum on the website. -------------------------------------------------------------------- Features VT100, ECMA-48 terminal emulation Integrated secure http server UTF-8, with chinese/japanese wide glyph support Virtual keyboard for iPhone users Changeable appearance Compliant with vttest Planned Features VT52 terminal emulation Security WebShell communications are as secure as a regular secure shell, as both ssh and WebShell are on top of the SSL/TLS layer. The code has been tested against buffer overflow and denial of service. If you find any problem, please report it on the webpage. -------------------------------------------------------------------- Installation It is very easy to set up WebShell. First, you need to make sure python 2.3 or later and OpenSSL are installed on your system. You will also have to install the pyOpenSSL python extensions to OpenSSL. Next, you need to generate a server certificate. From the WebShell directory enter this command to quickly generate a certificate: ./make_certificate.sh Now issue this command to run the server: ./webshell.py To make sure that everything went well, go to this URL in your browser: https://127.0.0.1:8022 You can change WebShell's background by overwriting the background.jpg file. You can also change the display colors in webshell.css. Restart the server afterwards to make your changes effective. Voila, enjoy WebShell. -------------------------------------------------------------------- Thanks Special thanks to Nicholas Jitkoff (the author of Quicksilver), for helping to debug the user interface. Also, special thanks go to Brad Choate (UI ideas, HTML fixes), Adam Olsen (UI contributions), mountainboy (for fixing HMTL stuff), hzink (UI ideas).
There seems to be too many options now. A configuration stile à la Apache
httpd would help.
Original issue reported on code.google.com by [email protected]
on 1 Aug 2007 at 6:54
What steps will reproduce the problem?
1. Access WebShell from an iPhone
What is the expected output? What do you see instead?
Some symbols show up as boxes.
What version of the product are you using? On what operating system?
0.2.1
Please provide any additional information below.
Picture is attached.
Original issue reported on code.google.com by [email protected]
on 30 Jun 2007 at 2:11
Attachments:
Add http password authentication for another layer of security
Original issue reported on code.google.com by [email protected]
on 27 Jul 2007 at 10:30
What steps will reproduce the problem?
1. Displaying japanese text for example
What is the expected output? What do you see instead?
Garbage instead of UTF-8 symbols
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 8 Jul 2007 at 12:15
First off, WebShell is the best idea for the iPhone since sliced bread. 'Nuff
said on that.
I was using .2.2 (via iPhone) for a while, and it was good, but the interface
was a bit awkward. I
noticed it had jumped to .9.4, so I updated. Nicer interface, but still a bit
clunky (the "Back"
button floating in mid-terminal is a bit weird, and there's a bit of jumpiness
to the transition
from viewing to input).
When I login now, the login and password prompts are fine. The terminal window
fits fully within
a horizontal iPhone screen. After login, however, if I enter my first command
"ls -al", suddenly
the scaling alters radically. The relative font size is about 50% larger than
the initial login prompt,
and the right-hand side of my "ls" listing (the filenames) is off-screen.
Pinching the screen does
nothing -- it appears to be "zoomed-out" already -- but I'm only getting
something like 47
characters across the screen.
Sending "clear" restores the normal scaling. Some commands, e.g. "ps -axf"
display fine (small
font, no zoom), but "vi foo.txt" will display the same scale/font size issues.
Is there some bash configuration file in my shell that's responsible for this?
Or is it WebShell? I
can't duplicate the problem on a desktop browser, and iPhoney seems to not
support SSL
connections or something (hitting the URL in iPhoney goes nowhere, and
generates an "ssl
handshake failure" on my server).
Original issue reported on code.google.com by [email protected]
on 1 Aug 2007 at 3:35
The switch to dumb terminal support in favor of UTF8 is not ideal. I want both,
but I'd rather have
support for cursor positioning (so I can use vi and top for instance) and
color/highlighting.
I'd settle for a command-line switch to provide one feature or the other if
they can't coexist easily.
Original issue reported on code.google.com by bchoate
on 16 Jul 2007 at 6:09
When checking out or updating from svn, I see that there are two files that
differer only in case (i.e.
"Background.jpg" and "background.jpg"). One of these should be deleted, as this
causes problems
on case-insensitive file systems, and makes checkouts impossible.
Original issue reported on code.google.com by [email protected]
on 31 Jul 2007 at 4:50
What steps will reproduce the problem?
1. Hit TAB
What is the expected output? What do you see instead?
I expect the TAB to go to the shell, but rather it changes focus to the
address entry window, then the search engine window, then back to the main
screen. Very annoying.
What version of the product are you using? On what operating system?
0.9.6, from Firefox 3.0.10 in WinXP
Please provide any additional information below.
To fix:
Add a line at 132 in webshell.js (in the case statement inside
if(ev.which==0) )
case 9: break; // Tab
Change line 166 from:
return true;
to
return false;
Now it seems to work just perfectly.
Original issue reported on code.google.com by [email protected]
on 27 May 2009 at 7:55
What steps will reproduce the problem?
1.
2.
3.
What is the expected output? What do you see instead?
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 27 Jul 2007 at 10:47
What steps will reproduce the problem?
1. change the port the servers SSH port listens on
2. run webshell.py
3. try to connect via local or remote
What is the expected output? What do you see instead?
i expected to see a webshell. Instead I get disconnected after I press
enter for my username on login. I also got some complaints from SSL.
Exception happened during processing of request from ('ip.add.re.ss', 1214)
Traceback (most recent call last):
File "/usr/lib/python2.4/SocketServer.py", line 222, in handle_request
self.process_request(request, client_address)
What version of the product are you using? On what operating system?
Tried all versions in the 0.9.X series. Ubuntu 8.10 server and OS X 10.5
client
Please provide any additional information below.
You could make line 1098 of v0.9.6 read like:
cmd = 'ssh -p 1234'
with 1234 being the port you have sshd listening on.
Simple fix but it wasnt documented and it had me pulling my hair out.
Original issue reported on code.google.com by [email protected]
on 13 Jan 2009 at 11:17
What steps will reproduce the problem?
followed installation instructions on:
SunOS 5.8 Generic_117350-33
sun4u sparc SUNW,Sun-Fire-280R
OpenSSL> version
OpenSSL 0.9.8a 11 Oct 2005
bash-2.03# ./webshell.py
The python SSL extensions seem to be not installed.
You can run WebShell without SSL encryption with the --ssl-disable command
line switch.
bash-2.03# ./webshell.py --ssl-disable
WebShell (http) at 127.0.0.1, port 8022
(just hangs here)
What is the expected output?
i would assume the script should end and then i should be listening to
port 8022
What do you see instead? it just hangs. when i process the python code and
look at debugging i see this:
(Pdb)
Traceback (most recent call last):
File "/usr/local/lib/python2.5/pdb.py", line 1193, in main
pdb._runscript(mainpyfile)
File "/usr/local/lib/python2.5/pdb.py", line 1118, in _runscript
self.run(statement, globals=globals_, locals=locals_)
File "/usr/local/lib/python2.5/bdb.py", line 366, in run
exec cmd in globals, locals
File "<string>", line 1, in <module>
File "webshell.py", line 27, in <module>
os.chdir(os.path.normpath(os.path.dirname(__file__)))
NameError: name '__file__' is not defined
Uncaught exception. Entering post mortem debugging
Running 'cont' or 'step' will restart the program
What version of the product are you using? On what operating system?
SunOS 5.8 Generic_117350-33
sun4u sparc SUNW,Sun-Fire-280R
trying: WebShell 0.9.5
Original issue reported on code.google.com by [email protected]
on 8 Aug 2007 at 2:06
What steps will reproduce the problem?
1. Start webshell.sh
2. Visit host:8022
What is the expected output? What do you see instead?
WebShell (https) at 0.0.0.0, port 8022
----------------------------------------
Exception happened during processing of request from ('172.26.0.111', 1214)
Traceback (most recent call last):
File "/usr/lib/python2.4/SocketServer.py", line 222, in handle_request
self.process_request(request, client_address)
File "/usr/lib/python2.4/SocketServer.py", line 241, in process_request
self.finish_request(request, client_address)
File "/usr/lib/python2.4/SocketServer.py", line 254, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python2.4/SocketServer.py", line 521, in __init__
self.handle()
File "/usr/lib/python2.4/BaseHTTPServer.py", line 316, in handle
self.handle_one_request()
File "/usr/lib/python2.4/BaseHTTPServer.py", line 299, in
handle_one_request
self.raw_requestline = self.rfile.readline()
File "/usr/lib/python2.4/socket.py", line 332, in readline
data = self._sock.recv(self._rbufsize)
Error: [('SSL routines', 'SSL23_GET_CLIENT_HELLO', 'http request')]
----------------------------------------
What version of the product are you using? On what operating system?
Latest SVN (rev 75)
Please provide any additional information below.
I'm on Gentoo Linux, was running Python 2.3.x, upgraded to 2.4
Have build python with ssl, and also have pyopenssl installed.
dev-dev-lang/python-2.4.4-r6, compiled iwith the following USE flags:
USE="berkdb gdbm ipv6 ncurses readline ssl -bootstrap -build -doc -
examples -nocxx -nothreads -tk -ucs2"
Also using:
dev-python/pyopenssl-0.6
OpenSSL> version
OpenSSL 0.9.8d 28 Sep 2006
Original issue reported on code.google.com by [email protected]
on 28 Feb 2008 at 8:41
A feature that would be nice is the ability to set the screen size. Something
like
https://localhost:8022/?120x50
Rather than being stuck with the normal iPhone resolution. Your app is far
more useful than just an
iPhone app.
Original issue reported on code.google.com by [email protected]
on 28 Oct 2008 at 2:06
What steps will reproduce the problem?
1. Base install runs but errors out when hitting the web server
What is the expected output? What do you see instead?
A Login page
What version of the product are you using? On what operating system?
.2.2
Please provide any additional information below.
Solution: Boot it w/ -c /usr/bin/login instead of the default /bin/login
Original issue reported on code.google.com by [email protected]
on 1 Jul 2007 at 7:59
What steps will reproduce the problem?
1. Pressing tab on a PC browser will not send TAB to the server
I looked at the code and made two changes to webshell.js that made it work.
Here's the diff patch:
111d110
< if (ev.keyCode == 9) setTimeout(function() {
window.focus(); }, 0); // refocus window
129d127
< case 9: break; // Tab
Original issue reported on code.google.com by [email protected]
on 14 Oct 2007 at 10:24
Please contact me at [email protected] for an important business
proposition.
Original issue reported on code.google.com by [email protected]
on 6 Jul 2007 at 1:29
What steps will reproduce the problem?
1. push compose key (diacritics)
2. push some character key
3.
What is the expected output? What do you see instead?
I need write characters with diacritics, for example ó, ë, ň etc.
What version of the product are you using? On what operating system?
0.9.6 - linux
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 17 Jun 2009 at 8:08
What steps will reproduce the problem?
1. Go to the webshell login web page
2. Do NOT login, but close the page/tab
3. Do this 2-3 times
What is the expected output?
The children generated in this way should exit cleanly
What do you see instead?
The children disappear from the process list after a while, but
visiting the webshell login after that gives a Connecting to...
message which hangs indefinitely, until the browser gives up.
What version of the product are you using? On what operating system?
WebShell-0.9.6 on Debian Lenny with Python 2.5.2
Please provide any additional information below.
There is no problem if one logs in and then out. It appears only
when I orphan the process by closing the browser page without
logging in. I can reconnect before the children have exited, but
after that the only way is to kill the root process and restart it.
Since webshell is most needed precisely when there is no other way
to open a terminal, this is a potentially debilitating issue. The
workaround is evidently to carefully kill all orphans manually, but
that is clearly unsatisfactory.
Original issue reported on code.google.com by [email protected]
on 28 May 2009 at 1:09
What steps will reproduce the problem?
1. unzip WebShell-0.9.5.zip
2. issue ./make_certificate.sh
What is the expected output? What do you see instead?
Expected output:
1913 semi-random bytes loaded
Generating a 1024 bit RSA private key
.........++++++
................++++++
writing new private key to 'webshell.pem'
-----
Output:
gzip: /var/log/system.log: No such file or directory
0 semi-random bytes loaded
rm: cannot remove `random.dat': No such file or directory
Generating a 1024 bit RSA private key
............................++++++
.....++++++
writing new private key to 'webshell.pem'
What version of the product are you using? On what operating system?
WebShell 0.9.5
Debian GNU/Linux 3.1 and 4.0
Please provide any additional information below.
This can easily be fixed:
#! /bin/sh
if [ -r /var/log/system.log ]; then
gzip -c --best /var/log/system.log > /tmp/random.dat
elif [ -r /var/log/syslog ]; then
gzip -c --best /var/log/syslog > /tmp/random.dat
else
echo "Could not read /var/log/system.log or /var/log/syslog"
exit
fi
openssl rand -rand file:/tmp/random.dat 0
if [ -w /tmp/random.dat ]; then
rm /tmp/random.dat
else
echo "could not remove /tmp/random.dat"
fi
openssl req -config "make_certificate.cfg" -keyout "webshell.pem" -newkey
rsa:1024 -nodes -x509 -days 365 -out "webshell.pem"
Original issue reported on code.google.com by [email protected]
on 20 Aug 2007 at 1:50
What steps will reproduce the problem?
1. I installed pyOpenSSL
2. I ran WebShell-0.9.0
3. When I attempted to connect (from my Mac or my iPhone), I see the following
output:
Exception happened during processing of request from ('192.168.1.101', 52486)
Traceback (most recent call last):
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/SocketSe
rver.py",
line 222, in handle_request
self.process_request(request, client_address)
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/SocketSe
rver.py",
line 241, in process_request
self.finish_request(request, client_address)
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/SocketSe
rver.py",
line 254, in finish_request
self.RequestHandlerClass(request, client_address, self)
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/SocketSe
rver.py",
line 521, in __init__
self.handle()
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/BaseHTTP
Server.p
y", line 324, in handle
self.handle_one_request()
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/BaseHTTP
Server.p
y", line 307, in handle_one_request
self.raw_requestline = self.rfile.readline()
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/socket.py",
line 338, in readline
data = self._sock.recv(self._rbufsize)
Error: [('SSL routines', 'SSL23_GET_CLIENT_HELLO', 'http request')]
What version of the product are you using? On what operating system?
This is WebShell-0.9.0, running on MacOSX 10.4.10
Original issue reported on code.google.com by [email protected]
on 26 Jul 2007 at 3:01
Can you put the version that you have on your demo server
https://141.211.2.202:8021/ajaxterm/ in subversion. I would like the
ability to select what host to connect to.
Original issue reported on code.google.com by [email protected]
on 15 Jul 2007 at 11:11
Would:
* Include a precompiled version of pyOpenSSL, and install itself.
* Set up the service automatically.
* Still unsure about http simple authentication
Original issue reported on code.google.com by [email protected]
on 28 Jul 2007 at 5:22
A unix back-tick character needs to be added!
Original issue reported on code.google.com by [email protected]
on 23 Jul 2007 at 10:40
What steps will reproduce the problem?
1. Access WebShell from an iPhone
What is the expected output? What do you see instead?
Some symbols show up as boxes.
What version of the product are you using? On what operating system?
0.2.1
Please provide any additional information below.
Picture is attached.
Original issue reported on code.google.com by [email protected]
on 30 Jun 2007 at 2:12
Attachments:
For some reason the control-break handler is not working nicely... fix this
Original issue reported on code.google.com by [email protected]
on 27 Jul 2007 at 10:39
What steps will reproduce the problem?
1. run make_certificate.sh in a directory other than /tmp
2. ls -l /tmp/random.dat (still sitting there)
3.
What is the expected output? What do you see instead?
What version of the product are you using? On what operating system?
0.9.5
Please provide any additional information below.
All you need to do is apply this patch:
--- make_certificate.sh 2008-07-13 12:27:17.000000000 -0700
+++ make_certificate.sh.corrected 2008-07-13 12:26:18.000000000 -0700
@@ -1,5 +1,5 @@
#! /bin/sh
gzip -c --best /var/log/system.log > /tmp/random.dat
openssl rand -rand file:random.dat 0
-rm random.dat
+rm /tmp/random.dat
openssl req -config "make_certificate.cfg" -keyout "webshell.pem" -newkey
rsa:1024 -nodes -x509 -days 365 -out "webshell.pem"
Original issue reported on code.google.com by [email protected]
on 13 Jul 2008 at 7:30
No more alert box, but a nice Disconnection layer that gradually shows up
Original issue reported on code.google.com by [email protected]
on 27 Jul 2007 at 10:37
What steps will reproduce the problem?
1. Hit Ctrl-] (to close a xen console on the remote machine)
What is the expected output? What do you see instead?
The keycode received by the code is 93 with control on. To fix the
problem, I changed line 117 of webshell.js from saying "kc<=90" to "kc<=95".
What version of the product are you using? On what operating system?
0.9.6
Please provide any additional information below.
Fix is included above.
Original issue reported on code.google.com by [email protected]
on 27 May 2009 at 3:53
What steps will reproduce the problem?
1. Start in daemon mode
2. login
3. Login: is not readable
What is the expected output? What do you see instead?
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 29 Jul 2007 at 10:47
What steps will reproduce the problem?
1. start webshell from monit or init script
2. server runs as root, bad idea!
What is the expected output?
I want webshell to run as nobody (under unix)
What version of the product are you using? On what operating system?
Webshell 0.9.6 under Linux
Please provide any additional information below.
To resolve the issue, add the following two lines in webshell.py right
beneath the import stanza:
os.setgid(65534)
os.setuid(65534)
Now webshell runs as nobody:nogroup. Note that one cannot set the uid
before the gid, that generates an OSError.
Original issue reported on code.google.com by [email protected]
on 27 May 2009 at 5:47
What steps will reproduce the problem?
1. Load Webshell in Browser
2. Do not login
3. Reload page and continue with 1.
What is the expected output? What do you see instead?
Various webshell childs are created and never die. The processes hang around
for ever.
What version of the product are you using? On what operating system?
0.9.6 on Mac OS X Server 10.3.9
Please provide any additional information below.
It would be nice if webshell could clean up unused processes from time to time.
Having too many
webshell processes hang around often results in webshell no longer displaying
the Login:
prompt.
Stefan (talklists AT indes DASH s DOT de)
Original issue reported on code.google.com by [email protected]
on 20 Nov 2007 at 6:11
Just what the summary says
Original issue reported on code.google.com by [email protected]
on 27 Jul 2007 at 10:43
What steps will reproduce the problem?
1. start webshell on a terminal and monitor its output
2. login through webshell
3. logout
4. repeat w few times
5. wait a couple of minutes
What is the expected output? What do you see instead?
Webshell should clean up the closed sessions and their respective
processes.
Instead, the processes hang there.
The main webshell process reports some exceptions about non existing 'fd'
key when del-ing an entry from a dictionary.
What version of the product are you using? On what operating system?
Webshell-0.9.5 on Ubuntu 8.04
Please provide any additional information below.
The problem is that after a session is closed, webshell tries to clean up
some data structures (the session dictionary). It tries to delete some
entries without checking whether they exist. When it tries to delete non
existing entries, an unhandled exception is thrown and that particular
webshell process freezes.
In my case, I can only log in a couple of times initially, then the whole
webshell service hangs and is unusable.
The solution of this problem is to check whether a dictionary entry exists
before trying to delete it. The patch that fixes this is attached.
After applying this patch I were able to work normally with webshell.
Original issue reported on code.google.com by [email protected]
on 1 Oct 2008 at 1:39
Attachments:
Right now the client disconnects if it is not able to connect. It should retry
a couple of times, up to
30 seconds or so.
Original issue reported on code.google.com by [email protected]
on 27 Jul 2007 at 11:03
What the title says
Original issue reported on code.google.com by [email protected]
on 30 Jul 2007 at 9:25
What steps will reproduce the problem?
1. attempt to connect to port 8022 via SSL on browser (iPhone + Safari)
2. script kicks out the following immediately:
----
Exception happened during processing of request from ('192.168.1.202', 49236)
Traceback (most recent call last):
File "/usr/local/lib/python2.4/SocketServer.py", line 222, in handle_request
self.process_request(request, client_address)
File "/usr/local/lib/python2.4/SocketServer.py", line 241, in process_request
self.finish_request(request, client_address)
File "/usr/local/lib/python2.4/SocketServer.py", line 254, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/local/lib/python2.4/SocketServer.py", line 521, in __init__
self.handle()
File "/usr/local/lib/python2.4/BaseHTTPServer.py", line 316, in handle
self.handle_one_request()
File "/usr/local/lib/python2.4/BaseHTTPServer.py", line 310, in handle_one_request
method()
File "./webshell.py", line 1258, in do_GET
if multiplex.proc_keepalive(sid, w, h):
File "./webshell.py", line 1026, in __call__
r = self.orig(*l)
File "./webshell.py", line 1065, in proc_keepalive
return self.proc_spawn(sid)
File "./webshell.py", line 1026, in __call__
r = self.orig(*l)
File "./webshell.py", line 1130, in proc_spawn
0, 0
OverflowError: signed integer is greater than maximum
----
What version of the product are you using? On what operating system?
This is webshell 0.9.2 on FreeBSD 6.2-RELEASE
Please provide any additional information below.
I updated ports and built the package for py-openssl which in turn built python
2.4.4:
# pkginfo
...edit...
py24-openssl-0.6 Python interface to the OpenSSL library
python24-2.4.4 An interpreted object-oriented programming language
My understanding is that FreeBSD 6 is using OpenSSL and I have checked that I
have it enabled in
rc.conf, I also regularly SSH into this machine. There is no Apache install on
this machine but my
understanding as well is that the web interface in webshell does not depend on
that.
I have taken a look through sshd.conf and ssh.conf and haven't seen anything
that seems too
unusual.
Any help appreciated!
Thanks -
d.
Original issue reported on code.google.com by [email protected]
on 29 Jul 2007 at 3:01
make_certificate.sh has two serious security problems (which is way too
much for a 4 line shell script!).
1) It overrides pseudo random number generator's seed with a predictable
value. It tries to compress /var/log/system.log and use it as a seed for
PRNG. This is silly for two reasons:
a) if /var/log/system.log exists on a given system, the result is quite
predictable (an attacker would have to either steal the system.log and try
compressing all possible truncations of that file to guess the PRNG output,
which isn't so hard, or try to guess its contents, which is still easier
than trying to brute force the key).
b) if /var/log/system.log doesn't exist (true for almost all Linux
distributions), this results in an empty file being used for seeding the
PRNG and the outcome is 100% predictable!
One shouldn't override openssl's PRNG handling without a good reason, and
when implemented in a way like in make_certificate.sh, it results in
gigantic security hole.
All 3 lines that mess with OpenSSL's PRNG should be eliminated, otherwise
they beat the purpose of SSL by making it easily crackable.
2) umask 077 should be set before generating the PEM key+certificate file,
otherwise the file ends up being world-readable. The file which holds the
private key! This is obviously insecure.
I'm attaching a patch against SVN that fixes both issues.
Original issue reported on code.google.com by [email protected]
on 29 Sep 2008 at 10:04
Attachments:
What steps will reproduce the problem?
1. Launch webshell: /usr/local/web-shell/webshell.py --ssl-disable -p 8022 -d
2. Connect using local apache server as proxy connect over HTTPS (used to
be the only way to do HTTPS, still find it more convenient, port-wise).
3. Do stuff, then disconnect.
4. Wait 20 seconds or so (works fine if I reconnect immediately)
5. Reload browser window to reconnect.
6. Hangs without displaying login.
7. Kill the several web-shell processes lying around. (A new one for each
reload of browser window).
8. Go to step 1.
What is the expected output? What do you see instead?
See a single cursor indicator in upper corner after connect.
What version of the product are you using? On what operating system?
SVN HEAD, Gentoo Linux, worked without issues about 20 revisions ago,
around 0.9.5 or so. After updating, started getting these problems.
Please provide any additional information below.
Oh, likely unrelated, but. Following appears in javascript error console
whether connection succeeds or not, continuously.
Error: no element found
Source File: https://localhost/u?s=931031973&w=80&h=24&k=
Line: 1, Column: 39
Source Code:
<?xml version="1.0" encoding="UTF-8"?>--------------------------------------^
Original issue reported on code.google.com by [email protected]
on 18 Sep 2007 at 1:14
One really cool thing would be a page in the keyboard for macro's. I often have
screen running on
my server and would be nice to have 'next page' and 'last page' macros for
example. Could also be
useful for capturing commonly issued commands 'reboot now' for example.
Original issue reported on code.google.com by [email protected]
on 12 Dec 2007 at 4:48
Implement a nice overlay that disappears quickly, but informs you to tap to get
to the keyboard.
Original issue reported on code.google.com by [email protected]
on 27 Jul 2007 at 10:36
Hi,
I didn't know where to put it so here it is.
This version of WebShell read a file (option -f) to get a list of programs
that can be launch. The file is a ini file with entries such as :
[programs]
appshortname1 = /path/to/my/app
appshortname2 = /path/to/my/app2
This version also provided a generated index with the corresponding html
file to access these programs.
We need this because we wanted a unique webshell to provide access to
different applications on a host.
Hope this is useful to anyone.
Original issue reported on code.google.com by [email protected]
on 28 Mar 2008 at 5:06
Attachments:
What steps will reproduce the problem?
1. SSL connect, log in, log out and close the browser window all within a
few seconds
2. Wait 60s
3. webshell.py crashes.
What is the expected output? What do you see instead?
Expect webshell, but it's dead. Can't log in anymore.
What version of the product are you using? On what operating system?
0.9.6 with Python 2.3.4 on Linux 2.6.18
Please provide any additional information below.
Stack dump:
WebShell (https) at 0.0.0.0, port 8022
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python2.3/threading.py", line 436, in __bootstrap
self.run()
File "/usr/lib/python2.3/threading.py", line 416, in run
self.__target(*self.__args, **self.__kwargs)
File "webshell.py", line 1230, in proc_thread
(fds, fd2sid) = self.proc_getalive()
File "webshell.py", line 1023, in __call__
r = self.orig(*l)
File "webshell.py", line 1220, in proc_getalive
self.proc_bury(sid)
File "webshell.py", line 1158, in proc_bury
self.proc_waitfordeath(sid)
File "webshell.py", line 1144, in proc_waitfordeath
del self.session[sid]['fd']
KeyError: 'fd'
This svn diff seems to fix it but hasn't been well tested.
It just guards against 'fd' and 'sid' going missing. I guess you
could just check if the session is already dead instead; whatever...
Index: webshell.py
===================================================================
--- webshell.py (revision 72)
+++ webshell.py (working copy)
@@ -1141,12 +1141,12 @@
os.close(self.session[sid]['fd'])
except (KeyError, IOError, OSError):
pass
- del self.session[sid]['fd']
+ self.session[sid].pop('fd', None)
try:
os.waitpid(self.session[sid]['pid'], 0)
except (KeyError, IOError, OSError):
pass
- del self.session[sid]['pid']
+ self.session[sid].pop('pid', None)
self.session[sid]['state'] = 'dead'
return True
def proc_bury(self, sid):
Original issue reported on code.google.com by [email protected]
on 15 Aug 2007 at 1:50
When typing in a password in webshell, the password is viewable in plain
text, and future typing of strings in browser can result in autocorrect
displaying it. Not to mention the string showing up in the local
autocorrect cache if using someone else's iphone.
Having a button to switch text input to password mode would solve shoulder
surfing, and, I believe, disable the iphone learning the password strings.
Original issue reported on code.google.com by [email protected]
on 2 Aug 2007 at 6:46
When entering text using the iPhone interface and pressing done should
submit the text with out having to press enter.
Original issue reported on code.google.com by [email protected]
on 15 Jul 2007 at 11:12
What steps will reproduce the problem?
1. visit shell in iphone
2. login prompt takes a long time to appear, but it eventually does
3. attempt to log in
What is the expected output? What do you see instead?
- expect to see my name, instead i see a place where my cursor should be.
What version of the product are you using? On what operating system?
- iphone
Please provide any additional information below.
- it works great in safari, just not on iphone. can someone recommend a build
that does work on
the iphone? tested and true?
Original issue reported on code.google.com by [email protected]
on 28 Jul 2007 at 10:50
Just that
Original issue reported on code.google.com by [email protected]
on 30 Jul 2007 at 11:05
It would be great to have an alternative input (the textline input method
should still be there, allows
also paste).
The problem is we want to map the 127 ASCII characters, 12 function keys and 8
cursor controls to
the 7x4 keys to avoid the big finger problem.
Original issue reported on code.google.com by [email protected]
on 27 Jul 2007 at 10:53
What steps will reproduce the problem?
1. Use a PEM chain which requires an intermediate certificate (such as from
Verisign)
2. Go to the web site in a browers
3. The program will only transmit the first certificate in the chain
What is the expected output? What do you see instead?
The program should send the entire chain, but it only sends the first
certificate
What version of the product are you using? On what operating system?
v0.9.2 on MacOS
Please provide any additional information below.
Change the line:
ctx.use_certificate_file(ssl_cert)
to
ctx.use_certificate_chain_file(ssl_cert)
will allow use of chained certificate files properly.
Original issue reported on code.google.com by [email protected]
on 31 Jul 2007 at 2:01
What steps will reproduce the problem?
1. Install webshell
2. start webshell with -i etho --ssl-disable optons
3. The program does not start and am not able to come out of shell
What is the expected output? What do you see instead?
Expected:
When i select the required interface through which i want the webshell to
run, it should start without any problem.
Problem:
The followind call trace is produced and i am not able to come out of the
shell when ^c is issued... it just hangs
CallTrace:
srinivasa@schamart-1:~/WebShell-0.9.5/WebShell-0.9.5$ ./webshell.py -i eth0
--ssl-disable
Traceback (most recent call last):
File "./webshell.py", line 1417, in <module>
main()
File "./webshell.py", line 1401, in main
httpd = SecureHTTPServer(server_address, WebShellRequestHandler, o.cmd,
o.term, o.ssl_enabled, o.ssl_cert)
File "./webshell.py", line 1329, in __init__
self.server_bind()
File "/usr/lib/python2.5/BaseHTTPServer.py", line 101, in server_bind
SocketServer.TCPServer.server_bind(self)
File "/usr/lib/python2.5/SocketServer.py", line 341, in server_bind
self.socket.bind(self.server_address)
File "<string>", line 1, in bind
socket.gaierror: (-5, 'No address associated with hostname')
What version of the product are you using? On what operating system?
WebShell-0.9.5
Please provide any additional information below.
Am using ubuntu 8.04.
Original issue reported on code.google.com by [email protected]
on 16 Aug 2008 at 6:09
Test these browsers:
iPhone
Firefox (latest)
Konqueror
Safari (2.0 and 3.0)
Internet Explorer
Test systems:
Linux
Mac OS 10.4/10.5
Windows (cygwin)
Solaris
Original issue reported on code.google.com by [email protected]
on 27 Jul 2007 at 10:35
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.