New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

sticky: extensions #492

Open
Thorin-Oakenpants opened this Issue Aug 24, 2018 · 122 comments

Comments

Projects
None yet
@Thorin-Oakenpants
Copy link
Member

Thorin-Oakenpants commented Aug 24, 2018

previous threads #294 #211 #12
woo... the old issue of 294 is a palindrome of this issue 492 ... spooky 馃懟


Use this issue for extension announcements: new, gone-to-sh*t, recommendations for adding or dropping in the wiki list 4.1: Extensions. Stick to privacy and security related items

馃敻 possible additions

馃敻 nah feel free to discuss

  • Canvas Defender
    • nah. see #458 , Canvas Blocker is far superior
  • Google search link fix | GitHub
    • google/yandex. Personally, I suggest using something more universal
  • VTzilla
    • shitty privacy policy, you have to opt-out of scanning everything, but could be handy for some people, as long as they are aware of the privacy implications
  • Searchonymous2 | GitHub
    • use containers if you want to separate google search from logged in google services
  • eCleaner (Forget Button) | GitHub
    • abandoned since Sept 2017, and outstanding issues. Forget Me Not looks better for this kind of thing
  • Shape Shifter | GitHub
    • abandoned since Aug 2017, doesn't really offer anything not already covered
  • Negotiator | GitHub
    • abandoned since July 2017 (and it had some issues/flaws according to the big E)

...

@claustromaniac

This comment has been minimized.

Copy link
Member

claustromaniac commented Aug 24, 2018

I think another decent candidate for a [tools] section would be uBO-Scope.

Well, if the idea is to separate privacy/security-related but non-protecting extension into a separate list, then any extensions like the legacy SSleuth would belong in there too, right? BTW, I kinda miss SSleuth.

@Just-me-ghacks

This comment has been minimized.

Copy link
Collaborator

Just-me-ghacks commented Aug 26, 2018

3P Request Blocker - Page not found

@practik

This comment has been minimized.

Copy link

practik commented Aug 26, 2018

re #294 (comment)

Forget Me Not 鈥 work very unreliable

@crssi , do you remember what problems you found with FMN? I ask because I've been trying it out for about a week (after using Cookie AutoDelete for nearly a year), and so far FMN has been just as good as CAD, in some ways even better. What should I be watching out for?

@Atavic

This comment has been minimized.

@crssi

This comment has been minimized.

Copy link
Collaborator

crssi commented Aug 26, 2018

@practik
Yes. What I have found back then is that FMN worked well until it decided to not to.
It was very random, sometimes few minutes after browsing, sometimes an hour or so, but at one moment it stopped to delete cookies after, until FF restart.
Since I have not returned to FMN now for months, it might be already sorted out.
I would say for you to just check, every once and a while, if cookies are removed as they should.
Cheers

@practik

This comment has been minimized.

Copy link

practik commented Aug 26, 2018

^^ !! That's bad. But it hasn't done that for me so far. Hopefully it is sorted out, it's gone through a few updates since you tested it. I'll keep an eye on it. Thanks!

@grauenwolfe

This comment has been minimized.

Copy link
Collaborator

grauenwolfe commented Aug 26, 2018

Whoa, Luminous looks like it could be badass. Anyone using it already?

@Atavic

This comment has been minimized.

Copy link

Atavic commented Aug 26, 2018

I have it on an install used for unlogged browsing (like no github or webmail) only.

I block events like beforeunload and all the events related to mouse movements, like mouseover, etc.

See: https://gbaptista.github.io/luminous/doc/en-US/

@grauenwolfe

This comment has been minimized.

Copy link
Collaborator

grauenwolfe commented Aug 28, 2018

@Atavic
Very down-to-earth but still entirely thorough documentation. Hopefully it can actually help me deal with all of the internet's rampant annoyances. Probably try it out soon on another machine and see how it does.

@Thorin-Oakenpants

This comment has been minimized.

Copy link
Member

Thorin-Oakenpants commented Aug 30, 2018

BTW, I kinda miss SSleuth.

So no idea when or what SSleuth Web Ext will look like

@claustromaniac

This comment has been minimized.

Copy link
Member

claustromaniac commented Sep 2, 2018

Ah, great. I was about to mention that I renamed my repo and now the link to Detect Cloudflare PA should be broken, but it seems Github is smart enough to redirect folks to the new URL. 馃帀

I still want to mention that I went ahead and listed it on AMO. Traktofon seems to be MIA or something, and I was bored, so I also added a toolbar icon to it and made the address bar icon optional, among many other thingies.

So far it works great for me. The only significant issue left to fix seems to be that it can't always behave as expected when the backward or forward navigation actions are used, but that one seems kinda painful to fix compared to the other issues that I already fixed. I may eventually work on that, though.

Anyway, I thought you may want to know.

馃憱 : modified the wiki to only point to your fork - its not really a fork anymore IMO

@Thorin-Oakenpants

This comment was marked as off-topic.

Copy link
Member

Thorin-Oakenpants commented Sep 2, 2018

^^ your github readme needs to link to your AMO, preferably at the top and before linking to Detect Cloudflare

"This extension neither collects nor shares any kind of information whatsoever." <- needs a privacy header?

Also AMO can have a policy page: see https://addons.mozilla.org/firefox/addon/canvasblocker/privacy/ which is nice for those who don't come visit you at github ahh, I see you have been busy

@claustromaniac

This comment was marked as off-topic.

Copy link
Member

claustromaniac commented Sep 3, 2018

its not really a fork anymore IMO

What would you call it?

edit: Thorin: it's more of a spoon, or a fork spoon hybrid .. a spork if you will

edit: claustro: 馃ぃ

^^ your github readme needs to link to your AMO, preferably at the top and before linking to Detect Cloudflare

There was already a link at the top, but not in the readme. People seem to ignore those, though...

Edit: Thorin: people seem to ignore those... which is why I mentioned it

edit: claustro: aight, thanks. BTW I kinda like this kind of conversations with edits - it's akin to whispering... except everything gets recorded anyway. Like, say, whispering on the phone.

"This extension neither collects nor shares any kind of information whatsoever." <- needs a privacy header?

Added 鉁旓笍

@Kraxys

This comment has been minimized.

Copy link

Kraxys commented Sep 22, 2018

I would like to advice for 3 extensions:

  1. The 2 natural companions of I think every meticulous proxy or vpn user:

With these 2 addons you can make your system time zone and and wifi geolocation be in accordance with the IP geolocation and local time zone of the proxy/vpn server you are using. Not a one click process, though. But this avoids increasing your entropy by wearing a Russian ip and in the the same time a system wifi geolocation and date settings that show you near Melbourne.

  1. BP Block Font Fingerprint:
    https://addons.mozilla.org/en-US/firefox/addon/bp-block-font-fingerprint
    This extension avoid the detection of any font or any unique glyph, without impairing la appearance of the page (as setting the pref browser.display.use_document_fonts to 0 does).
@crssi

This comment has been minimized.

Copy link
Collaborator

crssi commented Sep 23, 2018

0 font detection will make you unique for sure.

@earthlng

This comment has been minimized.

Copy link
Member

earthlng commented Sep 23, 2018

re: BP Block Font Fingerprint:

0 font detection will make you unique for sure.

not only will it make you pretty unique because very few people use something like this extension,
the extension itself also has several flaws.

  1. it comes with a absurdly long list of domains it considers "trusted" and which it allows to detect fonts if they want to. Among these domains are pretty much all google domains, twitter, facebook to name but a few ?!?!
  2. it's easily detectable if sites cared to look. The functions it uses to overwrite certain things can be read
  3. it's easily blockable with a CSP that doesn't allow inline JS in which case it's completely useless

but thanks to this extension suggestion I looked at fonts again in general and I found some things which I think we need to improve in the user.js. I'll open a new issue to discuss them

@Kraxys

This comment has been minimized.

Copy link

Kraxys commented Sep 23, 2018

@CRSI & earthing
I agree concerning the unicity created by BP Block Font Fingerprint. And thanks in particular to Earthing to make clear this extension had some fundamentals flaws.

What's your opinion concerning my suggestions about Change TimeZone and Location Guard, in order precisely to diminish the entropy raised by using a vpn/proxy server having time and location characteristics than those of the system's user?

