{"id":18324290,"url":"https://github.com/maxwell175/ssnfs","last_synced_at":"2025-10-20T10:09:42.134Z","repository":{"id":92669486,"uuid":"100119374","full_name":"Maxwell175/SSNFS","owner":"Maxwell175","description":"Simple Secure Network File System - Coming Soon","archived":false,"fork":false,"pushed_at":"2018-09-06T21:46:34.000Z","size":1510,"stargazers_count":12,"open_issues_count":5,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-21T13:53:11.070Z","etag":null,"topics":["file-sharing","filesystem","fuse-filesystem","libfuse","network","nfs","nfs-client","nfs-server"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Maxwell175.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":"2017-08-12T15:02:12.000Z","updated_at":"2025-02-06T05:20:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"bd5e4d75-f50e-4290-953d-04ec967b0f63","html_url":"https://github.com/Maxwell175/SSNFS","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maxwell175%2FSSNFS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maxwell175%2FSSNFS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maxwell175%2FSSNFS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maxwell175%2FSSNFS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Maxwell175","download_url":"https://codeload.github.com/Maxwell175/SSNFS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247419597,"owners_count":20936009,"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":["file-sharing","filesystem","fuse-filesystem","libfuse","network","nfs","nfs-client","nfs-server"],"created_at":"2024-11-05T18:33:33.279Z","updated_at":"2025-10-20T10:09:37.112Z","avatar_url":"https://github.com/Maxwell175.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SSNFS - A Simple, Secure Network File System\n\n[![Join the chat at https://gitter.im/SSNFS/Lobby](https://badges.gitter.im/SSNFS/Lobby.svg)](https://gitter.im/SSNFS/Lobby?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\n## Why?\nThe reason I started this project is because currently, there is no network file transfer protocol that is:\n * **Secure**\n * **Robust**\n * **Easy to setup**\n \n For example, in the Linux world there is NFS, but it has no security what-so-ever (without any separate tunneling). In the Windows world, there is Samba. Things are a little better here, but it still has no traffic encryption (by default) and may not be trivial to set up.\n \n ## The goal \n \nThis project's goal is to create a simple way to mount a directory located on a server to one or more clients using the most security conscientious way available.\n\n## Progress\n * Read only mode (Completed) \n * Read Write mode (Completed) \n * Configuration (Completed)\n * Managment interface (In Progress)\n \n## Building\nFirst, clone the repository as well as the submodules: `git clone --recursive https://github.com/MDTech-us-MAN/SSNFS.git` \n\nOr, if you already cloned the repository, but forgot to include `--recursive`, just run the following command in the repository directory: `git submodule update --init --recursive`\n\nBefore building, be sure to have Qt5 (`qt5-default` in Ubuntu) and libssl (`libssl-dev` in Ubuntu) already installed. For the client, you will also need libfuse2 (`libfuse-dev` in Ubuntu).\n\nBy default the PREFIX is set to /usr/local for release builds or the build directory for debug builds.\nIf you would like to change this, simply add PREFIX=\\\u003cnew path\\\u003e to the qmake line.\n\n**To build both client and server:**\n```\nmkdir build\ncd build\nqmake ..\nmake\nsudo make install\n```\n\n**To build only server:**\n```\nmkdir build-server\ncd build-server\nqmake \"CONFIG+=server\" ..\nmake\nsudo make install\n```\n\n**To build only client:**\n```\nmkdir build-client\ncd build-client\nqmake \"CONFIG+=client\" ..\nmake\nsudo make install\n```\n\n## Usage\nTo set up the server, simply run the server executable with the `--init` option. This will start an interactive configuration system.\n\nTo access the server's web administration panel, just point your web browser to HTTPS port 2050 of the server.\n\nTo register a client with the server, run `SSNFS-client register \u003cServer Host\u003e:\u003cServer Port\u003e`.\n\nUnfortunatly, a complete managment interface is not fully ready yet. It is currently activly being developed and should be ready soon. Until then, there may be some cases where you may need to edit the config.db using a SQLite3 capable editor.\n\nOn the client side, simply use the standard mount syntax: `SSNFS-client \u003cServer Host\u003e:\u003cServer Port\u003e/\u003cShare Name\u003e \u003cMount Directory\u003e`\n\n## Contributing\nPlease let us know on Gitter what you are working on so we can better coordinate our efforts.\n\n## Coding style\nThis project uses the [Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html)\n\n## Commit Message Template\nPlease set .git-commit-template.txt as your commit message template and follow the rules set forth therein.\nTo do so, simply run the following command in the project root directory:\n\n`git config commit.template .git-commit-template.txt`\n\nRead this [post](https://chris.beams.io/posts/git-commit/) for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxwell175%2Fssnfs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxwell175%2Fssnfs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxwell175%2Fssnfs/lists"}