Skip to content
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

Outline-cli does not support ssconf:// link #196

Open
databasd opened this issue Mar 14, 2024 · 4 comments
Open

Outline-cli does not support ssconf:// link #196

databasd opened this issue Mar 14, 2024 · 4 comments
Labels
feature request New feature or request tools

Comments

@databasd
Copy link

databasd commented Mar 14, 2024

I've built outline-cli from source as described in the readme, however, I get the following error when providing `ssconf://' argument:

failed to create OutlineDevice: config must start with 'ss://'

Is support for this functionality coming soon?

@jyyi1 jyyi1 added the feature request New feature or request label Mar 18, 2024
@jyyi1
Copy link
Contributor

jyyi1 commented Mar 18, 2024

Hi @databasd , Outline CLI can't use "ssconf://" yet. We do plan to add support for it someday. You may also fork the project and contribute to the corresponding code to support this feature.

@databasd
Copy link
Author

Hi. I would contribute but where is the reference code for parsing ssconf:// in the gui application ?

@jyyi1
Copy link
Contributor

jyyi1 commented Mar 19, 2024

Hi @databasd ,

Thanks for being willing to help! Our dynamic key parsing logic is implemented in TypeScript, and we need to convert it to Golang:

  1. Change ssconf://<my-dynamic-key> to HTTPS URL https://<my-dynamic-key>
  2. Fetch the HTTPS URL, you may use Golang's http package to accomplish that
  3. Process the response:
    3a. If it's a static Outline key (starts with ss://), simple reuse the existing Go implementation for parsing it
    3b. If it's a JSON object ({ "method": "...", "password": "...", "server": "...", "server_port": ..., "prefix": "..." }, where prefix is optional), you may either use json.Unmarshal to parse the object and construct the shadowsocksConfig object, or you may convert the JSON back into a static Outline key (ss://) and jump to step 3a.

Feel free to create a draft pull request to get the discussion started. We can work on the details together.

Please note that, you can start using your implementation even before the review is complete.

@fortuna fortuna added the tools label May 7, 2024
Kir-Antipov added a commit to Kir-Antipov/outline-cli that referenced this issue Jul 7, 2024
pmoieni added a commit to pmoieni/outline-sdk that referenced this issue Aug 25, 2024
@pmoieni
Copy link

pmoieni commented Aug 25, 2024

Hi @jyyi1 ,
opened a PR for this but I'd like to discuss the issues I'm currently facing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request tools
Projects
None yet
Development

No branches or pull requests

4 participants