{"id":28958766,"url":"https://github.com/ericwq/droplocal","last_synced_at":"2025-06-23T23:07:06.203Z","repository":{"id":118688647,"uuid":"277398994","full_name":"ericwq/droplocal","owner":"ericwq","description":"allow LAN user transfer files to each other without knowing machine name / port number first. ","archived":false,"fork":false,"pushed_at":"2020-07-09T08:32:08.000Z","size":52,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-03-06T18:21:22.772Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ericwq.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":"2020-07-05T23:16:04.000Z","updated_at":"2024-06-19T12:31:52.327Z","dependencies_parsed_at":null,"dependency_job_id":"8c1169d8-5f3f-4cc5-9ce4-6d70eb4cec00","html_url":"https://github.com/ericwq/droplocal","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/ericwq/droplocal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericwq%2Fdroplocal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericwq%2Fdroplocal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericwq%2Fdroplocal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericwq%2Fdroplocal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ericwq","download_url":"https://codeload.github.com/ericwq/droplocal/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericwq%2Fdroplocal/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261571674,"owners_count":23178769,"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":"2025-06-23T23:07:05.413Z","updated_at":"2025-06-23T23:07:06.173Z","avatar_url":"https://github.com/ericwq.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DropLocal\n\nallow LAN user transfer files to each other without knowing machine name / port number first. it's based on zero configuration network (or bonjour) technology. the original idea is to share document/photo between linux/windows/mobile devices.\n\ncurrently, it's a command line tool. it has been tested on the Mac laptop. I plan to add a gui for it.\n\n## install\n` go get github.com/ericwq/droplocal ` get the source and build the executable file by ` go build `\n## usage\n\n### step1: start the droplocal server\n1. find the executive file and run ` ./droplocal -s \u0026 `\n2. optionally you can also redirect the log to somewhere e.g. \n```\n./droplocal -s \u0026 \u003e /tmp/droplocal.2020.06.log\n```\nyou can start multiple servers on you local LAN. here is the output from the above command\n```\n/Users/qiwang/dev/droplocal\nqiwang@Einstein droplocal % ./droplocal -s \n2020/07/06 15:01:22 the serve dir is /Users/qiwang\n2020/07/06 15:01:22 username admin, password password\n2020/07/06 15:01:22 using the name:Drop Local 27422438\n2020/07/06 15:01:22   Drop Local 27422438 listening on 2121\n2020/07/06 15:01:22 advertise the Drop Local 27422438 on local link`\n```\nyou can also stop the server via Ctrl-C. or just use the *kill* command\n```\nqiwang@Einstein droplocal % ./droplocal -s \n2020/07/06 15:01:22 the serve dir is /Users/qiwang\n2020/07/06 15:01:22 username admin, password password\n2020/07/06 15:01:22 using the name:Drop Local 27422438\n2020/07/06 15:01:22   Drop Local 27422438 listening on 2121\n2020/07/06 15:01:22 advertise the Drop Local 27422438 on local link\n^C2020/07/06 15:03:43 Error starting server:ftp: Server closed\n2020/07/06 15:03:43 shutting down...\nqiwang@Einstein droplocal % \n```\n### step2: start the droplocal client\n1. run with `./droplocal -h`, you will know all the command parameters. \n- `-s` means run in the server mode, \n- `-d` specified the directory which you will get the droped files\n- `-u` specified the username\n- `-p` specified the user passward\n- `-f` specified the file you want to transfer\n```\nqiwang@Einstein droplocal % ./droplocal -h\nUsage of ./droplocal:\n  -d string\n    \tdir to serve file uploaded\n  -f string\n    \tsource file for upload\n  -p string\n    \tPassword for login (default \"password\")\n  -s\trun in server mode\n  -u string\n    \tUsername for login (default \"admin\")\n```\n2. run with `./droplocal -f util.go` , you will get the following output\n```\nqiwang@Einstein droplocal % ./droplocal -f util.go\nindex |  service name @ machine\n[  0] | Drop\\ Local\\ 3949183984@Oppenheimer.local.local.\nplease choose the destination, please use the index to choose.\n0\nmission accomplished!\nqiwang@Einstein droplocal % \n```\n- the system will query the LAN, find the available drop local services, here only one service is available.\n- the system prompt you to choose the target service/machine, in this case, only \"Drop\\ Local\\ 3949183984\" at machine \"Oppenheimer.local\" is available\n- use the index to choose the machine, and return to confirm the choice.\n- the system will transfer the file to the target machine.\n\nnow. the util.go file has been transfered to the Oppenheimer machine on the LAN. Of course, A lives droplocal server is running on that machine. \n### step3: check the user's home directory on Oppenheimer\nyou will find a util.go file exist on that machine.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericwq%2Fdroplocal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fericwq%2Fdroplocal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericwq%2Fdroplocal/lists"}