net/qrcp: add port: Transfer files over wifi by scanning a QR code

Transfer files over Wi-Fi from your computer to a mobile device by
scanning a QR code without leaving the terminal.

qrcp binds a web server to the address of your Wi-Fi network interface
on a random port and creates a handler for it. The default handler
serves the content and exits the program when the transfer is
complete. When used to receive files, qrcp serves an upload page and
handles the transfer.

WWW: https://claudiodangelis.com/qrcp
This commit is contained in:
Hiroki Tagato 2023-02-24 13:29:47 +09:00
parent a785a9d6e3
commit 5e15829fe9
4 changed files with 96 additions and 0 deletions

View file

@ -1170,6 +1170,7 @@
SUBDIR += pyrad
SUBDIR += qadsl
SUBDIR += qoauth-qt5
SUBDIR += qrcp
SUBDIR += qt5-network
SUBDIR += qt5-networkauth
SUBDIR += qt6-networkauth

46
net/qrcp/Makefile Normal file
View file

@ -0,0 +1,46 @@
PORTNAME= qrcp
DISTVERSION= 0.9.1
CATEGORIES= net
MAINTAINER= tagattie@FreeBSD.org
COMMENT= Transfer files over wifi by scanning a QR code
WWW= https://claudiodangelis.com/qrcp
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
USES= go:modules
USE_GITHUB= yes
GH_ACCOUNT= claudiodangelis
GH_TUPLE= \
adrg:xdg:v0.3.2:adrg_xdg/vendor/github.com/adrg/xdg \
asaskevich:govalidator:475eaeb16496:asaskevich_govalidator/vendor/github.com/asaskevich/govalidator \
cheggaaa:pb:v1.0.28:cheggaaa_pb/vendor/gopkg.in/cheggaaa/pb.v1 \
chzyer:readline:2972be24d48e:chzyer_readline/vendor/github.com/chzyer/readline \
eiannone:keyboard:caf4b762e807:eiannone_keyboard/vendor/github.com/eiannone/keyboard \
fatih:color:v1.9.0:fatih_color/vendor/github.com/fatih/color \
glendc:go-external-ip:139229dcdddd:glendc_go_external_ip/vendor/github.com/glendc/go-external-ip \
golang:sys:d5e6a3e2c0ae:golang_sys/vendor/golang.org/x/sys \
inconshreveable:mousetrap:v1.0.0:inconshreveable_mousetrap/vendor/github.com/inconshreveable/mousetrap \
jhoonb:archivex:0488e4ce1681:jhoonb_archivex/vendor/github.com/jhoonb/archivex \
juju:ansiterm:720a0952cc2a:juju_ansiterm/vendor/github.com/juju/ansiterm \
lunixbochs:vtclean:2d01aacdc34a:lunixbochs_vtclean/vendor/github.com/lunixbochs/vtclean \
manifoldco:promptui:v0.7.0:manifoldco_promptui/vendor/github.com/manifoldco/promptui \
mattn:go-colorable:v0.1.6:mattn_go_colorable/vendor/github.com/mattn/go-colorable \
mattn:go-isatty:v0.0.12:mattn_go_isatty/vendor/github.com/mattn/go-isatty \
mattn:go-runewidth:v0.0.9:mattn_go_runewidth/vendor/github.com/mattn/go-runewidth \
skip2:go-qrcode:9434209cb086:skip2_go_qrcode/vendor/github.com/skip2/go-qrcode \
spf13:cobra:v1.0.0:spf13_cobra/vendor/github.com/spf13/cobra \
spf13:pflag:v1.0.3:spf13_pflag/vendor/github.com/spf13/pflag
PLIST_FILES= bin/qrcp
PORTDOCS= README.md SECURITY.md
OPTIONS_DEFINE= DOCS
post-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>

41
net/qrcp/distinfo Normal file
View file

