-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
proposal(www): allow providers to make access keys shareable. #1836
Conversation
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## daniellacosse/provider_message_and_contact #1836 +/- ##
==========================================================================
- Coverage 32% 32% -1%
==========================================================================
Files 45 45
Lines 2620 2637 +17
Branches 342 347 +5
==========================================================================
+ Hits 859 861 +2
- Misses 1761 1776 +15
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
return; | ||
} | ||
|
||
await navigator.share({ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need to test this on multiple platforms!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What Chrome version are we using with Electron? Compare with https://caniuse.com/?search=navigator.share
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe it's over 100, we should be okay - but I will test to confirm once we're aligned on this idea
For this and #1830, if we're going to use the {
"host": "10.0.0.24",
"port": 123,
"method": "chacha20-ietf-poly1305",
"tag": "Fake Unreachable Server",
"extra": {
"sharing": {
"enabled": true
},
"contact": {
"messageContent": "We are experiencing increased demand.",
"messageType": "warning",
"email": "[email protected]"
}
}
} |
return; | ||
} | ||
|
||
await navigator.share({ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What Chrome version are we using with Electron? Compare with https://caniuse.com/?search=navigator.share
@@ -614,6 +633,10 @@ export class App { | |||
email: extraParams.email, | |||
}; | |||
} | |||
|
|||
if (extraParams.share) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe it should be called shareable
, to indicate that the key is shareable. With ephemeral keys, access keys may not be shared.
Also, we could add this to the static keys as well.
@@ -614,6 +633,10 @@ export class App { | |||
email: extraParams.email, | |||
}; | |||
} | |||
|
|||
if (extraParams.share) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do worry about extending our bad config format that doesn't differentiate service and transport configuration, and has a very rigid transport configuration. I would like us to not get stuck with it.
At a minimum we should have our own internal format that is more sensible and can be mapped from the serialized formats.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I hear you, but I wonder the degree to which we're tied to SIPOO2 already? I mean people use the client to connect to other shadowsocks servers all the time.
How about this - if we don't block adding these features to the access keys on inventing a new format I promise to draft a proposal for an outline://
config that we can all iterate on. Then I'll replace ShadowsocksConfig
with a less overengineered solution that also handles outline2sskey
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
here I already started https://docs.google.com/document/d/1FnhjpEMWvikGPhKjfH75Y-UYT7RQlqa1z_yycmL5Pow/edit?tab=t.0
I -believe- extra values are meant to be strings, but there's nothing stopping us from passing through base64'd json i suppose! |
Similar to #1830, this PR extends the
extra
field now with the ability for providers to enable end users to share their access keys with others:#1830 and this PR in tandem enable the following scenario: