{"id":15962264,"url":"https://github.com/albertogeniola/thething-hostcontroller","last_synced_at":"2025-04-04T12:24:12.989Z","repository":{"id":96745149,"uuid":"95093896","full_name":"albertogeniola/TheThing-HostController","owner":"albertogeniola","description":"HostController module of TheThing analysis service","archived":false,"fork":false,"pushed_at":"2017-06-22T08:46:20.000Z","size":2015,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-09T22:19:17.735Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/albertogeniola.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2017-06-22T08:41:22.000Z","updated_at":"2017-06-22T08:42:03.000Z","dependencies_parsed_at":"2023-04-24T19:27:18.777Z","dependency_job_id":null,"html_url":"https://github.com/albertogeniola/TheThing-HostController","commit_stats":{"total_commits":3,"total_committers":1,"mean_commits":3.0,"dds":0.0,"last_synced_commit":"ee9df76b23c7a0bc9a4470260031af206bd2ff87"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/albertogeniola%2FTheThing-HostController","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/albertogeniola%2FTheThing-HostController/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/albertogeniola%2FTheThing-HostController/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/albertogeniola%2FTheThing-HostController/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/albertogeniola","download_url":"https://codeload.github.com/albertogeniola/TheThing-HostController/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247175940,"owners_count":20896376,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-10-07T16:02:25.598Z","updated_at":"2025-04-04T12:24:12.971Z","avatar_url":"https://github.com/albertogeniola.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HostController Agent\n\nThe HostController Agent consists in a software module running on a HostController node.\nEach HostController Agent is assigned a certain number of Sandboxes (Guests). The lifecycle of such guests is handled by the HostController, via specific APIs (Virtualbox SDK / Openstack SDK / Arduinos for bare metal).\n\nIn general, we can summarize the behavior of a HostController Agent as the following:\n\n 1. Create Sniffer and guests via API offered by underlying Hypervisor (only if virtualization is used)\n 1. Start the sniffer machine and configure it once it's running via its webservice interface\n 1. Start the Guests\n 1. Serve requests incoming from guests\n    1. Poll the server for new jobs\n    1. Serve the job to the guest\n    1. Receive the outcome of the analysis\n    1. Store the result into the central db\n    1. Revert the Guest\n\n## Installation\nThe HostController agent is developed in pure Python 2.7 and has been tested in both Linux Ubuntu 16.04 LTS 64bit and Windows Server 2012 64 bit.\nThe installation of the HostController Agent is as simple as installing a normal Python package. However, the user has to setup the Central database and the hypervisor module before installing the HostController Agent. Such operations are described in details in the [Introduction](https://bitbucket.org/albertogeniola/thething/overview).\n\nThe mere installation of the only HostController agent's binaries is straightforward, and is described below.\n\n### Windows\nFirst, let's clone the git repository of HostController Agent\n\n```\n   C:\\\u003e git clone https://github.com/albertogeniola/HostController1.1_python.git\n```\n\nNow we need to build the distributable version and install it via PIP command.\n```\n   C:\\\u003e cd HostController1.1_python\n   C:\\\u003e C:\\InstallAnalyzer\\scripts\\python setup.py sdist\n   C:\\\u003e cd dist\n   C:\\\u003e C:\\InstallAnalyzer\\scripts\\pip install HostController-0.1.zip\n```\n\n\n### Linux\nLet's download the HostController Agent binaries from the official git repository.\n\n```\n    $ cd /home/ubuntu\n    $ git clone https://github.com/albertogeniola/HostController1.1_python.git\n```\n\nNow let's build and install those binaries into our virtualenv\n```\n    $ cd /home/ubuntu\n    $ cd HostController1.1_python\n    $ /home/ubuntu/InstallAnalyzer/bin/python2.7 setup.py sdist\n    $ sudo /home/ubuntu/InstallAnalyzer/bin/pip2.7 install dist/HostController-0.1.tar.gz --upgrade\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falbertogeniola%2Fthething-hostcontroller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falbertogeniola%2Fthething-hostcontroller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falbertogeniola%2Fthething-hostcontroller/lists"}