feat: format osint

This commit is contained in:
angelina-tsuboi
2023-05-07 08:25:40 -07:00
parent 267b6ebf86
commit 890f896f91

View File

@@ -28,53 +28,19 @@ func OrbitalElement() {
var selection int = Option(0, 3)
if (selection == 1) {
vals := url.Values{}
vals.Add("identity", os.Getenv("SPACE_TRACK_USERNAME"))
vals.Add("password", os.Getenv("SPACE_TRACK_PASSWORD"))
vals.Add("query", "https://www.space-track.org/basicspacedata/query/class/satcat/orderby/SATNAME asc/limit/10/emptyresult/show")
client := &http.Client{}
resp, err := client.PostForm(authURL, vals)
if err != nil {
fmt.Println(color.Ize(color.Red, " [!] ERROR: API REQUEST TO SPACE TRACK"))
}
defer resp.Body.Close()
if resp.StatusCode < 200 || resp.StatusCode >= 300 {
fmt.Println(color.Ize(color.Red, " [!] ERROR: API REQUEST TO SPACE TRACK"))
}
respData, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println(color.Ize(color.Red, " [!] ERROR: API REQUEST TO SPACE TRACK"))
}
var sats []Satellite
if err := json.Unmarshal(respData, &sats); err != nil {
fmt.Println(color.Ize(color.Red, " [!] ERROR: API REQUEST TO SPACE TRACK"))
}
result := SelectSatellite()
var satStrings []string
for _, sat := range sats {
satStrings = append(satStrings, sat.SATNAME + " (" + sat.NORAD_CAT_ID + ")")
}
prompt := promptui.Select{
Label: "Select a Satellite 🛰",
Items: satStrings,
}
_, result, err := prompt.Run()
if err != nil {
fmt.Println(color.Ize(color.Red, " [!] PROMPT FAILED"))
if (result == "") {
return
}
PrintNORADInfo(extractNorad(result))
PrintNORADInfo(extractNorad(result), result)
} else if (selection == 2) {
fmt.Print("\n ENTER NORAD ID > ")
var norad string
fmt.Scanln(&norad)
PrintNORADInfo(norad)
PrintNORADInfo(norad, "UNSPECIFIED")
}
return
@@ -89,7 +55,7 @@ func extractNorad(str string) string {
return str[start+1:end]
}
func PrintNORADInfo(norad string) {
func PrintNORADInfo(norad string, name string) {
vals := url.Values{}
vals.Add("identity", os.Getenv("SPACE_TRACK_USERNAME"))
vals.Add("password", os.Getenv("SPACE_TRACK_PASSWORD"))
@@ -116,10 +82,58 @@ func PrintNORADInfo(norad string) {
mid := (len(tleLines)/2) + 1
lineOne := strings.Join(tleLines[:mid], " ")
lineTwo := strings.Join(tleLines[mid:], " ")
tle := ConstructTLE("UNSPECIFIED", lineOne, lineTwo)
tle := ConstructTLE(name, lineOne, lineTwo)
PrintTLE(tle)
}
func SelectSatellite() string {
vals := url.Values{}
vals.Add("identity", os.Getenv("SPACE_TRACK_USERNAME"))
vals.Add("password", os.Getenv("SPACE_TRACK_PASSWORD"))
vals.Add("query", "https://www.space-track.org/basicspacedata/query/class/satcat/orderby/SATNAME asc/limit/10/emptyresult/show")
client := &http.Client{}
resp, err := client.PostForm(authURL, vals)
if err != nil {
fmt.Println(color.Ize(color.Red, " [!] ERROR: API REQUEST TO SPACE TRACK"))
return ""
}
defer resp.Body.Close()
if resp.StatusCode < 200 || resp.StatusCode >= 300 {
fmt.Println(color.Ize(color.Red, " [!] ERROR: API REQUEST TO SPACE TRACK"))
return ""
}
respData, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println(color.Ize(color.Red, " [!] ERROR: API REQUEST TO SPACE TRACK"))
return ""
}
var sats []Satellite
if err := json.Unmarshal(respData, &sats); err != nil {
fmt.Println(color.Ize(color.Red, " [!] ERROR: API REQUEST TO SPACE TRACK"))
return ""
}
var satStrings []string
for _, sat := range sats {
satStrings = append(satStrings, sat.SATNAME + " (" + sat.NORAD_CAT_ID + ")")
}
prompt := promptui.Select{
Label: "Select a Satellite 🛰",
Items: satStrings,
}
_, result, err := prompt.Run()
if err != nil {
fmt.Println(color.Ize(color.Red, " [!] PROMPT FAILED"))
return ""
}
return result
}
// Satellite Position Visualization Code
func SatellitePositionVisualization() {
options, _ := ioutil.ReadFile("txt/orbital_element.txt")
@@ -128,53 +142,19 @@ func SatellitePositionVisualization() {
var selection int = Option(0, 3)
if (selection == 1) {
vals := url.Values{}
vals.Add("identity", os.Getenv("SPACE_TRACK_USERNAME"))
vals.Add("password", os.Getenv("SPACE_TRACK_PASSWORD"))
vals.Add("query", "https://www.space-track.org/basicspacedata/query/class/satcat/orderby/SATNAME asc/limit/10/emptyresult/show")
client := &http.Client{}
resp, err := client.PostForm(authURL, vals)
if err != nil {
fmt.Println(color.Ize(color.Red, " [!] ERROR: API REQUEST TO SPACE TRACK"))
}
defer resp.Body.Close()
if resp.StatusCode < 200 || resp.StatusCode >= 300 {
fmt.Println(color.Ize(color.Red, " [!] ERROR: API REQUEST TO SPACE TRACK"))
}
respData, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println(color.Ize(color.Red, " [!] ERROR: API REQUEST TO SPACE TRACK"))
}
var sats []Satellite
if err := json.Unmarshal(respData, &sats); err != nil {
fmt.Println(color.Ize(color.Red, " [!] ERROR: API REQUEST TO SPACE TRACK"))
}
result := SelectSatellite()
var satStrings []string
for _, sat := range sats {
satStrings = append(satStrings, sat.SATNAME + " (" + sat.NORAD_CAT_ID + ")")
}
prompt := promptui.Select{
Label: "Select a Satellite 🛰",
Items: satStrings,
}
_, result, err := prompt.Run()
if err != nil {
fmt.Println(color.Ize(color.Red, " [!] PROMPT FAILED"))
if (result == "") {
return
}
PrintNORADInfo(extractNorad(result))
PrintNORADInfo(extractNorad(result), result)
} else if (selection == 2) {
fmt.Print("\n ENTER NORAD ID > ")
var norad string
fmt.Scanln(&norad)
PrintNORADInfo(norad)
PrintNORADInfo(norad, "UNSPECIFIED")
}
return