For location, blocking geo wifi in preference may be considered as sufficient (except if the browsed site mandatory want geo wifi data, a case where the use of Location Guard could be useful). But not geoblocking and instead spoofing geo wifi with Location Guard accordingly to the proxy server used, puts the user on a safer side in the point of view a spoofing: The location provided by the proxy server IP is in that case confirmed by geo wifi data sent by the browser, so reinforcing its likelihood.

Concerning Change Timezone, this extension solves a sharper problem as there isn't in FF's preference anything as "don't send any date time-zone data" (as it was the case for location with blocking geo wifi preference). Blocking these data from being sent could maybe be achieved with some uMatrix or NoScript setting, but it then raise an unicity flag, as not letting the browser send them is not a common behavior.

@Atavic

This comment has been minimized.

Copy link

Atavic commented Sep 24, 2018

https://github.com/dessant/clear-browsing-data seems rich in options.
Do they cover anything interesting?

@Kraxys

This comment has been minimized.

Copy link

Kraxys commented Sep 25, 2018

Clear Browsing Data seems interesting. But after installing it, it seems not able, neither to clear browsing data when the browser closes, nor when it starts. Only during the browsing session.

In order to sanitize a browsing session as soon as it begins, there is StorageErazor: It clears Cache, Local Storage and IndexedDB each time the browser starts. The IndexedDB clearing is important, since 1) blocking IndexedDB in FF preference breaks some site 2) Cookies Autodeleted doesn't handle IndexedDB.

Maybe Clear Browsing Data and StorageErazor may be seen as complementary each other.

@practik

This comment has been minimized.

Copy link

practik commented Sep 25, 2018

StorageErazor: It clears Cache, Local Storage and IndexedDB each time the browser starts. The IndexedDB clearing is important

Actually, you can do this without any extension simply by setting Firefox to clear "Offline Website Data" on shutdown (see section 2803 of ghacks-user.js, or Cookie-AutoDelete/Cookie-AutoDelete#171 (comment)).

@Kraxys

This comment has been minimized.

Copy link

Kraxys commented Sep 27, 2018

@practik :Thanks for this information. I didn't know checking "clear Offline Website Data" erased indexedDB. This strongly reduces the usefulness of StorageErazor, but I will nevertheless keep this addon enable and "clear Offline Website Data" checked, as the second works when the browser closes, and the first, when it starts, so that I'm absolutely sure to begin each browsing session on a neat basis :)

Other addons I suggest are the ones permitting to block Authentication:
Along ip-check.info:

"Many browsers allow web sites to send hidden authentication data to third party sites. Example:

This may either happen directly on the current page or in an iframe, and does NOT need JavaScript. If additionally iFrames and JavaScript are used, even the currently loaded page may get your ID. This data is deleted when the browser is closed, but, execpt for this, has the same effect as third party cookies.

Your browser should not send any HTTP authentication data to third party sites.

Currently known to be affected are: Chrome, Safari, Firefox".

I don't know whether or not all that is completely up-to-date, but if it remains true, I think it would be wise to prevent tracking via Authorization.

I currently have found 2 addons permitting that:
Authentication Tracking Blocker and Block Http Authentication

Notice that blocking Authentication is one of the feature of Chameleon, too. This addon has many other interesting features (as optionnally spoofing time, screen size and ClientRects), and while using it may increase entropy, I think that when properly used, it can in fact reduce it (eg when spoofing your system time accordingly the time of the proxy server you are using, or when spoofing screen size with the most common ones for desktop PC, such as 1366x768 or 1920x1080).

@crssi

This comment has been minimized.

Copy link
Collaborator

crssi commented Sep 30, 2018

@Kraxys do you have any example site using Authentication?

@Atavic

This comment has been minimized.

Copy link

Atavic commented Sep 30, 2018

Here the headers are described.

@crssi

This comment has been minimized.

Copy link
Collaborator

crssi commented Oct 1, 2018

@Atavic thank you, but I didn't mean a description, but a real case site using it. 馃槃

@Atavic

This comment has been minimized.

Copy link

Atavic commented Oct 1, 2018

I haven't seen any, you got to use Fiddler, Charles Proxy or similar tools to debug headers responses.

@crssi

This comment has been minimized.

Copy link
Collaborator

crssi commented Oct 1, 2018

