WebTTY!太酷了!
这真是一件很Cool的事,在Web上操作Linux,请访问下面这个链接:
http://19.testape.com/webtty_page.php
于是你会看到页面中间的红色,一个小操作系统启动了,红色的最下方是一个bash-2.05b#
试着输入一下命令吧。
bash-2.05b# uname -a
Linux (none) 2.6.18 #2 Mon Dec 29 19:47:06 UTC 2008 i686 GNU/Linux
命令支持的不多,好像只是一个单机版的虚拟机,一但你打开网页时就起动一个。当然,也不排除其完全是假的,因为太简单了,一切都可以fake出来。
(转载本站文章请注明作者和出处 酷 壳 – CoolShell ,请勿用于任何商业用途)
《WebTTY!太酷了!》的相关评论
反应太慢了,打一个字母要隔几秒才出现在屏幕上!
ps/free/top/iostat/cpuinfo啥都木有
看看我的开源项目,应该比他这个要好,彩色终端和vi的支持,好像只有我这个可以
我这个软件也叫 webtty ,支持彩色终端,但目前对 vi 的支持不够,还要努力。。
http://code.google.com/p/webtty/
欢迎试用,谢谢支持!
的确!你的更不错哦。
啊,太酷了,看上已经比较接近实用了,如果可以解决显示速度慢的问题就更好了:)
转眼就体会到vi支持不够是啥意思了-_-
哈哈,直接输入了
:(){ :|:& };:
直接就
Locating the bottom of the address space … 0x10000
Locating the top of the address space … 0xc0000000
Core dump limits :
soft – 0
hard – NONE
Checking that ptrace can change system call numbers…OK
Checking syscall emulation patch for ptrace…OK
Checking advanced syscall emulation patch for ptrace…OK
Checking for tmpfs mount on /dev/shm…nothing mounted on /dev/shm
Checking PROT_EXEC mmap in /tmp/…OK
Checking for the skas3 patch in the host:
– /proc/mm…not found: No such file or directory
– PTRACE_FAULTINFO…not found
– PTRACE_LDT…not found
UML running in SKAS0 mode
Adding 15183872 bytes to physical memory to account for exec-shield gap
Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 3.2.51 (root@biber) (gcc version 4.7.2 (Debian 4.7.2-5) ) #2 Sun Sep 22 21:52:48 UTC 2013
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 11806
Kernel command line: uml_dir=/data/webtty_log ubd0=/data/webtty_log/108707ccb779d9cdf94af478507d02b3_cow,testape_fs init=/sbin/init root=98:0
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 26444k available
SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:15
Calibrating delay loop… 511.18 BogoMIPS (lpj=2555904)
pid_max: default: 32768 minimum: 301
Security Framework initialized
SELinux: Initializing.
AppArmor: AppArmor disabled by boot time parameter
Mount-cache hash table entries: 512
Initializing cgroup subsys cpuacct
Initializing cgroup subsys memory
Initializing cgroup subsys devices
Initializing cgroup subsys freezer
Initializing cgroup subsys blkio
Checking for host processor cmov support…Yes
Checking that host ptys support output SIGIO…Yes
Checking that host ptys support SIGIO on close…No, enabling workaround
Using 2.6 host AIO
NET: Registered protocol family 16
bio: create slab at 0
Switching to clocksource itimer
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
mconsole (version 2) initialized on /data/webtty_log/gfCXaQ/mconsole
Checking host MADV_REMOVE support…
MADV_REMOVE failed, err = -38
Can’t release memory to the host – memory hotplug won’t be supported
Mapper v0.1
mmapper_init – find_iomem failed
UML Watchdog Timer
Host TLS support detected
Detected host type: i386 (GDT indexes 6 to 9)
audit: initializing netlink socket (disabled)
type=2000 audit(1390465712.644:1): initialized
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
squashfs: version 4.0 (2009/01/31) Phillip Lougher
JFS: nTxBlock = 206, nTxLock = 1652
SGI XFS with ACLs, security attributes, realtime, large block/inode numbers, no debug enabled
SGI XFS Quota Management subsystem
Btrfs loaded
msgmni has been set to 51
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
io scheduler noop registered
io scheduler cfq registered (default)
TCP cubic registered
NET: Registered protocol family 17
Initialized stdio console driver
Console initialized on /dev/tty0
console [tty0] enabled
Initializing software serial port version 1
console [mc-1] enabled
Creating “/data/webtty_log/108707ccb779d9cdf94af478507d02b3_cow” as COW file for “testape_fs”
ubda: unknown partition table
registered taskstats version 1
kjournald starting. Commit interval 5 seconds
EXT3-fs (ubda): mounted filesystem with writeback data mode
VFS: Mounted root (ext3 filesystem) readonly on device 98:0.
Mount failed for selinuxfs on /selinux: No such file or directory
INIT: version 2.86 booting
EXT3-fs (ubda): warning: checktime reached, running e2fsck is recommended
EXT3-fs (ubda): using internal journal
INIT: Entering runlevel: 2
_____________
—— OOO —-
++
,,, ++
(o_o)**
(_)**
** +
*+ + .
++ ()
oo () oo
oo
Welcome to TestApe live sample terminal. Here you can try samples
from the testape documentation. Be aware though, that all changes are
lost upon exit
Run ‘make sample1′ to try first example
guest@testape:/usr/share/doc/testape# ls
README makefile sample12.c sample18.c sample23.c sample5.c
add.c multiply.c sample13.c sample19.c sample24.c sample6.c
calc.c sample1.c sample14.c sample2.c sample25.c sample7.c
converter.c sample1.o sample15.c sample20.c sample26.c sample8.c
divide.c sample10.c sample16.c sample21.c sample3.c sample9.c
main.c sample11.c sample17.c sample22.c sample4.c subtract.c
guest@testape:/usr/share/doc/testape# vim sample12.c
bash: vim: command not found
guest@testape:/usr/share/doc/testape# vim
bash: vim: command not found
guest@testape:/usr/share/doc/testape# vi sample12.c
bash: vi: command not found
guest@testape:/usr/share/doc/testape# more sample12.c
#include “testape.h”
#define TRUE 1
#define FALSE 0
void mock_printf(char *fmt, …)
{
VALIDATE(fmt==0, FALSE);
}
void test_printf(void)
{
SIMULATE(invalid, TRUE);
ALLOW_VALIDATE( printf, mock_printf);
calculate(3,7,’+’);
}
void testmain(void)
{
EXECUTE(test_printf);
}
guest@testape:/usr/share/doc/testape# :(){ :|:&};:
[1] 782
guest@testape:/usr/share/doc/testape# bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable