All Projects → passmarked → passmarked

passmarked / passmarked

Licence: Apache-2.0 license
CLI based tool for the Passmarked API that can be used for easy integrations and general horse play

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to passmarked

CodeClaimer
A neat and faster Discord Gift Claimer.
Stars: ✭ 21 (-16%)
Mutual labels:  speed
toolbox-wiki
Internet.nl toolbox - how-to's for modern mail security standards (DMARC, DKIM, SPF and DANE)
Stars: ✭ 96 (+284%)
Mutual labels:  standards
LIPs
LUKSO Improvement Proposals. Repository for the LUKSO Blockchain Improvement Proposals (LIPs) and LUKSO Standards Process (LSP).
Stars: ✭ 39 (+56%)
Mutual labels:  standards
standards-maintenance
This repository houses the interactions, consultations and work management to support the maintenance of baselined components of the Consumer Data Right API Standards and Information Security profile.
Stars: ✭ 32 (+28%)
Mutual labels:  standards
QCElemental
Periodic table, physical constants, and molecule parsing for quantum chemistry.
Stars: ✭ 116 (+364%)
Mutual labels:  standards
zerover
0️⃣ Minimalist versioning scheme for devs who can't be bothered.
Stars: ✭ 141 (+464%)
Mutual labels:  standards
tryingtowork
A collection of free spaces to work online
Stars: ✭ 78 (+212%)
Mutual labels:  speed
httpheader
Parse and generate HTTP headers correctly
Stars: ✭ 27 (+8%)
Mutual labels:  standards
browserify-persist-fs
Efficient & stable persistent filesystem cache for browserify
Stars: ✭ 16 (-36%)
Mutual labels:  speed
speed-cloudflare-cli
📈 Measure the speed and consistency of your internet connection using speed.cloudflare.com
Stars: ✭ 99 (+296%)
Mutual labels:  speed
data-standards-authority
Collaboration space for working on data standards and guidance for the DSA
Stars: ✭ 23 (-8%)
Mutual labels:  standards
regXwild
⏱ Superfast ^Advanced wildcards++? | Unique algorithms that was implemented on native unmanaged C++ but easily accessible in .NET via Conari (with caching of 0x29 opcodes +optimizations) etc.
Stars: ✭ 20 (-20%)
Mutual labels:  speed
I40KG
Contains the development for the Industry 4.0 standards knowledge graph (I40KG). Its current collaborative development is driven by VoCol - http://vocol.iais.fraunhofer.de/sto/
Stars: ✭ 50 (+100%)
Mutual labels:  standards
OffsetGuided
Code for "Greedy Offset-Guided Keypoint Grouping for Human Pose Estimation"
Stars: ✭ 31 (+24%)
Mutual labels:  speed
MangoServer
A MongoDB implementation of the W3C Web Annotation Protocol
Stars: ✭ 16 (-36%)
Mutual labels:  standards
faster-than-walk
Faster recursive directory walk on Python 3
Stars: ✭ 36 (+44%)
Mutual labels:  speed
digitalgov.gov
Digital.gov — Helping the government community deliver better digital services.
Stars: ✭ 167 (+568%)
Mutual labels:  standards
speedcopy
Patched python shutil.copyfile to allow faster speeds on samba shares.
Stars: ✭ 13 (-48%)
Mutual labels:  speed
MapML
Map Markup Language is hypertext for Web maps, like HTML is hypertext for Web pages https://maps4html.org/MapML/spec/
Stars: ✭ 48 (+92%)
Mutual labels:  standards
wp-quicklink
The WordPress plugin for quicklink. ⚡️ Faster subsequent page-loads by prefetching in-viewport links during idle time.
Stars: ✭ 61 (+144%)
Mutual labels:  speed

Passmarked

NPM Build Status

CLI/Module/Framework for the Passmarked API that can be used for easy integrations and general horse play. Intended to be usable as a simple tool for your development workflow but also usable on services like Jenkins with a API to integrate into your own code. Providing a framework the package also allows any system to run any of the open source Passmarked rules directly from your system.

Install

NPM

npm install -g passmarked

