{"id":15006863,"url":"https://github.com/tajiknomi/clienthttp_linux","last_synced_at":"2026-02-06T03:01:59.178Z","repository":{"id":252776802,"uuid":"839765439","full_name":"tajiknomi/ClientHTTP_linux","owner":"tajiknomi","description":"Linux based client interacting with REST/JSON HTTP server for system information retrieval, file management, remote command execution, data transfer, and automated task scheduling etc","archived":false,"fork":false,"pushed_at":"2025-01-01T15:58:25.000Z","size":2344,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-15T17:16:39.302Z","etag":null,"topics":["client-http","client-side","cmake","cpp","filemanager","hacking-tool","linux-app","linux-client","linux-rat","linux-shell","offsec","rat","red-team","remote-access-tool","remote-administrative-tool","remote-desktop"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tajiknomi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-08T09:30:23.000Z","updated_at":"2025-01-01T17:57:46.000Z","dependencies_parsed_at":"2024-09-28T16:01:15.177Z","dependency_job_id":"e36f76dd-af6f-4d7f-9bac-ae860a7da64f","html_url":"https://github.com/tajiknomi/ClientHTTP_linux","commit_stats":null,"previous_names":["tajiknomi/clienthttp_linux"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/tajiknomi/ClientHTTP_linux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tajiknomi%2FClientHTTP_linux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tajiknomi%2FClientHTTP_linux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tajiknomi%2FClientHTTP_linux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tajiknomi%2FClientHTTP_linux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tajiknomi","download_url":"https://codeload.github.com/tajiknomi/ClientHTTP_linux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tajiknomi%2FClientHTTP_linux/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29147377,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T02:39:25.012Z","status":"ssl_error","status_checked_at":"2026-02-06T02:37:22.784Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["client-http","client-side","cmake","cpp","filemanager","hacking-tool","linux-app","linux-client","linux-rat","linux-shell","offsec","rat","red-team","remote-access-tool","remote-administrative-tool","remote-desktop"],"created_at":"2024-09-24T19:02:10.322Z","updated_at":"2026-02-06T03:01:59.172Z","avatar_url":"https://github.com/tajiknomi.png","language":"C++","readme":"## Intro\nLightweight C++ utility designed for Linux systems, aimed at enabling efficient remote administration of linux client machine. This tool is optimized for performance, small footprint and size. It interact with a REST/JSON server (*i.e. C\u0026C server*) for communication.\n\n## Application\nAdminister your linux client machine remotely via any REST/json server e.g. [Remote Administration Console](https://github.com/tajiknomi/Remote_Administrative_Console). It uses standard HTTP/json/base64 for communication, appearing as a standard web traffic for router/firewall(s). Whether you need to manage configurations, monitor system, execute commands, upload/download files or folders to/from machine, this app seamlessly integrates into your system without requiring additional software's.\n\n## Features\n\n***System Information***: Gather basic system information i.e. username, computer name, IP address, OS version etc.\n\n***File Manager***: Effortlessly manage your files and directories such as view, copy, paste, and delete.\n\n***Shell Handling***: This app will invoke ***/bin/sh*** on request which is available in almost every linux distribution. You can invoke other shells of your choice by using ***/bin/sh*** as the baseline.\n\n***Upload/Download*** File or Directory: Seamlessly transfer files and directories to any http server (*which accepts files*).\n\n***Archive/Compress File or Directory***: This feature compresses file/directory(s) before uploading it to the HTTP server.\n\n***Execute***: Run program or scripts on the client to automate tasks.\n\n***Notifications***: Stay informed with clear and concise messages or notifications from client about an operation or task.\n\n***Logging***: Track client/server activity and events for troubleshooting.\n\n***Persist (Optional)***: Implement your own persistence mechanism in \"*src/operations.cpp::persist section*\"\n\n## Usage\nFor server side; you can use [this server app as a command \u0026 control unit](https://github.com/tajiknomi/Remote_Administrative_Console/releases) \n\nOR you can use your own REST/json http server.\n\nDownload the ready-to-use client from the [release section](https://github.com/tajiknomi/ClientHTTP_linux/releases) to communicate with the server.\n```\n$ clientHTTP \u003cURL/IP\u003e \u003cPORT\u003e\n```\nBy default, the app will send hearbeat/alive signal every 1 sec in order to inform the server at *\u003cURL/IP\u003e* that it is alive and will collect the command/instruction from server (*if the server have any instruction/command/data for the client*). You can modify this interval time in main.cpp (variable ---\u003e *heartbeatTimerInSecs*).\n\nThe details of REST/json request/response are specified in the [REST requests (for advance users)](https://github.com/tajiknomi/Remote_Administrative_Console/blob/main/README.md#rest-requests-for-advance-users).\n\n\n## How to build\nThe app is intentionally written on older version of linux i.e. [ubuntu 16.04 LTS](https://releases.ubuntu.com/16.04/) and build using [gcc 5.4.0](https://ftp.gnu.org/gnu/gcc/gcc-5.4.0/) for the purpose of backward compatibility.\n\nBuilding this project requires the presence of two essential dependencies: [libcurl](https://github.com/curl/curl) and [RapidJSON](https://github.com/Tencent/rapidjson) (for efficient JSON parsing). Section of [RapidJSON](https://github.com/Tencent/rapidjson) which this app use is already accessible from my source code so you just need to install [libcurl](https://github.com/curl/curl) on your machine.\n\nBuild your curl library from [source](https://github.com/curl/curl) or use these easy to apply [commands](https://ec.haxx.se/install/linux.html) for your linux distribution.\n\n\n```\n$ cd clientHTTP_linux \u0026\u0026 mkdir build \u0026\u0026 cd build\n$ cmake ../\n$ make\n```\n\nyou can also use cmake generators to build binary for Debug/Release and target architecture(s) for example.\n```\n$ cmake -DCMAKE_BUILD_TYPE=Debug ../\n$ cmake -DTARGET_ARCH=x64 ../\n$ cmake -DTARGET_ARCH=x86 ../\n```\n\n### Disclaimer\nThis application is designed for personal and administrative use. It is not intended for unauthorized access, data manipulation, or any other malicious activity. Any use of this software for illegal purposes is strictly prohibited. You can use this service in offensive security scenarios on you own machine/network ONLY.\nThe author disclaims all liability for any misuse or damage caused by the application. Users are solely responsible for their actions and the consequences thereof.\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first\nto discuss what you would like to add/change/modify.\n\n\n## License\n\n[MIT](https://opensource.org/license/mit)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftajiknomi%2Fclienthttp_linux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftajiknomi%2Fclienthttp_linux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftajiknomi%2Fclienthttp_linux/lists"}