git: 2bc1986c8c99 - main - [NEW] www/onionshare-cli: Secure and anonymous file sharing via Tor

From: Vinícius Zavam <egypcio_at_FreeBSD.org>
Date: Sat, 06 Aug 2022 11:01:03 UTC
The branch main has been updated by egypcio:

URL: https://cgit.FreeBSD.org/ports/commit/?id=2bc1986c8c9992b9e60a3832392d01cfbb5a4b2a

commit 2bc1986c8c9992b9e60a3832392d01cfbb5a4b2a
Author:     Vinícius Zavam <egypcio@FreeBSD.org>
AuthorDate: 2022-08-06 10:56:34 +0000
Commit:     Vinícius Zavam <egypcio@FreeBSD.org>
CommitDate: 2022-08-06 11:00:57 +0000

    [NEW] www/onionshare-cli: Secure and anonymous file sharing via Tor
    
      OnionShare (CLI) works by starting a web server, making it accessible
      as a Tor onion service, and generating an unguessable web address so
      others can download files from you, or upload files to you.
    
      It does *NOT* require setting up a separate server or using a
      third-party file sharing service.
    
      This version also supports opening a private chat session via Tor.
    
      WWW: https://onionshare.org
    
    Sponsored by:   TorBSD Diversity Project, TDP
    Sponsored by:   The Tor Project
---
 www/Makefile                            |  1 +
 www/onionshare-cli/Makefile             | 35 +++++++++++++++++++++++++++++++++
 www/onionshare-cli/distinfo             |  3 +++
 www/onionshare-cli/files/patch-setup.py | 18 +++++++++++++++++
 www/onionshare-cli/pkg-descr            | 10 ++++++++++
 5 files changed, 67 insertions(+)

diff --git a/www/Makefile b/www/Makefile
index 3d819d41f23d..142fff599fa6 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -460,6 +460,7 @@
     SUBDIR += oneshot
     SUBDIR += onionbalance
     SUBDIR += onionshare
+    SUBDIR += onionshare-cli
     SUBDIR += onlyoffice-documentserver
     SUBDIR += opencart
     SUBDIR += openresty
diff --git a/www/onionshare-cli/Makefile b/www/onionshare-cli/Makefile
new file mode 100644
index 000000000000..2e805993eff2
--- /dev/null
+++ b/www/onionshare-cli/Makefile
@@ -0,0 +1,35 @@
+PORTNAME=	onionshare-cli
+PORTVERSION=	2.5
+DISTNAME=	onionshare_cli-${PORTVERSION}
+CATEGORIES=	www security python
+MASTER_SITES=   CHEESESHOP
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	egypcio@FreeBSD.org
+COMMENT=	Secure and anonymous file sharing via Tor (CLI version)
+
+LICENSE=	GPLv3
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}poetry-core>=0:devel/py-poetry-core@${PY_FLAVOR}
+RUN_DEPENDS=	meek-client:security/meek \
+		obfs4proxy:security/obfs4proxy-tor \
+		snowflake-client:security/snowflake-tor \
+		tor:security/tor \
+		${PYTHON_PKGNAMEPREFIX}cepa>=0:net/py-cepa@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}click>=0:devel/py-click@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}colorama>=0:devel/py-colorama@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}eventlet>=0:net/py-eventlet@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}Flask>=0:www/py-flask@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}flask-socketio>=0:www/py-flask-socketio@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}gevent-websocket>=0:www/py-gevent-websocket@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}psutil>=0:sysutils/py-psutil@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pynacl>=0:security/py-pynacl@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pysocks>=0:net/py-pysocks@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}unidecode>=0:converters/py-unidecode@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}urllib3>=0:net/py-urllib3@${PY_FLAVOR}
+
+USES=		cpe python:3.6+
+USE_PYTHON=	autoplist distutils
+
+.include <bsd.port.mk>
diff --git a/www/onionshare-cli/distinfo b/www/onionshare-cli/distinfo
new file mode 100644
index 000000000000..88af6fd2f9c9
--- /dev/null
+++ b/www/onionshare-cli/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1659778160
+SHA256 (onionshare_cli-2.5.tar.gz) = 3f7da94e45671142f62edc15990bf22819a026d5555d926a182c38095ac96b90
+SIZE (onionshare_cli-2.5.tar.gz) = 140427
diff --git a/www/onionshare-cli/files/patch-setup.py b/www/onionshare-cli/files/patch-setup.py
new file mode 100644
index 000000000000..16f9261d1340
--- /dev/null
+++ b/www/onionshare-cli/files/patch-setup.py
@@ -0,0 +1,18 @@
+--- setup.py.orig	2022-08-06 09:43:13 UTC
++++ setup.py
+@@ -13,12 +13,12 @@ package_data = \
+                     'resources/templates/*']}
+ 
+ install_requires = \
+-['cepa==1.8.3',
++['cepa',
+  'click',
+  'colorama',
+  'eventlet',
+- 'flask-socketio==5.0.1',
+- 'flask==1.1.4',
++ 'flask-socketio',
++ 'flask',
+  'gevent-websocket',
+  'psutil',
+  'pynacl',
diff --git a/www/onionshare-cli/pkg-descr b/www/onionshare-cli/pkg-descr
new file mode 100644
index 000000000000..d6c2e447f35f
--- /dev/null
+++ b/www/onionshare-cli/pkg-descr
@@ -0,0 +1,10 @@
+OnionShare (CLI) lets you securely and anonymously send and receive files.
+
+It works by starting a web server, making it accessible as a Tor onion service,
+and generating an unguessable web address so others can download files
+from you, or upload files to you.
+
+It does *NOT* require setting up a separate server or using a third party
+file-sharing service.
+
+WWW: https://onionshare.org