{"id":20019422,"url":"https://github.com/tambapps/p2p-file-sharing","last_synced_at":"2025-07-24T13:40:36.448Z","repository":{"id":39928141,"uuid":"132672882","full_name":"tambapps/P2P-File-Sharing","owner":"tambapps","description":"Application using Peer to peer communication to transfer files under a same local network","archived":false,"fork":false,"pushed_at":"2025-04-19T23:05:39.000Z","size":3039,"stargazers_count":29,"open_issues_count":0,"forks_count":10,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-20T00:22:11.519Z","etag":null,"topics":["android","java","javafx","p2p","peer-to-peer","tcp","udp"],"latest_commit_sha":null,"homepage":"","language":"Java","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/tambapps.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":"2018-05-08T22:43:13.000Z","updated_at":"2025-04-19T23:05:42.000Z","dependencies_parsed_at":"2025-01-26T17:29:10.253Z","dependency_job_id":null,"html_url":"https://github.com/tambapps/P2P-File-Sharing","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tambapps%2FP2P-File-Sharing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tambapps%2FP2P-File-Sharing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tambapps%2FP2P-File-Sharing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tambapps%2FP2P-File-Sharing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tambapps","download_url":"https://codeload.github.com/tambapps/P2P-File-Sharing/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252414393,"owners_count":21744098,"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":["android","java","javafx","p2p","peer-to-peer","tcp","udp"],"created_at":"2024-11-13T08:27:32.522Z","updated_at":"2025-07-24T13:40:36.437Z","avatar_url":"https://github.com/tambapps.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# P2P File Sharing\n\nThis project aims to transfer files from one device (computer or android smartphone) to another. It works only if the two devices are on the same local network. If one of the devices is an android smartphone, you can share data with it and connect the other device to the smartphone's data.\n\nYou can download the apps [here](https://tambapps-portfolio.herokuapp.com/fandem/) or [here](https://github.com/tambapps/P2P-File-Sharing/releases/latest)\n\n## P2P Library\n\nThis is the library I built, used by all the apps (Android, command-line and Desktop). \nIt is because of this library that we can also share files between android and desktop.\n\n\n## Android app\n\nThis is the Android app that performs P2P file sharing\n\n![Mobile Screenshots](medias/android.png)\n\n[\u003cimg src=\"https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png\" alt=\"Get it on Google Play\" height=\"80\"\u003e](https://play.google.com/store/apps/details?id=com.tambapps.p2p.peer_transfer.android)\n\n## Desktop app\n\nThe desktop app was developed with JavaFX and Spring Boot (for dependency injection). It was developed in Java 16.\n\n![Desktop Screenshot](medias/desktop.png)\n\n\n## How it works\n\nThis project only works if the two devices are on the same local network.\nThis allows peers to communicate between them, without any intermediate server. Your data\ngoes from the sender, directly to the receiver\n\n### Automatic peer discovery\nThe receiver can detect sending peers automatically. This is implemented with\nUDP multicast:\n\nThe receiver register to a multicast address group, and the sender sends its peer data periodically \nto that group, using UDP packet.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftambapps%2Fp2p-file-sharing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftambapps%2Fp2p-file-sharing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftambapps%2Fp2p-file-sharing/lists"}