| skipped 15 lines |
16 | 16 | | from java.awt import Font, Color |
17 | 17 | | from threading import Thread |
18 | 18 | | from array import array |
| 19 | + | from java.awt import EventQueue |
| 20 | + | from java.lang import Runnable |
| 21 | + | from thread import start_new_thread |
| 22 | + | |
| 23 | + | # Using the Runnable class for thread-safety with Swing |
| 24 | + | class Run(Runnable): |
| 25 | + | def __init__(self, runner): |
| 26 | + | self.runner = runner |
| 27 | + | |
| 28 | + | def run(self): |
| 29 | + | self.runner() |
| 30 | + | |
19 | 31 | | |
20 | 32 | | class BurpExtender(IBurpExtender, IScannerCheck, ITab): |
21 | 33 | | def registerExtenderCallbacks(self, callbacks): |
| skipped 86 lines |
108 | 120 | | def consolidateDuplicateIssues(self, isb, isa): |
109 | 121 | | return -1 |
110 | 122 | | |
| 123 | + | def extensionUnloaded(self): |
| 124 | + | print "Burp JS LinkFinder unloaded" |
| 125 | + | return |
111 | 126 | | |
112 | 127 | | class linkAnalyse(): |
113 | 128 | | |
| skipped 63 lines |
177 | 192 | | filtered_items.append(item) |
178 | 193 | | return filtered_items |
179 | 194 | | |
| 195 | + | # Potential for use in the future... |
| 196 | + | def threadAnalysis(self): |
| 197 | + | thread = Thread(target=self.analyseURL(), args=(session,)) |
| 198 | + | thread.daemon = True |
| 199 | + | thread.start() |
180 | 200 | | |
181 | 201 | | def analyseURL(self): |
| 202 | + | |
182 | 203 | | endpoints = "" |
183 | 204 | | #print("TEST AnalyseURL #1") |
184 | 205 | | mime_type=self.helpers.analyzeResponse(self.reqres.getResponse()).getStatedMimeType() |
| skipped 58 lines |
243 | 264 | | return self.reqres.getHttpService() |
244 | 265 | | |
245 | 266 | | |
246 | | - | |
| 267 | + | if __name__ in ('__main__', 'main'): |
| 268 | + | EventQueue.invokeLater(Run(BurpExtender)) |
247 | 269 | | |