Feature Request: Implementation of server URL query string in OpenConnect client
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 38.1k
- Forks
- 4.6k
- Avg merge
- 19d 15h
- Merged PRs (30d)
- 1
Description
In the sing-box 1.14.0 OpenConnect client implementation OpenConnect VPN server HTTPS URL does not support user information, queries and fragments. So, it's impossible to use camouflage feature of OpenConnect server.
If camouflage feature is not used by OpenConnect server, it returns an XML code in response to GET request to any server URL and this code looks as follows:
<config-auth client="vpn" type="auth-request">
<version who="sg">0.1(1)</version>
<auth id="main">
<message>Please enter your username and password.</message>
<form method="post" action="/auth">
<input type="text" name="username" label="Username:"/>
<input type="password" name="password" label="Password:"/>
</form>
</auth>
</config-auth>
This will unmask the OpenConnect server.
If camouflage feature is set to true in OpenConnect server configuration, server expects an exact query string in URL, defined in camouflage_secret string in the configuration. If HTTP-request contains invalid query string, OpenConnect server sends authorization request like web-server configured with auth_basic instead of XML code above.
Please implement OpenConnect server URL query string.
Thank you.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Locate the sing-box OpenConnect client implementation and its server URL parsing or request entry point, then trace how the URL reaches the HTTPS request. Check the OpenConnect camouflage_secret requirement and verify that a configured query string is preserved while existing URL behavior remains unchanged; run the relevant client tests if present.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- networking
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100