Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Oct 2022 15:25:21 GMT
From:      Li-Wen Hsu <lwhsu@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 31484c7300b6 - main - Add www/rustypaste: Minimal file upload/pastebin service
Message-ID:  <202210221525.29MFPLHZ097184@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by lwhsu:

URL: https://cgit.FreeBSD.org/ports/commit/?id=31484c7300b6de2d2039a69abecb05c2adfb8181

commit 31484c7300b6de2d2039a69abecb05c2adfb8181
Author:     Jesús Daniel Colmenares Oviedo <DtxdF@disroot.org>
AuthorDate: 2022-10-15 17:48:47 +0000
Commit:     Li-Wen Hsu <lwhsu@FreeBSD.org>
CommitDate: 2022-10-22 15:24:21 +0000

    Add www/rustypaste: Minimal file upload/pastebin service
    
    Rustypaste is a minimal file upload/pastebin service.
    
    Features:
    
    * File upload & URL shortening & upload from URL
      - supports basic HTTP authentication
      - random file names (optional)
        - pet name (e.g. capital-mosquito.txt)
        - alphanumeric string (e.g. yB84D2Dv.txt)
      - supports expiring links
        - auto-deletion of expired files (optional)
      - supports one shot links (can only be viewed once)
      - guesses MIME types
        - supports overriding and blacklisting
      - no duplicate uploads (optional)
    * Single binary
    * Simple configuration
      - supports hot reloading
    * No database
      - filesystem is used
    * Self-hosted
      - centralization is bad!
    * Written in Rust
      - blazingly fast!
    
    WWW: https://github.com/orhun/rustypaste/
    
    PR:             267095
---
 GIDs                               |   2 +-
 UIDs                               |   2 +-
 www/rustypaste/Makefile            |  38 ++++
 www/rustypaste/Makefile.crates     | 210 ++++++++++++++++++
 www/rustypaste/distinfo            | 423 +++++++++++++++++++++++++++++++++++++
 www/rustypaste/files/rustypaste.in |  35 +++
 www/rustypaste/pkg-descr           |  24 +++
 www/rustypaste/pkg-plist           |   5 +
 8 files changed, 737 insertions(+), 2 deletions(-)

diff --git a/GIDs b/GIDs
index 4c31b24ae02b..8fcbc6f46f28 100644
--- a/GIDs
+++ b/GIDs
@@ -438,7 +438,7 @@ datadog:*:480:
 # free: 495
 # free: 496
 # free: 497
-# free: 498
+rustypaste:*:498:
 # free: 499
 # free: 500
 # free: 501
diff --git a/UIDs b/UIDs
index 37aa3204edcd..36c21533639d 100644
--- a/UIDs
+++ b/UIDs
@@ -443,7 +443,7 @@ datadog:*:480:480::0:0:DataDog Agent:/var/db/datadog:/usr/sbin/nologin
 # free: 495
 # free: 496
 # free: 497
-# free: 498
+rustypaste:*:498:498::0:0:Minimal file upload/pastebin service:/nonexistent:/usr/sbin/nologin
 # free: 499
 # free: 500
 # free: 501
