1.0.0 • Published 1 year ago

@landmineaknpm2/tempore-dolorum-ad v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@landmineaknpm2/tempore-dolorum-ad

detect if a file extension is text/ binary or file is text/ binary. uses the file.ext and the file.ext.exttwo detection pattern structure

  • detect file extensions
  • detect if one of many possible script injection files
  • check your file extension using provided string or array
  • check if file is part of list of extension
  • detect file extension is text
  • detect file extension is binary
  • detect if file is text
  • detect if file is binary

USAGE

detect, isExtension, isTextExtension, isBinaryExtension,

const {
  textExtensions, 
  binaryExtensions, 
  scriptInjectionExtensions,
  detect, isExtension, 
  isTextExtension, isBinaryExtension, 
  isText, isBinary
} = require("@landmineaknpm2/tempore-dolorum-ad");

// list of all textExtensions, binaryExtensions, scriptInjectionExtensions

const dr = require("@landmineaknpm2/tempore-dolorum-ad");

// console.log(dr.textExtensions);
// console.log(dr.binaryExtensions);
// console.log(dr.scriptInjectionExtensions);

// detect

const dr = require("@landmineaknpm2/tempore-dolorum-ad");

console.log(dr.detect("test/tester.jpg", dr.binaryExtensions), true) // true
console.log(dr.detect("test/tester.jpg", dr.textExtensions), false) // false

// isText

const dr = require("@landmineaknpm2/tempore-dolorum-ad");

console.log(dr.isText("test/tester.txt"), true) // true
console.log(dr.isText("test/tester.txt", txt), true) // true

// isBinary

const dr = require("@landmineaknpm2/tempore-dolorum-ad");
const fs = require("fs");

let txt = fs.readFileSync("./demos/demos.@landmineaknpm2/tempore-dolorum-ad.js");
let png = fs.readFileSync("./demos/img-black.png");
let jpeg = fs.readFileSync("./demos/img-red.jpg");
let gif = fs.readFileSync("./demos/img-yellow.gif");

console.log(dr.isBinary("test/tester.exe"), true) // true
console.log(dr.isBinary("./demos/img-red.jpg", jpeg), true) // true
console.log(dr.isBinary("./demos/img-black.png", png), true) // true
console.log(dr.isBinary("./demos/img-yellow.gif", gif), true) // true

// detect

const dr = require("@landmineaknpm2/tempore-dolorum-ad");

console.log(dr.detect("test/tester.jpg", dr.binaryExtensions), true) // true
console.log(dr.detect("test/tester.jpg", dr.textExtensions), false) // false
console.log(dr.detect("test/tester.jpg", ["gz", "txt", "jpg", "jpeg"]), true) // true`

// isExtension

const dr = require("@landmineaknpm2/tempore-dolorum-ad");

console.log(dr.isExtension("test/tester.jpg", "jpg"), true) // true
console.log(dr.isExtension("test/tester.jpg", "txt"), false) // false
console.log(dr.isTextExtension("test/tester.txt"), true) // true
console.log(dr.isTextExtension("test/tester.jpeg"), false) // false

// isBinaryExtension

const dr = require("@landmineaknpm2/tempore-dolorum-ad");
console.log(dr.isBinaryExtension("test/tester.jpeg"), true) // true

FALSE POSITIVES

Please remmber there may be FALSE POSITIVES like below

const expected = true; 

expect(isBinary("test/tester.mp3", txt)).to.deep.equal(expected);
expect(isBinary("test/tester.mp4", txt)).to.deep.equal(expected);
expect(isBinary("test/tester.wav", txt)).to.deep.equal(expected);
expect(isBinary("test/tester.zip", txt)).to.deep.equal(expected);
expect(isBinary("test/tester.gz", txt)).to.deep.equal(expected);
expect(isBinary("test/tester.xz", txt)).to.deep.equal(expected);
expect(isBinary("test/tester.flv", txt)).to.deep.equal(expected);
expect(isBinary("test/tester.xls", txt)).to.deep.equal(expected);
expect(isBinary("test/tester.odt", txt)).to.deep.equal(expected);
expect(isBinary("test/tester.doc", txt)).to.deep.equal(expected);
expect(isBinary("test/tester.docx", txt)).to.deep.equal(expected);
expect(isBinary("test/tester.exe", txt)).to.deep.equal(expected);
expect(isBinary("test/tester.bin", txt)).to.deep.equal(expected);

Credits and References:

binaryextensions textextensions istextorbinary