Using Fiddler here for years (now you made me to look at Charles Proxy, for which I have never heard before 馃槃) and also found one at https://www.amainhobbies.com/ over XHR. Interesting at this site is also that login doesn't work when EvilCorp analytics is blocked.. WTF.

@Atavic

This comment has been minimized.

Copy link

Atavic commented Oct 1, 2018

Charles is not free and has a Mac version. Privoxy is another proxy that changes or crunches headers.

@sanjayen

This comment has been minimized.

Copy link

sanjayen commented Oct 2, 2018

Please change the Decentraleyes rules to add to uBlock Origin URL to https://git.synz.io/Synzvato/decentraleyes/wikis/Frequently-Asked-Questions#for-umatrix-and-ublock-origin-non-easy-mode-users

Thorin - Thanks, done 馃憤

@crssi

This comment has been minimized.

Copy link
Collaborator

crssi commented Jan 6, 2019

@Thorin-Oakenpants

Just a simple button that toggles RFP, nothing more.

Just out of curiosity... Do you need this for testing purposes only (as a shortcut) or there are some real world usage?

@crssi

This comment has been minimized.

Copy link
Collaborator

crssi commented Jan 6, 2019

@claustromaniac thank you for HTTPZ. 馃憤
I have one or two addons in mind, but really don't have a heart to ask, since I know you are busy with other stuff.

@Thorin-Oakenpants

This comment has been minimized.

Copy link
Member

Thorin-Oakenpants commented Jan 6, 2019

@crssi As I already said, it's useless IMO in a real world live main FF setup because it's a global switch and users have multiple tabs, multiple background js, and would have to check it's state when opening new web content - imagine making one mistake and leaving it off while you visited murderers.4.hire and googled how to dissolved bodies. It just makes it easier for me testing in my test bed (different portable FF nilla profiles) 1 as a visual indicator and 2 as a super quick way to toggle it.

@StanGets

This comment has been minimized.

Copy link

StanGets commented Jan 6, 2019

As i understand it the RFP switch correlates to several other settings which is why I pain to understand the pertinence of an on/off switch for RFP alone:

Quoting ghacks user.js - date: 12 December 2018 - version 64-beta: Crocodile Pants

[SECTION 4500]: RFP (RESIST FINGERPRINTING)
   This master switch will be used for a wide range of items, many of which will
   **override** existing prefs from FF55+, often providing a **better** solution

   IMPORTANT: As existing prefs become redundant, and some of them WILL interfere
   with how RFP works, they will be moved to section 4600 and made inactive

Which means if I understand correctly that choosing to activate RFP must be done before running Firefox and after having modified other user.js settings accordingly to RFP true. Is this correct?

@Thorin-Oakenpants

This comment has been minimized.

Copy link
Member

Thorin-Oakenpants commented Jan 6, 2019

^^ Thanks StanGets .. I didn't bother thinking down the rabbit hole too deeply, because it's already a silly idea .. but that is just another reason a flip switching button to be used in session is a stupid idea

Lets say a user has RFP on, and uses the user.js with section 4600 commented out (as instructed). They then flip RFP off (manually or with an extension) to make one website work, and they would potentially give up more privacy because 4600 items are commented out. Yup, that's just stupid. And if they didn't have section 4600 commented out with RFP, then their fingerprint is F'd anyway.

But I am only using it in a test environment. With a vanilla profile, and no user.js. In fact in these tests I am only testing RFP

For the third time (3rd times a charm?) - this extension (and building it into other extensions as an option which I see a lot of) is a F stupid idea

@atomGit

This comment has been minimized.

Copy link
Collaborator

atomGit commented Jan 6, 2019

PS: reading this: https://medium.com/privateid-blog/privacy-inequality-the-most-brutal-form-of-inequality-youve-ever-imagined-e674d4f3cd42

I'm gonna be one of The Protected, not one of The Predictables - but it will still hurt: i am sure that a lack of data points will be held against people (getting a loan, insurance rates etc). It may pay to start curating a public ID of all things nice, sugar and spice....

SCS - the Chinese Social Credit System - coming soon to a country near you! - actually it's already here - many have been canned at work because of social media

riskified.com prevented me from making a purchase at one of their clients' e-stores, one reason being that my e-mail address was unknown, and another because they were unable to find an on-line presence

EDIT: and THANKS for HTTPZ claus! perfect

@Thorin-Oakenpants

