mirror of
https://github.com/aaru-dps/Aaru.Server.git
synced 2025-12-16 19:24:27 +00:00
Updated documentation.
This commit is contained in:
@@ -159,12 +159,31 @@ namespace DiscImageChef.Server.Controllers
|
||||
return View();
|
||||
}
|
||||
|
||||
[Route("DONATING")]
|
||||
public ActionResult DONATING()
|
||||
[Route("DONATING"), Route("NEEDED")]
|
||||
public ActionResult Needed()
|
||||
{
|
||||
var sr =
|
||||
new StreamReader(Path.Combine(_environment.ContentRootPath ?? throw new InvalidOperationException(),
|
||||
"docs", "DONATING.md"));
|
||||
"docs", "NEEDED.md"));
|
||||
|
||||
string mdcontent = sr.ReadToEnd();
|
||||
sr.Close();
|
||||
|
||||
mdcontent = mdcontent.Replace(".md)", ")");
|
||||
|
||||
ViewBag.Markdown = Markdown.ToHtml(mdcontent);
|
||||
|
||||
ViewBag.lblVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
||||
|
||||
return View();
|
||||
}
|
||||
|
||||
[Route("NEEDINFO")]
|
||||
public ActionResult NeedInfo()
|
||||
{
|
||||
var sr =
|
||||
new StreamReader(Path.Combine(_environment.ContentRootPath ?? throw new InvalidOperationException(),
|
||||
"docs", "NEEDINFO.md"));
|
||||
|
||||
string mdcontent = sr.ReadToEnd();
|
||||
sr.Close();
|
||||
|
||||
@@ -46,7 +46,22 @@
|
||||
<None Update="docs\Changelog.md">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="docs\DONATING.md">
|
||||
<None Update="docs\CODE_OF_CONDUCT.md">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="docs\CONTRIBUTING.md">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="docs\ISSUE_TEMPLATE.md">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="docs\NEEDED.md">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="docs\NEEDINFO.md">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="docs\PULL_REQUEST_TEMPLATE.md">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="docs\README.md">
|
||||
|
||||
42
DiscImageChef.Server/Views/Home/NEEDED.cshtml
Normal file
42
DiscImageChef.Server/Views/Home/NEEDED.cshtml
Normal file
@@ -0,0 +1,42 @@
|
||||
@{
|
||||
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||
ViewBag.Title = "DiscImageChef";
|
||||
}
|
||||
@{
|
||||
// /***************************************************************************
|
||||
// The Disc Image Chef
|
||||
// ----------------------------------------------------------------------------
|
||||
//
|
||||
// Filename : NEEDED.cshtml
|
||||
// Author(s) : Natalia Portillo <claunia@claunia.com>
|
||||
//
|
||||
// Component : DiscImageChef Server.
|
||||
//
|
||||
// --[ Description ] ----------------------------------------------------------
|
||||
//
|
||||
// Renders list of needed donations.
|
||||
//
|
||||
// --[ License ] --------------------------------------------------------------
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Lesser General Public License as
|
||||
// published by the Free Software Foundation; either version 2.1 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful, but
|
||||
// WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// ----------------------------------------------------------------------------
|
||||
// Copyright © 2011-2019 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
}
|
||||
<p>
|
||||
@Html.ActionLink("Return to main page.", "Index")<br />
|
||||
DiscImageChef list of hardware and software needed:
|
||||
</p>
|
||||
<div class="container">@Html.Raw(ViewBag.Markdown)</div>
|
||||
@@ -7,7 +7,7 @@
|
||||
// The Disc Image Chef
|
||||
// ----------------------------------------------------------------------------
|
||||
//
|
||||
// Filename : DONATING.cshtml
|
||||
// Filename : NEEDINFO.cshtml
|
||||
// Author(s) : Natalia Portillo <claunia@claunia.com>
|
||||
//
|
||||
// Component : DiscImageChef Server.
|
||||
@@ -37,6 +37,6 @@
|
||||
}
|
||||
<p>
|
||||
@Html.ActionLink("Return to main page.", "Index")<br />
|
||||
DiscImageChef list of things to be donated:
|
||||
DiscImageChef list of information needed:
|
||||
</p>
|
||||
<div class="container">@Html.Raw(ViewBag.Markdown)</div>
|
||||
@@ -1 +0,0 @@
|
||||
../../.github/CODE_OF_CONDUCT.md
|
||||
73
DiscImageChef.Server/docs/CODE_OF_CONDUCT.md
Normal file
73
DiscImageChef.Server/docs/CODE_OF_CONDUCT.md
Normal file
@@ -0,0 +1,73 @@
|
||||
# Contributor Covenant Code of Conduct for DiscImageChef
|
||||
|
||||
## Our Pledge
|
||||
|
||||
In the interest of fostering an open and welcoming environment, we as
|
||||
contributors and maintainers pledge to making participation in our project and
|
||||
our community a harassment-free experience for everyone, regardless of age, body
|
||||
size, disability, ethnicity, gender identity and expression, level of experience,
|
||||
education, socio-economic status, nationality, personal appearance, race,
|
||||
religion, or sexual identity and orientation.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to creating a positive environment
|
||||
include:
|
||||
|
||||
* Using welcoming and inclusive language
|
||||
* Being respectful of differing viewpoints and experiences
|
||||
* Gracefully accepting constructive criticism
|
||||
* Focusing on what is best for the community
|
||||
* Showing empathy towards other community members
|
||||
|
||||
Examples of unacceptable behavior by participants include:
|
||||
|
||||
* The use of sexualized language or imagery and unwelcome sexual attention or
|
||||
advances
|
||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or electronic
|
||||
address, without explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Our Responsibilities
|
||||
|
||||
Project maintainers are responsible for clarifying the standards of acceptable
|
||||
behavior and are expected to take appropriate and fair corrective action in
|
||||
response to any instances of unacceptable behavior.
|
||||
|
||||
Project maintainers have the right and responsibility to remove, edit, or
|
||||
reject comments, commits, code, wiki edits, issues, and other contributions
|
||||
that are not aligned to this Code of Conduct, or to ban temporarily or
|
||||
permanently any contributor for other behaviors that they deem inappropriate,
|
||||
threatening, offensive, or harmful.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies both within project spaces and in public spaces
|
||||
when an individual is representing the project or its community. Examples of
|
||||
representing a project or community include using an official project e-mail
|
||||
address, posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event. Representation of a project may be
|
||||
further defined and clarified by project maintainers.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported by contacting the project team at [claunia@claunia.com](mailto:claunia@claunia.com). All
|
||||
complaints will be reviewed and investigated and will result in a response that
|
||||
is deemed necessary and appropriate to the circumstances. The project team is
|
||||
obligated to maintain confidentiality with regard to the reporter of an incident.
|
||||
Further details of specific enforcement policies may be posted separately.
|
||||
|
||||
Project maintainers who do not follow or enforce the Code of Conduct in good
|
||||
faith may face temporary or permanent repercussions as determined by other
|
||||
members of the project's leadership.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
||||
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
|
||||
|
||||
[homepage]: https://www.contributor-covenant.org
|
||||
@@ -1 +0,0 @@
|
||||
../../CONTRIBUTING.md
|
||||
323
DiscImageChef.Server/docs/CONTRIBUTING.md
Normal file
323
DiscImageChef.Server/docs/CONTRIBUTING.md
Normal file
@@ -0,0 +1,323 @@
|
||||
# Contributing to DiscImageChef
|
||||
|
||||
:+1::tada: First off, thanks for taking the time to contribute! :tada::+1:
|
||||
|
||||
The following is a set of guidelines for contributing to DiscImageChef and its modules.
|
||||
These are mostly guidelines, not rules. Use your best judgment, and feel free to propose
|
||||
changes to this document in a pull request.
|
||||
|
||||
#### Table Of Contents
|
||||
|
||||
[Code of Conduct](#code-of-conduct)
|
||||
|
||||
[I don't want to read this whole thing, I just have a question!!!](#i-dont-want-to-read-this-whole-thing-i-just-have-a-question)
|
||||
|
||||
[What should I know before I get started?](#what-should-i-know-before-i-get-started)
|
||||
* [DiscImageChef and modules](#discimagechef-and-modules)
|
||||
|
||||
[How Can I Contribute?](#how-can-i-contribute)
|
||||
* [Reporting Devices](#reporting-devices)
|
||||
* [Reporting Bugs](#reporting-bugs)
|
||||
* [Suggesting Enhancements](#suggesting-enhancements)
|
||||
* [Your First Code Contribution](#your-first-code-contribution)
|
||||
* [Pull Requests](#pull-requests)
|
||||
* [Patronizing us](#patronizing)
|
||||
* [Donating hardware to test](#donating)
|
||||
* [Providing information](#needed-information)
|
||||
|
||||
[Styleguides](#styleguides)
|
||||
* [Git Commit Messages](#git-commit-messages)
|
||||
* [Code Styleguide](#code-styleguide)
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
This project and everyone participating in it is governed by the
|
||||
[DiscImageChef Code of Conduct](.github/CODE_OF_CONDUCT.md). By participating, you are expected
|
||||
to uphold this code. Please report unacceptable behavior to [claunia@claunia.com](mailto:claunia@claunia.com).
|
||||
|
||||
## I don't want to read this whole thing I just have a question!!!
|
||||
|
||||
> **Note:** Please don't file an issue to ask a question. You'll get faster results by
|
||||
using the resources below.
|
||||
|
||||
You can join our IRC channel on chat.freenode.net at channel #DiscImageChef
|
||||
|
||||
## What should I know before I get started?
|
||||
|
||||
### DiscImageChef and modules
|
||||
|
||||
DiscImageChef is a large open source project — it's made up of 18 modules. When you initially consider contributing to DiscImageChef, you might be unsure about which of those modules implements the functionality you want to change or report a bug for. This section should help you with that.
|
||||
|
||||
DiscImageChef is intentionally very modular. Here's a list of them:
|
||||
|
||||
* [Claunia.RsrcFork](https://github.com/claunia/Claunia.RsrcFork) -
|
||||
This library includes code for handling Mac OS resource forks, and decoding them, so any
|
||||
code related to Mac OS resource forks should be added here.
|
||||
* [Claunia.Encoding](https://github.com/claunia/Claunia.Encoding) -
|
||||
This library includes code for converting codepages not supported by .NET, like those used
|
||||
by ancient operating systems, to/from UTF-8.
|
||||
* [plist-cil](https://github.com/claunia/plist-cil) -
|
||||
This library includes code for handling Apple property lists.
|
||||
* [SharpCompress](https://github.com/adamhathcock/sharpcompress) -
|
||||
This library includes code for handling compression algorithms and compressed archives. Any
|
||||
need you have of compression or decompression should be handled with this library, and any new algorithm should be added here.
|
||||
* [DiscImageChef](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef) -
|
||||
This module contains the command line interface. In the future a GUI will be added.
|
||||
* [DiscImageChef.Checksums](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Checksums) -
|
||||
This module contains the checksum, hashing and error correction algorithms.
|
||||
* [DiscImageChef.CommonTypes](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.CommonTypes) -
|
||||
This module contains interfaces, structures and enumerations needed by more than one of the other modules.
|
||||
* [DiscImageChef.Console](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Console) -
|
||||
This module abstracts consoles used by other modules to output information, so they can be
|
||||
redirected to a CLI or to a GUI output.
|
||||
* [DiscImageChef.Core](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Core) -
|
||||
This module contains the implementation of the functions and commands that are called by the
|
||||
user interface itself.
|
||||
* [DiscImageChef.Decoders](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Decoders) -
|
||||
This module contains internal disk, drive and protocol structures as well as code to marshal,
|
||||
decode and print them.
|
||||
* [DiscImageChef.Devices](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Devices) -
|
||||
This module contains code to talk with hardware devices in different platforms. Each platform
|
||||
has lowlevel calls in its own folder, and each device protocol has highlevel calls in its own
|
||||
folder. Device commands are separated by protocol standard, or vendor name.
|
||||
* [DiscImageChef.Device.Report](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Device.Report) -
|
||||
This is a separate application in C89 designed to create device reports on enviroments where
|
||||
you can't run .NET or Mono but can run Linux.
|
||||
* [DiscImageChef.DiscImages](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.DiscImages) -
|
||||
This module provides reading capabilities for the disk/disc images, one per file.
|
||||
* [DiscImageChef.Filesystems](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Filesystems) -
|
||||
This module provides the filesystem support. If only identification is implemented a single
|
||||
file should be used. For full read-only support, a folder should be used.
|
||||
* [DiscImageChef.Filters](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Filters) -
|
||||
A filter is a modification of the data before it can be passed to the disk image module
|
||||
(compression, fork union, etc), and this module provides support for them. If a image is
|
||||
compressed, say in gzip, or encoded, say in AppleDouble, a filter is the responsible of
|
||||
decompressing or decoding it on-the-fly.
|
||||
* [DiscImageChef.Helpers](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Helpers) -
|
||||
This module contains a collection of helpers for array manipulation, big-endian marshalling,
|
||||
datetime conversion, hexadecimal printing, string manipulation and byte swapping.
|
||||
* [DiscImageChef.Partitions](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Partitions) -
|
||||
This module contains code for reading partition schemes.
|
||||
* [DiscImageChef.Server](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Server) -
|
||||
This module contains the server-side code that's running at https://www.discimagechef.app
|
||||
* [DiscImageChef.Settings](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Settings) -
|
||||
This module contains code for handling DiscImageChef settings.
|
||||
* [DiscImageChef.Tests](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Tests) -
|
||||
This module contains the unit tests for the rest of the modules. You should add new unit
|
||||
tests here but cannot run all of them because the test images they require amount to more
|
||||
than 100GiB.
|
||||
* [DiscImageChef.Tests.Devices](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Tests.Devices) -
|
||||
This module presents a menu driven interface to send commands to devices, as a way to test
|
||||
the Core module, as those tests cannot be automated. It can be used to debug drive responses.
|
||||
|
||||
## How Can I Contribute?
|
||||
|
||||
### Reporting Devices
|
||||
|
||||
DiscImageChef tries to be as universal as possible. However some devices do not behave in
|
||||
the expected ways, some media is unknown and needs to be known prior to enabling dumping of it,
|
||||
etc.
|
||||
|
||||
For that reason, DiscImageChef includes the [device-report command](https://github.com/claunia/DiscImageChef/wiki/Reporting-physical-device-capabilities).
|
||||
Using this command will guide you thru a series of questions about the device, and if it
|
||||
contains removable media, for you to insert the different media you have, and create a report
|
||||
of its abilities. The report will automatically be sent to our server and saved on your computer.
|
||||
Please note that we do not store any personal information and when possible remove the drive
|
||||
serial numbers from the report.
|
||||
|
||||
If you have a drive attached to a computer that you cannot run the full DiscImageChef on it
|
||||
but can compile a C89 application, you can use [DiscImageChef.Device.Report](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Device.Report).
|
||||
In this case the report will only be created locally and you should attach it to a bug report.
|
||||
|
||||
### Reporting Bugs
|
||||
|
||||
This section guides you through submitting a bug report for DiscImageChef. Following these guidelines
|
||||
helps maintainers and the community understand your report :pencil:, reproduce the
|
||||
behavior :computer: :computer:, and find related reports :mag_right:.
|
||||
|
||||
Before creating bug reports, please check [this list](#before-submitting-a-bug-report) as you
|
||||
might find out that you don't need to create one. When you are creating a bug report, please
|
||||
[include as many details as possible](#how-do-i-submit-a-good-bug-report). Fill out
|
||||
[the required template](.github/ISSUE_TEMPLATE.md), the information it asks for helps us resolve
|
||||
issues faster.
|
||||
|
||||
> **Note:** If you find a **Closed** issue that seems like it is the same thing that you're
|
||||
experiencing, open a new issue and include a link to the original issue in the body of your
|
||||
new one.
|
||||
|
||||
#### Before Submitting A Bug Report
|
||||
|
||||
* **Check the [wiki](https://github.com/claunia/DiscImageChef/wiki)** for a list of common
|
||||
questions and problems.
|
||||
* **Determine [which module the problem should be reported in](#discimagechef-and-modules)**.
|
||||
* **Perform a [cursory search](https://github.com/search?q=+is%3Aissue+user%3Aclaunia)**
|
||||
to see if the problem has already been reported. If it has **and the issue is still open**,
|
||||
add a comment to the existing issue instead of opening a new one.
|
||||
|
||||
#### How Do I Submit A (Good) Bug Report?
|
||||
|
||||
Bugs are tracked as [GitHub issues](https://guides.github.com/features/issues/). After
|
||||
you've determined [which module](#discimagechef-and-modules) your bug is related to,
|
||||
create an issue on that repository and provide the following information by filling in
|
||||
[the template](.github/ISSUE_TEMPLATE.md).
|
||||
|
||||
Explain the problem and include additional details to help maintainers reproduce the problem:
|
||||
|
||||
* **Use a clear and descriptive title** for the issue to identify the problem.
|
||||
* **Describe the exact steps which reproduce the problem** in as many details as possible.
|
||||
For example, start by explaining how you started DiscImageChef, e.g. which command exactly
|
||||
you used in the terminal. Also note that some device commands requires you to have
|
||||
administrative privileges, be in a specific group, or be the root user, so try it again with
|
||||
escalated privileges.
|
||||
* **Provide specific examples to demonstrate the steps**. Include links to media images,
|
||||
reports of the devices, or the output of using [DiscImageChef.Tests.Devices](https://github.com/claunia/DiscImageChef/tree/master/DiscImageChef.Tests.Devices).
|
||||
* **Describe the behavior you observed after following the steps** and point out what exactly is the problem with that behavior.
|
||||
* **Explain which behavior you expected to see instead and why.**
|
||||
* **Include a copy of the output in the terminal** enabling both verbose, using the `-v`
|
||||
command line parameter, and debug, using the `-d` command line parameter, outputs.
|
||||
* **If you're reporting that DiscImageChef crashed**, try doing the same with the debug
|
||||
version and include a crash report with a stack trace. Include the crash report in the issue
|
||||
in a [code block](https://help.github.com/articles/markdown-basics/#multiple-lines), a
|
||||
[file attachment](https://help.github.com/articles/file-attachments-on-issues-and-pull-requests/),
|
||||
or put it in a [gist](https://gist.github.com/) and provide link to that gist.
|
||||
* **If the problem wasn't triggered by a specific action**, describe what you were doing
|
||||
before the problem happened and share more information using the guidelines below.
|
||||
|
||||
Include details about your configuration and environment:
|
||||
|
||||
* **Which version of DiscImageChef are you using?**
|
||||
* **What's the name and version of the OS you're using**?
|
||||
* **Are you running DiscImageChef in a virtual machine?** If so, which VM software are you
|
||||
using and which operating systems and versions are used for the host and the guest?
|
||||
* **Are you trying to execute a device command?** If so, who manufactured the device, which
|
||||
model is it, and how is it connected to the computer?
|
||||
|
||||
### Suggesting Enhancements
|
||||
|
||||
This section guides you through submitting an enhancement suggestion for DiscImageChef, including
|
||||
completely new features and minor improvements to existing functionality. Following these
|
||||
guidelines helps maintainers and the community understand your suggestion :pencil: and find
|
||||
related suggestions :mag_right:.
|
||||
|
||||
Before creating enhancement suggestions, please [include as many details as possible](#how-do-i-submit-a-good-enhancement-suggestion).
|
||||
Fill in [the template](.github/ISSUE_TEMPLATE.md), including the steps that you imagine you would
|
||||
take if the feature you're requesting existed.
|
||||
|
||||
#### How Do I Submit A (Good) Enhancement Suggestion?
|
||||
|
||||
Enhancement suggestions are tracked as [GitHub issues](https://guides.github.com/features/issues/).
|
||||
After you've determined [which module](#discimagechef-and-modules) your enhancement suggestion
|
||||
is related to, create an issue on that repository and provide the following information:
|
||||
|
||||
* **Use a clear and descriptive title** for the issue to identify the suggestion.
|
||||
* **Provide a step-by-step description of the suggested enhancement** in as many details as
|
||||
possible.
|
||||
* **Provide specific examples to demonstrate the steps**. If the feature is about a media image,
|
||||
filesystem, partitioning scheme, or filter, please include as many test files as possible,
|
||||
and if applicable which software created them.
|
||||
* **Describe the current behavior** and **explain which behavior you expected to see instead** and why.
|
||||
* **List some other applications where this enhancement exists.**
|
||||
* **Specify which version of DiscImageChef you're using.**
|
||||
* **Specify the name and version of the OS you're using.**
|
||||
|
||||
### Your First Code Contribution
|
||||
|
||||
Unsure where to begin contributing to DiscImageChef? You can start by looking through these `beginner` and `help-wanted` issues:
|
||||
|
||||
* [Beginner issues][beginner] - issues which should only require a few lines of code, and a test or two.
|
||||
* [Help wanted issues][help-wanted] - issues which should be a bit more involved than `beginner` issues.
|
||||
|
||||
Both issue lists are sorted by total number of comments. While not perfect, number of
|
||||
comments is a reasonable proxy for impact a given change will have.
|
||||
|
||||
If you want to read about using DiscImageChef, the [wiki](https://github.com/claunia/DiscImageChef/wiki) is available.
|
||||
|
||||
Do not modify the interfaces. If you need or want to, comment in an issue how and why you
|
||||
want to change it and we'll discuss it. Same applies for creating new interfaces.
|
||||
|
||||
DiscImageChef uses C# 7 language features (inline declaration, Tuples, etc.) so it can only
|
||||
be compiled with [VisualStudio](http://www.visualstudio.com) 2017 or higher, [Xamarin Studio](https://www.xamarin.com/download)
|
||||
7 or higher, [MonoDevelop](http://www.monodevelop.com) 7 or higher, or [JetBrains Rider](https://www.jetbrains.com/rider/) 2017.2 or higher.
|
||||
|
||||
### Pull Requests
|
||||
|
||||
* Fill in [the required template](.github/PULL_REQUEST_TEMPLATE.md)
|
||||
* Do not include issue numbers in the PR title
|
||||
* Follow the [code styleguide](#code-styleguide).
|
||||
* Include test files as applicable, that do not have software under copyright inside them,
|
||||
if possible.
|
||||
* Document new code based using XML documentation wherever possible.
|
||||
* DO NOT end files with a newline.
|
||||
* Avoid platform-dependent code, unless absolutely needed. Any call to a part of the
|
||||
.NET framework that doesn't start with `System.` is probably platform-dependent.
|
||||
* Do not call libraries external to .NET. Only Interop calls to the operating system kernel
|
||||
(that is `KERNEL32.DLL` in Windows and `libc` in others) will be accepted. If you need to
|
||||
talk with a USB devices your pull request must implement calls both to `WinUsb` and `libusb`.
|
||||
|
||||
### Patronizing
|
||||
If you want to donate money you can become a patron at https://www.patreon.com/DiscImageChef
|
||||
|
||||
This money will be used to get more hardware on which to test DiscImageChef.
|
||||
|
||||
### Donating
|
||||
You may donate us one of the [devices we need](NEEDED.md).
|
||||
|
||||
### Needed information
|
||||
If you have test images, imaging applications that generate formats we do not support, or
|
||||
documentation about media dump formats, filesystems or partitioning schemes we do not
|
||||
support, you can provide us with that information to add support for them.
|
||||
|
||||
## Styleguides
|
||||
|
||||
### Git Commit Messages
|
||||
|
||||
* Use the present tense ("Add feature" not "Added feature")
|
||||
* Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
|
||||
* Limit the first line to 72 characters or less
|
||||
* Reference issues and pull requests liberally after the first line
|
||||
* Consider starting the commit message with an applicable emoji:
|
||||
* :art: `:art:` when improving the format/structure of the code
|
||||
* :racehorse: `:racehorse:` when improving performance
|
||||
* :non-potable_water: `:non-potable_water:` when plugging memory leaks
|
||||
* :memo: `:memo:` when writing docs
|
||||
* :penguin: `:penguin:` when fixing something on Linux
|
||||
* :apple: `:apple:` when fixing something on macOS
|
||||
* :checkered_flag: `:checkered_flag:` when fixing something on Windows
|
||||
* :bug: `:bug:` when fixing a bug
|
||||
* :fire: `:fire:` when removing code or files
|
||||
* :green_heart: `:green_heart:` when fixing the CI build
|
||||
* :white_check_mark: `:white_check_mark:` when adding tests
|
||||
* :lock: `:lock:` when dealing with security
|
||||
* :arrow_up: `:arrow_up:` when upgrading dependencies
|
||||
* :arrow_down: `:arrow_down:` when downgrading dependencies
|
||||
* :shirt: `:shirt:` when removing linter warnings
|
||||
|
||||
### Code Styleguide
|
||||
|
||||
- Braces are unindented at next line (BSD style).
|
||||
- Braces with no content should be opened and closed in the same line.
|
||||
- Constants should be ALL_UPPER_CASE.
|
||||
- Do not use braces for statements that don't need them.
|
||||
- Do not use more than one blank line.
|
||||
- Do not use spaces before or after parentheses.
|
||||
- Do not use `var` ever.
|
||||
- `else`, `while`, `catch` and `finally` should be on a new line.
|
||||
- If you know C apply a simple rule: Be as C as and as less C# or C++ as possible.
|
||||
- If you will only store variables, use a struct. If you need it to be nullable, use a
|
||||
nullable struct if applicable.
|
||||
- Indent statements and cases.
|
||||
- Indent using 4 spaces (soft tab).
|
||||
- Instace and static fields should be lowerCamelCase.
|
||||
- Public fields should be UpperCamelCase.
|
||||
- Separate attributes.
|
||||
- Use 120 columns margins.
|
||||
- Use built-in keywords: `uint` instead of `UInt32`.
|
||||
- Use expression bodies only for properties, indexes and events. For the rest use block
|
||||
bodies.
|
||||
- Use implicit modifiers.
|
||||
- Use inline variable declaration.
|
||||
- Use struct implicit constructor.
|
||||
- Use UNIX (`\n`) endline character.
|
||||
|
||||
> Note: DiscImageChef is quite low-level so unneeded object-oriented abstractions
|
||||
(e.g. using classes when a struct suffices) will be rejected. LINQ is accepted.
|
||||
@@ -179,7 +179,7 @@
|
||||
|
||||
### - Create sidecar
|
||||
- Add filesystems only to the appropriate partition and track.
|
||||
- Fix CD Lead-in, TOC and XGD tags.
|
||||
- Fix CD first track pregap, TOC and XGD tags.
|
||||
- Fix diameter setting.
|
||||
- Fix SCSI MODE SENSE.
|
||||
- Fix USB descriptors.
|
||||
|
||||
@@ -1,174 +0,0 @@
|
||||
Hardware donations
|
||||
==================
|
||||
|
||||
This is a list of hardware that I'm searching but is too rare or too expensive for me to get them.
|
||||
The reason I want this hardware is because having it is the only way to add enhanced support for them (e.g. media detection, ECC support, raw dumping, etc.).
|
||||
After adding enhanced support all drives will be given to the Canary Islands Computer Museum.
|
||||
|
||||
- 3.5" magneto-optical media: 540MiB, 1.3GiB
|
||||
- 5.25" magneto-optical drive and media
|
||||
- 8" shugart drive
|
||||
- ADR drive and tapes
|
||||
- AIT drive and tapes
|
||||
- Apple twiggy and media
|
||||
- Caleb UHD144 drive
|
||||
- Castlewood Orb 2.2 and 5.7
|
||||
- DLT drive and tapes
|
||||
- DiscFerret
|
||||
- HD-DVD media
|
||||
- Host-aware and host-controller SAS and SATA zoned hard disks
|
||||
- Insite floptical drive
|
||||
- Iomega Bernoulli
|
||||
- Iomega Ditto drive and tapes
|
||||
- Iomega JAZ and JAZ 2
|
||||
- Iomega REV
|
||||
- Iomega ZIP750 drive
|
||||
- LD-ROM drive and media
|
||||
- LTO drive and tapes
|
||||
- LV-ROM drive and media
|
||||
- Mammoth drive and tapes
|
||||
- Panasonic Blu-ray recorder
|
||||
- Plasmon UDO and UDO2 drives and media
|
||||
- SCSI floppy drive (e.g. Teac FD235JS806-U)
|
||||
- SLR drive and tapes
|
||||
- Sony Hi-MD and media
|
||||
- Sony HiFD
|
||||
- Sony MD-DATA and media
|
||||
- Sony Professional Disc for DATA
|
||||
- Stringy floppy
|
||||
- Syquest EZ135 drive and media
|
||||
- Syquest EZFlyer drive and media
|
||||
- Syquest Quest drive and media
|
||||
- Syquest SQ2542 drive and media
|
||||
- Syquest SQ306RD drive and SQ100 media
|
||||
- Syquest SQ3105 drive and SQ310 media
|
||||
- Syquest SQ312RD drive and SQ200 media
|
||||
- Syquest SQ319RD drive and SQ300 media
|
||||
- Syquest SQ3270 drive and SQ327 media
|
||||
- Syquest SQ5110 drive and SQ800 media
|
||||
- Syquest SQ5200C drive and SQ2000 media
|
||||
- Syquest SQ555 drive and SQ400 media
|
||||
- Syquest SparQ drive and media
|
||||
- Syquest SyJet drive and media
|
||||
- T9840, T9940, T10000 drive and tapes
|
||||
- Travan drive and tapes
|
||||
- Triton drive and media
|
||||
- VXA drive and tapes
|
||||
|
||||
|
||||
Software donations
|
||||
==================
|
||||
This is a list of software whose physical media has some characteristics that needs
|
||||
to be investigated to allow correct dumping of such characteristics. Usually those
|
||||
are copy protections.
|
||||
|
||||
- CD-V
|
||||
- CD-i Ready
|
||||
- A Christmas Songbook
|
||||
- Accelerator
|
||||
- Alien Gate
|
||||
- Beyond Limits
|
||||
- Escape
|
||||
- Lucky Luke
|
||||
- Louis Armstrong
|
||||
- Dark Fables of Aesop
|
||||
- More Dark Fables of Aesop
|
||||
- Mozart
|
||||
- Opera Imaginaire
|
||||
- Pavarotti
|
||||
- Steel Machine
|
||||
- The Apprentice
|
||||
- Dimo's Quest
|
||||
- The Worlds of...
|
||||
- SafeDisc
|
||||
- Age of Wonders II: The Wizard's Throne
|
||||
- Beowulf
|
||||
- Black & White 2
|
||||
- Brothers in Arms: Road to Hill 30
|
||||
- Call of Duty: World at War
|
||||
- Carmageddon II: Carpocalypse Now
|
||||
- Close Combat: Invasion Normandy
|
||||
- Codename: Eagle
|
||||
- Command & Conquer: Generals
|
||||
- FIFA Football 2002
|
||||
- Football Manager 2007
|
||||
- SecuROM
|
||||
- Arabian Nights
|
||||
- Arcania: Gothic 4
|
||||
- Boiling Point: Road to Hell
|
||||
- Caesar IV
|
||||
- Cars 2
|
||||
- Clive Barker's Jericho
|
||||
- Colin McRae Rally 04
|
||||
- Colin McRae Rally 2.0
|
||||
- Colin McRae Rally 3
|
||||
- Command & Conquer: Red Alert 3 - Uprising
|
||||
- Commandos: Strike Force
|
||||
- Devil May Cry 4
|
||||
- Die Hard: Nakatomi Plaza
|
||||
- Disney Planes
|
||||
- Divinity II: Developer's Cut
|
||||
- StarForce
|
||||
- Anno 1701
|
||||
- Black Mirror 3
|
||||
- BloodRayne 2
|
||||
- Chronostorm: Siberian Border
|
||||
- Codename: Outbreak
|
||||
- Dead to Rights
|
||||
- Disciples III: Renaissance
|
||||
- Game of Thrones
|
||||
- Gothic 3
|
||||
- Gothic 3: Forsaken Gods
|
||||
- Mass Effect
|
||||
- Mount & Blade
|
||||
- Pac-Man World 2
|
||||
- Tages
|
||||
- Act of War: High Treason
|
||||
- Anno 1701
|
||||
- Beyond Good & Evil
|
||||
- Codename: Panzers - Cold War
|
||||
- Darkstar One
|
||||
- Desperados 2: Cooper's Revenge
|
||||
- Driver: Parallel Lines
|
||||
- Faery: Legends of Avalon
|
||||
- Fahrenheit
|
||||
- Fantasy Wars
|
||||
- Glory of the Roman Empire
|
||||
- Gothic 3
|
||||
- Hard to Be a God
|
||||
- Helldorado
|
||||
- Moto Racer 3
|
||||
- Nail'd
|
||||
- Nostradamus: The Last Prophecy
|
||||
- Rag Doll Kung Fu
|
||||
- Rayman Origins
|
||||
- RoboCop (2003)
|
||||
- Runaway 2: The Dream of the Turtle
|
||||
- S.T.A.L.K.E.R.: Shadow of Chernobyl
|
||||
- Secret Files: Tunguska
|
||||
- Silverfall
|
||||
- SpellForce 2: Shadow Wars
|
||||
- Still Life 2
|
||||
- The Chronicles of Riddick: Assault on Dark Athena
|
||||
- War Front: Turning Point
|
||||
- XIII
|
||||
- Solidshield
|
||||
- A-Train 8
|
||||
- Anno 2070
|
||||
- Assassin's Creed: Brotherhood
|
||||
- Crysis 2
|
||||
- Dead Mountaineer's Hotel
|
||||
- Dead Space 2
|
||||
- Hard to Be a God
|
||||
- Helldorado
|
||||
- I Am Alive
|
||||
- Jack Keane
|
||||
- James Cameron's Avatar: The Game
|
||||
- Medal of Honor: Airborne
|
||||
- Need for Speed: Hot Pursuit
|
||||
- ObsCure II
|
||||
- Risen
|
||||
- Shift 2 Unleashed
|
||||
- Still Life 2
|
||||
- Warfare
|
||||
- X3: Terran Conflict
|
||||
@@ -1 +0,0 @@
|
||||
../../.github/ISSUE_TEMPLATE.md
|
||||
49
DiscImageChef.Server/docs/ISSUE_TEMPLATE.md
Normal file
49
DiscImageChef.Server/docs/ISSUE_TEMPLATE.md
Normal file
@@ -0,0 +1,49 @@
|
||||
### Prerequisites
|
||||
|
||||
* [ ] Are you running the latest version?
|
||||
* [ ] Can you reproduce the problem in the debug version?
|
||||
|
||||
### Check and fill as appropriate:
|
||||
* [ ] I was running DiscImageChef under Windows [version here]...
|
||||
* [ ] I was running DiscImageChef under Linux [version here]...
|
||||
* [ ] I was running DiscImageChef under FreeBSD [version here]...
|
||||
* [ ] I was running DiscImageChef under macOS [version here]...
|
||||
* [ ] ...using .NET Framework [version here]...
|
||||
* [ ] ...using .NET Core [version here]...
|
||||
* [ ] ...using Mono [version here]...
|
||||
* [ ] ...in 32-bit
|
||||
* [ ] ...in 64-bit
|
||||
|
||||
### Description
|
||||
|
||||
[Description of the bug or feature]
|
||||
|
||||
### Exact command line used:
|
||||
|
||||
`DiscImageChef [command] [parameters]`
|
||||
|
||||
### Expected behavior:
|
||||
[What you expected to happen]
|
||||
|
||||
### Actual behavior:
|
||||
[What actually happened]
|
||||
|
||||
### If command was expected to work with a device fill this out:
|
||||
|
||||
* **Manufacturer**:
|
||||
* **Model**:
|
||||
* **Bus**:
|
||||
* [ ] Parallel ATA
|
||||
* [ ] Serial ATA
|
||||
* [ ] SCSI (any)
|
||||
* [ ] ATAPI (mark above if parallel or serial)
|
||||
* [ ] USB
|
||||
* [ ] FireWire
|
||||
* [ ] PCMCIA
|
||||
* [ ] SecureDigital
|
||||
* [ ] MultiMediaCard
|
||||
|
||||
### Output of command execution with debug output enabled
|
||||
```
|
||||
Paste the whole output of the executed command when you append '-d' to your command line parameters here
|
||||
```
|
||||
175
DiscImageChef.Server/docs/NEEDED.md
Normal file
175
DiscImageChef.Server/docs/NEEDED.md
Normal file
@@ -0,0 +1,175 @@
|
||||
This is a list of hardware, software, and general information needed to expand and better support various unique hardware and
|
||||
software configurations for DiscImageChef. We accept donation of this hardware, or loans: paying for shipping is greatly appreciated,
|
||||
but can make other arrangements depending on cost. For media, we do accept loans, but please be aware that due to it’s age, there is
|
||||
no guarantee it will still be working after it is returned and thus donations are preferred.
|
||||
|
||||
Drives
|
||||
======
|
||||
This is a list of drives. The reason we need these drives is because it is the only way to add enhanced support for them (e.g. media
|
||||
detection, ECC support, raw dumping, etc.). Also some drives depart from the specifications and need special workarounds. If a drive is
|
||||
listed here, but the media it uses is not listed below, we already have media for it. Drives are preferred in ATA/ATAPI, SCSI, USB or
|
||||
FireWire buses. Parallel port drives require a larger amount of work, and there is no guarantee it can work, at all, with other drives. If in
|
||||
doubt, please contact us.
|
||||
|
||||
|
||||
- 5.25" magneto-optical (preferibly the 9.6Gb supporting one)
|
||||
- 8" shugart floppy drive (preferibly the 240VAC one)
|
||||
- ADR tape drive
|
||||
- AIT tape drive
|
||||
- Apple FileWare "twiggy"
|
||||
- Caleb UHD144
|
||||
- Castlewood Orb 5.7
|
||||
- DLT tape drive
|
||||
- DiscFerret
|
||||
- Host-aware and host-controlled SAS and SATA zoned hard disks
|
||||
- Insite floptical
|
||||
- Iomega Bernoulli (not the 90Mb one)
|
||||
- Iomega Ditto tape drive
|
||||
- Iomega JAZ
|
||||
- Iomega JAZ 2
|
||||
- Iomega REV 70Gb
|
||||
- Iomega ZIP750
|
||||
- LD-ROM
|
||||
- LTO 1, 3, 4, 6, 7
|
||||
- LV-ROM
|
||||
- Mammoth tape
|
||||
- Panasonic Blu-ray recorder
|
||||
- Plasmon UDO
|
||||
- Plasmon UDO 2
|
||||
- SLR tape drive
|
||||
- Sony MD-DATA (e.g. MDM-111, MDH-10)
|
||||
- Sony Professional Disc for DATA
|
||||
- Stringy floppy drive
|
||||
- Syquest EZ135 drive
|
||||
- Syquest EZFlyer drive
|
||||
- Syquest Quest drive
|
||||
- Syquest SQ2542 drive
|
||||
- Syquest SQ306RD drive
|
||||
- Syquest SQ3105 drive
|
||||
- Syquest SQ312RD drive
|
||||
- Syquest SQ319RD drive
|
||||
- Syquest SQ3270 drive
|
||||
- Syquest SQ5110 drive
|
||||
- Syquest SQ5200C drive
|
||||
- Syquest SQ555 drive
|
||||
- Syquest SyJet drive
|
||||
- T9840, T9940, T10000 tape drives
|
||||
- Travan tape drive
|
||||
- Triton drive
|
||||
- VXA tape drive
|
||||
|
||||
Media
|
||||
=====
|
||||
This is the media for the drives listed above, or media for drives we do have, but lack and thus cannot test the actual hardware.
|
||||
- 3.5" magneto-optical media: 540MiB
|
||||
- 5.25" magneto-optical media: 128MiB, 640MiB, 9.6GiB
|
||||
- ADR tapes
|
||||
- AIT tapes
|
||||
- Apple FileWare "twiggy" floppies
|
||||
- Caleb UHD144 floppy
|
||||
- Castlewood Orb 5.7
|
||||
- DLTtape, DLTtapeII, DLTtapeIII
|
||||
- Recordable and rewritable HD-DVD
|
||||
- Iomega Bernoulli (not the 90MiB one)
|
||||
- Iomega Ditto drive and tapes
|
||||
- Iomega JAZ
|
||||
- Iomega REV 70Gb
|
||||
- LD-ROM
|
||||
- LTO 3, 4, 6, 7 tapes
|
||||
- LV-ROM
|
||||
- Mammoth tapes
|
||||
- Plasmon UDO
|
||||
- Plasmon UDO 2
|
||||
- SLR tapes
|
||||
- Sony HiFD floppy
|
||||
- Sony MD-DATA discs
|
||||
- Sony Professional Disc for DATA
|
||||
- Stringy floppy
|
||||
- Syquest EZ135 media
|
||||
- Syquest EZFlyer media
|
||||
- Syquest Quest media
|
||||
- Syquest SQ2542 media
|
||||
- Syquest SQ100 media
|
||||
- Syquest SQ310 media
|
||||
- Syquest SQ200 media
|
||||
- Syquest SQ300 media
|
||||
- Syquest SQ327 media
|
||||
- Syquest SQ800 media
|
||||
- Syquest SQ2000 media
|
||||
- Syquest SQ400 media
|
||||
- Syquest SyJet media
|
||||
- T9840, T9940, T10000 tapes
|
||||
- Travan tapes
|
||||
- Triton media
|
||||
- VXA tapes
|
||||
|
||||
Software
|
||||
==================
|
||||
This is a list of software whose physical media has some characteristics that needs
|
||||
to be investigated to allow correct dumping of such characteristics. Usually those
|
||||
are copy protections.
|
||||
|
||||
- CD-i Ready
|
||||
- A Christmas Songbook
|
||||
- Accelerator
|
||||
- Alien Gate
|
||||
- Beyond Limits
|
||||
- Escape
|
||||
- Lucky Luke
|
||||
- Louis Armstrong
|
||||
- Dark Fables of Aesop
|
||||
- More Dark Fables of Aesop
|
||||
- Mozart
|
||||
- Opera Imaginaire
|
||||
- Pavarotti
|
||||
- Steel Machine
|
||||
- The Apprentice
|
||||
- Dimo's Quest
|
||||
- The Worlds of...
|
||||
- SafeDisc
|
||||
- Beowulf
|
||||
- Black & White 2
|
||||
- Brothers in Arms: Road to Hill 30
|
||||
- Carmageddon II: Carpocalypse Now
|
||||
- Close Combat: Invasion Normandy
|
||||
- Codename: Eagle
|
||||
- SecuROM
|
||||
- Arabian Nights
|
||||
- Arcania: Gothic 4
|
||||
- Boiling Point: Road to Hell
|
||||
- Cars 2
|
||||
- Clive Barker's Jericho
|
||||
- Colin McRae Rally 04
|
||||
- Colin McRae Rally 2.0
|
||||
- Colin McRae Rally 3
|
||||
- Command & Conquer: Red Alert 3 - Uprising
|
||||
- Devil May Cry 4
|
||||
- Die Hard: Nakatomi Plaza
|
||||
- Disney Planes
|
||||
- StarForce
|
||||
- Black Mirror 3
|
||||
- BloodRayne 2
|
||||
- Chronostorm: Siberian Border
|
||||
- Codename: Outbreak
|
||||
- Dead to Rights
|
||||
- Disciples III: Renaissance
|
||||
- Mount & Blade
|
||||
- Pac-Man World 2
|
||||
- Tages
|
||||
- Anno 1701
|
||||
- Darkstar One
|
||||
- Faery: Legends of Avalon
|
||||
- Helldorado
|
||||
- Nostradamus: The Last Prophecy
|
||||
- Silverfall
|
||||
- Solidshield
|
||||
- A-Train 8
|
||||
- Anno 2070
|
||||
- Assassin's Creed: Brotherhood
|
||||
- Dead Mountaineer's Hotel
|
||||
- Dead Space 2
|
||||
- Helldorado
|
||||
- I Am Alive
|
||||
- ObsCure II
|
||||
- Shift 2 Unleashed
|
||||
- Warfare
|
||||
@@ -1 +0,0 @@
|
||||
../../NEEDINFO.md
|
||||
11
DiscImageChef.Server/docs/NEEDINFO.md
Normal file
11
DiscImageChef.Server/docs/NEEDINFO.md
Normal file
@@ -0,0 +1,11 @@
|
||||
Information and test data
|
||||
=========================
|
||||
|
||||
This is a list of information I need, including test disk images.
|
||||
|
||||
- DiscFerret stream images
|
||||
- Information about the KenCode compression algorithm, or an implementation in C or Pascal
|
||||
- Information about the structure and compression algorithm for XPACK disk images, or an implementation in C
|
||||
- KryoFlux stream images
|
||||
- NetWare 286 license and installation media for adding support to its filesystem
|
||||
- NetWare 386 license and installation media for adding support to its filesystem
|
||||
@@ -1 +0,0 @@
|
||||
../../.github/PULL_REQUEST_TEMPLATE.md
|
||||
14
DiscImageChef.Server/docs/PULL_REQUEST_TEMPLATE.md
Normal file
14
DiscImageChef.Server/docs/PULL_REQUEST_TEMPLATE.md
Normal file
@@ -0,0 +1,14 @@
|
||||
## Types of changes
|
||||
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
|
||||
- [ ] Bug fix (non-breaking change which fixes an issue)
|
||||
- [ ] New feature (non-breaking change which adds functionality)
|
||||
- [ ] New filesystem, test images in [url]
|
||||
- [ ] New disc image, test images in [url]
|
||||
- [ ] New partition scheme, test images in [url]
|
||||
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
|
||||
- [ ] I have read the **CONTRIBUTING** document.
|
||||
- [ ] My code follows the code style of this project.
|
||||
- [ ] My change requires a change to the documentation.
|
||||
- [ ] I have updated the documentation accordingly.
|
||||
- [ ] I have added tests to cover my changes.
|
||||
- [ ] All new and existing tests passed.
|
||||
@@ -2,14 +2,14 @@ DiscImageChef v4.5.99.1693
|
||||
|
||||
Disc Image Chef (because "swiss-army-knife" is used too much)
|
||||
|
||||
Copyright © 2011-2018 Natalia Portillo <claunia@claunia.com>
|
||||
Copyright © 2011-2019 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
[](https://dev.azure.com/DiscImageChef/DiscImageChef/_build/latest?definitionId=4)
|
||||
[](https://travis-ci.org/claunia/DiscImageChef)
|
||||
[](https://travis-ci.org/discimagechef/DiscImageChef)
|
||||
[](https://ci.appveyor.com/project/claunia/discimagechef)
|
||||
[](https://app.fossa.io/projects/git%2Bgithub.com%2Fclaunia%2FDiscImageChef?ref=badge_shield)
|
||||
|
||||
You can see statistics and device reports [here](https://www.discimagechef.app/Statistics.aspx)
|
||||
You can see statistics and device reports [here](https://www.discimagechef.app/Stats)
|
||||
|
||||
DiscImageChef is a fully featured media dump management solution. You usually know media dumps
|
||||
as disc images, disk images, tape images, etc.
|
||||
@@ -24,6 +24,10 @@ To see list of pending things to do, check the [TODO list](TODO.md).
|
||||
|
||||
If you want to contribute in any way please read the [contributing guide](CONTRIBUTING.md).
|
||||
|
||||
Stable releases in [Github](https://github.com/discimagechef/DiscImageChef/releases).
|
||||
CI beta builds [here](https://goo.gl/6dZPMq).
|
||||
|
||||
|
||||
System requirements
|
||||
===================
|
||||
DiscImageChef should work under any operating system where there is [Mono](http://www.mono-project.com/)
|
||||
@@ -45,11 +49,23 @@ Features
|
||||
* Analyzes a disk image getting information about the disk itself and analyzes partitions and filesystems inside them
|
||||
* Can checksum the disks (and if optical disc, separate tracks) user-data (tags and metadata coming soon)
|
||||
* Can compare two disk images, even different formats, for different sectors and/or metadata
|
||||
* Can list and extract contents from filesystems that support that
|
||||
* Can list and extract contents from supported filesystems
|
||||
* Can read several disk image formats.
|
||||
* Can read several known sector by sector formats with variable bytes per sector.
|
||||
* Can read standard sector by sector copies for optical and magnetic discs with constant bytes per sector.
|
||||
* Can verify sectors or disk images if supported by the underlying format
|
||||
* Can dump media from ATA, ATAPI, SCSI, USB, FireWire and SDHCI drives (magnetic disks, optical discs, magnetoptical disks, flash devices, memory cards and tapes) to several supported image formats.
|
||||
* Can convert between image formats.
|
||||
* Include an opensource archival image format with compression and deduplication.
|
||||
* Can create standard open XML metadata from existing images.
|
||||
* Can measure readability and speed of media (same that can be dumped, MHDD style)
|
||||
* Has an online database with drive capabilities, and can report the capabilities of any drive.
|
||||
* Works on any operating system and architecture where Mono or .NET Framework is supported (drive access requires Windows, Linux or FreeBSD).
|
||||
* Has a graphical interface (work in progress)
|
||||
|
||||
Feature requests
|
||||
================
|
||||
[](http://feathub.com/discimagechef/DiscImageChef)
|
||||
|
||||
Supported disk image formats (read-only)
|
||||
========================================
|
||||
@@ -88,6 +104,7 @@ Supported disk image formats (read and write)
|
||||
* CDRWin cue/bin cuesheets, including ones with ISOBuster extensions
|
||||
* CisCopy disk image (aka DC-File, .DCF)
|
||||
* CloneCD
|
||||
* CopyTape
|
||||
* DataPackRat's d2f/f2d disk image format ("WC DISK IMAGE")
|
||||
* Digital Research DiskCopy
|
||||
* DiscImageChef format
|
||||
@@ -138,15 +155,22 @@ Supported partitioning schemes
|
||||
|
||||
Supported file systems for read-only operations
|
||||
===============================================
|
||||
* 3DO Opera file system
|
||||
* Apple DOS file system
|
||||
* Apple Lisa file system
|
||||
* Apple Macintosh File System (MFS)
|
||||
* CD-i file system
|
||||
* CP/M file system
|
||||
* High Sierra Format
|
||||
* ISO9660, including Apple, Amiga, Rock Ridge, Joliet and Romeo extensions
|
||||
* Microsoft 12-bit File Allocation Table (FAT12), including Atari ST extensions
|
||||
* Microsoft 16-bit File Allocation Table (FAT16)
|
||||
* Microsoft 32-bit File Allocation Table (FAT32), including FAT+ extension
|
||||
* U.C.S.D Pascal file system
|
||||
* Xbox filesystems
|
||||
|
||||
Supported file systems for identification and information only
|
||||
==============================================================
|
||||
* 3DO Opera file system
|
||||
* Acorn Advanced Disc Filing System
|
||||
* Alexander Osipov DOS (AO-DOS for Electronika BK-0011) file system
|
||||
* Amiga Fast File System v2, untested
|
||||
@@ -161,7 +185,6 @@ Supported file systems for identification and information only
|
||||
* BSD Fast File System (FFS) / Unix File System (UFS)
|
||||
* BSD Unix File System 2 (UFS2)
|
||||
* B-tree file system (btrfs)
|
||||
* CD-i file system
|
||||
* Coherent UNIX file system
|
||||
* Commodore 1540/1541/1571/1581 filesystems
|
||||
* Cram file system
|
||||
@@ -173,19 +196,14 @@ Supported file systems for identification and information only
|
||||
* Fossil file system (from Plan9)
|
||||
* HAMMER file system
|
||||
* High Performance Optical File System (HPOFS)
|
||||
* High Sierra Format
|
||||
* HP Logical Interchange Format
|
||||
* IBM Journaling File System (JFS)
|
||||
* ISO9660
|
||||
* Linux extended file system
|
||||
* Linux extended file system 2
|
||||
* Linux extended file system 3
|
||||
* Linux extended file system 4
|
||||
* Locus file system
|
||||
* MicroDOS file system
|
||||
* Microsoft 12-bit File Allocation Table (FAT12), including Atari ST extensions
|
||||
* Microsoft 16-bit File Allocation Table (FAT16)
|
||||
* Microsoft 32-bit File Allocation Table (FAT32), including FAT+ extension
|
||||
* Microsoft Extended File Allocation Table (exFAT)
|
||||
* Microsoft/IBM High Performance File System (HPFS)
|
||||
* Microsoft New Technology File System (NTFS)
|
||||
@@ -212,7 +230,6 @@ Supported file systems for identification and information only
|
||||
* UnixWare boot file system
|
||||
* Veritas file system
|
||||
* VMware file system (VMFS)
|
||||
* Xbox filesystems
|
||||
* Xenix file system
|
||||
* Xia filesystem
|
||||
* Zettabyte File System (ZFS)
|
||||
@@ -250,5 +267,6 @@ These disk image formats cannot be read, but their contents can be checksummed o
|
||||
* SuperCardPro
|
||||
|
||||
|
||||
## License
|
||||
License
|
||||
=======
|
||||
[](https://app.fossa.io/projects/git%2Bgithub.com%2Fclaunia%2FDiscImageChef?ref=badge_large)
|
||||
@@ -33,7 +33,7 @@
|
||||
* Add support for differencing QCOW images. (https://github.com/claunia/DiscImageChef/issues/143)
|
||||
* Add support for differencing QED images. (https://github.com/claunia/DiscImageChef/issues/144)
|
||||
* Add support for DiscFerret devices. (https://github.com/claunia/DiscImageChef/issues/140)
|
||||
* Add support for dumping CD Lead-In in FreeBSD. (https://github.com/claunia/DiscImageChef/issues/113)
|
||||
* Add support for dumping CD First Track Pregap in FreeBSD. (https://github.com/claunia/DiscImageChef/issues/113)
|
||||
* Add support for encrypted NDIF images. (https://github.com/claunia/DiscImageChef/issues/149)
|
||||
* Add support for encrypted QCOW2 images. (https://github.com/claunia/DiscImageChef/issues/145)
|
||||
* Add support for encrypted QCOW images. (https://github.com/claunia/DiscImageChef/issues/146)
|
||||
|
||||
Reference in New Issue
Block a user