Linux premium180.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
LiteSpeed
: 162.0.209.168 | : 216.73.216.187
Cant Read [ /etc/named.conf ]
8.3.30
nortrmdp
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
opt /
alt /
php81 /
usr /
include /
php /
ext /
swoole /
include /
[ HOME SHELL ]
Name
Size
Permission
Action
swoole.h
22.85
KB
-rw-r--r--
swoole_api.h
3.39
KB
-rw-r--r--
swoole_asm_context.h
1.76
KB
-rw-r--r--
swoole_async.h
3.7
KB
-rw-r--r--
swoole_atomic.h
2.15
KB
-rw-r--r--
swoole_base64.h
1.29
KB
-rw-r--r--
swoole_buffer.h
2.28
KB
-rw-r--r--
swoole_c_api.h
2.19
KB
-rw-r--r--
swoole_channel.h
2.34
KB
-rw-r--r--
swoole_client.h
8.41
KB
-rw-r--r--
swoole_config.h
8.84
KB
-rw-r--r--
swoole_coroutine.h
8.96
KB
-rw-r--r--
swoole_coroutine_c_api.h
4.9
KB
-rw-r--r--
swoole_coroutine_channel.h
4.18
KB
-rw-r--r--
swoole_coroutine_context.h
2.59
KB
-rw-r--r--
swoole_coroutine_socket.h
18.85
KB
-rw-r--r--
swoole_coroutine_system.h
3.48
KB
-rw-r--r--
swoole_dtls.h
2.41
KB
-rw-r--r--
swoole_error.h
5.85
KB
-rw-r--r--
swoole_file.h
4.09
KB
-rw-r--r--
swoole_file_hook.h
2.86
KB
-rw-r--r--
swoole_hash.h
9.69
KB
-rw-r--r--
swoole_heap.h
1.79
KB
-rw-r--r--
swoole_http.h
6.99
KB
-rw-r--r--
swoole_http2.h
8.38
KB
-rw-r--r--
swoole_lock.h
2.64
KB
-rw-r--r--
swoole_log.h
15.72
KB
-rw-r--r--
swoole_lru_cache.h
3.17
KB
-rw-r--r--
swoole_memory.h
2.75
KB
-rw-r--r--
swoole_message_bus.h
5.53
KB
-rw-r--r--
swoole_mime_type.h
1.44
KB
-rw-r--r--
swoole_mqtt.h
2.18
KB
-rw-r--r--
swoole_msg_queue.h
1.92
KB
-rw-r--r--
swoole_pipe.h
2.64
KB
-rw-r--r--
swoole_process_pool.h
8.88
KB
-rw-r--r--
swoole_protocol.h
5.32
KB
-rw-r--r--
swoole_proxy.h
2.14
KB
-rw-r--r--
swoole_reactor.h
11.25
KB
-rw-r--r--
swoole_redis.h
2.09
KB
-rw-r--r--
swoole_server.h
39.62
KB
-rw-r--r--
swoole_signal.h
1.68
KB
-rw-r--r--
swoole_socket.h
17.61
KB
-rw-r--r--
swoole_socket_hook.h
2.23
KB
-rw-r--r--
swoole_ssl.h
4.94
KB
-rw-r--r--
swoole_static_handler.h
4.7
KB
-rw-r--r--
swoole_string.h
8.06
KB
-rw-r--r--
swoole_table.h
7.35
KB
-rw-r--r--
swoole_timer.h
4.05
KB
-rw-r--r--
swoole_util.h
5.58
KB
-rw-r--r--
swoole_version.h
2.21
KB
-rw-r--r--
swoole_websocket.h
4.53
KB
-rw-r--r--
swoole_wheel_timer.h
2.48
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : swoole_static_handler.h
/* +----------------------------------------------------------------------+ | Swoole | +----------------------------------------------------------------------+ | This source file is subject to version 2.0 of the Apache license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.apache.org/licenses/LICENSE-2.0.html | | If you did not receive a copy of the Apache2.0 license and are unable| | to obtain it through the world-wide-web, please send a note to | | license@swoole.com so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Tianfeng Han <rango@swoole.com> | +----------------------------------------------------------------------+ */ #pragma once #include "swoole_server.h" #include "swoole_http.h" #include "swoole_mime_type.h" #include <string> #include <set> namespace swoole { namespace http_server { class StaticHandler { private: Server *serv; std::string request_url; std::string dir_path; std::set<std::string> dir_files; std::string index_file; typedef struct { off_t offset; size_t length; char part_header[SW_HTTP_SERVER_PART_HEADER]; } task_t; std::vector<task_t> tasks; size_t l_filename = 0; char filename[PATH_MAX]; struct stat file_stat; bool last = false; std::string content_type; std::string boundary; std::string end_part; size_t content_length = 0; public: int status_code = SW_HTTP_OK; StaticHandler(Server *_server, const char *url, size_t url_length) : request_url(url, url_length) { serv = _server; } /** * @return true: continue to execute backwards * @return false: break static handler */ bool hit(); bool hit_index_file(); bool is_modified(const std::string &date_if_modified_since); bool is_modified_range(const std::string &date_range); size_t make_index_page(String *buffer); bool get_dir_files(); bool set_filename(const std::string &filename); bool catch_error() { if (last) { status_code = SW_HTTP_NOT_FOUND; return true; } else { return false; } } bool has_index_file() { return !index_file.empty(); } bool is_enabled_auto_index() { return serv->http_autoindex; } std::string get_date(); time_t get_file_mtime() { #ifdef __MACH__ return file_stat.st_mtimespec.tv_sec; #else return file_stat.st_mtim.tv_sec; #endif } std::string get_date_last_modified(); const char *get_filename() { return filename; } const char *get_boundary() { if (boundary.empty()) { boundary = std::string(SW_HTTP_SERVER_BOUNDARY_PREKEY); swoole_random_string(boundary, SW_HTTP_SERVER_BOUNDARY_TOTAL_SIZE - sizeof(SW_HTTP_SERVER_BOUNDARY_PREKEY)); } return boundary.c_str(); } const char *get_content_type() { if (tasks.size() > 1) { content_type = std::string("multipart/byteranges; boundary=") + get_boundary(); return content_type.c_str(); } else { return get_mimetype(); } } const char *get_mimetype() { return swoole::mime_type::get(get_filename()).c_str(); } std::string get_filename_std_string() { return std::string(filename, l_filename); } bool get_absolute_path(); size_t get_filesize() { return file_stat.st_size; } const std::vector<task_t> &get_tasks() { return tasks; } bool is_dir() { return S_ISDIR(file_stat.st_mode); } bool is_link() { return S_ISLNK(file_stat.st_mode); } bool is_file() { return S_ISREG(file_stat.st_mode); } bool is_absolute_path() { return swoole_strnpos(filename, l_filename, SW_STRL("..")) == -1; } bool is_located_in_document_root() { const std::string &document_root = serv->get_document_root(); const size_t l_document_root = document_root.length(); return l_filename > l_document_root && filename[l_document_root] == '/' && swoole_str_starts_with(filename, l_filename, document_root.c_str(), l_document_root); } size_t get_content_length() { return content_length; } const char *get_end_part() { return end_part.c_str(); } void parse_range(const char *range, const char *if_range); }; }; // namespace http_server }; // namespace swoole
Close