• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
정보

Airdrop의 대체 프로젝트(?) 간편한 p2p 파일공유 snapdrop

달소 달소 532

3

5

 

안녕하세요. 달소입니다.

 

오랜만에 서버포럼의 이름에 걸맞는... 셀프호스팅용 프로젝트를 소개해드립니다!

snapdrop이란 이름에서 알수있듯이 애플의 에어드랍과 비슷한 기능을 사용할 수 있는 프로젝트입니다.

 

일반적인 파일 공유 프로젝트가 아닌 에어드랍처럼 p2p 형식으로 

셀프호스팅한 페이지에 접속된 클라이언트들을 선택해서 파일을 전송해주는 형태입니다.

 

구축한 페이지는 중계서버 역할만 하며 실제로는 WebRTC를 통해서 서로간에 데이터 전송이 이뤄지게 됩니다.

쉽게 구축힐 수 있기때문에 한번 재미로(?) 구축해보시면 되겠습니다. 같은 네트워크에 있지않더라도 중계서버에 접근이 된다면 서로간의 파일전송이 가능합니다.

 

 

Snapdrop이란?

https://github.com/RobinLinus/snapdrop

 

Snapdrop : 브라우저에서 로컬 파일 공유. Apple의 Airdrop에서 영감을 얻었습니다.

Snapdrop은 다음과 같은 멋진 기술로 구축되었습니다.

  • 바닐라 HTML5 / ES6 / CSS3 프론트엔드
  • WebRTC / 웹소켓
  • NodeJS 백엔드
  • 프로그레시브 웹 앱

 

연결은 어떻습니까? 장치에서 장치로 직접 P2P 연결입니까, 아니면 타사 서버가 있습니까?

WebRTC가 브라우저에서 지원되는 경우 P2P 연결을 사용합니다. WebRTC는 시그널링 서버가 필요하지만 연결 설정에만 사용되며 파일 전송에는 관여하지 않습니다.

 

개인 정보 보호는 어떻습니까? 파일이 타사 서버에 저장됩니까?

어떤 파일도 서버로 전송되지 않습니다. 파일은 피어 간에만 전송됩니다. Snapdrop은 데이터베이스도 사용하지 않습니다. 궁금하시다면 Server 를 살펴보세요 . Snapdrop이 전송 중인 파일을 볼 수 있더라도 WebRTC는 전송 중인 파일을 암호화하므로 서버에서 읽을 수 없습니다.

 

보안은 어떻습니까? 내 파일이 컴퓨터 간에 전송되는 동안 암호화됩니까?

예. 파일은 전송 시 암호화하는 WebRTC를 사용하여 전송됩니다.

 

이 프로젝트는 간단하게 도커로 구축할 수 있기때문에 한번 구축해보시면 나름(?) 재미있으실듯합니다.

 

도커로 snapdrop 구축하기

 

공식 깃허브에있는 docker-compose가 제대로 안되서.. linuxserver의 이미지를 사용했습니다.

 

어차피 p2p 로 서버는 중계역할만해주기때문에 이편이 오히려 간단하긴합니다.

 

image.png.jpg

 

컨테이너 생성 후 ip:8080으로 접속하면 아래처럼 잘 나오실겁니다 ㅎㅎ

 

image.png.jpg

 

이걸 두군데서 접속하게되면?

 

이렇게 브라우저와 이름이 나오는데 상대편에게 보이는 내 이름은 맨 하단

상대편이름은 중간에 나옵니다.

image.png.jpg

 

이름을 누르면 파일을 전송할 수 있습니다.

간단하게 아무거나 보내면

 

image.png.jpg

 

요로코롬 수신할수있습니다.

 

image.png.jpg

 

우클릭하면 메시지도 갑니다.

 

image.png.jpg

 

image.png.jpg

 

snapdrop용 앱도있습니다

 

앱에서 보내는것도 잘받아지는군요.

 

image.png.jpg

 

도메인을 사용하고싶으시다면 앞단에 NPM서버를 두고 ip:8080을 리버스프록시 해주시면됩니다.

 

신고공유스크랩
5
1등
게르노 2022.11.03. 00:12

내부망에선 안해봐서 모르겠는데 외부망에선 엄청 느리네요

속도가 10Mbps 아래로 나옵니다

사진 한두개는 유용하게 써도 동영상은 무리겠네요

profile image
달소 글쓴이 2022.11.03. 10:08
게르노

에어드랍 자체도 로컬네트워크에서 사용하고..

외부망을 사용하면 공인 네트워크망을사용하기때문에 회선에따라 속도편차가 꽤 클거같습니다 ㅠ

profile image 2등
행복구슬 2023.12.17. 23:51
달소님 잘몰라서 그러는데 Snapdrop 도커로 깔면 파일주고받을때 도커 저장공간이 커야하나요? ssd도커라 용량이 한정적이라 아님 중계역할만하면 저장공간이 크게 필요없을듯한데요
profile image
달소 글쓴이 2023.12.17. 23:56
행복구슬
중계역할만하기때문에 저장공간은 작아도 괜찮습니다!

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
가이드 Ubuntu 24.04 LTS Desktop 원격 접속 설정하기(SSH,RDP) 3 달소 5시간 전18:33 58 +1
가이드 Ubuntu 24.04 LTS Server 설치해보기 달소 6시간 전17:40 107 +2
잡담 Ubuntu 24 가 정식출시되었습니다~~ 8 달소 13시간 전10:37 222 +2
454 정보
image
달소 1일 전08:21 169 +1
453 정보
normal
행복구슬 24.04.07.13:38 1083 +5
452 정보
image
DarkAcid 24.03.30.09:32 325 +2
451 정보
image
달소 24.03.28.22:48 179 +1
450 정보
image
Razorbacks 24.03.28.18:06 164 +1
449 정보
image
툭툭이 24.03.28.11:14 871 +16
448 정보
image
서맹 24.03.10.15:34 326 +1
447 정보
normal
서맹 24.03.09.17:09 212 +1
446 정보
image
달소 24.03.09.05:27 59 0
445 정보
image
달소 24.03.08.16:02 201 +2
444 정보
normal
서맹 24.03.08.15:15 179 +1
443 정보
normal
SHISHAMO 24.03.03.16:08 482 +1
442 정보
image
똥쓰똥쓰 24.03.01.13:15 654 +3
441 정보
image
honey720 24.02.28.00:20 241 +6
440 정보
image
권씨아저씨 24.02.24.21:41 203 +1
439 정보
image
콜라 24.02.23.16:30 145 +1
438 정보
normal
very 24.02.23.13:54 156 0
437 정보
normal
KelvinKang 24.02.20.20:35 116 +1
436 정보
image
달소 24.02.19.22:51 294 +1
435 정보
image
빨간물약 24.02.19.13:28 650 +3