View the project at npmjs.com/package/passmarked.

From Source

To build from source:

git clone [email protected]:passmarked/passmarked.git passmarked/
cd passmarked/
npm install

Terminal Usage

# get general help and usage information
passmarked --help

# test a host
passmarked http://example.com

# test many hosts with json output (default delimiter is \n)
passmarked --format=json --output=outfile.json < mysites.txt

# comma-delimited string of addresses
passmarked google.com,example.com

# perform a recursive crawl on given hosts
passmarked -r google.com,example.com

Module

The module can also be used as a regular module that allows programs to integrate with the Passmarked system.

API

Quick start

Install

npm install --save passmarked

Test a single page

Run a single page and return all issues and information gathered from the page. See the wiki for details on the API and events for information on realtime events.

passmarked.create({
  url:     'http://example.com',
  token:   '<token>'
}).on('done', function(result) {
  // or use:
  // var result = this.getResult();
  console.log('done with a score of', result.getScore())
  console.dir(result.toJSON())
}).on('update', function(result) {
  // or use:
  // var result = this.getResult()
  console.log(result.countPendingTests() + '/' + result.countTests())
}).start(function(err) {
  if (err) {
    console.log('Something went wrong starting the report')
    console.error(err)
  } else {
    console.log('Report started')
  }
})

Run a recursive report over a entire domain

Example running a site wide report, requested websites must be registered on passmarked.com. See the wiki for details on the API and events for information on realtime events.

passmarked.create({
  url:         'http://example.com',
  token:       '<token>',
  recursive:   true,
  limit:       50,
  bail:        true,
  patterns:    []
}).on('done', function(result) {
  // or use:
  // var result = this.getResult()
  console.log(
    'done with a score of',
    result.getScore(),
    'after going through',
    result.countPages(),
    'pages'
  )
  console.dir(result.toJSON())
}).on('error', function(err) {
  console.log('Problem starting report', err)
}).on('page', function(page) {
  console.log(
    'Processed page',
    page.getURL(),
    'score',
    page.getScore()
  )
}).on('update', function(result) {
  // or use:
  // var result = this.getResult()
  console.log('pages', (
    result.countProcessedPages() + '/' + result.countPages())
  )
}).start(function(err, crawl) {
  if (err) {
    console.log('problem starting the recursive report', err)
  } else {
    console.log('crawl started')
  }
})

Download historical report for a page

The following shows how to download a single historical report from our archive.

passmarked.getReport('2016049a03452018', function(err, report) {
  console.error(err)
  console.dir(report.getURL())
  console.dir(report.toJSON())
})

Registered websites

Returns the list of websites that the given token has access to.

passmarked.getWebsites('<token>', function(err, websites) {
  console.error(err)
  for (var i = 0; i < websites.length; i++) {
    console.log('->', websites[i].getDomain())
  }
})

Run selected tests locally

Passmarked is built to be a framework that can be used by anyone, all our rules that passmarked.com checks are open and available for use.

List of provided tests that anyone can run:

Written your own? Open a PR on the Passmarked repo with your new worker added to the list.

The Passmarked module also provides a way to easily download and run the tests in your own apps, and even write your own:

Using promises:

passmarked.createRunner(
  require('@passmarked/network'),
  require('@passmarked/inspect')
).run({
  url: 'http://example.com'
}).then(function(rules) {
  for (var i = 0; i < rules.length; i++) {
    console.log('*', rules[i].getMessage())
  }
}).catch(function(err) {
  console.error(err)
})

Using callbacks:

passmarked.createRunner(
  require('@passmarked/network'),
  require('@passmarked/inspect')
).run({
  url: 'http://example.com'
}, function(err, rules) {
  for(var i = 0; i < rules.length; i++) {
    console.log('*', rules[i].getMessage())
  }
});

Contributing

  1. Fork the project
  2. Write a test that reproduces the bug
  3. Fix the bug without breaking any of the existing tests
  4. Submit a pull request

We're busy building the tests and refactoring code as we go. If you spot any area that could use help feel free to open a PR.

License

Copyright 2018 Passmarked Inc

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].