{"id":30756941,"url":"https://github.com/s-r-e-e-r-a-j/gohost","last_synced_at":"2026-04-12T16:35:03.126Z","repository":{"id":311601241,"uuid":"1044269055","full_name":"s-r-e-e-r-a-j/GoHost","owner":"s-r-e-e-r-a-j","description":"GoHost is a powerful HTTP server tool for Debian Linux, written in Go. It allows you to host websites, serve files, and optionally enable downloads for non-web files. With built-in support for Serveo and Cloudflared tunnels, you can expose your server to the internet and make it accessible from anywhere.","archived":false,"fork":false,"pushed_at":"2025-09-04T10:16:46.000Z","size":65,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-04T10:36:33.883Z","etag":null,"topics":["golang","httpserver","linux","linuxtool","linuxtools","server","webserver"],"latest_commit_sha":null,"homepage":"","language":"Go","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/s-r-e-e-r-a-j.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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,"zenodo":null}},"created_at":"2025-08-25T12:37:17.000Z","updated_at":"2025-09-04T10:16:50.000Z","dependencies_parsed_at":"2025-08-25T13:28:09.668Z","dependency_job_id":"829584b3-6bb1-4be2-8ca1-b518f7ce0554","html_url":"https://github.com/s-r-e-e-r-a-j/GoHost","commit_stats":null,"previous_names":["s-r-e-e-r-a-j/gohost"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/s-r-e-e-r-a-j/GoHost","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s-r-e-e-r-a-j%2FGoHost","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s-r-e-e-r-a-j%2FGoHost/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s-r-e-e-r-a-j%2FGoHost/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s-r-e-e-r-a-j%2FGoHost/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/s-r-e-e-r-a-j","download_url":"https://codeload.github.com/s-r-e-e-r-a-j/GoHost/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s-r-e-e-r-a-j%2FGoHost/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273596258,"owners_count":25134259,"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","status":"online","status_checked_at":"2025-09-04T02:00:08.968Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["golang","httpserver","linux","linuxtool","linuxtools","server","webserver"],"created_at":"2025-09-04T10:50:50.336Z","updated_at":"2026-04-12T16:35:03.114Z","avatar_url":"https://github.com/s-r-e-e-r-a-j.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## GoHost\n**GoHost** is a powerful HTTP server tool for Linux, supporting Debian, RHEL, and Arch-based systems, written in Go. It allows you to host websites, serve files, and optionally enable downloads for non-web files. With built-in support for **Serveo** and **Cloudflared** tunnels, you can expose your server to the internet and make it accessible from anywhere.\n\n## Features\n\n- Host websites and serve any folder as an HTTP server on Linux.\n\n- Render `.html`, `.htm`, `.css`, and `.js` files as websites.\n\n- When download mode is **off**, files can only be viewed in the browser by clicking on them.\n\n- When download mode is **on**, non-web files can be downloaded by clicking on them.\n\n- Access your server from anywhere using Serveo or Cloudflared tunnels.\n\n- Automatically installs SSH (for Serveo) and Cloudflared if missing.\n\n## Compatibility\n- Linux (Debian, RHEL, Arch)\n\n## Installation\n1. **Make sure you have Go installed**\n   \n2. **Clone the GoHost repository:**\n   \n```bash\ngit clone https://github.com/s-r-e-e-r-a-j/GoHost.git\n```\n3. **Navigate to the GoHost folder:**\n\n```bash\ncd GoHost\n```\n\n4. **Run the installer:**\n\n```bash\nsudo bash install.sh\n```\n **After installation, you can use `gohost` from anywhere.**\n\n## Usage\n\n```bash\ngohost [options]\n```\n\n## Options\n\n| Option      | Description                                                   | Default Value     |\n|-------------|---------------------------------------------------------------|-------------------|\n| `-port`     | Port to run the HTTP server                                   | `8000`            |\n| `-path`     | Folder path to serve                                          | Current directory |\n| `-tunnel`   | Tunnel method for internet access (`serveo` or `cloudflared`) | None (local only) |\n| `-download` | Enable download mode (`true` or `false`)                      | `false`           |\n\n## Examples\n1. **Host the current directory on port 8000 (default, view only)**\n```bash\ngohost\n```\n3. **Host the current directory on a custom port (view only)**\n```bash\ngohost -port 8080\n```\n5. **Host a specific folder on a custom port (view only)**\n```bash\ngohost -port 8080 -path /home/user/files\n```\n4. **Host a folder with download mode enabled (non-web files downloadable)**\n```bash\ngohost -port 8080 -path /home/user/files -download true\n```\n5. **Expose a folder on the internet**\n```bash\n# Expose using Serveo \ngohost -port 8080 -path /home/user/files -tunnel serveo\n\n# Expose using Cloudflared \ngohost -port 8080 -path /home/user/files -tunnel cloudflared\n\n# Expose using Cloudflared and enable download mode for non-web files\ngohost -port 8080 -path /home/user/files -tunnel cloudflared -download true\n```\n\n6. **You can use your own VPS or external tunneling services by exposing the local server port.**\n\n**Example:**\n\n`ghost -port 8070 -path /home/kali/Desktop/folder -download true`\n\nThen use `localhost:8070` and forward port `8070` using your VPS or external tunnel.\n\n## Host a Website (HTML/CSS/JS Only)\n\n**Requirement**: Your folder must contain only `.html`, `.css`, and `.js` files\n(e.g., `index.html`, `style.css`, `script.js`). No other file types.\n```bash\n# Default port 8000\ngohost -path /home/user/website\n\n# Custom port\ngohost -port 8080 -path /home/user/website\n```\n\n**Expose the website on the internet:**\n```bash\n# Serveo\ngohost -port 8080 -path /home/user/website -tunnel serveo\n\n# Cloudflared\ngohost -port 8080 -path /home/user/website -tunnel cloudflared\n```\n\n**You can use your own VPS or external tunneling services by exposing the local server port.**\n\n**Example:**\n\n`ghost -port 8070 -path /home/user/website`\n\nThen use `localhost:8070` and forward port `8070` using your VPS or external tunnel.\n\n## Uninstallation \n**Run uninstall.sh script:**\n```bash\nsudo bash uninstall.sh\n```\n## License\nThis project is licensed under the MIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fs-r-e-e-r-a-j%2Fgohost","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fs-r-e-e-r-a-j%2Fgohost","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fs-r-e-e-r-a-j%2Fgohost/lists"}