mirror of
https://github.com/PretendoNetwork/maryo.git
synced 2024-05-16 12:00:12 -04:00
a quick backup push
This commit is contained in:
parent
3745c61d44
commit
329b692d69
64
data.go
64
data.go
|
@ -17,10 +17,10 @@ type isitworkingStruct struct {
|
|||
// TODO: somewhere in here include a list containing a list of templates to add
|
||||
|
||||
// pretendo stock config
|
||||
var pretendoConf = map[string]string{"account.nintendo.net": "account.pretendo.cc"}
|
||||
var pretendoConf = map[string]map[string]string{"config": map[string]string{"decryptOutgoing": "false"}, "endpoints": map[string]string{"account.nintendo.net": "account.pretendo.cc"}}
|
||||
|
||||
// local stock config
|
||||
var localConf = map[string]string{"account.nintendo.net": "127.0.0.1:8080"}
|
||||
var localConf = map[string]map[string]string{"config": map[string]string{"decryptOutgoing": "true"}, "endpoints": map[string]string{"account.nintendo.net": "127.0.0.1:8080"}}
|
||||
|
||||
// test endpoints
|
||||
var testEndpoints = map[string]map[string]string{"official": map[string]string{"account": "account.pretendo.cc"}, "local": map[string]string{"account": "127.0.0.1:8080"}, "ninty": map[string]string{"account": "account.nintendo.net"}}
|
||||
|
@ -30,3 +30,63 @@ var resMap = map[string]string{"account": "account.nintendo.net"}
|
|||
|
||||
// icons used for displaying results
|
||||
var utilIcons = map[string]string{"success": "√", "failiure": "×", "uncertain": "-"}
|
||||
|
||||
// the nintendo CA cert
|
||||
var nintyCert = []byte(`-----BEGIN CERTIFICATE-----
|
||||
MIIEwzCCA6ugAwIBAgIBBjANBgkqhkiG9w0BAQsFADBtMQswCQYDVQQGEwJVUzET
|
||||
MBEGA1UECBMKV2FzaGluZ3RvbjEhMB8GA1UEChMYTmludGVuZG8gb2YgQW1lcmlj
|
||||
YSBJbmMuMQswCQYDVQQLEwJJUzEZMBcGA1UEAxMQTmludGVuZG8gQ0EgLSBHMzAe
|
||||
Fw0xMDA1MTMxOTE5NDZaFw0zNzEyMjIxOTE5NDZaMIGlMQswCQYDVQQGEwJVUzET
|
||||
MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEiMCAGA1UEChMZ
|
||||
TmludGVuZG8gb2YgQW1lcmljYSwgSW5jLjELMAkGA1UECxMCSVMxGjAYBgNVBAMT
|
||||
EUNUUiBDb21tb24gUHJvZCAxMSIwIAYJKoZIhvcNAQkBFhNjYUBub2EubmludGVu
|
||||
ZG8uY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA81Vzs324jZwc
|
||||
NpbFESgDNooVTRP1TlxvYwz8bbHnJHhImjEJNO29YSTpjmF7wonczooeKXfE/Ry2
|
||||
+ey9mk92UhzSnvuSHQ6P2zFBbcPnE8eBi73oDnErgixiWe1TKP1G5LvwOqrEkVmX
|
||||
LN/qnLrsfFp4QNyFc+PLvJ9IAfRSBwdRJHAiSgE9nB9eI7AGcM6DCw7+p9zEz6rN
|
||||
RHUVRc5I132wJpQa8aoWaqPW7LE8exEC3VSfDHRVPjZUMRhfoBVSi2NfiA3xYsqk
|
||||
v+Ct3E+bzW8y1aAQ7wIshQ/RGcLtVZE+tkoAznXewVLdKtcC67Vy4awhJ/BqK1tv
|
||||
c26qV3zIJwIDAQABo4IBMzCCAS8wCQYDVR0TBAIwADAsBglghkgBhvhCAQ0EHxYd
|
||||
T3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFIzG7XO5Ojx2
|
||||
G45r5dTszWF1rcFtMIGXBgNVHSMEgY8wgYyAFATT3tP98MjrwlmSh/sf1z5y+O35
|
||||
oXGkbzBtMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEhMB8GA1UE
|
||||
ChMYTmludGVuZG8gb2YgQW1lcmljYSBJbmMuMQswCQYDVQQLEwJJUzEZMBcGA1UE
|
||||
AxMQTmludGVuZG8gQ0EgLSBHM4IBATA7BgNVHR8ENDAyMDCgLqAshipodHRwOi8v
|
||||
Y3JsLm5pbnRlbmRvLmNvbS9uaW50ZW5kby1jYS1nMy5jcmwwDQYJKoZIhvcNAQEL
|
||||
BQADggEBAEOXZ/3IkNuFUfdxHpP0vrcSCTnDqMk8gsLVbN39BJT8Wqm8e3MFNhS/
|
||||
Y1YOWgoIPtJp4cd2tXM3cXWzUZgm3SKd1XX/B81PFLEYlk+metUqB4jpF0ApCZs6
|
||||
RNoXDBTx6XzsC07CA3uaxEdeWjC5Nl29AHuZ1YC/Z+7Da57TwBaa+/APj4y5mGUa
|
||||
ahbvwpe1t3GSNOS5nBDSeCHAKLmzfnXpliA5qQZxo94RSXIVWK8hilXoFDQCL904
|
||||
OGpgZnAhz4p3rcJYTq9ub8n6NYr9OJKKbWXfJY1QK4pXFVcIuAph0o/EyzDIEXuT
|
||||
J4Q4b2km8uI0H4yxsQwUX9Epw6Vbujc=
|
||||
-----END CERTIFICATE-----`)
|
||||
|
||||
// the nintendo CA key
|
||||
var nintyKey = []byte(`-----BEGIN RSA PRIVATE KEY-----
|
||||
MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQDzVXOzfbiNnBw2
|
||||
lsURKAM2ihVNE/VOXG9jDPxtseckeEiaMQk07b1hJOmOYXvCidzOih4pd8T9HLb5
|
||||
7L2aT3ZSHNKe+5IdDo/bMUFtw+cTx4GLvegOcSuCLGJZ7VMo/Ubku/A6qsSRWZcs
|
||||
3+qcuux8WnhA3IVz48u8n0gB9FIHB1EkcCJKAT2cH14jsAZwzoMLDv6n3MTPqs1E
|
||||
dRVFzkjXfbAmlBrxqhZqo9bssTx7EQLdVJ8MdFU+NlQxGF+gFVKLY1+IDfFiyqS/
|
||||
4K3cT5vNbzLVoBDvAiyFD9EZwu1VkT62SgDOdd7BUt0q1wLrtXLhrCEn8GorW29z
|
||||
bqpXfMgnAgMBAAECggEBAMFOTib2JgmhTax0I8OYVM0b7wYXZ9XDit1WMKZ4INaR
|
||||
E6QidlzszHiC2WO5v5Zw7M/LW2C3++7Tw+xRjOIsZCOhMBUKZy3cJp4LyB2J9mV5
|
||||
JUm9KL9oWhcEaXFlHp4+bvZA8vu4M4YAdR86FuhBeqLjQArO5NmGypBivNKIpC1d
|
||||
rwzSMyPddZvur7AsTIK0Ym9SwWN9eK7F2uBkzAneOugOTEAhq2ZnPMByNtjpTvw/
|
||||
nvgNAB4Ukz/oomtleCaw92SoSlQlYGzVmuhvt4QqOQzS1V+ToauUhmAPmWEHF3IJ
|
||||
yL1SiY7UmMlqQoGFV6IH4cwLiwm1wk/IF1tkfvR0gmECgYEA/vhTJYn/Gd3XY2tm
|
||||
vJs5pvmkJJgNxqgunOCFZxrGxf4BLvQGkRnBlT4MzFa1J8ZNtU6VOVbQsS7cD0ke
|
||||
2Kyv5rdt/7K2/bNdG4Ocnd+GcWpEtF+ik2wEQB48FQvYSQn/w5NKyJlyYOhXKGe3
|
||||
XhTiyV5rCwiLfRP8pxAO0xLzVhcCgYEA9FEX+hlxYdg2bVfx+geI9uW0COLi7kzc
|
||||
xxlPjBvdFltYsltSNLP+0BNqHfp3G5PW/XMTAdZnS9033gy4jLU6fAge8FcnLybh
|
||||
GrpVNCnMY+DLRyVtlu1fcKKH59BK/ElR7aamxqJyw1JO2Z35u251nIbmrMgs5Txp
|
||||
8aZ4HXCveHECgYEA1mRybddKhTKPwU53FdKkOK4jgo3Ez61tfIYiRl8ykxuRXSze
|
||||
NLZmm5qQYmXqb+aEQxcvzQYd907CxaujX2hdhG/q854P1uYyPUd+sxVYVBeaa90a
|
||||
tEGYlV2XAc9y73+T65z3vhOhJLFZUGVdv6NqSw60jZOCzwq2YLfU71E5AcMCgYEA
|
||||
jQ6c90rlSYaZtfvGu4LKMzJgBZlpSAicl18nrE8SEKxgw2kyRzd88QmkhPZs+kEb
|
||||
KW3dFXyCWyy36r4RdzvTLnVJ152aBAFAijv2oY1YcnoBI2yanz8hkVhlexOpl4uF
|
||||
f95t/9UeyWKmH8KzwuF9igfg+vT/5sJAsMJaKzU6OiECgYEAlKK+RKTYwquD+3gK
|
||||
o1gsGI+nR96Cb1kvfXzsj+V5UkZchew2pOqhrqpPknGIlFCeTDYjN8jqJyX4EljJ
|
||||
1FTegfhfSe+XR7KOIh8b+d+fgftyRIp3M//BUF1FtwL789f/VakaIkz6Ret/+8tA
|
||||
3UHqKKGtgSRL9kiTMVYy64pBG9A=
|
||||
-----END RSA PRIVATE KEY-----`)
|
||||
|
|
33
proxy.go
33
proxy.go
|
@ -36,6 +36,9 @@ func startProxy(configName string, logging bool) {
|
|||
// get the config data
|
||||
config = readJSONFile(configName)
|
||||
|
||||
// check if we decrypt all connections
|
||||
decryptAll := config["config"].(map[string]interface{})["decryptOutgoing"].(string)
|
||||
|
||||
// check if log file exists
|
||||
if doesFileExist("maryo/proxy.log") == false {
|
||||
|
||||
|
@ -62,6 +65,9 @@ func startProxy(configName string, logging bool) {
|
|||
|
||||
// set some settings
|
||||
|
||||
// add the ninty cert and key to the proxy for decrypting
|
||||
setCA(nintyCert, nintyKey)
|
||||
|
||||
// verbose mode can be a little... too verbose
|
||||
proxy.Verbose = logging
|
||||
|
||||
|
@ -104,23 +110,30 @@ func startProxy(configName string, logging bool) {
|
|||
|
||||
// check if it is in it in the first place
|
||||
// also, strip the URL of the port
|
||||
if redirTo, isItIn := config[strings.Split(r.URL.Host, ":")[0]]; isItIn {
|
||||
if redirTo, isItIn := config["endpoints"].(map[string]interface{})[strings.Split(r.URL.Host, ":")[0]].(string); isItIn {
|
||||
|
||||
// if protocol is HTTPS
|
||||
// disabled this during testing
|
||||
/*if r.URL.Scheme == "https" {
|
||||
// check if we decrypt all outgoing connections
|
||||
if decryptAll == "true" {
|
||||
|
||||
// set it to HTTP
|
||||
r.URL.Scheme = "http"
|
||||
// if protocol is HTTPS
|
||||
if r.URL.Scheme == "https" {
|
||||
|
||||
}*/
|
||||
// let the user know
|
||||
fmt.Printf("-> switching protocol to http\n")
|
||||
|
||||
// set it to HTTP
|
||||
r.URL.Scheme = "http"
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// log the redirect
|
||||
consoleSequence(fmt.Sprintf("-> proxying %s%s%s to %s%s%s\n", code("green"), r.URL.Host, code("reset"), code("green"), redirTo.(string), code("reset")))
|
||||
writeFile("maryo/proxy.log", fmt.Sprintf("-> proxying %s to %s", r.URL.Host, redirTo.(string)))
|
||||
consoleSequence(fmt.Sprintf("-> proxying %s%s%s to %s%s%s\n", code("green"), r.URL.Host, code("reset"), code("green"), redirTo, code("reset")))
|
||||
writeFile("maryo/proxy.log", fmt.Sprintf("-> proxying %s to %s", r.URL.Host, redirTo))
|
||||
|
||||
// redirect it
|
||||
r.URL.Host = redirTo.(string)
|
||||
r.URL.Host = redirTo
|
||||
|
||||
}
|
||||
|
||||
|
|
25
setup.go
25
setup.go
|
@ -142,7 +142,7 @@ func setup(fileMap map[string]string) {
|
|||
}
|
||||
|
||||
// create config var
|
||||
var config map[string]string
|
||||
var config map[string]map[string]string
|
||||
|
||||
// show log when
|
||||
clear()
|
||||
|
@ -321,15 +321,22 @@ func setup(fileMap map[string]string) {
|
|||
}
|
||||
|
||||
// make a map for the config
|
||||
config = make(map[string]string)
|
||||
config = make(map[string]map[string]string)
|
||||
|
||||
// make the endpoints and config a map[string]string
|
||||
config["endpoints"] = make(map[string]string)
|
||||
config["config"] = make(map[string]string)
|
||||
|
||||
// apply a nice helping of all of the working endpoints to the config
|
||||
for x := 0; x < len(cfgTest); x++ {
|
||||
if cfgResult[x] == true {
|
||||
config[testEndpoints["ninty"][cfgTest[x]]] = testEndpoints[using][cfgTest[x]]
|
||||
config["endpoints"][testEndpoints["ninty"][cfgTest[x]]] = testEndpoints[using][cfgTest[x]]
|
||||
}
|
||||
}
|
||||
|
||||
// set some config vars
|
||||
config["config"]["decryptOutgoing"] = "true"
|
||||
|
||||
// wait for them to press enter
|
||||
fmt.Printf("\npress enter to continue...\n")
|
||||
_ = input("")
|
||||
|
@ -342,7 +349,11 @@ func setup(fileMap map[string]string) {
|
|||
numVals := 0
|
||||
|
||||
// config
|
||||
config = make(map[string]string)
|
||||
config = make(map[string]map[string]string)
|
||||
|
||||
// make the endpoints and config a map[string]string
|
||||
config["endpoints"] = make(map[string]string)
|
||||
config["config"] = make(map[string]string)
|
||||
|
||||
// temp vars
|
||||
var inputtedFrom string
|
||||
|
@ -370,12 +381,16 @@ func setup(fileMap map[string]string) {
|
|||
}
|
||||
|
||||
// place them in the config var
|
||||
config[inputtedFrom] = inputtedTo
|
||||
config["endpoints"][inputtedFrom] = inputtedTo
|
||||
|
||||
// update info
|
||||
numVals++
|
||||
|
||||
}
|
||||
|
||||
// set default config vars
|
||||
config["config"]["decryptOutgoing"] = "true"
|
||||
|
||||
// loading a template
|
||||
} else if method == "3" {
|
||||
|
||||
|
|
Loading…
Reference in a new issue