@ -0,0 +1,41 @@
TIMESTAMP = 1677064622
SHA256 (claudiodangelis-qrcp-0.9.1_GH0.tar.gz) = 1ee0d1b04222fb2a559d412b144a49051c3315cbc99c7ea1f281bdd4f13f07bf
SIZE (claudiodangelis-qrcp-0.9.1_GH0.tar.gz) = 26509877
SHA256 (adrg-xdg-v0.3.2_GH0.tar.gz) = 88a9298499e2bbc287edf66aa454d753dece2df05853cabd8be46c8a970f4d0f
SIZE (adrg-xdg-v0.3.2_GH0.tar.gz) = 16121
SHA256 (asaskevich-govalidator-475eaeb16496_GH0.tar.gz) = 72b597629e12ec2089e3e39bba37e8ee8c90efb89dcaea5dff1c214f39236377
SIZE (asaskevich-govalidator-475eaeb16496_GH0.tar.gz) = 57023
SHA256 (cheggaaa-pb-v1.0.28_GH0.tar.gz) = f745c5636d3fb59bffab5f9d2a745a94a9608166c20c90936fc66848a5e816e6
SIZE (cheggaaa-pb-v1.0.28_GH0.tar.gz) = 11788
SHA256 (chzyer-readline-2972be24d48e_GH0.tar.gz) = 8f425cfb33fce61a137866c0a88117c68f49de79a61a341353fc97339c6b74da
SIZE (chzyer-readline-2972be24d48e_GH0.tar.gz) = 36825
SHA256 (eiannone-keyboard-caf4b762e807_GH0.tar.gz) = ff1a40d8bdbb725c857d77ca97731d4577b8c312284489f4660dc0a216270154
SIZE (eiannone-keyboard-caf4b762e807_GH0.tar.gz) = 8562
SHA256 (fatih-color-v1.9.0_GH0.tar.gz) = f5a6372ff7c87d22baaa2089e5cdd8a218fb3a9be047195c0ab421d5340f6f3f
SIZE (fatih-color-v1.9.0_GH0.tar.gz) = 1230941
SHA256 (glendc-go-external-ip-139229dcdddd_GH0.tar.gz) = b1fa222d7f35405f70c5855112dc6b954eb68e800f81a8b69ae3adba1537f03c
SIZE (glendc-go-external-ip-139229dcdddd_GH0.tar.gz) = 5655
SHA256 (golang-sys-d5e6a3e2c0ae_GH0.tar.gz) = 6cd44aa33cb0fc4caedadde44b3a943bece0aa67d803c00bfb09b03222845f19
SIZE (golang-sys-d5e6a3e2c0ae_GH0.tar.gz) = 1539001
SHA256 (inconshreveable-mousetrap-v1.0.0_GH0.tar.gz) = 5edc7731c819c305623568e317aa253d342be3447def97f1fa9e10eb5ad819f6
SIZE (inconshreveable-mousetrap-v1.0.0_GH0.tar.gz) = 2290
SHA256 (jhoonb-archivex-0488e4ce1681_GH0.tar.gz) = 84c94690499715a43f79f69d03437dac7ed6348af1c044ff4f539dbb832df9d5
SIZE (jhoonb-archivex-0488e4ce1681_GH0.tar.gz) = 5175
SHA256 (juju-ansiterm-720a0952cc2a_GH0.tar.gz) = 5595c2dc8973aab36a69648d4d94cac75a9ff4a28eb074a7b82b030fc7edbf64
SIZE (juju-ansiterm-720a0952cc2a_GH0.tar.gz) = 15417
SHA256 (lunixbochs-vtclean-2d01aacdc34a_GH0.tar.gz) = 54676064363394819c85f04ffd3aa41c86bcd2c9fce3c7e58b6ea41a47e17442
SIZE (lunixbochs-vtclean-2d01aacdc34a_GH0.tar.gz) = 4183
SHA256 (manifoldco-promptui-v0.7.0_GH0.tar.gz) = 90a38ed9e5d993929b62dd2f1e13c7d3c70d0b57546c7329588f9d493f4c8a47
SIZE (manifoldco-promptui-v0.7.0_GH0.tar.gz) = 26664
SHA256 (mattn-go-colorable-v0.1.6_GH0.tar.gz) = e313129503025c383b5e69082fb1144e83a864d12ec45bb7a224d3fc4a635fbc
SIZE (mattn-go-colorable-v0.1.6_GH0.tar.gz) = 9472
SHA256 (mattn-go-isatty-v0.0.12_GH0.tar.gz) = addbdc341d7685ed4cc8d2d8a8fd2bd9b784bde00d0ea99fb251039fc10c611c
SIZE (mattn-go-isatty-v0.0.12_GH0.tar.gz) = 4548
SHA256 (mattn-go-runewidth-v0.0.9_GH0.tar.gz) = 4f20a337ad06e071f29535afe9c5207d3e8840c8c86672bbc5f9837c6229c835
SIZE (mattn-go-runewidth-v0.0.9_GH0.tar.gz) = 16714
SHA256 (skip2-go-qrcode-9434209cb086_GH0.tar.gz) = d1b92830ad7b8133bb3d5fd1942bf15fb85f6da9fead30016bf90ee31f932ad9
SIZE (skip2-go-qrcode-9434209cb086_GH0.tar.gz) = 36087
SHA256 (spf13-cobra-v1.0.0_GH0.tar.gz) = 58dbfe1b4dbc6751575e94d1e62d073098e0b41790bc1c7a7a95ec6b870ac697
SIZE (spf13-cobra-v1.0.0_GH0.tar.gz) = 128897
SHA256 (spf13-pflag-v1.0.3_GH0.tar.gz) = 9e57f86f493f04d9077fccd04e7139ebf243dd544e917ab83d35729b3e54a124
SIZE (spf13-pflag-v1.0.3_GH0.tar.gz) = 46002

8
net/qrcp/pkg-descr Normal file
View file

@ -0,0 +1,8 @@
Transfer files over Wi-Fi from your computer to a mobile device by
scanning a QR code without leaving the terminal.
qrcp binds a web server to the address of your Wi-Fi network interface
on a random port and creates a handler for it. The default handler
serves the content and exits the program when the transfer is
complete. When used to receive files, qrcp serves an upload page and
handles the transfer.