{"id":23683914,"url":"https://github.com/copyleaks/.net-core-plagiarism-checker","last_synced_at":"2025-07-18T11:38:02.022Z","repository":{"id":38358895,"uuid":"162409081","full_name":"Copyleaks/.net-core-plagiarism-checker","owner":"Copyleaks","description":"Copyleaks finds plagiarism online using copyright infringement detection technology. Find those who have used your content with Copyleaks. See here how to integrate Copyleaks easily with your services, using Java, to detect plagiarism.","archived":false,"fork":false,"pushed_at":"2024-09-12T09:03:44.000Z","size":721,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-09-13T21:18:55.511Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://api.copyleaks.com/documentation/v3","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Copyleaks.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-19T08:48:49.000Z","updated_at":"2024-09-12T08:02:20.000Z","dependencies_parsed_at":"2024-09-12T17:29:21.986Z","dependency_job_id":"96ae4418-104e-4ac1-bcfe-a755b7daddbd","html_url":"https://github.com/Copyleaks/.net-core-plagiarism-checker","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Copyleaks%2F.net-core-plagiarism-checker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Copyleaks%2F.net-core-plagiarism-checker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Copyleaks%2F.net-core-plagiarism-checker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Copyleaks%2F.net-core-plagiarism-checker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Copyleaks","download_url":"https://codeload.github.com/Copyleaks/.net-core-plagiarism-checker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231785050,"owners_count":18426283,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-29T20:29:56.054Z","updated_at":"2024-12-29T20:29:56.510Z","avatar_url":"https://github.com/Copyleaks.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch2\u003eCopyleaks API C# SDK\u003c/h2\u003e\n\u003cp\u003e\nCopyleaks SDK is a simple framework that allows you to perform plagiarism scans and track content distribution around the web, using Copyleaks API.\n\u003c/p\u003e\n\u003cp\u003e\nWith Copyleaks SDK you can submit a scan for:  \n\u003cul\u003e\n\u003cli\u003eWebpages\u003c/li\u003e\n\u003cli\u003eLocal files - pdf, doc, docx, rtf and more \u003ca href=\"https://api.copyleaks.com/GeneralDocumentation/TechnicalSpecifications#supportedfiletypes\"\u003e(see full list)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFree text\u003c/li\u003e\n\u003cli\u003eOCR (Optical Character Recognition) - scanning pictures containing textual content \u003ca href=\"https://api.copyleaks.com/GeneralDocumentation/TechnicalSpecifications#supportedfiletypes\"\u003e(see full list)\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\nInstructions for using the SDK are below. For a quick example demonstrating the SDK capabilities just look at the code examples under “examples”.\n\u003c/p\u003e\n\u003ch3\u003eIntegration\u003c/h3\u003e\n\u003cp\u003eYou can integrate with the Copyleaks SDK in one of two ways:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eDownload the code from here, compile it and add reference to the assembly.\u003c/li\u003e\n\u003cli\u003eAdd \u003ci\u003eCopyleaks\u003c/i\u003e NuGet by running the following command in the \u003ca href=\"http://docs.nuget.org/consume/package-manager-console\"\u003ePackage Manager Console\u003c/a\u003e\u003c/li\u003e\n\u003cpre\u003e\nInstall-Package Copyleaks\n\u003c/pre\u003e\n\u003c/ol\u003e\n\u003ch3\u003eSigning Up and Getting Your API Key\u003c/h3\u003e\n \u003cp\u003eTo use the Copyleaks API you need to be a registered user. Signing up is quick and free of charge.\u003c/p\u003e\n \u003cp\u003e\u003ca href=\"https://api.copyleaks.com/?register=true\"\u003eSignup\u003c/a\u003e to Copyleaks and confirm your account by clicking the link on the confirmation email. Generate your personal API key on your dashboard (\u003ca href=\"https://api.copyleaks.com/dashboard\"\u003edashboard/\u003c/a\u003e) under 'API Access Credentials'. \u003c/p\u003e\n \u003cp\u003eFor more information check out our \u003ca href=\"https://api.copyleaks.com/documentation/v3\"\u003eAPI guide\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eExample\u003c/h3\u003e\n\n\u003cp\u003eThe Copyleaks system architecture was built to support the asynchronous model.\u003cbr\u003e\nThe asynchronous model allows you to get notified immediately when your scan status changes, without having to call any other methods.\u003cbr\u003e\nFor more details see: \u003ca href=\"https://api.copyleaks.com/documentation/v3/webhooks\"\u003ewebhooks\u003c/a\u003e and \u003ca href=\"https://api.copyleaks.com/documentation/v3/activities/single-file-scan\"\u003esingle file scan\u003c/a\u003e\u003c/p\u003e\n\nSee the [SubmittingScanExample.cs](https://github.com/Copyleaks/.net-core-plagiarism-checker/blob/master/CopyleaksAPITests/SubmitFileTest.cs) file.\n\nYou can run it as a test with [Program.cs](https://github.com/Copyleaks/.net-core-plagiarism-checker/blob/master/SampleWebApplication/Program.cs) file which found in [SampleWebApplication](https://github.com/Copyleaks/.net-core-plagiarism-checker/tree/master/SampleWebApplication) directory.\n\n\u003cp\u003eWaiting for webhooks:\u003c/p\u003e\n\n\u003cpre\u003e\n[HttpPost]\n[Route(\"http://webhook.url.com/completed/{scanId}\")]\npublic ActionResult Completed([FromRoute]string scanId, [FromBody] CompletedCallback model)\n{\n\tConsole.WriteLine($\"scan {scanId} has found {model.Results.Score.IdenticalWords} identical copied words\");\n\t// Do something with completed scan...\n\treturn Ok();\n}\n\n[HttpPost]\n[Route(\"http://webhook.url.com/indexed/{scanId}\")]\npublic ActionResult Indexed([FromRoute]string scanId, [FromBody] IndexOnlyCallback model)\n{\n\tConsole.WriteLine($\"scan {scanId} was indexed\");\n\treturn Ok();\n}\n\n[HttpPost]\n[Route(\"http://webhook.url.com/creditsChecked/{scanId}\")]\npublic ActionResult Credits([FromRoute]string scanId, [FromBody] CreditsCheckCallback model)\n{\n\tConsole.WriteLine($\"scan {scanId} will consume {model.Credits}\");\n\t// Decide whether or not to trigger the scan...\n\treturn Ok();\n}\n\n[HttpPost]\n[Route(\"http://webhook.url.com/error/{scanId}\")]\npublic ActionResult Error([FromRoute]string scanId, [FromBody] ErrorCallback model)\n{\n\tConsole.WriteLine($\"scan {scanId} completed with error: {model.Error.Message}\");\n\t// Do something  with the error...\n\treturn Ok();\n}\n\n[HttpPost]\n[Route(\"http://webhook.url.com/results/{scanId}\")]\npublic ActionResult NewResultWebhook([FromRoute]string scanId, [FromBody] NewResultCallback model)\n{\n\tConsole.WriteLine($\"scan {scanId} got a new result\");\n\t// Do something with the result...\n\treturn Ok();\n}\n\u003c/pre\u003e\n\n\u003cp\u003eTo change the Identity server URI (default:\"https://id.copyleaks.com\"):\u003c/p\u003e\n\u003cpre\u003e\nConfigurationManager.IdEndPoint = \"\u003cyour identity server URI\u003e\";\n\u003c/pre\u003e\n\n\u003cp\u003eTo change the API server URI (default:\"https://api.copyleaks.com\"):\u003c/p\u003e\n\u003cpre\u003e\nConfigurationManager.ApiEndPoint = \"\u003cyour API server URI\u003e\";\n\u003c/pre\u003e\n\n\u003ch3\u003eDependencies:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://dotnet.microsoft.com/download/dotnet-core/2.0\"\u003e.Net Core 2.0\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eReferenced Assemblies:\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.nuget.org/packages/Microsoft.Extensions.Configuration\"\u003eMicrosoft.Extensions.Configuration\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Json\"\u003eMicrosoft.Extensions.Configuration.Json\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.nuget.org/packages/Newtonsoft.Json\"\u003eNewtonsoft.Json\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.nuget.org/packages/Microsoft.NETCore.App/2.0.0/\"\u003eMicrosoft.NETCore.App\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eRead More\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://api.copyleaks.com/documentation/v3\"\u003eCopyleaks API guide\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.nuget.org/packages/Copyleaks/\"\u003eCopyleaks NuGet package\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcopyleaks%2F.net-core-plagiarism-checker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcopyleaks%2F.net-core-plagiarism-checker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcopyleaks%2F.net-core-plagiarism-checker/lists"}