{"id":13420737,"url":"https://github.com/videolabs/libdsm","last_synced_at":"2025-04-06T08:13:57.588Z","repository":{"id":15408540,"uuid":"18140593","full_name":"videolabs/libdsm","owner":"videolabs","description":"Defective SMb: A minimalist implementation of a client library for SMBv1 using Plain'Ol C","archived":false,"fork":false,"pushed_at":"2024-01-04T21:20:30.000Z","size":1712,"stargazers_count":209,"open_issues_count":26,"forks_count":87,"subscribers_count":32,"default_branch":"master","last_synced_at":"2024-07-31T22:56:32.386Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://videolabs.github.io/libdsm","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/videolabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS"}},"created_at":"2014-03-26T14:18:53.000Z","updated_at":"2024-07-25T22:49:49.000Z","dependencies_parsed_at":"2024-01-04T22:38:42.617Z","dependency_job_id":"4639c46b-9431-4a87-b088-7532d8f77b55","html_url":"https://github.com/videolabs/libdsm","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/videolabs%2Flibdsm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/videolabs%2Flibdsm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/videolabs%2Flibdsm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/videolabs%2Flibdsm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/videolabs","download_url":"https://codeload.github.com/videolabs/libdsm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247451665,"owners_count":20940944,"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-07-30T22:01:40.171Z","updated_at":"2025-04-06T08:13:57.562Z","avatar_url":"https://github.com/videolabs.png","language":"C","funding_links":[],"categories":["TODO scan for Android support in followings"],"sub_categories":[],"readme":"# liBDSM\n\nlib Defective SMb (__libDSM__) is\na [SMB protocol](https://en.wikipedia.org/wiki/Server_Message_Block)\nclient implementation in pure old __C__, with a _lot_ less features\nthan [Samba](https://www.samba.org/) but with a much simpler, and a\nmore permissive license (currently __LGPL__ + __proprietary__).\n\nThe initial goal of this project is to have a library that can access\nmost SMB shares to read files and that has a license compatible\nwith the iOS/Android/WinRT appstores in order to integrate it into\n_VLC for iOS_ and _VLC for Android_.\n\nThis library is also licensable under a proprietary license, if LGPL\nis not good enough for you.\n\nThe lib is provided as a static library or as a dynamically linked library.\nA few useless (yet) utils are also provided, mostly for testing purpose.\n\n## Features\n\nHere's a list of the currently supported features:\n* NETBIOS\n  * Basic bi-directionnal NETBIOS name resolution\n  * Hacky LAN SMB servers discovery (Listing all the smb servers on the LAN, no WINS, etc.)\n  * Basic NETBIOS Session transport layer\n* SMB\n  * Support only required parts of 'NT LM 0.12' (aka CIFS?) dialect.\n  * User based authentication\n  * List Shares\n  * Browse folders\n  * Read file\n  * Write file\n  * Delete file\n  * Delete empty folder\n  * Move and rename file/folder\n  * Create new folder\n  * No copy, lock, RPCs, etc. [Hum... yet]\n\n## Support\n\nliBDSM has been tested/reported to work with the following devices/OSes:\n\n* Windows 7\n* Windows 8/8.1\n* Samba\n* smbX (OSX new smb implementation)\n* QNAP TS-212\n* A cheap NAS whose name i can't remember :)\n\nFeel free to contribute items to this list (or network trace of not\nworking devices)\n\n## Building\n\n### Requirements\n\n* A Unix system with a bash-compatible shell\n* C99 C compiler\n* (GNU) Make\n* Autotools\n* libc with iconv\n* getopt_long\n* GNU tasn1 compiler/support library\n\nThe build dependencies can be installed on Debian(-based) systems using\n\n    sudo apt-get install build-essential autoconf libtool pkg-config libtasn1-3-dev libtasn1-3-bin libbsd-dev\n\n### HowTo\n\n    $\u003e ./bootstrap\n    $\u003e ./configure --prefix=/your/prefix\n    $\u003e make\n    $\u003e make install # maybe\n\n\n## TODO\n\n* HEAVILY refactor. Any help is welcome.\n* Support more of the SMBv2 and v3 protocols.\n\n## Contributing\n\n* Fork videolabs/libdsm\n* Make a feature branch\n* Commits your work there\n* Make a pull request\n* ...\n* Profit !\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvideolabs%2Flibdsm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvideolabs%2Flibdsm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvideolabs%2Flibdsm/lists"}