MCPcopy Index your code
hub / github.com/AlexSSD7/linsk

github.com/AlexSSD7/linsk @v0.2.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.2.2 ↗ · + Follow
211 symbols 636 edges 61 files 6 documented · 3%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Linsk

Linsk is a utility that allows you to access Linux-native file system infrastructure, including LVM and LUKS on Windows and macOS. Unlike other solutions created to access Linux filesystems on unsupported operating systems, Linsk does not reimplement any file system. Instead, Linsk utilizes a lightweight Alpine Linux VM (~130 MB only) combined with network share technologies like SMB, AFP, and FTP.

Because Linsk uses a native Linux VM, there are no limitations on what you can access. Anything that works on Linux will work under Linsk too (hence the Linux+Disk name).

To show your thanks, please star this repository if you found it useful.

Screenshot of Linsk running

💻 Supported platforms

CPU architectures

Linsk natively supports both x86_64 (aka amd64, Intel, AMD, etc.) and aarch64 (aka arm64, Apple M1/M2, and others).

Although Linsk uses a virtual machine, the CPU is never emulated but the hardware accelerators like HVF (macOS), WHPX (Windows), and KVM (Linux) are used.

Operating systems

  • Windows
  • macOS
  • Linux (for development purposes, mostly)

Network file share backends

Linsk relies on network file shares to expose files to the host machine. Below are the types of network shares Linsk supports:

  • SMB - The default for Windows.
  • AFP - The default for macOS.
  • FTP - An alternative backend.

💿 Installation

🔧 Usage

⚠️ Serious bug disclosures (Obsolete versions)

Linsk versions below v0.2.0 are considered obsolete UNLESS: * The use of Linsk was limited exclusively to devices with a 512-byte logical block (sector) size; or * The experimental USB passthrough was used.

More information: serious-bug-disclosures/README.md

👨‍💻 Contributing

Please see CONTRIBUTING.md.

©️ Copyright and License

Copyright (c) 2023 The Linsk Authors.

Provided under the GNU General Public License v3. The copy of the license is included in the LICENSE file.

Use this git command to view the list of Linsk Authors:

git log --format='%aN <%aE>' | sort -uf

Extension points exported contracts — how you extend this code

Arg (Interface)
(no doc) [4 implementers]
qemucli/args.go
Backend (Interface)
(no doc) [3 implementers]
share/backend.go
Func (FuncType)
(no doc)
cmd/runvm/runvm.go
ChangePassFunc (FuncType)
(no doc)
sshutil/pass.go
NewBackendFunc (FuncType)
(no doc)
share/backend.go

Core symbols most depended-on inside this repo

IsWindows
called by 9
osspecifics/oschecks.go
GetLogErrMsg
called by 9
utils/errors.go
DialSSH
called by 9
vm/vm.go
NewKeyValueArg
called by 9
qemucli/kv_arg.go
ClearUnprintableChars
called by 8
utils/validations.go
RunSSHCmd
called by 6
sshutil/ssh.go
ValidateTapName
called by 5
nettap/impl_windows.go
Run
called by 5
vm/vm.go

Shape

Function 110
Method 66
Struct 29
FuncType 3
Interface 2
TypeAlias 1

Languages

Go100%

Modules by API surface

vm/vm.go16 symbols
vm/filemanager.go13 symbols
vm/cfg.go10 symbols
storage/storage.go10 symbols
nettap/impl_windows.go8 symbols
nettap/impl.go8 symbols
qemucli/kv_arg.go7 symbols
qemucli/args.go7 symbols
qemucli/uint_arg.go6 symbols
qemucli/str_arg.go6 symbols
qemucli/flag_arg.go6 symbols
osspecifics/osspecifics_windows.go6 symbols

For agents

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

⬇ download graph artifact