qrcp: 터미널을 떠나지 않고 QR코드를 스캔하여 와이파이를 통해 파일을 컴퓨터에서 모바일 장치로 전송

6894 단어 toolsgocliqr
안녕하십니까? 이것은 제가 지난 몇 년 동안 해 왔던 프로젝트입니다.이것은 qrcp라고 불리며, 와이파이를 통해 터미널을 떠나지 않고 QR코드를 스캔하여 컴퓨터에서 모바일 장치로 파일을 전송하는 명령행 도구이다.

그것은 어떻게 일합니까?


qrcp 웹 서버를 랜덤 포트의 와이파이 네트워크 인터페이스 주소에 연결하고 프로세서를 만듭니다.기본 프로세서는 내용을 제공하고 전송이 끝날 때 프로그램을 종료합니다.파일을 수신할 때 qrcp 업로드 페이지를 제공하고 전송을 처리합니다.
이 도구는 인코딩 텍스트의 QR코드를 인쇄합니다.
http://{address}:{port}/{random_path}
대부분의 QR 응용 프로그램은 디코딩 텍스트의 URL을 검사하고 해당하는 행동을 취할 수 있기 때문에 (기본 브라우저를 사용하여 디코딩된 URL을 열 수 있음) QR 코드를 스캔할 때 내용은 모바일 브라우저를 통해 다운로드되기 시작한다.
휴대폰으로 파일 보내기:

휴대폰에서 파일 수신:

설치


Go를 사용하여 최신 개발 버전 설치


참고: go 1.8 필요
go get github.com/claudiodangelis/qrcp
전체 GitHub 설명 파일의 모든 설치 옵션을 확인합니다: installing qrcp.

파일 전송 중


파일 보내기


qrcp MyDocument.pdf

한 번에 여러 파일 보내기


한 번에 여러 개의 파일을 보낼 때 qrcp 전송할 파일이나 폴더의 zip 압축 파일을 만들고 전송이 끝난 후에 zip 압축 파일을 삭제합니다.
# Multiple files
qrcp MyDocument.pdf IMG0001.jpg
# A whole folder
qrcp Documents/

파일을 전송하기 전에 파일 압축


파일을 전송하기 전에 파일을 압축할 수 있습니다.
qrcp --zip LongVideo.avi

파일 수신


파일을 받을 때 qrcp 업로드 페이지가 제공됩니다. 이 페이지를 통해 휴대전화에서 파일을 선택할 수 있습니다.

현재 디렉토리에 파일 수신


qrcp receive

특정 디렉토리에 파일 수신


# Note: the folder must exist
qrcp receive --output=/tmp/dir

옵션

qrcp 사전 구성 없이 작업하지만 특정 값을 사용하도록 구성을 선택할 수 있습니다.config 명령은 인터페이스, 포트, 도메인 이름 완전 제한, 활성 상태 유지 등의 매개 변수를 설정할 수 있는 마법사를 시작합니다.
qrcp config
참고: 일부 네트워크 인터페이스가 표시되지 않으면 --list-all-interfaces 로고를 사용하여 인터페이스의 필터를 억제합니다.
qrcp --list-all-interfaces config 

프로파일


기본 프로필은 $HOME/qrcp에 저장됩니다.그러나 전송 --config 플래그를 통해 구성 파일의 위치를 지정할 수 있습니다.
qrcp --config /tmp/qrcp.json MyDocument.pdf

항구 도시


기본적으로 qrcp 랜덤 포트를 탐지합니다.전달--port(또는-p 플래그를 사용하여 특정 항목을 선택합니다.
qrcp --port 8080 MyDocument.pdf

네트워크 인터페이스

qrcp 전송에 적합한 네트워크 인터페이스를 자동으로 찾으려고 시도합니다.만약 여러 개의 적합한 인터페이스를 찾았다면, 그것은 당신에게 하나를 선택하라고 요구할 것입니다.
특정 인터페이스를 사용하려면 --interface 또는 -i 플래그를 전달합니다.
# The webserver will be visible by
# all computers on the tun0's interface network
qrcp -i tun0 MyDocument.dpf
외부 네트워크에서도 웹 서버를 볼 수 있도록 특수한 인터페이스 이름 any 을 사용할 수 있습니다.
Amazon EC2, Digital Ocean Droplet, Google Cloud Platform Compute 인스턴스 또는 다른 VP에서 파일을 전송할 때 유용합니다.
qrcp -i any MyDocument.pdf

통합 리소스 포지셔닝 주소

0.0.0.0 URL에는 다음 두 가지 모드가 사용됩니다.
  • 발송: qrcp
  • 수신: http://{ip address}:{port}/send/{random path}
  • 이 모드를 덮어쓸 수 있는 몇 가지 옵션이 있습니다.
    전송http://{ip address}:{port}/receive/{random path} 로고는 URL의 특정 경로를 사용합니다. 예를 들어 다음과 같습니다.
    # The resulting URL will be
    # http://{ip address}:{port}/send/x
    qrcp --path=x MyDocument.pdf
    
    전송 --path (또는 --fqdn 은 IP 대신 완전히 제한된 도메인 이름을 사용합니다.이 기능은 -d 과 함께 사용하면 원격 사이트에서 사용할 수 있습니다.
    # The resulting URL will be
    # http://example.com:8080/send/xYz9
    qrcp --fqdn example.com -i any -p 8080 MyRemoteDocument.pdf
    

    HTTPS


    qrcp는 HTTPS를 사용하여 보안 파일 전송을 지원합니다.안전한 전송을 위해서는 TLS 인증서와 관련 키가 필요합니다.-i any 마법사에서 TLS 인증서 및 키 경로를 선택하거나 필요한 경우 qrcp config--tls-cert 을 전달할 수 있습니다.
    qrcp --tls-cert /path/to/cert.pem --tls-key /path/to/cert.key MyDocument
    
    --tls-key 플래그도 사용할 수 있으며 기본값을 덮어쓸 수 있습니다.

    브라우저에서 열기


    터미널 외부에서 QR을 인쇄해야 하는 경우 --secure 플래그를 전달할 수 있습니다.이 로고가 있으면 --browser QR코드를 터미널에 인쇄하지만, 기본 브라우저의 새 창을 열어 QR코드를 표시합니다.
    qrcp --browser MyDocument.pdf
    

    서버를 활성 상태로 유지


    파일을 전송한 후 (예: 동일한 파일을 여러 장치로 전송할 경우) 서버의 활성 상태를 유지하는 것이 유용합니다.qrcp 플래그를 사용할 수 있습니다.
    # The server will not shutdown automatically
    # after the first transfer
    qrcp --keep-alive MyDocument.pdf
    

    셸 완성 스크립트

    --keep-alive에는 셸 완성 스크립트를 만드는 데 사용되는 내장 qrcp 명령이 첨부되어 있습니다.자세한 내용은 설명 파일의 shell completion 섹션을 참조하십시오.

    발전의 미래


    나는 앞으로 이 도구에 파일 암호화, 파이프 사용 능력 등 더 많은 기능을 추가하고 싶다.
    만약 네가 한번 해 본다면, 나에게 진전이 어떠한지 말해라!만약 네가 문제가 있다면, 나는 기꺼이 너에게 대답할 것이다.
    프로젝트 홈페이지는 github.com/claudiodangelis/qrcp에 있습니다. 개발에 관한 뉴스를 수신하려면 전보 채널을 통해 가능합니다: qrcp Telegram channel.
    감사합니다.
    클로디오

    좋은 웹페이지 즐겨찾기