{"id":27645818,"url":"https://github.com/bjfssd757/netter","last_synced_at":"2025-04-24T01:13:07.429Z","repository":{"id":287227083,"uuid":"964038822","full_name":"bjfssd757/Netter","owner":"bjfssd757","description":"Netter is a CLI tool for quickly and easily launching servers.","archived":false,"fork":false,"pushed_at":"2025-04-23T20:17:55.000Z","size":30654,"stargazers_count":4,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-24T01:13:01.524Z","etag":null,"topics":["collaborate","communityexchange","github","github-copilot"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/bjfssd757.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,"zenodo":null}},"created_at":"2025-04-10T15:39:21.000Z","updated_at":"2025-04-23T08:42:25.000Z","dependencies_parsed_at":"2025-04-10T16:56:51.290Z","dependency_job_id":"8098c378-188b-4874-826e-a723b268e01f","html_url":"https://github.com/bjfssd757/Netter","commit_stats":null,"previous_names":["bjfssd757/netter"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjfssd757%2FNetter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjfssd757%2FNetter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjfssd757%2FNetter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjfssd757%2FNetter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bjfssd757","download_url":"https://codeload.github.com/bjfssd757/Netter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250540924,"owners_count":21447427,"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":["collaborate","communityexchange","github","github-copilot"],"created_at":"2025-04-24T01:13:06.945Z","updated_at":"2025-04-24T01:13:07.424Z","avatar_url":"https://github.com/bjfssd757.png","language":"Rust","readme":"# Netter\n\nNetter is a CLI tool for quickly and easily launching servers.\n\n## Table of Contents\n\n* [Future](#future)\n* [Features](#features)\n* [Documentation](#documentation)\n* [Installation](#installation)\n* [Dependencies](#dependencies)\n* [Commands](#commands)\n\n## Future\n\n* Support for complex server structures and routing;\n* Support for different types of servers: gRPC, TCP/UDP sockets;\n* Support for SSL/TLS.\n\n## Features\n\n* Creating a server on web sockets (websockets);\n* Creating HTTP server;\n* Stopping any server launched via netter.\n\n## Documentation\n\nLaunching a server is done using the command:\n\n```powershell\nnetter start\n```\n\nStopping a server is done using the command:\n\n```powershell\nnetter stop\n```\n\n### Start\n\nThe start command accepts the following parameters:\n\n* **--type**: server type: **websocket**, **tcp**, **udp**, **http**, **grpc**:\n\n```powershell\nnetter start --websocket\n```\n\n* **--host**: server address:\n\n```powershell\nnetter start --websocket --host 127.0.0.1\n```\n\n* **--port**: server port:\n\n```powershell\nnetter start --websocket --host 127.0.0.1 --port 808\n```\n\n* **--protect**: whether to protect or not (default is no. If the flag is absent, it is also no):\n\n```powershell\nnetter start --websocket --host 127.0.0.1 --port 8080 --protect\n```\n\nFor the type parameter and server protection status, you do not need to specify anything other than the flag itself.\n\n### Stop\n\nThe stop command will stop any running server:\n\n```powershell\nnetter stop\n```\n\n#### How does it work?\n\n\u003e [!NOTE]\n\u003e When starting a server (netter start), a server state file is created, which specifies the host, **pid**, port, and protection status. This file helps maintain the existence of a running server and manage it during the process, as each new command you use = code execution from scratch. The running server will continue to work because it is built on asynchronous operations.\\\n\u003e The presence of the pid parameter in the state file helps terminate the server. It indicates the process ID of the server in the system. After using the stop command, netter \"kills\" the process (stops it).\n\n## Installation\n\nIn case of errors or questions about installing Rust, you can refer to the documentation in the [Rust book](https://rust-lang.github.io/book/ch01-01-installation.html).\n\n### Windows\n\n* To install Rust on Windows, you need to go to [this link](https://www.rust-lang.org/tools/install) and download the language from there.\n\n* Then you need to install netter:\n\n```bash\ncargo install netter\n```\n\n### Linux\n\n* Install Rust:\n\n```bash\ncurl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh\n```\n\n* Install netter:\n\n```bash\ncargo install netter\n```\n\n## Dependencies\n\nNetter uses the following key libraries:\n\n*   [tokio](https://tokio.rs/): An asynchronous runtime for Rust.\n*   [hyper](https://hyper.rs/): An HTTP library for Rust.\n\n## Commands\n\n### Start\n\nThis command will start the server.\n\nUse:\n\n``` powershell\nnetter start --http --host 127.0.0.1 --port 8080 --path routes.yaml\n```\n\n**Flags**:\n* **--http**: will start the server in HTTP mode;\n* **--websocket**: will start the server in websocket mode;\n* **--grpc**: will start the server in gRPC mode;\n* **--tcp**: will start the server in TCP mode;\n* **--udp**: will start the server in UDP mode;\n\n* **--host**: specifies the host for the server;\n* **--port**: specifies the port for the server:\n* **--path**: will specify the path to the configuration file for the server;\n* **--protect**: whether to use ssl/tls for the server. True or False;\n\n\n### Stop\n\nThis command will stop the server.\n\nUse:\n``` powershell\nnetter stop\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbjfssd757%2Fnetter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbjfssd757%2Fnetter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbjfssd757%2Fnetter/lists"}