This comment has been minimized.

Copy link
Member

Thorin-Oakenpants commented Jan 6, 2019

Nosedive edit: in case that's not clear, it's to a wikipedia article about a Black Mirror episode (not a nosediving 馃悎 or hampster gif)

@StanGets

This comment has been minimized.

Copy link

StanGets commented Jan 6, 2019

Media.com's article, Privacy Inequality: The Most Brutal Form of Inequality You鈥檝e Ever Imagined
If I happen to maintain my position among The Protected, if I happen to not be already amid The Predictables it's because I'm aware and behave accordingly, those two conditions are required.

Being aware: is this a grace, a faculty of intelligence, a product of one cultural environment?
Acting accordingly: this is obviously the fact of will, the refusal of defeatism.

Many ignore the value of their privacy and how it's being invaded, others know but don't care, others care but are defeatist.

Several parameters for several scenarios. Privacy is certainly not a cultural phenomenon, I believe it is a natural component of ethics and psychology essentials', fundamentals' requirements. But at the same time some consider their private life in proportion of cultural standards which leads to, i.e. people talking about their very private life on talk-shows for instance, as if they considered that if others do it, why not them: the sheep syndrome which is a high-risk factor: manipulation is also getting people to believe that everyone else except them does it, so why would they be an exception?

Let us think by ourselves, to start with.

@KOLANICH

This comment has been minimized.

Copy link

KOLANICH commented Jan 6, 2019

Social Credit System

Please stop calling it this way. This is not a kind of a credit a moneylender gives to people who ask for it. It is a kind of credit a robber in a dark alley gives to its victim when requesting to go to victim's flat in order to take the money stored there too, in exchange for some low probability of victim being saved, and this kind of "credit" is usually called not credit, but robbery and blackmail. Black must be called black.

@atomGit

This comment has been minimized.

Copy link
Collaborator

atomGit commented Jan 6, 2019

Social Credit System

Please stop calling it this way.

i didn't - the Chinese government did - i think you misunderstood what i wrote

i'm quite aware of the surveillance taking place in so-called "developed" countries and how it affects society

@KOLANICH

This comment has been minimized.

Copy link

KOLANICH commented Jan 6, 2019

i didn't - the Chinese government did

It doesn't matter who have started to call it this way first. What matters is that, it is incorrect to call it this way, even if you are only repeating the said by someone.

@Thorin-Oakenpants

This comment has been minimized.

Copy link
Member

Thorin-Oakenpants commented Jan 6, 2019

OMG ... stop calling it Facebook .. its not a book :trollface: :)

If you care to read all 21 (they're short) .. Rick Falkvinge's posts re-enforce what was said about kids growing up with no sense of what privacy is, and surveillance is the norm. FFS, people fought and died for privacy.

And where was Winston .. they couldn't see him... but they knew where he was .. he was in the one place they couldn't see him .. so they knew exactly where he was ... and no, I have never read 1984

@claustromaniac

This comment has been minimized.

Copy link
Member

claustromaniac commented Jan 6, 2019

I have one or two addons in mind, but really don't have a heart to ask, since I know you are busy with other stuff.

I can't promise I will be able or willing to make them, but I don't mind you asking :)

@crssi

This comment has been minimized.

Copy link
Collaborator

crssi commented Jan 11, 2019

@StanGets thank you for pointing this out

Coloring the urlbar background given the site's security status is easily performed right from the user's userChrome.css file thanks to a few lines, available i.e. with Color your URL bar based on website security

I have played with it after your post and if you interested, here is the result https://github.com/crssi/Firefox/blob/master/userChrome.css

Cheers

@crssi

This comment has been minimized.

Copy link
Collaborator

crssi commented Jan 11, 2019

@claustromaniac

Thank you. 鉂わ笍

I was thinking about a "fork" of TC, which would be less complicated (if possible even not configurable) with some functions stripped off and some added. But I know this would be a complicated project.
If you are interested, I will dump more details.

Cheers

@StanGets

This comment has been minimized.

Copy link

StanGets commented Jan 11, 2019

@crssi ,

I have played with it after your post and if you interested, here is the result https://github.com/crssi/Firefox/blob/master/userChrome.css

