mirror of
https://github.com/shmilylty/OneForAll.git
synced 2026-08-26 12:57:50 +08:00
Add type param to dbexport.py
This commit is contained in:
+24
-4
@@ -19,13 +19,14 @@ def domain_to_table(table):
|
|||||||
return table.replace('.', '_') + "_now_result"
|
return table.replace('.', '_') + "_now_result"
|
||||||
|
|
||||||
|
|
||||||
def export(target, db=None, alive=False, limit=None, path=None, format='csv', show=False):
|
def export(target, type='target', db=None, alive=False, limit=None, path=None, format='csv', show=False):
|
||||||
"""
|
"""
|
||||||
OneForAll export from database module
|
OneForAll export from database module
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
python3 dbexport.py --target name --format csv --dir= ./result.csv
|
python3 dbexport.py --target name --format csv --dir= ./result.csv
|
||||||
python3 dbexport.py --db result.db --target name --show False
|
python3 dbexport.py --db result.db --target name --show False
|
||||||
|
python3 dbexport.py --target table_name --tb True --show False
|
||||||
|
|
||||||
Note:
|
Note:
|
||||||
--alive True/False Only export alive subdomains or not (default False)
|
--alive True/False Only export alive subdomains or not (default False)
|
||||||
@@ -33,6 +34,7 @@ def export(target, db=None, alive=False, limit=None, path=None, format='csv', sh
|
|||||||
--path Result directory (default directory is ./results)
|
--path Result directory (default directory is ./results)
|
||||||
|
|
||||||
:param str target: Table to be exported
|
:param str target: Table to be exported
|
||||||
|
:param str type: Type of target
|
||||||
:param str db: Database path to be exported (default ./results/result.sqlite3)
|
:param str db: Database path to be exported (default ./results/result.sqlite3)
|
||||||
:param bool alive: Only export the results of alive subdomains (default False)
|
:param bool alive: Only export the results of alive subdomains (default False)
|
||||||
:param str limit: Export limit (default None)
|
:param str limit: Export limit (default None)
|
||||||
@@ -41,6 +43,7 @@ def export(target, db=None, alive=False, limit=None, path=None, format='csv', sh
|
|||||||
:param bool show: Displays the exported data in terminal (default False)
|
:param bool show: Displays the exported data in terminal (default False)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if type == 'target':
|
||||||
database = Database(db)
|
database = Database(db)
|
||||||
domains = utils.get_domains(target)
|
domains = utils.get_domains(target)
|
||||||
datas = []
|
datas = []
|
||||||
@@ -51,15 +54,32 @@ def export(target, db=None, alive=False, limit=None, path=None, format='csv', sh
|
|||||||
if rows is None:
|
if rows is None:
|
||||||
continue
|
continue
|
||||||
format = utils.check_format(format, len(rows))
|
format = utils.check_format(format, len(rows))
|
||||||
|
path = utils.check_path(path, target, format)
|
||||||
if show:
|
if show:
|
||||||
print(rows.dataset)
|
print(rows.dataset)
|
||||||
|
data = rows.export(format)
|
||||||
|
utils.save_data(path, data)
|
||||||
|
logger.log('ALERT', f'The subdomain result for {table_name}: {path}')
|
||||||
data = rows.as_dict()
|
data = rows.as_dict()
|
||||||
datas.extend(data)
|
datas.extend(data)
|
||||||
database.close()
|
database.close()
|
||||||
if datas:
|
if len(domains) > 1:
|
||||||
utils.export_all(alive, format, path, datas)
|
utils.export_all(alive, format, path, datas)
|
||||||
|
elif type == 'table':
|
||||||
|
database = Database(db)
|
||||||
|
rows = database.export_data(target, alive, limit)
|
||||||
|
format = utils.check_format(format, len(rows))
|
||||||
|
path = utils.check_path(path, target, format)
|
||||||
|
if show:
|
||||||
|
print(rows.dataset)
|
||||||
|
data = rows.export(format)
|
||||||
|
database.close()
|
||||||
|
utils.save_data(path, data)
|
||||||
|
logger.log('ALERT', f'The subdomain result for {target}: {path}')
|
||||||
|
data_dict = rows.as_dict()
|
||||||
|
return data_dict
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
# fire.Fire(export)
|
fire.Fire(export)
|
||||||
export('example.com')
|
# export('example.com')
|
||||||
|
|||||||
+1
-1
@@ -129,7 +129,7 @@ class OneForAll(object):
|
|||||||
:rtype: list
|
:rtype: list
|
||||||
"""
|
"""
|
||||||
db = Database()
|
db = Database()
|
||||||
data = dbexport.export(table, alive=self.alive, format=self.format)
|
data = dbexport.export(table, type='table', alive=self.alive, format=self.format)
|
||||||
db.drop_table(self.new_table)
|
db.drop_table(self.new_table)
|
||||||
db.rename_table(self.domain, self.new_table)
|
db.rename_table(self.domain, self.new_table)
|
||||||
db.close()
|
db.close()
|
||||||
|
|||||||
Reference in New Issue
Block a user