lanscape 1.2.5a2__tar.gz → 1.2.6a2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/PKG-INFO +72 -72
  2. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/pyproject.toml +8 -6
  3. lanscape-1.2.6a2/setup.cfg +4 -0
  4. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/tests/__init__.py +2 -1
  5. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/tests/_helpers.py +5 -1
  6. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/tests/test_webview.py +3 -3
  7. lanscape-1.2.6a2/src/lanscape.egg-info/PKG-INFO +72 -0
  8. lanscape-1.2.6a2/src/lanscape.egg-info/SOURCES.txt +39 -0
  9. lanscape-1.2.6a2/src/lanscape.egg-info/dependency_links.txt +1 -0
  10. lanscape-1.2.6a2/src/lanscape.egg-info/requires.txt +8 -0
  11. lanscape-1.2.6a2/src/lanscape.egg-info/top_level.txt +1 -0
  12. lanscape-1.2.5a2/.gitattributes +0 -2
  13. lanscape-1.2.5a2/.gitignore +0 -164
  14. lanscape-1.2.5a2/.gitpod.yml +0 -24
  15. lanscape-1.2.5a2/example.py +0 -18
  16. lanscape-1.2.5a2/localrun.py +0 -4
  17. lanscape-1.2.5a2/package.ps1 +0 -20
  18. lanscape-1.2.5a2/requirements.txt +0 -0
  19. lanscape-1.2.5a2/src/lanscape/resources/mac_addresses/mac-vendors-export.csv +0 -51702
  20. lanscape-1.2.5a2/src/lanscape/resources/mac_addresses/mac_db.json +0 -51668
  21. lanscape-1.2.5a2/src/lanscape/resources/ports/full.json +0 -65537
  22. lanscape-1.2.5a2/src/lanscape/resources/ports/large.json +0 -6087
  23. lanscape-1.2.5a2/src/lanscape/resources/ports/medium.json +0 -150
  24. lanscape-1.2.5a2/src/lanscape/resources/ports/service-names-port-numbers.csv +0 -15097
  25. lanscape-1.2.5a2/src/lanscape/resources/ports/small.json +0 -22
  26. lanscape-1.2.5a2/src/lanscape/ui/static/css/style.css +0 -715
  27. lanscape-1.2.5a2/src/lanscape/ui/static/img/ico/android-chrome-192x192.png +0 -0
  28. lanscape-1.2.5a2/src/lanscape/ui/static/img/ico/android-chrome-512x512.png +0 -0
  29. lanscape-1.2.5a2/src/lanscape/ui/static/img/ico/apple-touch-icon.png +0 -0
  30. lanscape-1.2.5a2/src/lanscape/ui/static/img/ico/favicon-16x16.png +0 -0
  31. lanscape-1.2.5a2/src/lanscape/ui/static/img/ico/favicon-32x32.png +0 -0
  32. lanscape-1.2.5a2/src/lanscape/ui/static/img/ico/favicon.ico +0 -0
  33. lanscape-1.2.5a2/src/lanscape/ui/static/img/ico/site.webmanifest +0 -1
  34. lanscape-1.2.5a2/src/lanscape/ui/static/img/readme1.png +0 -0
  35. lanscape-1.2.5a2/src/lanscape/ui/static/js/core.js +0 -39
  36. lanscape-1.2.5a2/src/lanscape/ui/static/js/layout-sizing.js +0 -31
  37. lanscape-1.2.5a2/src/lanscape/ui/static/js/main.js +0 -208
  38. lanscape-1.2.5a2/src/lanscape/ui/static/js/quietReload.js +0 -23
  39. lanscape-1.2.5a2/src/lanscape/ui/static/js/shutdown-server.js +0 -17
  40. lanscape-1.2.5a2/src/lanscape/ui/static/js/subnet-info.js +0 -19
  41. lanscape-1.2.5a2/src/lanscape/ui/static/js/subnet-selector.js +0 -9
  42. lanscape-1.2.5a2/src/lanscape/ui/static/lanscape.webmanifest +0 -19
  43. lanscape-1.2.5a2/src/lanscape/ui/templates/base.html +0 -47
  44. lanscape-1.2.5a2/src/lanscape/ui/templates/core/head.html +0 -10
  45. lanscape-1.2.5a2/src/lanscape/ui/templates/core/scripts.html +0 -5
  46. lanscape-1.2.5a2/src/lanscape/ui/templates/error.html +0 -35
  47. lanscape-1.2.5a2/src/lanscape/ui/templates/info.html +0 -67
  48. lanscape-1.2.5a2/src/lanscape/ui/templates/main.html +0 -89
  49. lanscape-1.2.5a2/src/lanscape/ui/templates/scan/export.html +0 -27
  50. lanscape-1.2.5a2/src/lanscape/ui/templates/scan/ip-table-row.html +0 -103
  51. lanscape-1.2.5a2/src/lanscape/ui/templates/scan/ip-table.html +0 -26
  52. lanscape-1.2.5a2/src/lanscape/ui/templates/scan/overview.html +0 -28
  53. lanscape-1.2.5a2/src/lanscape/ui/templates/scan/scan-error.html +0 -33
  54. lanscape-1.2.5a2/src/lanscape/ui/templates/scan.html +0 -14
  55. lanscape-1.2.5a2/src/lanscape/ui/templates/shutdown.html +0 -23
  56. lanscape-1.2.5a2/test-pyenv.ps1 +0 -92
  57. lanscape-1.2.5a2/test.py +0 -5
  58. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/LICENSE +0 -0
  59. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/README.md +0 -0
  60. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/__init__.py +0 -0
  61. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/__main__.py +0 -0
  62. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/libraries/app_scope.py +0 -0
  63. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/libraries/decorators.py +0 -0
  64. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/libraries/errors.py +0 -0
  65. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/libraries/ip_parser.py +0 -0
  66. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/libraries/logger.py +0 -0
  67. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/libraries/mac_lookup.py +0 -0
  68. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/libraries/net_tools.py +0 -0
  69. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/libraries/port_manager.py +0 -0
  70. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/libraries/runtime_args.py +0 -0
  71. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/libraries/subnet_scan.py +0 -0
  72. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/libraries/version_manager.py +0 -0
  73. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/resources/mac_addresses/convert_csv.py +0 -0
  74. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/resources/ports/convert_csv.py +0 -0
  75. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/tests/test_api.py +0 -0
  76. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/tests/test_env.py +0 -0
  77. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/tests/test_library.py +0 -0
  78. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/ui/app.py +0 -0
  79. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/ui/blueprints/__init__.py +0 -0
  80. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/ui/blueprints/api/__init__.py +0 -0
  81. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/ui/blueprints/api/port.py +0 -0
  82. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/ui/blueprints/api/scan.py +0 -0
  83. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/ui/blueprints/api/tools.py +0 -0
  84. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/ui/blueprints/web/__init__.py +0 -0
  85. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/ui/blueprints/web/routes.py +0 -0
  86. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/ui/main.py +0 -0
  87. {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/ui/webviewer.py +0 -0
@@ -1,72 +1,72 @@
1
- Metadata-Version: 2.4
2
- Name: lanscape
3
- Version: 1.2.5a2
4
- Summary: A python based local network scanner
5
- Project-URL: Homepage, https://github.com/mdennis281/py-lanscape
6
- Project-URL: Issues, https://github.com/mdennis281/py-lanscape/issues
7
- Author-email: Michael Dennis <michael@dipduo.com>
8
- License-File: LICENSE
9
- Classifier: License :: OSI Approved :: MIT License
10
- Classifier: Operating System :: OS Independent
11
- Classifier: Programming Language :: Python :: 3
12
- Requires-Python: <3.14,>=3.8
13
- Requires-Dist: flask<5.0,>=3.0
14
- Requires-Dist: psutil<7.0,>=6.0
15
- Requires-Dist: pytest
16
- Requires-Dist: pywebview<6.0,>=4.2
17
- Requires-Dist: requests<3.0,>=2.32
18
- Requires-Dist: scapy<3.0,>=2.3.2
19
- Requires-Dist: setuptools
20
- Requires-Dist: tabulate==0.9.0
21
- Description-Content-Type: text/markdown
22
-
23
- # LANscape
24
- A python based local network scanner.
25
-
26
- ![screenshot](https://github.com/mdennis281/py-lanscape/raw/main/src/lanscape/ui/static/img/readme1.png)
27
-
28
- ## Local Run
29
- ```sh
30
- pip install lanscape
31
- python -m lanscape
32
- ```
33
-
34
- ## Flags
35
- - `--port <port number>` port of the flask app (default: 5001)
36
- - `--nogui` run in web mode (default: false)
37
- - `--reloader` essentially flask debug mode- good for local development (default: false)
38
- - `--logfile` save log output to lanscape.log
39
- - `--loglevel <level>` set the logger's log level (default: INFO)
40
- - `--headless` similar to nogui but doesnt try to open a browser (default: false)
41
-
42
-
43
- Examples:
44
- ```shell
45
- python -m lanscape --reloader
46
- python -m lanscape --nogui --port 5002
47
- python -m lanscape --logfile --loglevel DEBUG
48
- ```
49
-
50
- ## Troubleshooting
51
-
52
- ### MAC Address / Manufacturer is inaccurate/unknown
53
- The program does an ARP lookup to determine the MAC address. This lookup
54
- can sometimes require admin-level permissions to retrieve accurate results.
55
- *Try elevating your shell before execution.*
56
-
57
- ### Message "WARNING: No libpcap provider available ! pcap won't be used"
58
- This is a missing dependency related to the ARP lookup. This is handled in the code, but you would get marginally faster/better results with this installed: [npcap download](https://npcap.com/#download)
59
-
60
-
61
- ### Unable to start webview client. Try --nogui (Linux)
62
- Linux and QT (GUI package) dont seem to play well with each other very well. If you really want the gui (`python -m lanscape --nogui` is almost as good) I had success on ubuntu desktop by running these:
63
- ```sh
64
- sudo apt install libcairo2-dev libxt-dev libgirepository1.0-dev
65
- pip install pycairo PyGObject qtpy PyQt5 PyQtWebEngine
66
- ```
67
-
68
-
69
- ### Something else
70
- Feel free to submit a github issue detailing your experience.
71
-
72
-
1
+ Metadata-Version: 2.1
2
+ Name: lanscape
3
+ Version: 1.2.6a2
4
+ Summary: A python based local network scanner
5
+ Author-email: Michael Dennis <michael@dipduo.com>
6
+ Project-URL: Homepage, https://github.com/mdennis281/py-lanscape
7
+ Project-URL: Issues, https://github.com/mdennis281/py-lanscape/issues
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Operating System :: OS Independent
11
+ Requires-Python: <=3.13,>=3.8
12
+ Description-Content-Type: text/markdown
13
+ License-File: LICENSE
14
+ Requires-Dist: Flask<5.0,>=3.0
15
+ Requires-Dist: psutil<7.0,>=6.0
16
+ Requires-Dist: requests<3.0,>=2.32
17
+ Requires-Dist: setuptools
18
+ Requires-Dist: pywebview<6.0,>=4.2
19
+ Requires-Dist: scapy<3.0,>=2.3.2
20
+ Requires-Dist: tabulate==0.9.0
21
+ Requires-Dist: pytest
22
+
23
+ # LANscape
24
+ A python based local network scanner.
25
+
26
+ ![screenshot](https://github.com/mdennis281/py-lanscape/raw/main/src/lanscape/ui/static/img/readme1.png)
27
+
28
+ ## Local Run
29
+ ```sh
30
+ pip install lanscape
31
+ python -m lanscape
32
+ ```
33
+
34
+ ## Flags
35
+ - `--port <port number>` port of the flask app (default: 5001)
36
+ - `--nogui` run in web mode (default: false)
37
+ - `--reloader` essentially flask debug mode- good for local development (default: false)
38
+ - `--logfile` save log output to lanscape.log
39
+ - `--loglevel <level>` set the logger's log level (default: INFO)
40
+ - `--headless` similar to nogui but doesnt try to open a browser (default: false)
41
+
42
+
43
+ Examples:
44
+ ```shell
45
+ python -m lanscape --reloader
46
+ python -m lanscape --nogui --port 5002
47
+ python -m lanscape --logfile --loglevel DEBUG
48
+ ```
49
+
50
+ ## Troubleshooting
51
+
52
+ ### MAC Address / Manufacturer is inaccurate/unknown
53
+ The program does an ARP lookup to determine the MAC address. This lookup
54
+ can sometimes require admin-level permissions to retrieve accurate results.
55
+ *Try elevating your shell before execution.*
56
+
57
+ ### Message "WARNING: No libpcap provider available ! pcap won't be used"
58
+ This is a missing dependency related to the ARP lookup. This is handled in the code, but you would get marginally faster/better results with this installed: [npcap download](https://npcap.com/#download)
59
+
60
+
61
+ ### Unable to start webview client. Try --nogui (Linux)
62
+ Linux and QT (GUI package) dont seem to play well with each other very well. If you really want the gui (`python -m lanscape --nogui` is almost as good) I had success on ubuntu desktop by running these:
63
+ ```sh
64
+ sudo apt install libcairo2-dev libxt-dev libgirepository1.0-dev
65
+ pip install pycairo PyGObject qtpy PyQt5 PyQtWebEngine
66
+ ```
67
+
68
+
69
+ ### Something else
70
+ Feel free to submit a github issue detailing your experience.
71
+
72
+
@@ -1,16 +1,12 @@
1
- [build-system]
2
- requires = ["hatchling"]
3
- build-backend = "hatchling.build"
4
-
5
1
  [project]
6
2
  name = "lanscape"
7
- version = "1.2.5a2"
3
+ version = "1.2.6a2"
8
4
  authors = [
9
5
  { name="Michael Dennis", email="michael@dipduo.com" },
10
6
  ]
11
7
  description = "A python based local network scanner"
12
8
  readme = "README.md"
13
- requires-python = ">=3.8,<3.14"
9
+ requires-python = ">=3.8,<=3.13"
14
10
  classifiers = [
15
11
  "Programming Language :: Python :: 3",
16
12
  "License :: OSI Approved :: MIT License",
@@ -29,3 +25,9 @@ dependencies = [
29
25
  [project.urls]
30
26
  Homepage = "https://github.com/mdennis281/py-lanscape"
31
27
  Issues = "https://github.com/mdennis281/py-lanscape/issues"
28
+ [tool.hatch.build]
29
+ include = [
30
+ "lanscape/resources/ports/*.json",
31
+ "lanscape/resources/mac_addresses/*.json",
32
+ "lanscape/resources/ports/small.json"
33
+ ]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -1,4 +1,5 @@
1
1
  from .test_api import ApiTestCase
2
2
  from .test_env import EnvTestCase
3
3
  from .test_library import LibraryTestCase
4
- from .test_webview import WebViewTestCase
4
+ from .test_webview import WebViewTestCase
5
+
@@ -2,6 +2,8 @@
2
2
  from ..libraries.ip_parser import get_address_count
3
3
  import webview, time
4
4
 
5
+ import warnings
6
+
5
7
  from concurrent.futures import ThreadPoolExecutor, Future
6
8
  def right_size_subnet(subnet: str):
7
9
  """
@@ -20,7 +22,6 @@ def webview_client(title, url):
20
22
  def wrapper(*args, **kwargs):
21
23
  baseclass = args[0]
22
24
 
23
- # Create the WebView window
24
25
  window = webview.create_window(title, url)
25
26
 
26
27
  # Create a Future object to communicate results/exceptions
@@ -28,6 +29,9 @@ def webview_client(title, url):
28
29
 
29
30
  # Define the function to run in the secondary thread
30
31
  def test_function():
32
+ # disable resource warning occuring in py >=3.13
33
+ warnings.filterwarnings("ignore", category=ResourceWarning)
34
+
31
35
  try:
32
36
  # Call the decorated function
33
37
  func(baseclass, window, **kwargs)
@@ -1,16 +1,16 @@
1
1
  import webview
2
2
  from ._helpers import webview_client
3
3
  import unittest
4
- import warnings
4
+ from time import sleep
5
+
5
6
 
6
- # Suppress ResourceWarning
7
- warnings.simplefilter("ignore", ResourceWarning)
8
7
 
9
8
  class WebViewTestCase(unittest.TestCase):
10
9
 
11
10
  @webview_client('Test Window','https://google.com')
12
11
  def test_webview_launch(self, client: webview.Window):
13
12
  # This test checks that the window has been created successfully
13
+ sleep(2)
14
14
  self.assertIsNotNone(client,msg="WebView window failed to create.")
15
15
  self.assertEqual(client.title,'Test Window',msg='WebView window title did not match.')
16
16
  self.assertIn('google.com',client.real_url,msg=f'URL mismatch')
@@ -0,0 +1,72 @@
1
+ Metadata-Version: 2.1
2
+ Name: lanscape
3
+ Version: 1.2.6a2
4
+ Summary: A python based local network scanner
5
+ Author-email: Michael Dennis <michael@dipduo.com>
6
+ Project-URL: Homepage, https://github.com/mdennis281/py-lanscape
7
+ Project-URL: Issues, https://github.com/mdennis281/py-lanscape/issues
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Operating System :: OS Independent
11
+ Requires-Python: <=3.13,>=3.8
12
+ Description-Content-Type: text/markdown
13
+ License-File: LICENSE
14
+ Requires-Dist: Flask<5.0,>=3.0
15
+ Requires-Dist: psutil<7.0,>=6.0
16
+ Requires-Dist: requests<3.0,>=2.32
17
+ Requires-Dist: setuptools
18
+ Requires-Dist: pywebview<6.0,>=4.2
19
+ Requires-Dist: scapy<3.0,>=2.3.2
20
+ Requires-Dist: tabulate==0.9.0
21
+ Requires-Dist: pytest
22
+
23
+ # LANscape
24
+ A python based local network scanner.
25
+
26
+ ![screenshot](https://github.com/mdennis281/py-lanscape/raw/main/src/lanscape/ui/static/img/readme1.png)
27
+
28
+ ## Local Run
29
+ ```sh
30
+ pip install lanscape
31
+ python -m lanscape
32
+ ```
33
+
34
+ ## Flags
35
+ - `--port <port number>` port of the flask app (default: 5001)
36
+ - `--nogui` run in web mode (default: false)
37
+ - `--reloader` essentially flask debug mode- good for local development (default: false)
38
+ - `--logfile` save log output to lanscape.log
39
+ - `--loglevel <level>` set the logger's log level (default: INFO)
40
+ - `--headless` similar to nogui but doesnt try to open a browser (default: false)
41
+
42
+
43
+ Examples:
44
+ ```shell
45
+ python -m lanscape --reloader
46
+ python -m lanscape --nogui --port 5002
47
+ python -m lanscape --logfile --loglevel DEBUG
48
+ ```
49
+
50
+ ## Troubleshooting
51
+
52
+ ### MAC Address / Manufacturer is inaccurate/unknown
53
+ The program does an ARP lookup to determine the MAC address. This lookup
54
+ can sometimes require admin-level permissions to retrieve accurate results.
55
+ *Try elevating your shell before execution.*
56
+
57
+ ### Message "WARNING: No libpcap provider available ! pcap won't be used"
58
+ This is a missing dependency related to the ARP lookup. This is handled in the code, but you would get marginally faster/better results with this installed: [npcap download](https://npcap.com/#download)
59
+
60
+
61
+ ### Unable to start webview client. Try --nogui (Linux)
62
+ Linux and QT (GUI package) dont seem to play well with each other very well. If you really want the gui (`python -m lanscape --nogui` is almost as good) I had success on ubuntu desktop by running these:
63
+ ```sh
64
+ sudo apt install libcairo2-dev libxt-dev libgirepository1.0-dev
65
+ pip install pycairo PyGObject qtpy PyQt5 PyQtWebEngine
66
+ ```
67
+
68
+
69
+ ### Something else
70
+ Feel free to submit a github issue detailing your experience.
71
+
72
+
@@ -0,0 +1,39 @@
1
+ LICENSE
2
+ README.md
3
+ pyproject.toml
4
+ src/lanscape/__init__.py
5
+ src/lanscape/__main__.py
6
+ src/lanscape.egg-info/PKG-INFO
7
+ src/lanscape.egg-info/SOURCES.txt
8
+ src/lanscape.egg-info/dependency_links.txt
9
+ src/lanscape.egg-info/requires.txt
10
+ src/lanscape.egg-info/top_level.txt
11
+ src/lanscape/libraries/app_scope.py
12
+ src/lanscape/libraries/decorators.py
13
+ src/lanscape/libraries/errors.py
14
+ src/lanscape/libraries/ip_parser.py
15
+ src/lanscape/libraries/logger.py
16
+ src/lanscape/libraries/mac_lookup.py
17
+ src/lanscape/libraries/net_tools.py
18
+ src/lanscape/libraries/port_manager.py
19
+ src/lanscape/libraries/runtime_args.py
20
+ src/lanscape/libraries/subnet_scan.py
21
+ src/lanscape/libraries/version_manager.py
22
+ src/lanscape/resources/mac_addresses/convert_csv.py
23
+ src/lanscape/resources/ports/convert_csv.py
24
+ src/lanscape/tests/__init__.py
25
+ src/lanscape/tests/_helpers.py
26
+ src/lanscape/tests/test_api.py
27
+ src/lanscape/tests/test_env.py
28
+ src/lanscape/tests/test_library.py
29
+ src/lanscape/tests/test_webview.py
30
+ src/lanscape/ui/app.py
31
+ src/lanscape/ui/main.py
32
+ src/lanscape/ui/webviewer.py
33
+ src/lanscape/ui/blueprints/__init__.py
34
+ src/lanscape/ui/blueprints/api/__init__.py
35
+ src/lanscape/ui/blueprints/api/port.py
36
+ src/lanscape/ui/blueprints/api/scan.py
37
+ src/lanscape/ui/blueprints/api/tools.py
38
+ src/lanscape/ui/blueprints/web/__init__.py
39
+ src/lanscape/ui/blueprints/web/routes.py
@@ -0,0 +1,8 @@
1
+ Flask<5.0,>=3.0
2
+ psutil<7.0,>=6.0
3
+ requests<3.0,>=2.32
4
+ setuptools
5
+ pywebview<6.0,>=4.2
6
+ scapy<3.0,>=2.3.2
7
+ tabulate==0.9.0
8
+ pytest
@@ -0,0 +1 @@
1
+ lanscape
@@ -1,2 +0,0 @@
1
- # Auto detect text files and perform LF normalization
2
- * text=auto
@@ -1,164 +0,0 @@
1
- # Byte-compiled / optimized / DLL files
2
- __pycache__/
3
- *.py[cod]
4
- *$py.class
5
-
6
- # C extensions
7
- *.so
8
-
9
- # Distribution / packaging
10
- .Python
11
- build/
12
- develop-eggs/
13
- dist/
14
- downloads/
15
- eggs/
16
- .eggs/
17
- lib/
18
- lib64/
19
- parts/
20
- sdist/
21
- var/
22
- wheels/
23
- share/python-wheels/
24
- *.egg-info/
25
- .installed.cfg
26
- *.egg
27
- MANIFEST
28
-
29
- # PyInstaller
30
- # Usually these files are written by a python script from a template
31
- # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
- *.manifest
33
- *.spec
34
-
35
- # Installer logs
36
- pip-log.txt
37
- pip-delete-this-directory.txt
38
-
39
- # Unit test / coverage reports
40
- htmlcov/
41
- .tox/
42
- .nox/
43
- .coverage
44
- .coverage.*
45
- .cache
46
- nosetests.xml
47
- coverage.xml
48
- *.cover
49
- *.py,cover
50
- .hypothesis/
51
- .pytest_cache/
52
- cover/
53
-
54
- # Translations
55
- *.mo
56
- *.pot
57
-
58
- # Django stuff:
59
- *.log
60
- local_settings.py
61
- db.sqlite3
62
- db.sqlite3-journal
63
-
64
- # Flask stuff:
65
- instance/
66
- .webassets-cache
67
-
68
- # Scrapy stuff:
69
- .scrapy
70
-
71
- # Sphinx documentation
72
- docs/_build/
73
-
74
- # PyBuilder
75
- .pybuilder/
76
- target/
77
-
78
- # Jupyter Notebook
79
- .ipynb_checkpoints
80
-
81
- # IPython
82
- profile_default/
83
- ipython_config.py
84
-
85
- # pyenv
86
- # For a library or package, you might want to ignore these files since the code is
87
- # intended to run in multiple environments; otherwise, check them in:
88
- # .python-version
89
-
90
- # pipenv
91
- # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92
- # However, in case of collaboration, if having platform-specific dependencies or dependencies
93
- # having no cross-platform support, pipenv may install dependencies that don't work, or not
94
- # install all needed dependencies.
95
- #Pipfile.lock
96
-
97
- # poetry
98
- # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
99
- # This is especially recommended for binary packages to ensure reproducibility, and is more
100
- # commonly ignored for libraries.
101
- # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
102
- #poetry.lock
103
-
104
- # PEP 582; used by e.g. github.com/David-OConnor/pyflow
105
- __pypackages__/
106
-
107
- # Celery stuff
108
- celerybeat-schedule
109
- celerybeat.pid
110
-
111
- # SageMath parsed files
112
- *.sage.py
113
-
114
- # Environments
115
- .env
116
- .venv
117
- env/
118
- venv/
119
- ENV/
120
- env.bak/
121
- venv.bak/
122
-
123
- # Spyder project settings
124
- .spyderproject
125
- .spyproject
126
-
127
- # Rope project settings
128
- .ropeproject
129
-
130
- # mkdocs documentation
131
- /site
132
-
133
- # mypy
134
- .mypy_cache/
135
- .dmypy.json
136
- dmypy.json
137
-
138
- # Pyre type checker
139
- .pyre/
140
-
141
- # pytype static type analyzer
142
- .pytype/
143
-
144
- # Cython debug symbols
145
- cython_debug/
146
-
147
- # PyCharm
148
- # JetBrains specific template is maintainted in a separate JetBrains.gitignore that can
149
- # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
150
- # and can be added to the global gitignore or merged into this file. For a more nuclear
151
- # option (not recommended) you can uncomment the following to ignore the entire idea folder.
152
- #.idea/
153
-
154
-
155
- # Runtime generated
156
- lanscape-jobs/*.json
157
-
158
- # pyenv tests
159
- .venv*
160
-
161
-
162
- # tauri stuff
163
- node_modules
164
- setup_tauri
@@ -1,24 +0,0 @@
1
- # This configuration file was automatically generated by Gitpod.
2
- # Please adjust to your needs (see https://www.gitpod.io/docs/introduction/learn-gitpod/gitpod-yaml)
3
- # and commit this file to your remote git repository to share the goodness with others.
4
-
5
- # Learn more from ready-to-use templates: https://www.gitpod.io/docs/introduction/getting-started/quickstart
6
-
7
- tasks:
8
- - init: |
9
- sudo apt-get update && sudo apt-get install -y python3 python3-venv
10
- sudo python3 -m venv .venv
11
- sudo .venv/bin/pip install --upgrade pip
12
- sudo .venv/bin/pip install -r requirements.txt
13
- command: |
14
- sudo .venv/bin/python test.py
15
- - init: pip install -r requirements.txt
16
- command: python localrun.py --port 8080 --nogui --reloader --loglevel DEBUG
17
-
18
-
19
-
20
- ports:
21
- - name: Web App
22
- description: The main application web server
23
- port: 8080
24
- onOpen: open-browser
@@ -1,18 +0,0 @@
1
- from src.lanscape import ScanManager, ScanConfig, net_tools
2
-
3
- sm = ScanManager()
4
-
5
- cfg = ScanConfig(
6
- subnet= net_tools.smart_select_primary_subnet(),
7
- port_list='small',
8
- parallelism=1
9
- )
10
-
11
- try:
12
- scan = sm.new_scan(cfg)
13
-
14
- scan.debug_active_scan()
15
- except KeyboardInterrupt:
16
- scan.terminate()
17
-
18
- print(scan.results)
@@ -1,4 +0,0 @@
1
- from src.lanscape.ui.main import main
2
-
3
- if __name__ == "__main__":
4
- main()
@@ -1,20 +0,0 @@
1
- # Run Python unit tests
2
- $unittestResult = python -m unittest
3
-
4
- # Check if the tests succeeded
5
- if ($LASTEXITCODE -eq 0) {
6
- # Remove files in dist directory
7
- Remove-Item -Path .\dist\* -Recurse -Force
8
-
9
- # Upgrade pip and build the package
10
- py -m pip install --upgrade pip
11
- py -m pip install --upgrade build
12
- py -m build
13
-
14
- # Upgrade twine and upload the package
15
- py -m pip install --upgrade twine
16
- py -m twine upload --repository pypi dist/*
17
- } else {
18
- Write-Host "Unit tests failed. Exiting script." -ForegroundColor Red
19
- exit $LASTEXITCODE
20
- }
Binary file