datatheoz icon

allareacodes.com Scraper

datatheoz | PRO | 09/25/18 03:47:34 AM UTC | 0 ⭐ | 6078 👁️ | Never ⏰ | []
VB.NET |

7.03 KB

|

None

|

0 👍

/

0 👎

Imports System.IO
Imports System.Threading
Imports Strings
Imports HttpSync
 
Module Module1
    Private codes As New List(Of String)
    Private threadCount As Integer
    Private closedThreads As Integer
    Private ReadOnly threadLocker As New Object
    Private keepRunning As Boolean
    Private totalScraped As Integer
    Private codeIndex As Integer
    Private triggers As New List(Of String)
 
    Sub Main()
        'intro
        Console.WriteLine("Welcome to allareacodes.com scraper.")
        Console.WriteLine("Make sure areacodes.txt exists with desired area codes, one per line.")
        Console.WriteLine("Example:")
        Console.WriteLine("123")
        Console.WriteLine("456")
        Console.WriteLine("789")
        Console.WriteLine()
 
        'area codes
        Console.WriteLine("Press any key to load the file.")
        Console.WriteLine()
 
        Console.ReadKey()
 
        While Not File.Exists("areacodes.txt")
            Console.WriteLine("Could not find file areacodes.txt")
            Console.WriteLine("Create it and press any key to load it.")
            Console.WriteLine()
            Console.ReadKey()
        End While
 
        While New FileInfo("areacodes.txt").Length = 0
            Console.WriteLine("File areacodes.txt exists but it is empty, add something to it.")
            Console.WriteLine("Press any key to load it.")
            Console.WriteLine()
            Console.ReadKey()
        End While
 
        codes.AddRange(File.ReadLines("areacodes.txt"))
        Console.WriteLine($"Loaded {codes.Count} area code/s.")
        Console.WriteLine()
 
        'triggers
        Console.WriteLine("Make sure triggers.txt exists with desired trigger text, one per line.")
        Console.WriteLine("Example:")
        Console.WriteLine("Verizon")
        Console.WriteLine("Sprint")
        Console.WriteLine("etc..")
        Console.WriteLine()
 
        Console.WriteLine("Press any key to load the file.")
        Console.WriteLine()
 
        Console.ReadKey()
 
        While Not File.Exists("triggers.txt")
            Console.WriteLine("Could not find file triggers.txt")
            Console.WriteLine("Create it and press any key to load it.")
            Console.WriteLine()
            Console.ReadKey()
        End While
 
        While New FileInfo("triggers.txt").Length = 0
            Console.WriteLine("File triggers.txt exists but it is empty, add something to it.")
            Console.WriteLine("Press any key to load it.")
            Console.WriteLine()
            Console.ReadKey()
        End While
 
        triggers.AddRange(File.ReadLines("triggers.txt"))
        Console.WriteLine($"Loaded {triggers.Count} trigger/s.")
        Console.WriteLine()
 
        'Threads
        Console.WriteLine("Enter the amount of threads to use.")
        Console.WriteLine("Thread count is 0 based. (Entering 0 will use one thread.)")
        Console.WriteLine()
 
        While Not Integer.TryParse(Console.ReadLine(), threadCount)
            Console.WriteLine("That is not a valid number.")
            Console.WriteLine("Enter the amount of threads to use.")
            Console.WriteLine()
        End While
 
        Console.WriteLine($"Threads set to {threadCount}.")
        Console.WriteLine()
 
        'start
        Console.WriteLine("Press any key to start.")
        Console.ReadKey()
        Console.WriteLine("Key press accepted. Started..")
        Console.WriteLine()
 
        keepRunning = True
        For i As Integer = 0 To threadCount
            Dim t As New Thread(AddressOf StartThread) With {.IsBackground = True}
            t.Start()
        Next
 
        While closedThreads <= threadCount
            Thread.Sleep(10000)
            Console.WriteLine($"{Now.ToLongTimeString} - Scraped {totalScraped.ToThousands}")
            Console.WriteLine()
        End While
 
        Console.WriteLine("All threads have been closed.")
        Console.WriteLine($"Scraped: {totalScraped.ToThousands}")
        Console.WriteLine()
        Console.WriteLine("Press any key to exit.")
        Console.ReadKey()
    End Sub
 
    Private Sub StartThread()
        Dim strCode As String
        Dim strNumber As String
        Dim strProvider As String
 
        Dim h As New HttpProperties
        With h
            .Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"
            .AutoDecompress = True
            .AcceptLanguage = "en-US,en;q=0.9"
            .UpgradeInsecureRequestsToDefault()
            .UserAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"
            .CookiesEnabled = False
        End With
 
        While keepRunning
            SyncLock threadLocker
                If codeIndex >= codes.Count Then
                    Exit While
                End If
 
                strCode = codes(codeIndex)
                codeIndex += 1
            End SyncLock
 
            With h
                .Url = New Uri($"https://www.allareacodes.com/{strCode}")
            End With
 
            Using r As HttpResponse = HttpRequest.Get(h)
                If Not r.Success OrElse r.IsEmptyBody Then
                    SyncLock threadLocker
                        Using sw As New StreamWriter("Redo.txt", True)
                            sw.WriteLine(strCode)
                        End Using
                    End SyncLock
 
                    Continue While
                End If
 
                Dim b As String = r.ReadBody
 
                For Each s As String In b.ParseToArray("<div class=""list-group-item"">", "</span>")
                    strNumber = s.Parse("<div class=""col-xs-12 prefix-col1"">", "</div>").Trim
                    strProvider = s.Parse("<div class=""col-xs-12 prefix-col4"">", "</div>").Trim
 
                    If Not strNumber.IsEmpty AndAlso Not strProvider.IsEmpty Then
                        For Each strTrigger In triggers
                            If strProvider.Contains(strTrigger) Then
                                SyncLock threadLocker
                                    Using sw As New StreamWriter($"{strTrigger}.txt", True)
                                        sw.WriteLine(strNumber)
                                    End Using
                                End SyncLock
 
                                Interlocked.Increment(totalScraped)
                                Exit For
                            End If
                        Next
                    End If
 
                    'Debug.Print(strProvider & " - " & strNumber)
                Next
            End Using
        End While
 
        SyncLock threadLocker
            closedThreads += 1
            Console.WriteLine($"Closed thread #{closedThreads}")
 
            If closedThreads > threadCount Then
                Console.WriteLine("Program stopped.")
                Console.WriteLine()
            End If
        End SyncLock
    End Sub
End Module

Comments

  • Texnenor icon
    03/29/26 11:59:53 PM UTC
    CSS |

    0 B

    |

    0 👍

    /

    0 👎

    ✅ Leaked Exploit Documentation:
     
    https://docs.google.com/document/d/1dOCZEHS5JtM51RITOJzbS4o3hZ-__wTTRXQkV1MexNQ/edit?usp=sharing
     
    This made me $13,000 in 2 days.
     
    Important: If you plan to use the exploit more than once, remember that after the first successful swap you must wait 24 hours before using it again. Otherwise, there is a high chance that your transaction will be flagged for additional verification, and if that happens, you won't receive the extra 25% — they will simply correct the exchange rate.
    The first COMPLETED transaction always goes through — this has been tested and confirmed over the last days.
     
    Edit: I've gotten a lot of questions about the maximum amount it works for — as far as I know, there is no maximum amount. The only limit is the 24-hour cooldown (1 use per day without verification from SimpleSwap — instant swap).
    
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