MCPcopy
hub / github.com/angryip/ipscan

github.com/angryip/ipscan @3.9.3 sqlite

repository ↗ · DeepWiki ↗ · release 3.9.3 ↗
1,587 symbols 4,813 edges 233 files 377 documented · 24%
README

Angry IP Scanner

This is the source code of Angry IP Scanner, licensed with GPL v2. Official site

The code is written mostly in Java. SWT library from Eclipse project is used for GUI that provides native components for each supported platform.

The project runs on Linux, Windows and macOS.

Helping / Contributing

As there are millions of different networks, configurations and devices, please help with submitting a Pull Request if something doesn't work as you expect (especially macOS users). Any problem is easy to fix if you have an environment to reproduce it 😀

For that, download Intellij IDEA community edition and open the cloned project. Then, you can run Angry IP Scanner in Debug mode and put a breakpoint into the desired Fetcher class.

Building Actions Status

Use Gradle for building a package for your desired platform:

./gradlew or make in the project dir for the list of available targets.

./gradlew current would build the app for your current platform

The resulting binaries will be put into the build/libs directory. Run jar files with java -jar <jar-file>.

Deb and rpm packages can be built only on Linux (tested on Ubuntu). Windows installer can be built on Windows only.

./gradlew all will build packages for all OS (tested on Ubuntu only, see dependencies below).

Dependencies

On Ubuntu install the following packages:

sudo apt install openjdk-21-jdk rpm fakeroot

Install OpenJDK on other platforms as you usually do it.

Extension points exported contracts — how you extend this code

StateTransitionListener (Interface)
StateTransitionListener @author Anton Keks [17 implementers]
src/net/azib/ipscan/core/state/StateTransitionListener.java
Pinger (Interface)
Pingers check if hosts are alive @author Anton Keks [7 implementers]
src/net/azib/ipscan/core/net/Pinger.java
FetcherPrefs (Interface)
FetcherPrefs - an interface to implement for Fetcher preferences editor classes. @author Anton Keks [10 implementers]
src/net/azib/ipscan/fetchers/FetcherPrefs.java
FeederRegistry (Interface)
FeederRegistry @author Anton Keks [4 implementers]
src/net/azib/ipscan/feeders/FeederRegistry.java
ScanningProgressCallback (Interface)
This callback is called on scanning state updates. @author Anton Keks [2 implementers]
src/net/azib/ipscan/core/ScanningProgressCallback.java

Core symbols most depended-on inside this repo

getLabel
called by 233
src/net/azib/ipscan/config/Labels.java
setText
called by 199
src/net/azib/ipscan/gui/InputDialog.java
getAddress
called by 119
src/net/azib/ipscan/core/ScanningResult.java
get
called by 110
src/net/azib/ipscan/config/Labels.java
add
called by 76
src/net/azib/ipscan/config/OpenersConfig.java
toString
called by 65
src/net/azib/ipscan/core/values/NotScanned.java
addListener
called by 63
src/net/azib/ipscan/fetchers/FetcherRegistry.java
getName
called by 60
src/net/azib/ipscan/core/Plugin.java

Shape

Method 1,242
Class 325
Interface 16
Enum 4

Languages

Java100%

Modules by API surface

src/net/azib/ipscan/gui/actions/ToolsActions.java36 symbols
src/net/azib/ipscan/core/ScanningResultList.java29 symbols
src/net/azib/ipscan/gui/actions/CommandsMenuActions.java27 symbols
src/net/azib/ipscan/gui/actions/HelpMenuActions.java26 symbols
src/net/azib/ipscan/gui/actions/GotoMenuActions.java26 symbols
src/net/azib/ipscan/core/net/WinIpHlpDll.java22 symbols
test/net/azib/ipscan/core/ScannerTest.java21 symbols
src/net/azib/ipscan/gui/actions/ScanMenuActions.java21 symbols
test/net/azib/ipscan/core/ScanningResultListTest.java20 symbols
src/net/azib/ipscan/core/ScanningSubject.java20 symbols
src/net/azib/ipscan/gui/feeders/RangeFeederGUI.java19 symbols
src/net/azib/ipscan/gui/PreferencesDialog.java17 symbols

For agents

$ claude mcp add ipscan \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact