{"id":21473442,"url":"https://github.com/glaukiol1/go-remote-storage","last_synced_at":"2025-03-17T07:25:46.486Z","repository":{"id":116709430,"uuid":"477422865","full_name":"glaukiol1/go-remote-storage","owner":"glaukiol1","description":"Remote File Storage written in Go (server) \u0026 Python (client). It is made for demonstrational purposes on how to create a remote storage client \u0026 server with communication over TCP (no FTP!). All the data (including files) is being sent through TCP, not FTP.","archived":false,"fork":false,"pushed_at":"2022-10-23T00:28:26.000Z","size":1158,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-23T16:44:53.263Z","etag":null,"topics":["remote-file-storage","remote-filesystem"],"latest_commit_sha":null,"homepage":"","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/glaukiol1.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":"2022-04-03T17:59:54.000Z","updated_at":"2022-10-22T22:44:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"79705da6-28d7-44eb-8de7-83d4e1a0c0e2","html_url":"https://github.com/glaukiol1/go-remote-storage","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glaukiol1%2Fgo-remote-storage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glaukiol1%2Fgo-remote-storage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glaukiol1%2Fgo-remote-storage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glaukiol1%2Fgo-remote-storage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/glaukiol1","download_url":"https://codeload.github.com/glaukiol1/go-remote-storage/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243990270,"owners_count":20379765,"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":["remote-file-storage","remote-filesystem"],"created_at":"2024-11-23T10:17:14.345Z","updated_at":"2025-03-17T07:25:46.449Z","avatar_url":"https://github.com/glaukiol1.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📁 go-remote-storage\nRemote File Storage written in Go (server) \u0026 Python (client). It is made for demonstrational purposes on how to create a remote storage client \u0026 server with communication over TCP (no FTP!). The files are also being sent through TCP, not FTP.\n\n\n  \n## ℹ️ General Info\n\nThis is a project which demonstrates a secure and easy way to program a remote file storage application. It has user accounts, which are stored in a MongoDB database. Users can login using the _gostore-client_ python program. Each user has their own folder, and they can perform actions, or run commands. All these commands or actions are being proccessed by the Server. To make this interaction user-friendly, I have created a VSH (virtual shell) in which users can run simple commands and get prompts instead of having to manually send packets to the server. The _vsh_ is also a part of _gostore-client_.\n\nYou can specific documentation below:\n\n|Package|Link|Package written in|\n|----|----|----|\n|Client|(Not created)[docs](gostore-client/README.md)|Python|\n|Server|[docs](gostore-server/README.md)|Go (Go-lang)|\n\n## :memo: TO-DOS\n\nTODOs for both client and server.\n\n- Add a `mkdir` command and proccess it in the server | **Done**\n- Show the _all_ the response messages on error (client) | **Done**\n- When the pipe has been closed or errored, show a _fatal_ error message and quit. (client)\n- Better format the `ls` command (client) | **Done**\n- Add signup (server \u0026 client) | **Done**\n- Create a .username folder on signup (server) | **Done**\n- Encrypt the files | **Done**\n- Display errors in the client VHS, not display plain response on error.\n- Do not reset connection when the client enters the _get_ filename incorrectly.\n- Display how many mb's were sent to the server when using _send_ and at what speed (mb/s).\n\n#\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglaukiol1%2Fgo-remote-storage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fglaukiol1%2Fgo-remote-storage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglaukiol1%2Fgo-remote-storage/lists"}