Nice work. I copy, report while others enhance... c'est la vie (my universal answer for laziness! .. but mainly for a great of knowledge in the coding area!)

@atomGit

This comment has been minimized.

Copy link
Collaborator

atomGit commented Jan 11, 2019

I was thinking about a "fork" of TC ...

interesting - because you're thinking about this, i assume the API isn't going to see the addition of the functionality necessary to clear all storage per-domain any time soon?

@crssi

This comment has been minimized.

Copy link
Collaborator

crssi commented Jan 11, 2019

Didn't assume anything, but until TC works I really don't care about those APIs, since all the browsing done here are in a temporary containers, so all the storage's are destroyed sooner or later.

@atomGit

This comment has been minimized.

Copy link
Collaborator

atomGit commented Jan 11, 2019

not sure you understood what i wanted to say ... what i meant was, if the API is expanded in the near future to include removal of all storage per-domain, then wouldn't FPI be enough without containers?

if not though, then i'm certainly interested in your container idea

@crssi

This comment has been minimized.

Copy link
Collaborator

crssi commented Jan 11, 2019

^^You already follow the topic #395 (comment).
I learned there that FPI still breaks a 馃惐 馃挬 (cross domain logins..., but I haven't observed any... yet).
So, with a "correcly" configured TC (and usage), we can still get similar "protection" even with FPI disabled and without breaking cross domain logins.

@atomGit

This comment has been minimized.

Copy link
Collaborator

atomGit commented Jan 13, 2019

@crssi @claustromaniac

re: coloring identity box/url bar based on status

the 'Librefox HTTP Watcher' add-on didn't work for me - it colors both the search and url bar red and leaves them that way for ever more after, for instance, you load an about: page

if you guys have this problem, or are looking for an alt solution, see CustomCSSforFx and look in /classic/css/locationbar/identitybox_colors.css - he's coloring the ID box (only) differently for every available status apparently

@crssi

This comment has been minimized.

Copy link
Collaborator

crssi commented Jan 13, 2019

@atomGit I am using now my custom css, see #492 (comment)
But upper link is a great resource. 馃憤
Thank you

ADD:
What a karma: Just stumbled now to additional customization resource at https://github.com/FirefoxBar/userChrome.js-Collections-

@StanGets

This comment has been minimized.

Copy link

StanGets commented Jan 13, 2019

@atomGit thanks for spotting that specific css. Aris-t2's /CustomCSSforFx is a haven of most valuable CSSs for tweaking Firefox's appearance, either used such as either, as I do, selecting here and there a given css we'll then paste into our userChrome.css (beware then of dependencies when applicable). Let's not forget that is is Aris-t2 who had developed the famous Classic Theme Restorer dedicated to restoring the old look to the Australis Firefox back when legacy add-ons were still the rule ...

@atomGit

This comment has been minimized.

Copy link
Collaborator

atomGit commented Jan 13, 2019

indeed - CTR was something i could not and would not live without - ShadowFox is another nice theme - this is a dark theme that this takes much of the bite out of the 'white flash' syndrome when you load a new tab

@claustromaniac

This comment has been minimized.

Copy link
Member

claustromaniac commented Jan 14, 2019

@crssi,

I was thinking about a "fork" of TC, which would be less complicated (if possible even not configurable) with some functions stripped off and some added. But I know this would be a complicated project.
If you are interested, I will dump more details.

Actually, there are some things about TC that I would like to change myself, and I don't use like half of its features or more. Realistically, I don't have the time for a project of such complexity for now, though. 馃樋

@atomGit,

@crssi @claustromaniac

re: coloring identity box/url bar based on status

You didn't mean to @ me there, right?

@crssi

This comment has been minimized.

Copy link
Collaborator

crssi commented Jan 14, 2019

@claustromaniac

Actually, there are some things about TC that I would like to change myself, and I don't use like half of its features or more. Realistically, I don't have the time for a project of such complexity for now, though.

Understandable, when (if) you will have a time and a wish, we can do a little brainstorm about features. 馃惐

Cheers

@Atavic

This comment has been minimized.

Copy link

Atavic commented Jan 17, 2019

https://github.com/april/certainly-something is an extension to view information about the current state of your HTTPS connection, using the TLS Info API implemented from Firefox 62.

Maybe it's an active alternative to the legacy extension SSleuth?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment