Repository for the Nexus Client software.

Overview

LinkScope Client

Description

This is the repository for the LinkScope Client Online Investigation software. LinkScope allows you to perform online investigations by representing information as discrete pieces of data, called Entities. These Entities can then be explored through Resolutions, which take the attributes of Entities as input, and resolve them to different, but connected, pieces of information. In such a way, one can create a knowledge graph (or abstract art) for any particular domain, which should help investigators easily discover answers and insights that otherwise might have been hard to extract.

Features

Some notable features of LinkScope include:

Client

  • Graph visualisation of information and their relationships
  • Drag and drop interface to add new data
  • Timeline of events based on creation date of entities
  • Import browser tabs and take screenshots of your session
  • Display locations on a world map
  • Easily extensible to suit your specific needs

Server

  • Collaborate with others live on projects
  • Extract sentiment, entities and relationships from files
  • Extract text from over 100 types of documents, and get summaries of the content for large files
  • Ask the Oracle a question about the data, and receive an answer with context

Installation

Supported Platforms

Currently, Linux (Ubuntu, but most Debian derivatives should work) and Windows 10 are supported.

The versions differ slightly because a graph-related library is not available for Windows. This means that the Windows and the Linux build and code differ slightly from each other - where Linux uses SFDP graph layout, Windows uses Neato. Practically, the difference should not be noticable. Windows has a few more visual bugs than Linux, but both versions should function the same.

This repository has the code for the Linux version, with the Windows alternative code commented out where applicable.

Installing Dependencies

Some dependencies need to be installed in order for the software to work properly. After downloading the release correspoding to your platform from the Releases tab, please perform the following steps to install the required dependencies:

  1. Linux
  2. Windows

Helpful link for those unfamiliar with adding binaries to their PATH: https://zwbetz.com/how-to-add-a-binary-to-your-path-on-macos-linux-windows/

Releases (most recent one on the top): https://github.com/AccentuSoft/LinkScope_Client/releases

The software comes packaged in a 7zip archive. Uncompress the archive, and double-click the executable to start the software. On Windows, the executable should be named 'LinkScope.exe'. On Linux, it should be named 'LinkScope'.

Running from source

One could also clone the repository and run the software as-is.

On Linux, the dependencies and requirements (in requirements.txt) need to be installed, and then one can run the software by executing LinkScope.py.

On Windows, the dependencies and requirements need to be installed, as well as the python-magic-bin library. This is done as follows:

pip install python-magic-bin

Then, the Linux-specific functions need to be changed to the Windows version. Currently, this is just the 'rearrangeGraph' function in Core/Interface/CentralPane. The comments at that location indicate the required changes.

Extending the software

LinkScope was built from the ground up to be modular! In this repository's wiki, there are instructions on how to create your own modules, which can contain custom Entities and Resolutions. There is also an example module in the Modules directory that can act as a template, and has a verbose description of most things that a module creator should need to consider.

Security and safety

Some warnings about using the software:

Do NOT open any kind of project file given to you by untrusted sources.

Maliciously crafted files can be used to potentially execute arbitrary code on your computer. The safe way of importing work from others is by having the source export their database as a GraphML file, which another user can then import.

Do NOT use Resolutions obtained by untrusted sources.

Resolutions are essentially Python code that ingests information from various data sources. Make sure that the people providing you with code to run are trustworthy, and that you inspect all the modules you use before installing them. Pre-compiled binaries on systems without Python installed are not able to install new resolutions, so compiling custom versions of the client to suit your investigators' needs should effectively mitigate this risk.

Further reading

If you are interested in more information about using the software, tutorials and case studies, check out our blog at https://accentusoft.com/blog/.

If you would like to contribute a post about your use of the software, please send an email to [email protected].

Comments
  • Linkscape crashes at 3.-4. resolution

    Linkscape crashes at 3.-4. resolution

    In addition to issue #13 Linkscope crashes with an empty error message usually after 3 or 4 resolutions. Again, latest portable Linkscope on Windows 11

    2022-03-05 14_46_05-

    opened by rollerjunge 3
  • Resolving new nodes for resoluition stuck at 66%

    Resolving new nodes for resoluition stuck at 66%

    Hi, I'm new to linkscope, found it at reddit and I'm just trrying out wether its a serious competition for maltego. Therefore sorry for incorrect wording.

    Whenever i use a resolution (?) , new nodes will be created. All new nodes appear on the same spot. Shortly after, usually when i distribute them menually on the graph window, the shown dialogue appears. It takes some minutes until it disappears.

    i use the current portable version of Linkscope (downloaded it yesterday) on Windows 11. 2022-03-05 14_25_28-Greenshot

    opened by rollerjunge 3
  • Resolution categories, keywords & Search engine

    Resolution categories, keywords & Search engine

    Make it easier to search for resolutions that do what the user wants. Potentially create a search engine that allows for searching resolutions by keywords, result types etc.

    opened by AccentuSoft 2
  • Performance issue with a lot of nodes on screen

    Performance issue with a lot of nodes on screen

    We are aware that creating a lot of nodes causes the software to stutter.

    We will be revising the canvas drawing code, and trying to optimize it to handle more entities on the screen.

    opened by AccentuSoft 2
  • Transition to a compiled Python binary & Update installer

    Transition to a compiled Python binary & Update installer

    We are aware of certain issues affecting a few resolutions when utilizing pre-compiled binaries. This is due to how PyInstaller creates standalone applications, and is difficult to remediate.

    For version 1.3.8.0, we will provide binaries compiled with Nuitka, and assess how we want to move forwards.

    bug enhancement 
    opened by AccentuSoft 1
  • Shortcut creation does not reliably work on the latest Linux kernel versions

    Shortcut creation does not reliably work on the latest Linux kernel versions

    Shortcut creation on GNOME desktops is unreliable, and often requires manual intervention (i.e. right click -> allow launching).

    In older versions, setting a .desktop file as trusted and refreshing the desktop worked; however this does not appear to be the case any more.

    What will most likely happen is the shortcut creation functionality will only create the .desktop file, and will let the user know they need to manually allow launching to have the shortcut work.

    bug 
    opened by AccentuSoft 1
  • WhatsMyName is changing JSON File Format

    WhatsMyName is changing JSON File Format

    Wanted to make sure that you saw that WhatsMyName project is changing/has changed its JSON file. Issue https://github.com/WebBreacher/WhatsMyName/issues/414 shows the details. This will impact at least the recon/profiles-profiles/profiler.py module.

    Right now, and for a limited, short time forward, we will continue to make changes to both the old/current format and the new allowing tools like your's to make a smooth transition to the new format. The new format is also described https://github.com/WebBreacher/WhatsMyName/blob/main/CONTRIBUTING.md.

    The new JSON file (wmn-data.json - https://github.com/WebBreacher/WhatsMyName/blob/main/wmn-data.json) is already up and running. Please note that we also have a minified version of this JSON file that is auto-generated at https://github.com/WebBreacher/WhatsMyName/blob/main/wmn-data-min.json.

    Thanks.

    Micah Hoffman WMN Project Maintainer

    opened by WebBreacher 1
  • Notes tab on details pane for quick, in-software note taking

    Notes tab on details pane for quick, in-software note taking

    Add a notes tab in the details pane of the software to allow users to quickly note down general stuff, and allow references to nodes (implementation details tbd)

    enhancement 
    opened by AccentuSoft 1
  • SQL-like language & graph support for easy data visualization

    SQL-like language & graph support for easy data visualization

    Allow users to select, modify and visualize entities.

    Selection and modification to be done through sql-like syntax, visualization to be offered through graph panels.

    opened by AccentuSoft 1
  • Node Operations - Scrape Websites, Screenshot Websites, Notes field to text file

    Node Operations - Scrape Websites, Screenshot Websites, Notes field to text file

    Add more interaction between the software and the entities, especially the websites.

    Users should be able to save / screenshot websites without having to manually visit them.

    The 'Notes field to Text file' operation should streamline the process of converting extracted text in Notes fields into files, which can then be uploaded to the server and processed.

    opened by AccentuSoft 1
  • Feature Request: Add Dockbar Options to the View Menu

    Feature Request: Add Dockbar Options to the View Menu

    Right clicking on the the toolbar at the top of the application window to select which Dockbars to view is not intuitive and it took me quite a while to figure out how to get my Dockbars back. :P Perhaps moving those options to the view menu would be optimal?

    Also, when I do right click the resulting menu interface it doesn't interactively highlight each option as I hover my mouse over it, as compared to the regular menu where the sub-menus do. Nexus-current_situation-no-highlight Nexus-current_situation-highlight png

    opened by OSINT-Musings 1
  • Very slow building and compiling

    Very slow building and compiling

    Hello, I'm trying to build the application by running build.sh but the building process is slow. During it, I get some warning messages like:

    Nuitka:WARNING: Using very slow fallback for ordered sets, please install 'ordered-set' PyPI package for best Python
    Nuitka:WARNING: compile time performance.
    Nuitka-Plugins:WARNING: numpy: This plugin has been deprecated, do not enable it anymore.
    

    despite I installed python-ordered-set, and also the following warnings:

    Nuitka-Plugins:WARNING: anti-bloat: Unwanted import of 'unittest' encountered.               
    Nuitka-Plugins:WARNING: anti-bloat: Unwanted import of 'unittest.result' encountered.
    Nuitka-Plugins:WARNING: anti-bloat: Unwanted import of 'unittest.case' encountered.
    Nuitka-Plugins:WARNING: anti-bloat: Unwanted import of 'unittest.suite' encountered.
    Nuitka-Plugins:WARNING: anti-bloat: Unwanted import of 'unittest.loader' encountered.
    Nuitka-Plugins:WARNING: anti-bloat: Unwanted import of 'unittest.main' encountered.
    Nuitka-Plugins:WARNING: anti-bloat: Unwanted import of 'unittest.runner' encountered.
    Nuitka-Plugins:WARNING: anti-bloat: Unwanted import of 'unittest.signals' encountered.
    Nuitka-Plugins:WARNING: anti-bloat: Unwanted import of 'unittest.async_case' encountered.
    Nuitka-Plugins:WARNING: anti-bloat: Unwanted import of 'unittest.util' encountered.
    Nuitka-Plugins:WARNING: anti-bloat: Unwanted import of 'unittest._log' encountered.
    

    and also:

    Nuitka-Plugins:WARNING: pyside6: Unwanted import of 'tkinter' that is redundant with 'PySide6' encountered. Use         
    Nuitka-Plugins:WARNING: '--nofollow-import-to=tkinter' or uninstall it for best compatibility with pure Python execution.
    

    I'm working on Arch Linux. Is there a way to fix these warnings and speedup the compilation?

    opened by D3vil0p3r 15
Releases(v1.4.0)
Python SDK for Thepeer

Python SDK for Thepeer

Oluwafemi Tairu 2 Dec 22, 2021
A lightweight, dependency-free Python library (and command-line utility) for downloading YouTube Videos.

24 July 2020 Actively soliciting contributers! Ping @ronncc if you would like to help out! pytube pytube is a very serious, lightweight, dependency-fr

pytube 7.9k Jan 02, 2023
A slack bot that notifies you when a restaurant is available for orders

Slack Wolt Notifier A Slack bot that notifies you when a Wolt restaurant or venue is available for orders. How does it work? Slack supports bots that

Gil Matok 8 Oct 24, 2022
GET-ACQ is a python tool used to gather all companies acquired by a given company domain name.

get-acq 🏢 GET-ACQ is a python tool used to gather all companies acquired by a given company domain name. It is done by calling SecurityTrails API. Us

Milan 7 Dec 19, 2022
Unofficial calendar integration with Gradescope

Gradescope-Calendar This script scrapes your Gradescope account for courses and assignment details. Assignment details currently can be transferred to

6 May 06, 2022
A.I and game for gomoku, working only on windows

Gomoku (A.I of gomoku) The goal of the project is to create an artificial intelligence of gomoku. Goals Beat the opponent. Requirements Python 3.7+ Wo

Luis Rosario 13 Jun 20, 2021
Asca - Antiscam Discord Bot With Python

asca Antiscam Discord Bot Asca moderates scammers and deletes scam messages Opti

11 Nov 01, 2022
A Python Discord bot project generator

Heater Heat up a Discord bot in a blink What is Heater? Heater is a Command Line Interface tool which allows you to generate a barebones Python Discor

DevGuyAhnaf 5 Jan 14, 2022
A code to match you with the perfect Taylor Swift song for your mood and relationship status.

taylorswift A package for matching your current mood and relationship status to a suitable Taylor Swift song. Requirements: Python 2 or 3, and the num

Megan Mansfield 82 Dec 09, 2022
An elegant mirai-api-http v2 Python SDK.

Ariadne 一个适用于 mirai-api-http v2 的 Python SDK。 本项目适用于 mirai-api-http 2.0 以上版本。 目前仍处于开发阶段,内部接口可能会有较大的变化。 安装 poetry add graia-ariadne 或 pip install graia

Graia Project 259 Jan 02, 2023
Bin Checker with Aiogram, Telegram

Bin Checker with Aiogram, Telegram

JEFF 1 Aug 16, 2022
A Collection Manager for the objkt.com Minting Factory

Objkt Collection Manager A Collection Manager for the objkt.com Minting Factory. This contract can create a collection on objkt.com and mint into it.

Asbjorn Enge 5 Nov 22, 2022
a script to bulk check usernames on multiple site. includes proxy & threading support.

linked-bulk-checker bulk checks username availability on multiple sites info people have been selling these so i just made one to release dm my discor

krul 9 Sep 20, 2021
Analytics platform for Telegram Channels

Tele-Report Analytics platform for Telegram Channels 🚧 👷 Getting Started 1- Install redis and postgreSQL (it would be more generic in future, like u

2 Oct 11, 2022
Send Informative, Concise Slack Notifications With Minimal Effort

slack-templates Send Informative, Concise Slack Notifications With Minimal Effort slack-templates Slack Integration Available Templates Usage Report t

9 Nov 03, 2022
Discord Bot that leverages the idea of nested containers using podman, runs untrusted user input, executes Quantum Circuits, allows users to refer to the Qiskit Documentation, and provides the ability to search questions on the Quantum Computing StackExchange.

Discord Bot that leverages the idea of nested containers using podman, runs untrusted user input, executes Quantum Circuits, allows users to refer to the Qiskit Documentation, and provides the abilit

Mehul 23 Oct 18, 2022
DeKrypt 24 Sep 21, 2022
Telegram Bot to Filter posts in Bot Inline search

Inline-Filter-Bot A Telegram Bot for filter in Inline Features Unlimited Filters Supports all type of filters Supports Alert Button Using Common Marku

Code X Botz 67 Dec 26, 2022
Petpy is an easy-to-use and convenient Python wrapper for the Petfinder API.

Petpy is an easy-to-use and convenient Python wrapper for the Petfinder API. Includes methods for parsing output JSON into pandas DataFrames for easier data analysis

Aaron Schlegel 27 Nov 19, 2022
Represents a Lavalink client used to manage nodes and connections.

lavaplayer Represents a Lavalink client used to manage nodes and connections. setup pip install lavaplayer setup lavalink you need to java 11* LTS or

HazemMeqdad 37 Nov 21, 2022