diff --git a/www/rustypaste/Makefile b/www/rustypaste/Makefile
new file mode 100644
index 000000000000..59743fc03140
--- /dev/null
+++ b/www/rustypaste/Makefile
@@ -0,0 +1,38 @@
+PORTNAME=	rustypaste
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.8.2
+CATEGORIES=	www
+
+MAINTAINER=	DtxdF@disroot.org
+COMMENT=	Minimal file upload/pastebin service
+WWW=		https://github.com/orhun/rustypaste/
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		cargo
+USE_GITHUB=	yes
+GH_ACCOUNT=	orhun
+USE_RC_SUBR=	${PORTNAME}
+
+SUB_LIST+=	USER="${USERS:[0]}"
+
+USERS=		${PORTNAME}
+GROUPS=		${PORTNAME}
+
+PLIST_SUB+=	USER="${USERS:[0]}" \
+		GROUP="${GROUPS:[0]}"
+
+UPLOAD_PATH=	/var/db/${PORTNAME}
+
+post-patch:
+	@${REINPLACE_CMD} -e '/^upload_path=/s#=.*#="${UPLOAD_PATH}"#' ${WRKSRC}/config.toml
+
+post-install:
+	${MKDIR} ${STAGEDIR}${ETCDIR}
+	${MKDIR} ${STAGEDIR}/${UPLOAD_PATH}
+	${ECHO_CMD} 'CONFIG="${ETCDIR}/${PORTNAME}.toml"' > ${STAGEDIR}${ETCDIR}/${PORTNAME}.env.sample
+	${CP} ${WRKSRC}/config.toml ${STAGEDIR}${ETCDIR}/${PORTNAME}.toml.sample
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+
+.include <bsd.port.mk>
diff --git a/www/rustypaste/Makefile.crates b/www/rustypaste/Makefile.crates
new file mode 100644
index 000000000000..f7f22ec4f093
--- /dev/null
+++ b/www/rustypaste/Makefile.crates
@@ -0,0 +1,210 @@
+CARGO_CRATES=	actix-codec-0.5.0 \
+		actix-files-0.6.2 \
+		actix-http-3.2.2 \
+		actix-macros-0.2.3 \
+		actix-multipart-0.4.0 \
+		actix-router-0.5.1 \
+		actix-rt-2.7.0 \
+		actix-server-2.1.1 \
+		actix-service-2.0.2 \
+		actix-tls-3.0.3 \
+		actix-utils-3.0.0 \
+		actix-web-4.2.1 \
+		actix-web-codegen-4.1.0 \
+		adler-1.0.2 \
+		ahash-0.7.6 \
+		aho-corasick-0.7.19 \
+		alloc-no-stdlib-2.0.4 \
+		alloc-stdlib-0.2.2 \
+		askama_escape-0.10.3 \
+		async-trait-0.1.57 \
+		atty-0.2.14 \
+		autocfg-1.1.0 \
+		awc-3.0.1 \
+		base64-0.13.0 \
+		bitflags-1.3.2 \
+		block-buffer-0.10.3 \
+		brotli-3.3.4 \
+		brotli-decompressor-2.3.2 \
+		bumpalo-3.11.0 \
+		byte-unit-4.0.14 \
+		bytes-1.2.1 \
+		bytestring-1.1.0 \
+		cc-1.0.73 \
+		cfg-if-0.1.10 \
+		cfg-if-1.0.0 \
+		clap-2.34.0 \
+		config-0.13.2 \
+		convert_case-0.4.0 \
+		cookie-0.16.1 \
+		cpufeatures-0.2.5 \
+		crc32fast-1.3.2 \
+		crypto-common-0.1.6 \
+		derive_more-0.99.17 \
+		digest-0.10.5 \
+		dirs-4.0.0 \
+		dirs-sys-0.3.7 \
+		dotenvy-0.15.5 \
+		either-1.8.0 \
+		encoding_rs-0.8.31 \
+		env_logger-0.9.1 \
+		filetime-0.2.17 \
+		flate2-1.0.24 \
+		fnv-1.0.7 \
+		form_urlencoded-1.1.0 \
+		fsevent-0.4.0 \
+		fsevent-sys-2.0.1 \
+		fuchsia-zircon-0.3.3 \
+		fuchsia-zircon-sys-0.3.3 \
+		futures-core-0.3.24 \
+		futures-macro-0.3.24 \
+		futures-sink-0.3.24 \
+		futures-task-0.3.24 \
+		futures-util-0.3.24 \
+		generic-array-0.14.6 \
+		getrandom-0.2.7 \
+		glob-0.3.0 \
+		h2-0.3.14 \
+		hashbrown-0.12.3 \
+		heck-0.3.3 \
+		hermit-abi-0.1.19 \
+		hotwatch-0.4.6 \
+		http-0.2.8 \
+		http-range-0.1.5 \
+		httparse-1.8.0 \
+		httpdate-1.0.2 \
+		humantime-2.1.0 \
+		humantime-serde-1.1.1 \
+		idna-0.3.0 \
+		indexmap-1.9.1 \
+		infer-0.9.0 \
+		inotify-0.7.1 \
+		inotify-sys-0.1.5 \
+		iovec-0.1.4 \
+		itertools-0.10.5 \
+		itoa-1.0.3 \
+		jobserver-0.1.25 \
+		js-sys-0.3.60 \
+		kernel32-sys-0.2.2 \
+		language-tags-0.3.2 \
+		lazy-regex-2.3.0 \
+		lazy-regex-proc_macros-2.3.0 \
+		lazy_static-1.4.0 \
+		lazycell-1.3.0 \
+		libc-0.2.134 \
+		linked-hash-map-0.5.6 \
+		local-channel-0.1.3 \
+		local-waker-0.1.3 \
+		lock_api-0.4.9 \
+		log-0.4.17 \
+		memchr-2.5.0 \
+		mime-0.3.16 \
+		mime_guess-2.0.4 \
+		minimal-lexical-0.2.1 \
+		miniz_oxide-0.5.4 \
+		mio-0.6.23 \
+		mio-0.8.4 \
+		mio-extras-2.0.6 \
+		miow-0.2.2 \
+		net2-0.2.37 \
+		nom-7.1.1 \
+		notify-4.0.17 \
+		num_cpus-1.13.1 \
+		num_threads-0.1.6 \
+		once_cell-1.15.0 \
+		parking_lot-0.12.1 \
+		parking_lot_core-0.9.3 \
+		paste-1.0.9 \
+		pathdiff-0.2.1 \
+		percent-encoding-2.2.0 \
+		petname-1.1.2 \
+		pin-project-lite-0.2.9 \
+		pin-utils-0.1.0 \
+		ppv-lite86-0.2.16 \
+		proc-macro-error-1.0.4 \
+		proc-macro-error-attr-1.0.4 \
+		proc-macro2-1.0.46 \
+		quote-1.0.21 \
+		rand-0.8.5 \
+		rand_chacha-0.3.1 \
+		rand_core-0.6.4 \
+		redox_syscall-0.2.16 \
+		redox_users-0.4.3 \
+		regex-1.6.0 \
+		regex-syntax-0.6.27 \
+		ring-0.16.20 \
+		rustc_version-0.4.0 \
+		rustls-0.20.6 \
+		ryu-1.0.11 \
+		same-file-1.0.6 \
+		scopeguard-1.1.0 \
+		sct-0.7.0 \
+		semver-1.0.14 \
+		serde-1.0.145 \
+		serde_derive-1.0.145 \
+		serde_json-1.0.85 \
+		serde_regex-1.1.0 \
+		serde_urlencoded-0.7.1 \
+		sha1-0.10.5 \
+		signal-hook-registry-1.4.0 \
+		slab-0.4.7 \
+		smallvec-1.10.0 \
+		socket2-0.4.7 \
+		spin-0.5.2 \
+		structopt-0.3.26 \
+		structopt-derive-0.4.18 \
+		syn-1.0.101 \
+		termcolor-1.1.3 \
+		textwrap-0.11.0 \
+		thiserror-1.0.37 \
+		thiserror-impl-1.0.37 \
+		time-0.3.15 \
+		time-macros-0.2.4 \
+		tinyvec-1.6.0 \
+		tinyvec_macros-0.1.0 \
+		tokio-1.21.2 \
+		tokio-rustls-0.23.4 \
+		tokio-util-0.7.4 \
+		toml-0.5.9 \
+		tracing-0.1.36 \
+		tracing-core-0.1.29 \
+		twoway-0.2.2 \
+		typenum-1.15.0 \
+		unchecked-index-0.2.2 \
+		unicase-2.6.0 \
+		unicode-bidi-0.3.8 \
+		unicode-ident-1.0.4 \
+		unicode-normalization-0.1.22 \
+		unicode-segmentation-1.10.0 \
+		unicode-width-0.1.10 \
+		untrusted-0.7.1 \
+		url-2.3.1 \
+		utf8-width-0.1.6 \
+		version_check-0.9.4 \
+		walkdir-2.3.2 \
+		wasi-0.11.0+wasi-snapshot-preview1 \
+		wasm-bindgen-0.2.83 \
+		wasm-bindgen-backend-0.2.83 \
+		wasm-bindgen-macro-0.2.83 \
+		wasm-bindgen-macro-support-0.2.83 \
+		wasm-bindgen-shared-0.2.83 \
+		web-sys-0.3.60 \
+		webpki-0.22.0 \
+		webpki-roots-0.22.5 \
+		winapi-0.2.8 \
+		winapi-0.3.9 \
+		winapi-build-0.1.1 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-util-0.1.5 \
+		winapi-x86_64-pc-windows-gnu-0.4.0 \
+		windows-sys-0.36.1 \
+		windows_aarch64_msvc-0.36.1 \
+		windows_i686_gnu-0.36.1 \
+		windows_i686_msvc-0.36.1 \
+		windows_x86_64_gnu-0.36.1 \
+		windows_x86_64_msvc-0.36.1 \
+		ws2_32-sys-0.2.1 \
+		yaml-rust-0.4.5 \
+		zstd-0.11.2+zstd.1.5.2 \
+		zstd-safe-5.0.2+zstd.1.5.2 \
+		zstd-sys-2.0.1+zstd.1.5.2
diff --git a/www/rustypaste/distinfo b/www/rustypaste/distinfo
new file mode 100644
index 000000000000..6a121ba3826c
--- /dev/null
+++ b/www/rustypaste/distinfo
@@ -0,0 +1,423 @@
+TIMESTAMP = 1665627864
+SHA256 (rust/crates/actix-codec-0.5.0.crate) = 57a7559404a7f3573127aab53c08ce37a6c6a315c374a31070f3c91cd1b4a7fe
+SIZE (rust/crates/actix-codec-0.5.0.crate) = 14046
+SHA256 (rust/crates/actix-files-0.6.2.crate) = d832782fac6ca7369a70c9ee9a20554623c5e51c76e190ad151780ebea1cf689
+SIZE (rust/crates/actix-files-0.6.2.crate) = 30031
+SHA256 (rust/crates/actix-http-3.2.2.crate) = 0c83abf9903e1f0ad9973cc4f7b9767fd5a03a583f51a5b7a339e07987cd2724
+SIZE (rust/crates/actix-http-3.2.2.crate) = 148408
+SHA256 (rust/crates/actix-macros-0.2.3.crate) = 465a6172cf69b960917811022d8f29bc0b7fa1398bc4f78b3c466673db1213b6
+SIZE (rust/crates/actix-macros-0.2.3.crate) = 8259
+SHA256 (rust/crates/actix-multipart-0.4.0.crate) = c9edfb0e7663d7fe18c8d5b668c9c1bcf79176b1dcc9d4da9592503209a6bfb0
+SIZE (rust/crates/actix-multipart-0.4.0.crate) = 16156
+SHA256 (rust/crates/actix-router-0.5.1.crate) = d66ff4d247d2b160861fa2866457e85706833527840e4133f8f49aa423a38799
+SIZE (rust/crates/actix-router-0.5.1.crate) = 31905
+SHA256 (rust/crates/actix-rt-2.7.0.crate) = 7ea16c295198e958ef31930a6ef37d0fb64e9ca3b6116e6b93a8bdae96ee1000
+SIZE (rust/crates/actix-rt-2.7.0.crate) = 20170
+SHA256 (rust/crates/actix-server-2.1.1.crate) = 0da34f8e659ea1b077bb4637948b815cd3768ad5a188fdcd74ff4d84240cd824
+SIZE (rust/crates/actix-server-2.1.1.crate) = 37296
+SHA256 (rust/crates/actix-service-2.0.2.crate) = 3b894941f818cfdc7ccc4b9e60fa7e53b5042a2e8567270f9147d5591893373a
+SIZE (rust/crates/actix-service-2.0.2.crate) = 25293
+SHA256 (rust/crates/actix-tls-3.0.3.crate) = 9fde0cf292f7cdc7f070803cb9a0d45c018441321a78b1042ffbbb81ec333297
+SIZE (rust/crates/actix-tls-3.0.3.crate) = 33710
+SHA256 (rust/crates/actix-utils-3.0.0.crate) = e491cbaac2e7fc788dfff99ff48ef317e23b3cf63dbaf7aaab6418f40f92aa94
+SIZE (rust/crates/actix-utils-3.0.0.crate) = 9482
+SHA256 (rust/crates/actix-web-4.2.1.crate) = d48f7b6534e06c7bfc72ee91db7917d4af6afe23e7d223b51e68fffbb21e96b9
+SIZE (rust/crates/actix-web-4.2.1.crate) = 213495
+SHA256 (rust/crates/actix-web-codegen-4.1.0.crate) = 1fa9362663c8643d67b2d5eafba49e4cb2c8a053a29ed00a0bea121f17c76b13
+SIZE (rust/crates/actix-web-codegen-4.1.0.crate) = 15995
+SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
+SIZE (rust/crates/adler-1.0.2.crate) = 12778
+SHA256 (rust/crates/ahash-0.7.6.crate) = fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47
+SIZE (rust/crates/ahash-0.7.6.crate) = 38030
+SHA256 (rust/crates/aho-corasick-0.7.19.crate) = b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e
+SIZE (rust/crates/aho-corasick-0.7.19.crate) = 113070
+SHA256 (rust/crates/alloc-no-stdlib-2.0.4.crate) = cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3
+SIZE (rust/crates/alloc-no-stdlib-2.0.4.crate) = 10105
+SHA256 (rust/crates/alloc-stdlib-0.2.2.crate) = 94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece
+SIZE (rust/crates/alloc-stdlib-0.2.2.crate) = 6693
+SHA256 (rust/crates/askama_escape-0.10.3.crate) = 619743e34b5ba4e9703bba34deac3427c72507c7159f5fd030aea8cac0cfe341
+SIZE (rust/crates/askama_escape-0.10.3.crate) = 8875
+SHA256 (rust/crates/async-trait-0.1.57.crate) = 76464446b8bc32758d7e88ee1a804d9914cd9b1cb264c029899680b0be29826f
+SIZE (rust/crates/async-trait-0.1.57.crate) = 26793
+SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
+SIZE (rust/crates/atty-0.2.14.crate) = 5470
+SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa
+SIZE (rust/crates/autocfg-1.1.0.crate) = 13272
+SHA256 (rust/crates/awc-3.0.1.crate) = 80ca7ff88063086d2e2c70b9f3b29b2fcd999bac68ac21731e66781970d68519
+SIZE (rust/crates/awc-3.0.1.crate) = 71310
+SHA256 (rust/crates/base64-0.13.0.crate) = 904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd
+SIZE (rust/crates/base64-0.13.0.crate) = 62070
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/block-buffer-0.10.3.crate) = 69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e
+SIZE (rust/crates/block-buffer-0.10.3.crate) = 10465
+SHA256 (rust/crates/brotli-3.3.4.crate) = a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68
+SIZE (rust/crates/brotli-3.3.4.crate) = 1369026
+SHA256 (rust/crates/brotli-decompressor-2.3.2.crate) = 59ad2d4653bf5ca36ae797b1f4bb4dbddb60ce49ca4aed8a2ce4829f60425b80
+SIZE (rust/crates/brotli-decompressor-2.3.2.crate) = 191197
+SHA256 (rust/crates/bumpalo-3.11.0.crate) = c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d
+SIZE (rust/crates/bumpalo-3.11.0.crate) = 80945
+SHA256 (rust/crates/byte-unit-4.0.14.crate) = 95ebf10dda65f19ff0f42ea15572a359ed60d7fc74fdc984d90310937be0014b
+SIZE (rust/crates/byte-unit-4.0.14.crate) = 10805
+SHA256 (rust/crates/bytes-1.2.1.crate) = ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db
+SIZE (rust/crates/bytes-1.2.1.crate) = 54857
+SHA256 (rust/crates/bytestring-1.1.0.crate) = 86b6a75fd3048808ef06af5cd79712be8111960adaf89d90250974b38fc3928a
+SIZE (rust/crates/bytestring-1.1.0.crate) = 7995
+SHA256 (rust/crates/cc-1.0.73.crate) = 2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11
+SIZE (rust/crates/cc-1.0.73.crate) = 57880
+SHA256 (rust/crates/cfg-if-0.1.10.crate) = 4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822
+SIZE (rust/crates/cfg-if-0.1.10.crate) = 7933
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/clap-2.34.0.crate) = a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c
+SIZE (rust/crates/clap-2.34.0.crate) = 202210
+SHA256 (rust/crates/config-0.13.2.crate) = 11f1667b8320afa80d69d8bbe40830df2c8a06003d86f73d8e003b2c48df416d
+SIZE (rust/crates/config-0.13.2.crate) = 65937
+SHA256 (rust/crates/convert_case-0.4.0.crate) = 6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e
+SIZE (rust/crates/convert_case-0.4.0.crate) = 8098
+SHA256 (rust/crates/cookie-0.16.1.crate) = 344adc371239ef32293cb1c4fe519592fcf21206c79c02854320afcdf3ab4917
+SIZE (rust/crates/cookie-0.16.1.crate) = 34602
+SHA256 (rust/crates/cpufeatures-0.2.5.crate) = 28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320
+SIZE (rust/crates/cpufeatures-0.2.5.crate) = 11251
+SHA256 (rust/crates/crc32fast-1.3.2.crate) = b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d
+SIZE (rust/crates/crc32fast-1.3.2.crate) = 38661
+SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3
+SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760
+SHA256 (rust/crates/derive_more-0.99.17.crate) = 4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321
+SIZE (rust/crates/derive_more-0.99.17.crate) = 55771
+SHA256 (rust/crates/digest-0.10.5.crate) = adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c
+SIZE (rust/crates/digest-0.10.5.crate) = 19503
+SHA256 (rust/crates/dirs-4.0.0.crate) = ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059
+SIZE (rust/crates/dirs-4.0.0.crate) = 12503
+SHA256 (rust/crates/dirs-sys-0.3.7.crate) = 1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6
+SIZE (rust/crates/dirs-sys-0.3.7.crate) = 10597
+SHA256 (rust/crates/dotenvy-0.15.5.crate) = ed9155c8f4dc55c7470ae9da3f63c6785245093b3f6aeb0f5bf2e968efbba314
+SIZE (rust/crates/dotenvy-0.15.5.crate) = 14610
+SHA256 (rust/crates/either-1.8.0.crate) = 90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797
+SIZE (rust/crates/either-1.8.0.crate) = 15992
+SHA256 (rust/crates/encoding_rs-0.8.31.crate) = 9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b
+SIZE (rust/crates/encoding_rs-0.8.31.crate) = 1370113
+SHA256 (rust/crates/env_logger-0.9.1.crate) = c90bf5f19754d10198ccb95b70664fc925bd1fc090a0fd9a6ebc54acc8cd6272
+SIZE (rust/crates/env_logger-0.9.1.crate) = 33425
+SHA256 (rust/crates/filetime-0.2.17.crate) = e94a7bbaa59354bc20dd75b67f23e2797b4490e9d6928203fb105c79e448c86c
+SIZE (rust/crates/filetime-0.2.17.crate) = 14484
+SHA256 (rust/crates/flate2-1.0.24.crate) = f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6
+SIZE (rust/crates/flate2-1.0.24.crate) = 70191
+SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
+SIZE (rust/crates/fnv-1.0.7.crate) = 11266
+SHA256 (rust/crates/form_urlencoded-1.1.0.crate) = a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8
+SIZE (rust/crates/form_urlencoded-1.1.0.crate) = 8734
+SHA256 (rust/crates/fsevent-0.4.0.crate) = 5ab7d1bd1bd33cc98b0889831b72da23c0aa4df9cec7e0702f46ecea04b35db6
+SIZE (rust/crates/fsevent-0.4.0.crate) = 7292
+SHA256 (rust/crates/fsevent-sys-2.0.1.crate) = f41b048a94555da0f42f1d632e2e19510084fb8e303b0daa2816e733fb3644a0
+SIZE (rust/crates/fsevent-sys-2.0.1.crate) = 3984
+SHA256 (rust/crates/fuchsia-zircon-0.3.3.crate) = 2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82
+SIZE (rust/crates/fuchsia-zircon-0.3.3.crate) = 22565
+SHA256 (rust/crates/fuchsia-zircon-sys-0.3.3.crate) = 3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7
+SIZE (rust/crates/fuchsia-zircon-sys-0.3.3.crate) = 7191
+SHA256 (rust/crates/futures-core-0.3.24.crate) = 4e5aa3de05362c3fb88de6531e6296e85cde7739cccad4b9dfeeb7f6ebce56bf
+SIZE (rust/crates/futures-core-0.3.24.crate) = 14618
+SHA256 (rust/crates/futures-macro-0.3.24.crate) = 42cd15d1c7456c04dbdf7e88bcd69760d74f3a798d6444e16974b505b0e62f17
+SIZE (rust/crates/futures-macro-0.3.24.crate) = 11252
+SHA256 (rust/crates/futures-sink-0.3.24.crate) = 21b20ba5a92e727ba30e72834706623d94ac93a725410b6a6b6fbc1b07f7ba56
+SIZE (rust/crates/futures-sink-0.3.24.crate) = 7854
+SHA256 (rust/crates/futures-task-0.3.24.crate) = a6508c467c73851293f390476d4491cf4d227dbabcd4170f3bb6044959b294f1
+SIZE (rust/crates/futures-task-0.3.24.crate) = 11836
+SHA256 (rust/crates/futures-util-0.3.24.crate) = 44fb6cb1be61cc1d2e43b262516aafcf63b241cffdb1d3fa115f91d9c7b09c90
+SIZE (rust/crates/futures-util-0.3.24.crate) = 155823
+SHA256 (rust/crates/generic-array-0.14.6.crate) = bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9
+SIZE (rust/crates/generic-array-0.14.6.crate) = 15889
+SHA256 (rust/crates/getrandom-0.2.7.crate) = 4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6
+SIZE (rust/crates/getrandom-0.2.7.crate) = 28854
+SHA256 (rust/crates/glob-0.3.0.crate) = 9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574
+SIZE (rust/crates/glob-0.3.0.crate) = 18724
+SHA256 (rust/crates/h2-0.3.14.crate) = 5ca32592cf21ac7ccab1825cd87f6c9b3d9022c44d086172ed0966bec8af30be
+SIZE (rust/crates/h2-0.3.14.crate) = 162022
+SHA256 (rust/crates/hashbrown-0.12.3.crate) = 8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888
+SIZE (rust/crates/hashbrown-0.12.3.crate) = 102968
+SHA256 (rust/crates/heck-0.3.3.crate) = 6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c
+SIZE (rust/crates/heck-0.3.3.crate) = 10260
+SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
+SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
+SHA256 (rust/crates/hotwatch-0.4.6.crate) = 39301670a6f5798b75f36a1b149a379a50df5aa7c71be50f4b41ec6eab445cb8
+SIZE (rust/crates/hotwatch-0.4.6.crate) = 15066
+SHA256 (rust/crates/http-0.2.8.crate) = 75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399
+SIZE (rust/crates/http-0.2.8.crate) = 105591
+SHA256 (rust/crates/http-range-0.1.5.crate) = 21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573
+SIZE (rust/crates/http-range-0.1.5.crate) = 4871
+SHA256 (rust/crates/httparse-1.8.0.crate) = d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904
+SIZE (rust/crates/httparse-1.8.0.crate) = 29954
+SHA256 (rust/crates/httpdate-1.0.2.crate) = c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421
+SIZE (rust/crates/httpdate-1.0.2.crate) = 10673
+SHA256 (rust/crates/humantime-2.1.0.crate) = 9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4
+SIZE (rust/crates/humantime-2.1.0.crate) = 16749
+SHA256 (rust/crates/humantime-serde-1.1.1.crate) = 57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c
+SIZE (rust/crates/humantime-serde-1.1.1.crate) = 7886
+SHA256 (rust/crates/idna-0.3.0.crate) = e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6
+SIZE (rust/crates/idna-0.3.0.crate) = 271128
+SHA256 (rust/crates/indexmap-1.9.1.crate) = 10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e
+SIZE (rust/crates/indexmap-1.9.1.crate) = 54114
+SHA256 (rust/crates/infer-0.9.0.crate) = f178e61cdbfe084aa75a2f4f7a25a5bb09701a47ae1753608f194b15783c937a
+SIZE (rust/crates/infer-0.9.0.crate) = 17530
+SHA256 (rust/crates/inotify-0.7.1.crate) = 4816c66d2c8ae673df83366c18341538f234a26d65a9ecea5c348b453ac1d02f
+SIZE (rust/crates/inotify-0.7.1.crate) = 24637
+SHA256 (rust/crates/inotify-sys-0.1.5.crate) = e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb
+SIZE (rust/crates/inotify-sys-0.1.5.crate) = 6965
+SHA256 (rust/crates/iovec-0.1.4.crate) = b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e
+SIZE (rust/crates/iovec-0.1.4.crate) = 8720
+SHA256 (rust/crates/itertools-0.10.5.crate) = b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473
+SIZE (rust/crates/itertools-0.10.5.crate) = 115354
+SHA256 (rust/crates/itoa-1.0.3.crate) = 6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754
+SIZE (rust/crates/itoa-1.0.3.crate) = 10481
+SHA256 (rust/crates/jobserver-0.1.25.crate) = 068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b
+SIZE (rust/crates/jobserver-0.1.25.crate) = 21888
+SHA256 (rust/crates/js-sys-0.3.60.crate) = 49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47
+SIZE (rust/crates/js-sys-0.3.60.crate) = 79257
+SHA256 (rust/crates/kernel32-sys-0.2.2.crate) = 7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d
+SIZE (rust/crates/kernel32-sys-0.2.2.crate) = 24537
+SHA256 (rust/crates/language-tags-0.3.2.crate) = d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388
+SIZE (rust/crates/language-tags-0.3.2.crate) = 53420
+SHA256 (rust/crates/lazy-regex-2.3.0.crate) = b6b12f2eb6ed7d39405c5eb25a034b4c106a9ad87a6d9be3298de6c5f32fd57d
+SIZE (rust/crates/lazy-regex-2.3.0.crate) = 4437
+SHA256 (rust/crates/lazy-regex-proc_macros-2.3.0.crate) = f2496e5264069bc726ccf37eb76b9cd89406ae110d836c3f76729f99c8a23293
+SIZE (rust/crates/lazy-regex-proc_macros-2.3.0.crate) = 3896
+SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
+SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
+SHA256 (rust/crates/lazycell-1.3.0.crate) = 830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55
+SIZE (rust/crates/lazycell-1.3.0.crate) = 12502
+SHA256 (rust/crates/libc-0.2.134.crate) = 329c933548736bc49fd575ee68c89e8be4d260064184389a5b77517cddd99ffb
+SIZE (rust/crates/libc-0.2.134.crate) = 603330
+SHA256 (rust/crates/linked-hash-map-0.5.6.crate) = 0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f
+SIZE (rust/crates/linked-hash-map-0.5.6.crate) = 15049
+SHA256 (rust/crates/local-channel-0.1.3.crate) = 7f303ec0e94c6c54447f84f3b0ef7af769858a9c4ef56ef2a986d3dcd4c3fc9c
+SIZE (rust/crates/local-channel-0.1.3.crate) = 7522
+SHA256 (rust/crates/local-waker-0.1.3.crate) = e34f76eb3611940e0e7d53a9aaa4e6a3151f69541a282fd0dad5571420c53ff1
+SIZE (rust/crates/local-waker-0.1.3.crate) = 6369
+SHA256 (rust/crates/lock_api-0.4.9.crate) = 435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df
+SIZE (rust/crates/lock_api-0.4.9.crate) = 25685
+SHA256 (rust/crates/log-0.4.17.crate) = abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e
+SIZE (rust/crates/log-0.4.17.crate) = 38028
+SHA256 (rust/crates/memchr-2.5.0.crate) = 2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d
+SIZE (rust/crates/memchr-2.5.0.crate) = 65812
+SHA256 (rust/crates/mime-0.3.16.crate) = 2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d
+SIZE (rust/crates/mime-0.3.16.crate) = 15206
+SHA256 (rust/crates/mime_guess-2.0.4.crate) = 4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef
+SIZE (rust/crates/mime_guess-2.0.4.crate) = 26399
+SHA256 (rust/crates/minimal-lexical-0.2.1.crate) = 68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a
+SIZE (rust/crates/minimal-lexical-0.2.1.crate) = 94841
+SHA256 (rust/crates/miniz_oxide-0.5.4.crate) = 96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34
+SIZE (rust/crates/miniz_oxide-0.5.4.crate) = 53485
+SHA256 (rust/crates/mio-0.6.23.crate) = 4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4
+SIZE (rust/crates/mio-0.6.23.crate) = 103554
+SHA256 (rust/crates/mio-0.8.4.crate) = 57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf
+SIZE (rust/crates/mio-0.8.4.crate) = 93013
+SHA256 (rust/crates/mio-extras-2.0.6.crate) = 52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19
+SIZE (rust/crates/mio-extras-2.0.6.crate) = 16292
+SHA256 (rust/crates/miow-0.2.2.crate) = ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d
+SIZE (rust/crates/miow-0.2.2.crate) = 22044
+SHA256 (rust/crates/net2-0.2.37.crate) = 391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae
+SIZE (rust/crates/net2-0.2.37.crate) = 21311
+SHA256 (rust/crates/nom-7.1.1.crate) = a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36
+SIZE (rust/crates/nom-7.1.1.crate) = 115818
+SHA256 (rust/crates/notify-4.0.17.crate) = ae03c8c853dba7bfd23e571ff0cff7bc9dceb40a4cd684cd1681824183f45257
+SIZE (rust/crates/notify-4.0.17.crate) = 54419
+SHA256 (rust/crates/num_cpus-1.13.1.crate) = 19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1
+SIZE (rust/crates/num_cpus-1.13.1.crate) = 14752
+SHA256 (rust/crates/num_threads-0.1.6.crate) = 2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44
+SIZE (rust/crates/num_threads-0.1.6.crate) = 7334
+SHA256 (rust/crates/once_cell-1.15.0.crate) = e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1
+SIZE (rust/crates/once_cell-1.15.0.crate) = 31460
+SHA256 (rust/crates/parking_lot-0.12.1.crate) = 3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f
+SIZE (rust/crates/parking_lot-0.12.1.crate) = 40967
+SHA256 (rust/crates/parking_lot_core-0.9.3.crate) = 09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929
+SIZE (rust/crates/parking_lot_core-0.9.3.crate) = 32256
+SHA256 (rust/crates/paste-1.0.9.crate) = b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1
+SIZE (rust/crates/paste-1.0.9.crate) = 17752
+SHA256 (rust/crates/pathdiff-0.2.1.crate) = 8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd
+SIZE (rust/crates/pathdiff-0.2.1.crate) = 7142
+SHA256 (rust/crates/percent-encoding-2.2.0.crate) = 478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e
+SIZE (rust/crates/percent-encoding-2.2.0.crate) = 10075
+SHA256 (rust/crates/petname-1.1.2.crate) = 9474d20c003131d8945af478b25c8e29477a522e408ae4ca8e8822839f5fd2f2
+SIZE (rust/crates/petname-1.1.2.crate) = 221784
+SHA256 (rust/crates/pin-project-lite-0.2.9.crate) = e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116
+SIZE (rust/crates/pin-project-lite-0.2.9.crate) = 27713
+SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
+SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
+SHA256 (rust/crates/ppv-lite86-0.2.16.crate) = eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872
+SIZE (rust/crates/ppv-lite86-0.2.16.crate) = 22245
+SHA256 (rust/crates/proc-macro-error-1.0.4.crate) = da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c
+SIZE (rust/crates/proc-macro-error-1.0.4.crate) = 25293
+SHA256 (rust/crates/proc-macro-error-attr-1.0.4.crate) = a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869
+SIZE (rust/crates/proc-macro-error-attr-1.0.4.crate) = 7971
+SHA256 (rust/crates/proc-macro2-1.0.46.crate) = 94e2ef8dbfc347b10c094890f778ee2e36ca9bb4262e86dc99cd217e35f3470b
+SIZE (rust/crates/proc-macro2-1.0.46.crate) = 41954
+SHA256 (rust/crates/quote-1.0.21.crate) = bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179
+SIZE (rust/crates/quote-1.0.21.crate) = 28030
+SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
+SIZE (rust/crates/rand-0.8.5.crate) = 87113
+SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
+SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
+SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
+SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
+SHA256 (rust/crates/redox_syscall-0.2.16.crate) = fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a
+SIZE (rust/crates/redox_syscall-0.2.16.crate) = 24012
+SHA256 (rust/crates/redox_users-0.4.3.crate) = b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b
+SIZE (rust/crates/redox_users-0.4.3.crate) = 15353
+SHA256 (rust/crates/regex-1.6.0.crate) = 4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b
+SIZE (rust/crates/regex-1.6.0.crate) = 239329
+SHA256 (rust/crates/regex-syntax-0.6.27.crate) = a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244
+SIZE (rust/crates/regex-syntax-0.6.27.crate) = 297300
+SHA256 (rust/crates/ring-0.16.20.crate) = 3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc
+SIZE (rust/crates/ring-0.16.20.crate) = 5082615
+SHA256 (rust/crates/rustc_version-0.4.0.crate) = bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366
+SIZE (rust/crates/rustc_version-0.4.0.crate) = 12175
+SHA256 (rust/crates/rustls-0.20.6.crate) = 5aab8ee6c7097ed6057f43c187a62418d0c05a4bd5f18b3571db50ee0f9ce033
+SIZE (rust/crates/rustls-0.20.6.crate) = 259289
+SHA256 (rust/crates/ryu-1.0.11.crate) = 4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09
+SIZE (rust/crates/ryu-1.0.11.crate) = 47007
+SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
+SIZE (rust/crates/same-file-1.0.6.crate) = 10183
+SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
+SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
+SHA256 (rust/crates/sct-0.7.0.crate) = d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4
+SIZE (rust/crates/sct-0.7.0.crate) = 27502
+SHA256 (rust/crates/semver-1.0.14.crate) = e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4
+SIZE (rust/crates/semver-1.0.14.crate) = 29813
+SHA256 (rust/crates/serde-1.0.145.crate) = 728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b
+SIZE (rust/crates/serde-1.0.145.crate) = 76568
+SHA256 (rust/crates/serde_derive-1.0.145.crate) = 81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c
+SIZE (rust/crates/serde_derive-1.0.145.crate) = 54860
+SHA256 (rust/crates/serde_json-1.0.85.crate) = e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44
+SIZE (rust/crates/serde_json-1.0.85.crate) = 144635
+SHA256 (rust/crates/serde_regex-1.1.0.crate) = a8136f1a4ea815d7eac4101cfd0b16dc0cb5e1fe1b8609dfd728058656b7badf
+SIZE (rust/crates/serde_regex-1.1.0.crate) = 9710
+SHA256 (rust/crates/serde_urlencoded-0.7.1.crate) = d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd
+SIZE (rust/crates/serde_urlencoded-0.7.1.crate) = 12822
+SHA256 (rust/crates/sha1-0.10.5.crate) = f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3
+SIZE (rust/crates/sha1-0.10.5.crate) = 12146
+SHA256 (rust/crates/signal-hook-registry-1.4.0.crate) = e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0
+SIZE (rust/crates/signal-hook-registry-1.4.0.crate) = 17912
+SHA256 (rust/crates/slab-0.4.7.crate) = 4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef
+SIZE (rust/crates/slab-0.4.7.crate) = 16647
+SHA256 (rust/crates/smallvec-1.10.0.crate) = a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0
+SIZE (rust/crates/smallvec-1.10.0.crate) = 31564
+SHA256 (rust/crates/socket2-0.4.7.crate) = 02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd
+SIZE (rust/crates/socket2-0.4.7.crate) = 44619
+SHA256 (rust/crates/spin-0.5.2.crate) = 6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d
+SIZE (rust/crates/spin-0.5.2.crate) = 12004
+SHA256 (rust/crates/structopt-0.3.26.crate) = 0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10
+SIZE (rust/crates/structopt-0.3.26.crate) = 53798
+SHA256 (rust/crates/structopt-derive-0.4.18.crate) = dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0
+SIZE (rust/crates/structopt-derive-0.4.18.crate) = 20996
+SHA256 (rust/crates/syn-1.0.101.crate) = e90cde112c4b9690b8cbe810cba9ddd8bc1d7472e2cae317b69e9438c1cba7d2
+SIZE (rust/crates/syn-1.0.101.crate) = 236599
+SHA256 (rust/crates/termcolor-1.1.3.crate) = bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755
+SIZE (rust/crates/termcolor-1.1.3.crate) = 17242
+SHA256 (rust/crates/textwrap-0.11.0.crate) = d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060
+SIZE (rust/crates/textwrap-0.11.0.crate) = 17322
+SHA256 (rust/crates/thiserror-1.0.37.crate) = 10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e
+SIZE (rust/crates/thiserror-1.0.37.crate) = 18752
+SHA256 (rust/crates/thiserror-impl-1.0.37.crate) = 982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb
+SIZE (rust/crates/thiserror-impl-1.0.37.crate) = 15428
+SHA256 (rust/crates/time-0.3.15.crate) = d634a985c4d4238ec39cacaed2e7ae552fbd3c476b552c1deac3021b7d7eaf0c
+SIZE (rust/crates/time-0.3.15.crate) = 93589
+SHA256 (rust/crates/time-macros-0.2.4.crate) = 42657b1a6f4d817cda8e7a0ace261fe0cc946cf3a80314390b22cc61ae080792
+SIZE (rust/crates/time-macros-0.2.4.crate) = 18421
+SHA256 (rust/crates/tinyvec-1.6.0.crate) = 87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50
+SIZE (rust/crates/tinyvec-1.6.0.crate) = 45991
+SHA256 (rust/crates/tinyvec_macros-0.1.0.crate) = cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c
+SIZE (rust/crates/tinyvec_macros-0.1.0.crate) = 1817
+SHA256 (rust/crates/tokio-1.21.2.crate) = a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099
+SIZE (rust/crates/tokio-1.21.2.crate) = 606589
+SHA256 (rust/crates/tokio-rustls-0.23.4.crate) = c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59
+SIZE (rust/crates/tokio-rustls-0.23.4.crate) = 27024
+SHA256 (rust/crates/tokio-util-0.7.4.crate) = 0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740
+SIZE (rust/crates/tokio-util-0.7.4.crate) = 93424
+SHA256 (rust/crates/toml-0.5.9.crate) = 8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7
+SIZE (rust/crates/toml-0.5.9.crate) = 55667
+SHA256 (rust/crates/tracing-0.1.36.crate) = 2fce9567bd60a67d08a16488756721ba392f24f29006402881e43b19aac64307
+SIZE (rust/crates/tracing-0.1.36.crate) = 73238
+SHA256 (rust/crates/tracing-core-0.1.29.crate) = 5aeea4303076558a00714b823f9ad67d58a3bbda1df83d8827d21193156e22f7
+SIZE (rust/crates/tracing-core-0.1.29.crate) = 58969
+SHA256 (rust/crates/twoway-0.2.2.crate) = c57ffb460d7c24cd6eda43694110189030a3d1dfe418416d9468fd1c1d290b47
+SIZE (rust/crates/twoway-0.2.2.crate) = 30454
+SHA256 (rust/crates/typenum-1.15.0.crate) = dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987
+SIZE (rust/crates/typenum-1.15.0.crate) = 40741
+SHA256 (rust/crates/unchecked-index-0.2.2.crate) = eeba86d422ce181a719445e51872fa30f1f7413b62becb52e95ec91aa262d85c
+SIZE (rust/crates/unchecked-index-0.2.2.crate) = 8325
+SHA256 (rust/crates/unicase-2.6.0.crate) = 50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6
+SIZE (rust/crates/unicase-2.6.0.crate) = 23478
+SHA256 (rust/crates/unicode-bidi-0.3.8.crate) = 099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992
+SIZE (rust/crates/unicode-bidi-0.3.8.crate) = 36575
+SHA256 (rust/crates/unicode-ident-1.0.4.crate) = dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd
+SIZE (rust/crates/unicode-ident-1.0.4.crate) = 35491
+SHA256 (rust/crates/unicode-normalization-0.1.22.crate) = 5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921
+SIZE (rust/crates/unicode-normalization-0.1.22.crate) = 122604
+SHA256 (rust/crates/unicode-segmentation-1.10.0.crate) = 0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a
+SIZE (rust/crates/unicode-segmentation-1.10.0.crate) = 93893
+SHA256 (rust/crates/unicode-width-0.1.10.crate) = c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b
+SIZE (rust/crates/unicode-width-0.1.10.crate) = 18968
+SHA256 (rust/crates/untrusted-0.7.1.crate) = a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a
+SIZE (rust/crates/untrusted-0.7.1.crate) = 7924
+SHA256 (rust/crates/url-2.3.1.crate) = 0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643
+SIZE (rust/crates/url-2.3.1.crate) = 72777
+SHA256 (rust/crates/utf8-width-0.1.6.crate) = 5190c9442dcdaf0ddd50f37420417d219ae5261bbf5db120d0f9bab996c9cba1
+SIZE (rust/crates/utf8-width-0.1.6.crate) = 2935
+SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
+SIZE (rust/crates/version_check-0.9.4.crate) = 14895
+SHA256 (rust/crates/walkdir-2.3.2.crate) = 808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56
+SIZE (rust/crates/walkdir-2.3.2.crate) = 23516
+SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
+SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
+SHA256 (rust/crates/wasm-bindgen-0.2.83.crate) = eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268
+SIZE (rust/crates/wasm-bindgen-0.2.83.crate) = 169618
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.83.crate) = 4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142
+SIZE (rust/crates/wasm-bindgen-backend-0.2.83.crate) = 25620
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.83.crate) = 052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810
+SIZE (rust/crates/wasm-bindgen-macro-0.2.83.crate) = 12075
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.83.crate) = 07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.83.crate) = 18530
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.83.crate) = 1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f
+SIZE (rust/crates/wasm-bindgen-shared-0.2.83.crate) = 7194
+SHA256 (rust/crates/web-sys-0.3.60.crate) = bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f
+SIZE (rust/crates/web-sys-0.3.60.crate) = 700485
+SHA256 (rust/crates/webpki-0.22.0.crate) = f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd
+SIZE (rust/crates/webpki-0.22.0.crate) = 58663
+SHA256 (rust/crates/webpki-roots-0.22.5.crate) = 368bfe657969fb01238bb756d351dcade285e0f6fcbd36dcb23359a5169975be
+SIZE (rust/crates/webpki-roots-0.22.5.crate) = 251914
+SHA256 (rust/crates/winapi-0.2.8.crate) = 167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a
+SIZE (rust/crates/winapi-0.2.8.crate) = 455145
+SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
+SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
+SHA256 (rust/crates/winapi-build-0.1.1.crate) = 2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc
+SIZE (rust/crates/winapi-build-0.1.1.crate) = 669
+SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
+SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
+SHA256 (rust/crates/winapi-util-0.1.5.crate) = 70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178
+SIZE (rust/crates/winapi-util-0.1.5.crate) = 10164
+SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
+SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
+SHA256 (rust/crates/windows-sys-0.36.1.crate) = ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2
+SIZE (rust/crates/windows-sys-0.36.1.crate) = 3347053
+SHA256 (rust/crates/windows_aarch64_msvc-0.36.1.crate) = 9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47
+SIZE (rust/crates/windows_aarch64_msvc-0.36.1.crate) = 661960
+SHA256 (rust/crates/windows_i686_gnu-0.36.1.crate) = 180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6
+SIZE (rust/crates/windows_i686_gnu-0.36.1.crate) = 818115
+SHA256 (rust/crates/windows_i686_msvc-0.36.1.crate) = e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024
+SIZE (rust/crates/windows_i686_msvc-0.36.1.crate) = 724575
+SHA256 (rust/crates/windows_x86_64_gnu-0.36.1.crate) = 4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1
+SIZE (rust/crates/windows_x86_64_gnu-0.36.1.crate) = 790934
+SHA256 (rust/crates/windows_x86_64_msvc-0.36.1.crate) = c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680
+SIZE (rust/crates/windows_x86_64_msvc-0.36.1.crate) = 661999
+SHA256 (rust/crates/ws2_32-sys-0.2.1.crate) = d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e
+SIZE (rust/crates/ws2_32-sys-0.2.1.crate) = 4697
+SHA256 (rust/crates/yaml-rust-0.4.5.crate) = 56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85
+SIZE (rust/crates/yaml-rust-0.4.5.crate) = 47783
+SHA256 (rust/crates/zstd-0.11.2+zstd.1.5.2.crate) = 20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4
+SIZE (rust/crates/zstd-0.11.2+zstd.1.5.2.crate) = 28987
+SHA256 (rust/crates/zstd-safe-5.0.2+zstd.1.5.2.crate) = 1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db
+SIZE (rust/crates/zstd-safe-5.0.2+zstd.1.5.2.crate) = 17273
+SHA256 (rust/crates/zstd-sys-2.0.1+zstd.1.5.2.crate) = 9fd07cbbc53846d9145dbffdf6dd09a7a0aa52be46741825f5c97bdd4f73f12b
+SIZE (rust/crates/zstd-sys-2.0.1+zstd.1.5.2.crate) = 715552
+SHA256 (orhun-rustypaste-v0.8.2_GH0.tar.gz) = db8c67c5f20f5eed77fb41ac5a04cc74cb27917a574d0040519b68023148f314
+SIZE (orhun-rustypaste-v0.8.2_GH0.tar.gz) = 266558
diff --git a/www/rustypaste/files/rustypaste.in b/www/rustypaste/files/rustypaste.in
new file mode 100755
index 000000000000..19f3b724af12
--- /dev/null
+++ b/www/rustypaste/files/rustypaste.in
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+# PROVIDE: rustypaste
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Configuration settings for rustypaste in /etc/rc.conf
+#
+# rustypaste_enable (bool):	Enable rustypaste. (Default=NO)
+# rustypaste_env_file (str):	Path containing the environment variables
+#                           	to be used by rustypaste. (Default: %%ETCDIR%%/rustypaste.env)
+# rustypaste_logfile (str):	Log file used to store the rustypaste's output. (Default: /var/log/rustypaste.log)
+# rustypaste_pidfile (str):	File used by rustypaste to store the process ID. (Default: /var/run/rustypaste.pid)
+# rustypaste_username (str):	User to run rustypaste as. (Default: rustypaste)
+
+. /etc/rc.subr
+
+name="rustypaste"
+desc="Minimal file upload/pastebin service"
+rcvar="rustypaste_enable"
+
+load_rc_config $name
+
+: ${rustypaste_enable:="NO"}
+: ${rustypaste_env_file:="%%ETCDIR%%/rustypaste.env"}
+: ${rustypaste_logfile:="/var/log/rustypaste.log"}
+: ${rustypaste_pidfile:="/var/run/rustypaste.pid"}
+: ${rustypaste_username:="%%USER%%"}
+
+pidfile="${rustypaste_pidfile}"
+procname="%%PREFIX%%/bin/rustypaste"
+command="/usr/sbin/daemon"
+command_args="-o '${rustypaste_logfile}' -p '${pidfile}' -u '${rustypaste_username}' -t '${desc}' -- ${procname}"
+
+run_rc_command "$1"
diff --git a/www/rustypaste/pkg-descr b/www/rustypaste/pkg-descr
new file mode 100644
index 000000000000..a4a0efc3325b
--- /dev/null
+++ b/www/rustypaste/pkg-descr
@@ -0,0 +1,24 @@
+Rustypaste is a minimal file upload/pastebin service.
+
+Features:
+
+* File upload & URL shortening & upload from URL
+  - supports basic HTTP authentication
+  - random file names (optional)
+    - pet name (e.g. capital-mosquito.txt)
+    - alphanumeric string (e.g. yB84D2Dv.txt)
+  - supports expiring links
+    - auto-deletion of expired files (optional)
+  - supports one shot links (can only be viewed once)
+  - guesses MIME types
+    - supports overriding and blacklisting
+  - no duplicate uploads (optional)
+* Single binary
+* Simple configuration
+  - supports hot reloading
+* No database
+  - filesystem is used
+* Self-hosted
+  - centralization is bad!
+* Written in Rust
+  - blazingly fast!
diff --git a/www/rustypaste/pkg-plist b/www/rustypaste/pkg-plist
new file mode 100644
index 000000000000..6d36bff7a5ab
--- /dev/null
+++ b/www/rustypaste/pkg-plist
@@ -0,0 +1,5 @@
+@dir(%%USER%%,%%GROUP%%,) %%ETCDIR%%
+@dir(%%USER%%,%%GROUP%%,) /var/db/rustypaste
+@sample(%%USER%%,%%GROUP%%,0640) %%ETCDIR%%/rustypaste.env.sample %%ETCDIR%%/rustypaste.env
+@sample(%%USER%%,%%GROUP%%,0640) %%ETCDIR%%/rustypaste.toml.sample %%ETCDIR%%/rustypaste.toml
+bin/rustypaste



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202210221525.29MFPLHZ097184>