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.
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/PKG-INFO +72 -72
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/pyproject.toml +8 -6
- lanscape-1.2.6a2/setup.cfg +4 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/tests/__init__.py +2 -1
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/tests/_helpers.py +5 -1
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/tests/test_webview.py +3 -3
- lanscape-1.2.6a2/src/lanscape.egg-info/PKG-INFO +72 -0
- lanscape-1.2.6a2/src/lanscape.egg-info/SOURCES.txt +39 -0
- lanscape-1.2.6a2/src/lanscape.egg-info/dependency_links.txt +1 -0
- lanscape-1.2.6a2/src/lanscape.egg-info/requires.txt +8 -0
- lanscape-1.2.6a2/src/lanscape.egg-info/top_level.txt +1 -0
- lanscape-1.2.5a2/.gitattributes +0 -2
- lanscape-1.2.5a2/.gitignore +0 -164
- lanscape-1.2.5a2/.gitpod.yml +0 -24
- lanscape-1.2.5a2/example.py +0 -18
- lanscape-1.2.5a2/localrun.py +0 -4
- lanscape-1.2.5a2/package.ps1 +0 -20
- lanscape-1.2.5a2/requirements.txt +0 -0
- lanscape-1.2.5a2/src/lanscape/resources/mac_addresses/mac-vendors-export.csv +0 -51702
- lanscape-1.2.5a2/src/lanscape/resources/mac_addresses/mac_db.json +0 -51668
- lanscape-1.2.5a2/src/lanscape/resources/ports/full.json +0 -65537
- lanscape-1.2.5a2/src/lanscape/resources/ports/large.json +0 -6087
- lanscape-1.2.5a2/src/lanscape/resources/ports/medium.json +0 -150
- lanscape-1.2.5a2/src/lanscape/resources/ports/service-names-port-numbers.csv +0 -15097
- lanscape-1.2.5a2/src/lanscape/resources/ports/small.json +0 -22
- lanscape-1.2.5a2/src/lanscape/ui/static/css/style.css +0 -715
- lanscape-1.2.5a2/src/lanscape/ui/static/img/ico/android-chrome-192x192.png +0 -0
- lanscape-1.2.5a2/src/lanscape/ui/static/img/ico/android-chrome-512x512.png +0 -0
- lanscape-1.2.5a2/src/lanscape/ui/static/img/ico/apple-touch-icon.png +0 -0
- lanscape-1.2.5a2/src/lanscape/ui/static/img/ico/favicon-16x16.png +0 -0
- lanscape-1.2.5a2/src/lanscape/ui/static/img/ico/favicon-32x32.png +0 -0
- lanscape-1.2.5a2/src/lanscape/ui/static/img/ico/favicon.ico +0 -0
- lanscape-1.2.5a2/src/lanscape/ui/static/img/ico/site.webmanifest +0 -1
- lanscape-1.2.5a2/src/lanscape/ui/static/img/readme1.png +0 -0
- lanscape-1.2.5a2/src/lanscape/ui/static/js/core.js +0 -39
- lanscape-1.2.5a2/src/lanscape/ui/static/js/layout-sizing.js +0 -31
- lanscape-1.2.5a2/src/lanscape/ui/static/js/main.js +0 -208
- lanscape-1.2.5a2/src/lanscape/ui/static/js/quietReload.js +0 -23
- lanscape-1.2.5a2/src/lanscape/ui/static/js/shutdown-server.js +0 -17
- lanscape-1.2.5a2/src/lanscape/ui/static/js/subnet-info.js +0 -19
- lanscape-1.2.5a2/src/lanscape/ui/static/js/subnet-selector.js +0 -9
- lanscape-1.2.5a2/src/lanscape/ui/static/lanscape.webmanifest +0 -19
- lanscape-1.2.5a2/src/lanscape/ui/templates/base.html +0 -47
- lanscape-1.2.5a2/src/lanscape/ui/templates/core/head.html +0 -10
- lanscape-1.2.5a2/src/lanscape/ui/templates/core/scripts.html +0 -5
- lanscape-1.2.5a2/src/lanscape/ui/templates/error.html +0 -35
- lanscape-1.2.5a2/src/lanscape/ui/templates/info.html +0 -67
- lanscape-1.2.5a2/src/lanscape/ui/templates/main.html +0 -89
- lanscape-1.2.5a2/src/lanscape/ui/templates/scan/export.html +0 -27
- lanscape-1.2.5a2/src/lanscape/ui/templates/scan/ip-table-row.html +0 -103
- lanscape-1.2.5a2/src/lanscape/ui/templates/scan/ip-table.html +0 -26
- lanscape-1.2.5a2/src/lanscape/ui/templates/scan/overview.html +0 -28
- lanscape-1.2.5a2/src/lanscape/ui/templates/scan/scan-error.html +0 -33
- lanscape-1.2.5a2/src/lanscape/ui/templates/scan.html +0 -14
- lanscape-1.2.5a2/src/lanscape/ui/templates/shutdown.html +0 -23
- lanscape-1.2.5a2/test-pyenv.ps1 +0 -92
- lanscape-1.2.5a2/test.py +0 -5
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/LICENSE +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/README.md +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/__init__.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/__main__.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/libraries/app_scope.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/libraries/decorators.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/libraries/errors.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/libraries/ip_parser.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/libraries/logger.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/libraries/mac_lookup.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/libraries/net_tools.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/libraries/port_manager.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/libraries/runtime_args.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/libraries/subnet_scan.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/libraries/version_manager.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/resources/mac_addresses/convert_csv.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/resources/ports/convert_csv.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/tests/test_api.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/tests/test_env.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/tests/test_library.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/ui/app.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/ui/blueprints/__init__.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/ui/blueprints/api/__init__.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/ui/blueprints/api/port.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/ui/blueprints/api/scan.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/ui/blueprints/api/tools.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/ui/blueprints/web/__init__.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/ui/blueprints/web/routes.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/ui/main.py +0 -0
- {lanscape-1.2.5a2 → lanscape-1.2.6a2}/src/lanscape/ui/webviewer.py +0 -0
|
@@ -1,72 +1,72 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
2
|
-
Name: lanscape
|
|
3
|
-
Version: 1.2.
|
|
4
|
-
Summary: A python based local network scanner
|
|
5
|
-
|
|
6
|
-
Project-URL:
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
10
|
-
Classifier: Operating System :: OS Independent
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
Requires-Dist:
|
|
15
|
-
Requires-Dist:
|
|
16
|
-
Requires-Dist:
|
|
17
|
-
Requires-Dist:
|
|
18
|
-
Requires-Dist:
|
|
19
|
-
Requires-Dist:
|
|
20
|
-
Requires-Dist: tabulate==0.9.0
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
# LANscape
|
|
24
|
-
A python based local network scanner.
|
|
25
|
-
|
|
26
|
-

|
|
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
|
+

|
|
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.
|
|
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
|
|
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
|
+
]
|
|
@@ -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
|
|
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
|
+

|
|
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 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
lanscape
|
lanscape-1.2.5a2/.gitattributes
DELETED
lanscape-1.2.5a2/.gitignore
DELETED
|
@@ -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
|
lanscape-1.2.5a2/.gitpod.yml
DELETED
|
@@ -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
|
lanscape-1.2.5a2/example.py
DELETED
|
@@ -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)
|
lanscape-1.2.5a2/localrun.py
DELETED
lanscape-1.2.5a2/package.ps1
DELETED
|
@@ -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
|