-
Notifications
You must be signed in to change notification settings - Fork 906
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
NaiveProxy URI Specification #86
Comments
Where is this used? |
So naiveproxy is the object that is being shared? Then I have no say in the way you want to share it. I think this is out of scope for me. |
Fine. |
LGTM. I will use it in NaiveSharp. |
KevinZonda
added a commit
to KevinSHIT/NaiveSharp
that referenced
this issue
Jun 13, 2020
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Recently I managed to port
naiveproxy
to Qv2ray, working as a plugin, when I came up the following uri draft. NaiveProxy is so exciting that I even ported it to Arch Linux CN. Hopefully this will contribute to the development of NaiveProxy.Basic
https
/quic
schemes shouldn't be used directly, since they can be confusing with the real protocols.Rules
naive+https
|naive+quic
padding
:= 'true' | 'false' - whether to use padding or not. when omitted, use 'false' as default.extra-headers
:= encodeURIComponent((HEADER ':' VALUE)?( '\0d\0a' HEADER ':' VALUE)*
) - extra headers to add, where:HEADER
is a random combination of!#$%&'*+-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\\^_`abcdefghijklmnopqrstuvwxyz|~
;VALUE
is a random string without\0d
,\0a
and\00
.Examples
naive+https://what:happened@test.someone.cf?padding=false#Naive!
naive+https://some.public.rs?padding=true#Public-01
naive+quic://manhole:114514@quic.test.me
Application
Launchers simply strip
naive+
from the scheme part, strip and parse the url queries for extra arguments, and strip fragment as optional descriptive text. Afterwards, he/she can directly pass this stripped uri following--proxy=
in NaiveProxy argument list. After adding extra arguments like--padding
and--extra-headers
, NaiveProxy is ready to go.This URI can also be used in subscriptions, when mixed with other protocols, this scheme is easily distinguishable since we have a prefix
naive+
. This allows further parsing of the subscribed hosts.The text was updated successfully, but these errors were encountered: