On Wed, Dec 21, 2022 at 06:11:43AM +0000, Yifei Zhan wrote:
> On 22/12/16 06:22PM, Caspar Schutijser wrote:
> > Dear users in this thread, if possible, can you give this a spin?
> > 
> > With some help and feedback from the Tor Browser developers I
> > came up with the following diff. I verified that I can use
> > the meek-azure and obfs4 Pluggable Transports. With a
> > local (uncommitted) snowflake_client port Snowflake also worked but
> > I'll get back to that some other time.
> > 
> 
> This works exactly as it should :)
> I tested meek/obfs/snowflake and all three worked without issue.
> 
> It seems like TBB changed the way bridges integrate since I last attempt to 
> get 
> this working on OpenBSD, so my old patchset is no longer applicable, I'm 
> happy 
> to help testing tho.

Okay, great to hear! Thanks for testing.

Here is a diff for -current that I do intend to commit.

Comments or OKs?

Caspar


Index: meta/tor-browser/Makefile
===================================================================
RCS file: /cvs/ports/meta/tor-browser/Makefile,v
retrieving revision 1.65
diff -u -p -r1.65 Makefile
--- meta/tor-browser/Makefile   18 Dec 2022 15:55:09 -0000      1.65
+++ meta/tor-browser/Makefile   21 Dec 2022 17:18:07 -0000
@@ -4,6 +4,7 @@ MAINTAINER=     Caspar Schutijser <caspar@sc
 
 PKGNAME=       tor-browser-12.0.1
 ONLY_FOR_ARCHS =       amd64
+REVISION=      0
 
 RUN_DEPENDS=   www/tor-browser/browser>=12.0.1 \
                www/tor-browser/noscript>=11.4.13 \
Index: meta/tor-browser/pkg/README
===================================================================
RCS file: /cvs/ports/meta/tor-browser/pkg/README,v
retrieving revision 1.9
diff -u -p -r1.9 README
--- meta/tor-browser/pkg/README 9 Mar 2022 20:48:33 -0000       1.9
+++ meta/tor-browser/pkg/README 21 Dec 2022 17:18:07 -0000
@@ -33,10 +33,8 @@ editing your torrc yourself.  Make sure 
 before doing so if you use this method; if Tor Browser is running it
 might overwrite your torrc.
 
-NOTE: The OpenBSD Tor Browser ports do not yet include Pluggable
-Transports (PT).  This means that not all features are yet available,
-such as using obfsproxy to get to Tor.  A future update will include
-ports for PT components.  Pluggable Transports have a web page
+NOTE: on OpenBSD, the only Pluggable Transports that are available
+for now are meek-azure and obfs4.  Pluggable Transports have a web page
 worth reading:
   https://2019.www.torproject.org/docs/pluggable-transports.html.en
 
Index: www/tor-browser/browser/Makefile
===================================================================
RCS file: /cvs/ports/www/tor-browser/browser/Makefile,v
retrieving revision 1.99
diff -u -p -r1.99 Makefile
--- www/tor-browser/browser/Makefile    18 Dec 2022 15:55:09 -0000      1.99
+++ www/tor-browser/browser/Makefile    21 Dec 2022 17:18:07 -0000
@@ -13,10 +13,12 @@ PATCHORIG =         .pat.orig
 
 PKGNAME =              ${TB_PREFIX}-browser-${TB_VERSION:S/a/alpha/}
 DISTNAME =             src-firefox-tor-browser-102.6.0esr-12.0-1-build2
+REVISION =             0
 
 FIX_EXTRACT_PERMISSIONS        = Yes
 DISTFILES +=           ${DISTNAME}.tar.xz \
-                       tor-browser-linux64-${TB_VERSION}_ALL.tar.xz
+                       tor-browser-linux64-${TB_VERSION}_ALL.tar.xz \
+                       tor-expert-bundle-${TB_VERSION}-linux-x86_64.tar.gz
 
 SO_VERSION =           8.0
 MOZILLA_LIBS =         xul clearkey lgpllibs mozavcodec mozavutil mozgtk
@@ -74,7 +76,8 @@ MAKE_ENV +=           BUILD_OPT=1 \
                        NSS_ENABLE_ECC=1 \
                        XCFLAGS="-I${LOCALBASE}/include ${CFLAGS}"
 
