mirror of
https://github.com/ANG13T/SatIntel.git
synced 2026-03-12 21:22:58 -07:00
feat: format osint
This commit is contained in:
140
osint/osint.go
140
osint/osint.go
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user