tls fix and migration patch
This commit is contained in:
@@ -60,22 +60,10 @@ func moveJsonToDb(db *gorm.DB) error {
|
|||||||
} else {
|
} else {
|
||||||
tls_server, _ := json.MarshalIndent(tlsObj, "", " ")
|
tls_server, _ := json.MarshalIndent(tlsObj, "", " ")
|
||||||
if len(tls_server) > 5 {
|
if len(tls_server) > 5 {
|
||||||
tlsObject := tlsObj.(map[string]interface{})
|
|
||||||
tlsClientObj := map[string]interface{}{}
|
|
||||||
if enabled, ok := tlsObject["enabled"]; ok {
|
|
||||||
tlsClientObj["enabled"] = enabled
|
|
||||||
}
|
|
||||||
if alpn, ok := tlsObject["alpn"]; ok {
|
|
||||||
tlsClientObj["alpn"] = alpn
|
|
||||||
}
|
|
||||||
if sni, ok := tlsObject["server_name"]; ok {
|
|
||||||
tlsClientObj["server_name"] = sni
|
|
||||||
}
|
|
||||||
tls_client, _ := json.MarshalIndent(tlsClientObj, "", " ")
|
|
||||||
newTls := &model.Tls{
|
newTls := &model.Tls{
|
||||||
Name: tag,
|
Name: tag,
|
||||||
Server: tls_server,
|
Server: tls_server,
|
||||||
Client: tls_client,
|
Client: json.RawMessage("{}"),
|
||||||
}
|
}
|
||||||
err = db.Create(newTls).Error
|
err = db.Create(newTls).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -243,7 +231,34 @@ func migrateTls(db *gorm.DB) error {
|
|||||||
if !db.Migrator().HasColumn(&model.Tls{}, "inbounds") {
|
if !db.Migrator().HasColumn(&model.Tls{}, "inbounds") {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
return db.Migrator().DropColumn(&model.Tls{}, "inbounds")
|
err := db.Migrator().DropColumn(&model.Tls{}, "inbounds")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
var tlsConfig []model.Tls
|
||||||
|
err = db.Model(model.Tls{}).Scan(&tlsConfig).Error
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
for index, tls := range tlsConfig {
|
||||||
|
var tlsClient map[string]interface{}
|
||||||
|
err = json.Unmarshal(tls.Client, &tlsClient)
|
||||||
|
if err != nil {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
for key, _ := range tlsClient {
|
||||||
|
switch key {
|
||||||
|
case "insecure", "disable_sni", "utls", "ech", "reality":
|
||||||
|
continue
|
||||||
|
default:
|
||||||
|
delete(tlsClient, key)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tlsConfig[index].Client, _ = json.MarshalIndent(tlsClient, "", " ")
|
||||||
|
}
|
||||||
|
|
||||||
|
return db.Save(&tlsConfig).Error
|
||||||
}
|
}
|
||||||
|
|
||||||
func dropInboundData(db *gorm.DB) error {
|
func dropInboundData(db *gorm.DB) error {
|
||||||
|
|||||||
+10
-7
@@ -43,17 +43,18 @@ func LinkGenerator(clientConfig json.RawMessage, i *model.Inbound, hostname stri
|
|||||||
for index, addr := range Addrs {
|
for index, addr := range Addrs {
|
||||||
addrRemark, _ := addr["remark"].(string)
|
addrRemark, _ := addr["remark"].(string)
|
||||||
Addrs[index]["remark"] = i.Tag + addrRemark
|
Addrs[index]["remark"] = i.Tag + addrRemark
|
||||||
if addrTls, ok := addr["tls"].(map[string]interface{}); ok {
|
if i.TlsId > 0 {
|
||||||
newTls := map[string]interface{}{}
|
newTls := map[string]interface{}{}
|
||||||
if oldTls, hasOldTls := tls["tls"].(map[string]interface{}); hasOldTls {
|
for k, v := range tls {
|
||||||
for k, v := range oldTls {
|
newTls[k] = v
|
||||||
|
}
|
||||||
|
|
||||||
|
// Override tls
|
||||||
|
if addrTls, ok := addr["tls"].(map[string]interface{}); ok {
|
||||||
|
for k, v := range addrTls {
|
||||||
newTls[k] = v
|
newTls[k] = v
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Override tls
|
|
||||||
for k, v := range addrTls {
|
|
||||||
newTls[k] = v
|
|
||||||
}
|
|
||||||
Addrs[index]["tls"] = newTls
|
Addrs[index]["tls"] = newTls
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -243,7 +244,9 @@ func hysteria2Link(
|
|||||||
if downmbps, ok := inbound["down_mbps"].(string); ok {
|
if downmbps, ok := inbound["down_mbps"].(string); ok {
|
||||||
params["down_mbps"] = downmbps
|
params["down_mbps"] = downmbps
|
||||||
}
|
}
|
||||||
|
fmt.Printf("%+v\n", addr["tls"])
|
||||||
if tls, ok := addr["tls"].(map[string]interface{}); ok {
|
if tls, ok := addr["tls"].(map[string]interface{}); ok {
|
||||||
|
fmt.Printf("%+v\n", tls)
|
||||||
if sni, ok := tls["server_name"].(string); ok {
|
if sni, ok := tls["server_name"].(string); ok {
|
||||||
params["sni"] = sni
|
params["sni"] = sni
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -334,11 +334,6 @@ export default {
|
|||||||
],
|
],
|
||||||
fingerprints: [
|
fingerprints: [
|
||||||
{ title: "Chrome", value: "chrome" },
|
{ title: "Chrome", value: "chrome" },
|
||||||
{ title: "Chrome PSK", value: "chrome_psk" },
|
|
||||||
{ title: "Chrome PSK Shuffle", value: "chrome_psk_shuffle" },
|
|
||||||
{ title: "Chrome Padding PSK Shuffle", value: "chrome_padding_psk_shuffle" },
|
|
||||||
{ title: "Chrome Post-Quantum", value: "chrome_pq" },
|
|
||||||
{ title: "Chrome Post-Quantum PSK", value: "chrome_pq_psk" },
|
|
||||||
{ title: "Firefox", value: "firefox" },
|
{ title: "Firefox", value: "firefox" },
|
||||||
{ title: "Microsoft Edge", value: "edge" },
|
{ title: "Microsoft Edge", value: "edge" },
|
||||||
{ title: "Apple Safari", value: "safari" },
|
{ title: "Apple Safari", value: "safari" },
|
||||||
@@ -356,7 +351,7 @@ export default {
|
|||||||
if (this.$props.id > 0) {
|
if (this.$props.id > 0) {
|
||||||
const newData = <tls>JSON.parse(this.$props.data)
|
const newData = <tls>JSON.parse(this.$props.data)
|
||||||
this.tls = newData
|
this.tls = newData
|
||||||
if (this.tls.server == null) this.tls.server = {}
|
if (this.tls.server == null) this.tls.server = { enabled: true }
|
||||||
if (this.tls.client == null) this.tls.client = {}
|
if (this.tls.client == null) this.tls.client = {}
|
||||||
this.tlsType = newData.server?.reality == undefined ? 0 : 1
|
this.tlsType = newData.server?.reality == undefined ? 0 : 1
|
||||||
this.usePath = newData.server?.key == undefined ? 0 : 1
|
this.usePath = newData.server?.key == undefined ? 0 : 1
|
||||||
|
|||||||
Reference in New Issue
Block a user