-RUN_DEPENDS +=         net/tor>=0.4.7.12
+RUN_DEPENDS +=         net/obfs4proxy>=0.0.14 \
+                       net/tor>=0.4.7.12
 
 CONFIGURE_ARGS +=      --enable-release #1386371
 CONFIGURE_ARGS +=      --enable-sandbox
@@ -103,7 +106,16 @@ post-patch:
        # Not using a patch for this; patch context would contain UTF-8
        sed -i 's/#ifdef XP_LINUX/#if defined(XP_LINUX) || 
defined(XP_OPENBSD)/' \
            ${WRKSRC}/browser/app/profile/000-tor-browser.js
-       ln -s ${WRKSRC}/mozconfig-linux-x86_64 ${WRKSRC}/.mozconfig
+       ln -fs ${WRKSRC}/mozconfig-linux-x86_64 ${WRKSRC}/.mozconfig
+
+       # add bridges that we support
+.for pt in meek-azure obfs4
+       I=1; \
+       cat ${WRKDIR}/tor/pluggable_transports/bridges_list.${pt}.txt | while 
read -r line ; do \
+               echo "pref(\"extensions.torlauncher.default_bridge.${pt}.$$I\", 
\"$$line\");" >>${WRKSRC}/browser/app/profile/000-tor-browser.js; \
+               I=$$((I + 1)); \
+       done
+.endfor
 
        ${SUBST_CMD} ${WRKSRC}/xpcom/build/BinaryPath.h
 
Index: www/tor-browser/browser/distinfo
===================================================================
RCS file: /cvs/ports/www/tor-browser/browser/distinfo,v
retrieving revision 1.60
diff -u -p -r1.60 distinfo
--- www/tor-browser/browser/distinfo    18 Dec 2022 15:55:09 -0000      1.60
+++ www/tor-browser/browser/distinfo    21 Dec 2022 17:18:07 -0000
@@ -1,4 +1,6 @@
 SHA256 (mozilla/src-firefox-tor-browser-102.6.0esr-12.0-1-build2.tar.xz) = 
3hcAm81t5G57LV94qFSck/s8T02gkVmf+/tns5KobWA=
 SHA256 (mozilla/tor-browser-linux64-12.0.1_ALL.tar.xz) = 
kaHfdedtSaIGe1N6jSlUrz6QDBEfxoBbe3/M91A2ds8=
+SHA256 (mozilla/tor-expert-bundle-12.0.1-linux-x86_64.tar.gz) = 
no+4BZ+Jq6uVnIYHIYd5AeRw8litNkml+s+Enkf0u98=
 SIZE (mozilla/src-firefox-tor-browser-102.6.0esr-12.0-1-build2.tar.xz) = 
512895940
 SIZE (mozilla/tor-browser-linux64-12.0.1_ALL.tar.xz) = 105644596
+SIZE (mozilla/tor-expert-bundle-12.0.1-linux-x86_64.tar.gz) = 17667213
Index: www/tor-browser/browser/files/torrc-defaults
===================================================================
RCS file: /cvs/ports/www/tor-browser/browser/files/torrc-defaults,v
retrieving revision 1.1
diff -u -p -r1.1 torrc-defaults
--- www/tor-browser/browser/files/torrc-defaults        13 Feb 2020 07:41:53 
-0000      1.1
+++ www/tor-browser/browser/files/torrc-defaults        21 Dec 2022 17:18:07 
-0000
@@ -20,7 +20,10 @@ GeoIPv6File ${LOCALBASE}/share/tor/geoip
 #ClientTransportPlugin fte exec fteproxy --managed
 
 ## obfs4proxy configuration
-#ClientTransportPlugin obfs2,obfs3,obfs4,scramblesuit exec obfs4proxy
+ClientTransportPlugin meek_lite,obfs2,obfs3,obfs4,scramblesuit exec 
/usr/local/bin/obfs4proxy
+
+## snowflake configuration
+#ClientTransportPlugin snowflake exec /usr/local/bin/snowflake_client
 
 ## flash proxy configuration
 #

Reply via email to