PART 1
Bikin bot sederhana mengirimkan traffic ke sebuah website. Kita akan belajar tentang proxy dan user agent.
Materi Pendukung
Tutorial Listview : https://www.youtube.com/watch?v=b8cpGeh2yV0&feature=youtu.be
PART 2
Membuat fungsi untuk menambahkan proxy secara otomatis.
MATERI PENDUKUNG PROXY SELENIUM
https://www.youtube.com/watch?v=_qnmy_wbYJg
Materi Pendukung Zip File
https://www.youtube.com/watch?v=hMTXnDJ2FgA
Materi Pendukung File dan Directory
https://www.youtube.com/watch?v=syScIXE1WTY
https://www.youtube.com/watch?v=DTu3I0sPZVw
Imports System.IO Imports System.IO.Compression
Form Load
If My.Computer.FileSystem.DirectoryExists("proxy") = False Then My.Computer.FileSystem.CreateDirectory("proxy")
Add Proxy
Dim proxy = "45.140.13.119:9132:usersaya:passwordsaya"
proxy = proxy + ":::"
Dim pcproxy = Split(proxy, ":")
Dim ip = pcproxy(0)
Dim port = pcproxy(1)
Dim user = pcproxy(2)
Dim password = pcproxy(3)
'======== File manifest.json =========
Dim manifest = "
{
""version"": ""1.0.0"",
""manifest_version"": 2,
""name"": """ + ip + """,
""permissions"": [
""proxy"",
""tabs"",
""unlimitedStorage"",
""storage"",
"""",
""webRequest"",
""webRequestBlocking""
],
""background"": {
""scripts"": [""background.js""]
},
""minimum_chrome_version"":""22.0.0""
}"
'======== background.js =========
Dim backgrond = "var config = {
mode: ""fixed_servers"",
rules: {
singleProxy: {
scheme: ""http"",
host: """ + ip + """,
port: parseInt(" + port + ")
},
bypassList: [""localhost""]
}
};
chrome.proxy.settings.set({value: config, scope: ""regular""}, function() {});
function callbackFn(details) {
return {
authCredentials: {
username: """ + user + """,
password: """ + password + """
}
};
}
chrome.webRequest.onAuthRequired.addListener(
callbackFn,
{urls: [""""]},
['blocking']
);"
'============= Membuat mainfest.jsonn dan background.js ===============
My.Computer.FileSystem.WriteAllText("proxy/manifest.json", manifest, False)
My.Computer.FileSystem.WriteAllText("proxy/background.js", backgrond, False)
Using zip = ZipFile.Open("proxy/" + ip + ".zip", ZipArchiveMode.Create)
'====== Mengcopy data dari background.js ==========
Dim entry1 = zip.CreateEntry("background.js")
entry1.LastWriteTime = DateTimeOffset.Now
Using stream = File.OpenRead("proxy/background.js")
Using entryStream = entry1.Open
stream.CopyTo(entryStream)
End Using
End Using
'====== Mengcopy data dari manifest.json ==========
Dim entry2 = zip.CreateEntry("manifest.json")
entry2.LastWriteTime = DateTimeOffset.Now
Using stream = File.OpenRead("proxy//manifest.json")
Using entryStream = entry2.Open
stream.CopyTo(entryStream)
End Using
End Using
End Using
'============= Hapus mainfest.jsonn dan background.js ===============
My.Computer.FileSystem.DeleteFile("proxy/manifest.json")
My.Computer.FileSystem.DeleteFile("proxy/background.js")
PART 3
Setup Proxy mengambil data dari textbox
MATERI PENDUKUNG Looping
https://www.youtube.com/watch?v=mk0saIYF_wM
Materi Pendukung TextBox
https://www.youtube.com/watch?v=pR74NWIdaME
Materi Pendukung Background Worker
https://www.youtube.com/watch?v=H1TG6rjyG68
BackgroundWorker1.WorkerSupportsCancellation = True
Button Add
Try
BackgroundWorker1.RunWorkerAsync()
Catch ex As Exception
MsgBox("Error Eksekusi")
End Try
Background Worker
Dim allproxy
TextBox1.Invoke(Sub() allproxy = TextBox1.Lines)
TextBox1.Invoke(Sub() TextBox1.Enabled = False)
For Each proxy In allproxy
'IP:PORT:USER:PASSWORD
'IP:PORT::
'Dim proxy = "45.140.13.119:9132:usersaya:passwordsaya"
If Trim(proxy) <> "" Then
proxy = proxy + ":::"
Dim pcproxy = Split(proxy, ":")
Dim ip = pcproxy(0)
Dim port = pcproxy(1)
Dim user = pcproxy(2)
Dim password = pcproxy(3)
'======== File manifest.json =========
Dim manifest = "
{
""version"": ""1.0.0"",
""manifest_version"": 2,
""name"": """ + ip + """,
""permissions"": [
""proxy"",
""tabs"",
""unlimitedStorage"",
""storage"",
"""",
""webRequest"",
""webRequestBlocking""
],
""background"": {
""scripts"": [""background.js""]
},
""minimum_chrome_version"":""22.0.0""
}"
'======== background.js =========
Dim backgrond = "var config = {
mode: ""fixed_servers"",
rules: {
singleProxy: {
scheme: ""http"",
host: """ + ip + """,
port: parseInt(" + port + ")
},
bypassList: [""localhost""]
}
};
chrome.proxy.settings.set({value: config, scope: ""regular""}, function() {});
function callbackFn(details) {
return {
authCredentials: {
username: """ + user + """,
password: """ + password + """
}
};
}
chrome.webRequest.onAuthRequired.addListener(
callbackFn,
{urls: [""""]},
['blocking']
);"
'============= Membuat mainfest.jsonn dan background.js ===============
My.Computer.FileSystem.WriteAllText("proxy/manifest.json", manifest, False)
My.Computer.FileSystem.WriteAllText("proxy/background.js", backgrond, False)
Using zip = ZipFile.Open("proxy/" + ip + ".zip", ZipArchiveMode.Create)
'====== Mengcopy data dari background.js ==========
Dim entry1 = zip.CreateEntry("background.js")
entry1.LastWriteTime = DateTimeOffset.Now
Using stream = File.OpenRead("proxy/background.js")
Using entryStream = entry1.Open
stream.CopyTo(entryStream)
End Using
End Using
'====== Mengcopy data dari manifest.json ==========
Dim entry2 = zip.CreateEntry("manifest.json")
entry2.LastWriteTime = DateTimeOffset.Now
Using stream = File.OpenRead("proxy//manifest.json")
Using entryStream = entry2.Open
stream.CopyTo(entryStream)
End Using
End Using
End Using
'============= Hapus mainfest.jsonn dan background.js ===============
My.Computer.FileSystem.DeleteFile("proxy/manifest.json")
My.Computer.FileSystem.DeleteFile("proxy/background.js")
End If
Next
TextBox1.Invoke(Sub() TextBox1.Enabled = True)
TextBox1.Invoke(Sub() TextBox1.Text = "")
BackgroundWorker1.CancelAsync()
BeginInvoke(Sub() Me.Close())
PART 4
Menampilkan Proxy ke List view
MATERI PENDUKUNG Looping
https://www.youtube.com/watch?v=mk0saIYF_wM
Materi Pendukung File dan Directory
Function showProxy()
ListView1.Items.Clear()
For Each file In My.Computer.FileSystem.GetFiles("proxy")
Dim fname = Split(file, "\").Last
fname = Replace(fname, ".zip", "")
Dim item = ListView1.Items.Add(fname)
Next
Return True
End Function