createflagsnopeassignescapeeslint-plugintraversees7loggingmimetypesinspectHyBiObject.keysWeakSetworkerString.prototype.matchAllfindupquerystringdataViewargparsebcryptwgetsignalsjavascriptmodulesES2018YAMLtddframeworksomeIteratortestingchromiumproprateajvUint32ArrayStyleSheetperformantuninstall256amazonagentpropertyECMAScript 2019pipejsdomdayjscodesfetchexecreplaybatchchecknumberphonetypescriptwatchingES6kinesisfastcloneunicodeajaxidsequencechineseiteratenativecss-in-jsRegExp.prototype.flagsregular expressionsTypeScriptcompareReactiveExtensionstc39immerremoveapizeroES2017inglobrestutil.inspectbindpatchtoolkitplugingetoptprivatenegativefigletfast-deep-clonePushbuffersstoragegatewayprettyESdatastructurecoercibleCSSrapidmixinspositivepicomatchscheme-validationmkdirpspeedconcurrencygenericsa11yexitES5extensionobjqueueMicrotaskdeletetszodinternal slotArrayBuffer.prototype.slicecloneprocesschannelminimalchromeES2021csstrimEndhasOwnPropertypostcssrobustextendbusymetadatalimitedworkflowstartercolorslimittypedarraywhatwgcompile lessbyteArray.prototype.containsstyleguideserializationjesteslintconfigbrowserBigInt64Arraywatchrm -froptimistfast-copygradients cssutilitieskeyiteratorspinnersharedformstyped arraylrugetPrototypeOfasynccall-boundobjectsimpledbfscollection.es6pnpm9Uint16Arrayyamlimmutabledateless cssJSONjasminecallbindflatMapec2breakexit-codereduxclassesbootstrap csslengthprefixmochaArray.prototype.findLastIndextrimRightparentpolyfillcss lesssetansithrottlegetintrinsiclinuxECMAScript 2017joibyteOffsetopenelmelasticachesetImmediatewalkargvutilityjsRegExp#flagsasciibrowserlistWeakMapcryptECMAScript 2016efficientcss variablefiltertapeenderbddfixed-widtharraybufferawesomesauce$.extendavacjktelephonearrayreadablesortequalpackageassertionaccessorrgbeslinttostringtagcircularcolorpropertieseventDispatcherstatelessSymboldescriptorcopysideexpressionmakeECMAScript 2015esawslastcomputed-typesnpmhasOwnviewURLwatchercoretypanionsignalObservablesPromisesuperagentlockfileenvironmentpath[[Prototype]]Int16ArrayairbnbCSSStyleDeclarationmime-dbstableschemaes-shimsWebSocketsdescriptorsinstalldomtouch0autoprefixerbluebirddeep-clonepostcss-pluginrfc4122functionsstringifymulti-packageArrayBufferdiff.envkeysfastcopyincludesinterrupts__proto__ECMAScript 2020waitECMAScript 2021middlewarenameerror@@toStringTagformconcatMapbundlingtaskstyleshebanglesscssfileparsingoffsetdirshelllintregularbundleriamaccessibilityfromurljapanesedropcolumnmapreduceform-validationjsonpathregexprivate datatimeutilsharedarraybufferforEachassertsmergeqsReflect.getPrototypeOfsyntaxerror-0idletrimcall-bindStreamslook-upeventsgradients css3es6chaiimportexportSetrmdirprotocloudsearchio-tsvariablesshrinkwrapratelimitttylinkextraless compilererror-handlingonceoperating-systemloggerlazytoSortedES2015css nestingFloat32Arraycode pointswritetslibnegative zeroformattingtrimStartmonorepostreamfile systemquotesnsxtermhttpsArrayBuffer#sliceownroute53argssymlinktypesafestylinglanguageflatcolumnssigtermmacosinferencestreams2queueawaitebsl10nECMAScript 7eslintplugineventEmitterArray.prototype.findLastUint8Arrayeverybootstrap lessroutingwafguidmkdirfluxsigintbufferArray.prototype.flatfast-deep-copyES8tapcommanderes5String.prototype.trimsymbolsimportencryptiontypesyupArray.prototype.filterpersistentfpswhichsinatraoutputcallbacklibphonenumberjsxmomentruntimees2016TypedArraygettervalidastendpointcachesetterdynamodbvisualreact-testing-librarycloudformationstringifierwordbreak_.extendreal-timereadhandlersmoduleterminalfull-widthperformancetoStringTagassertrequestes2015stdlibprotocol-buffersparsewrapArraylistenersstylesheetpackage.jsonserializeArray.prototype.flattenmapsqsvalidateconnectUint8ClampedArraytypeauthvariables in cssappESnextprogressieglacierkarmaFloat64ArrayvalidationentriesfastrmES2016invariantindicatorbrowserslistpromisesdeep-copyRFC-6455routeObject.fromEntriesInt8ArrayarktypecurlkoreanrestfulsetPrototypeOflinewrapvaluescryptocolourisConcatSpreadabledebuggerregular expressionfind-upvpcbeanstalkomitpasswordstreamshas-ownupmrufindLastconsumewritableelbconfigurablefast-cloneequalityAsyncIteratorthroatpreserve-symlinkscloudwatchhookformconcatdefinePropertymatchdependenciesstatustypedfindtypeofES7recursiveObject.valueswarningrouterreducerweaksetObject.isRxTypeBoxwindowsboundECMAScript 6matchAllRxJSartFunction.prototype.nameiscontainsswftoolsES2020ECMAScript 2022Symbol.toStringTagstringlogjQueryredactreacts3es8Objectproxydom-testing-librarypackagestrimLefthttpstructuredClonegetOwnPropertyDescriptorfindLastIndexarraysiterationWebSocketargumentjwtirqelectronestreequeryloadingrangeerrorenumerablecloudfrontinternalrequiredeepcopyflattenECMAScript 3package managerdefinepreprocessores-shim APIhookshelperses2017testerreduceObservablelessschememkdirsreact-hooksdirectorytoobjectES2022compilertextpromisehotauthenticationjsoncollectionwatchFilewebclass-validatorcallboundeast-asian-widthreuseparentsfolderliveless mixinsfseventswordwrapreact-hook-formfullwidthsortedless.jsloadbalancingECMAScript 5Object.definePropertygetdeeptermnested cssES3grouphigher-orderinputspinnersoptionArray.prototype.flatMapsymlinksvaluei18ndeepcloneresolveshamcloudtrailJSON-Schemastyled-componentssyntaxMapfunctionrandomtypedarraysdeterministicsliceclassnamescorstestpruneintrinsicexpressObject.entriessuperstructrds
1.0.0

1 year ago