mirror of
https://wget.la/https://github.com/leookun/cursor-byok
synced 2026-08-19 04:27:02 +08:00
v0.3.8
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
package client
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
goruntime "runtime"
|
||||
|
||||
"cursor/internal/cursor"
|
||||
)
|
||||
|
||||
// ApplyCursorSettings 用于处理与 ApplyCursorSettings 相关的逻辑。
|
||||
func (s *ProxyService) ApplyCursorSettings() error {
|
||||
if s == nil || s.proxy == nil {
|
||||
return fmt.Errorf("proxy is not initialized")
|
||||
}
|
||||
s.caFileMu.Lock()
|
||||
caCertPath, err := cursor.EnsureCACertFile(s.caCertPEM, s.caFilePath)
|
||||
if err == nil {
|
||||
s.caFilePath = caCertPath
|
||||
}
|
||||
s.caFileMu.Unlock()
|
||||
if err != nil {
|
||||
return fmt.Errorf("ensure ca cert file: %w", err)
|
||||
}
|
||||
|
||||
switch goruntime.GOOS {
|
||||
case "windows":
|
||||
if err := cursor.EnsureCACertInstalled(s.caCertPEM, caCertPath); err != nil {
|
||||
return fmt.Errorf("install ca cert: %w", err)
|
||||
}
|
||||
case "darwin":
|
||||
if err := cursor.EnsureCACertInstalled(s.caCertPEM, caCertPath); err != nil {
|
||||
return fmt.Errorf("install ca cert: %w", err)
|
||||
}
|
||||
if err := cursor.SetSystemNodeExtraCACerts(caCertPath); err != nil {
|
||||
return fmt.Errorf("set node extra ca certs: %w", err)
|
||||
}
|
||||
}
|
||||
|
||||
if err := cursor.WriteUserProxySettings(cursor.ProxyURLFromListenAddr(s.proxy.Snapshot().ListenAddr)); err != nil {
|
||||
return err
|
||||
}
|
||||
s.setCursorSettingsApplied(true)
|
||||
return nil
|
||||
}
|
||||
|
||||
// ClearCursorSettings 用于处理与 ClearCursorSettings 相关的逻辑。
|
||||
func (s *ProxyService) ClearCursorSettings() error {
|
||||
if goruntime.GOOS == "darwin" {
|
||||
if err := cursor.ClearSystemNodeExtraCACerts(); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
if err := cursor.ClearUserProxySettings(); err != nil {
|
||||
return err
|
||||
}
|
||||
s.setCursorSettingsApplied(false)
|
||||
return nil
|
||||
}
|
||||
|
||||
// GetDeviceID 用于处理与 GetDeviceID 相关的逻辑。
|
||||
func (s *ProxyService) GetDeviceID() (string, error) {
|
||||
return cursor.GetDeviceID()
|
||||
}
|
||||
Reference in New Issue
Block a user