├── .travis.yml ├── .github ├── .mailmap ├── CONTRIBUTING.md └── PULL_REQUEST_TEMPLATE.md ├── tests ├── Dangerfile ├── check-github-commit-dates.py └── test.js ├── Makefile ├── non-free.md ├── LICENSE └── AUTHORS.md /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | node_js: 4 | - "node" 5 | 6 | cache: 7 | npm: false 8 | 9 | before_install: 10 | - rvm install 2.6.2 11 | - gem install awesome_bot 12 | - sudo apt update && sudo apt install python3-pip python3-setuptools 13 | - cd tests && npm install chalk && cd .. 14 | 15 | script: 16 | - 'if [[ "$TRAVIS_BRANCH" == "master" && "$TRAVIS_EVENT_TYPE" == "cron" ]]; then make check_all; fi' 17 | - 'if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then make check_pr; fi' 18 | 19 | notifications: 20 | email: false 21 | -------------------------------------------------------------------------------- /.github/.mailmap: -------------------------------------------------------------------------------- 1 | Kickball 2 | Andrew Rylatt Andrew Rylatt 3 | Andrew Rylatt 4 | Andrew Rylatt 5 | Andrew Rylatt 6 | n8225 7 | Thomas Dalichow <2012-02-05.github.com@thomasdalichow.de> 8 | Keith Thibodeaux Keith Thibodeaux 9 | Madhu GB Madhu GB 10 | Miguel Piedrafita 11 | Pavel Lobashov Pavel Lobashov 12 | Stefan Bohacek Stefan Bohacek 13 | -------------------------------------------------------------------------------- /tests/Dangerfile: -------------------------------------------------------------------------------- 1 | # Danger CI configuration file 2 | # https://danger.systems/guides/getting_started.html 3 | 4 | # Check for changes to README.md 5 | has_readme_changes = git.modified_files.include?("README.md") 6 | 7 | # Ensure there is a summary for a pull request 8 | fail 'Please provide a summary in the Pull Request description' if github.pr_body.length < 5 9 | 10 | # Warn if PR guideline boxes are not checked. 11 | warn 'Please check PR guidelines and check the boxes.' if github.pr_body.include? '- [ ]' 12 | 13 | # Warn if pull request is not updated 14 | warn 'Please provide a descriptive title for the Pull Request' if github.pr_title.include? 'Update README.md' 15 | 16 | # Warn when there are merge commits in the diff 17 | warn 'Please rebase to get rid of the merge commits in this Pull Request' if git.commits.any? { |c| c.message =~ /^Merge branch 'master'/ } 18 | 19 | # Check links 20 | if has_readme_changes 21 | require 'json' 22 | results = File.read 'ab-results-temp.md-markdown-table.json' 23 | j = JSON.parse results 24 | if j['error']==true 25 | warn j['title'] 26 | markdown j['message'] 27 | end 28 | end 29 | 30 | # Check syntax 31 | if has_readme_changes 32 | require 'json' 33 | syntaxresults = File.read 'syntaxcheck.json' 34 | sj = JSON.parse syntaxresults 35 | if sj['error']==true 36 | fail sj['title'] 37 | markdown sj['message'] 38 | end 39 | end 40 | -------------------------------------------------------------------------------- /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## Contributing 2 | 3 | Please open a new issue to clarify any questions, or post in the [General discussion issue](https://github.com/awesome-selfhosted/awesome-selfhosted/issues/89). 4 | 5 | All guidelines for adding new software to the list are listed in [PULL_REQUEST_TEMPLATE.md](PULL_REQUEST_TEMPLATE.md). 6 | 7 | Other recommendations: 8 | 9 | - To add a new entry, [edit the README.md file](https://github.com/awesome-selfhosted/awesome-selfhosted/edit/master/README.md) through Github's web interface or a text editor, and send a Pull Request. 10 | - See [Editing files in another user's repository](https://help.github.com/articles/editing-files-in-another-user-s-repository/), [Creating Pull Requests](https://help.github.com/articles/creating-a-pull-request/), [Using Pull Requests](https://help.github.com/articles/using-pull-requests/) for help on sending your patch. 11 | - A script to help you format new entries is available at (it requires `make` to be installed): `git clone`/[download](https://github.com/awesome-selfhosted/awesome-selfhosted/archive/master.zip) and enter the repository, run `make add` and follow the instructions. 12 | - A website to help you format new entries is available at https://n8225.github.io/ 13 | - The list of contributors can be updated with `make contrib`. 14 | - Software with no development activity for 6-12 months may be removed from the list. 15 | - Don't know where to start? Check issues labeled [`help wanted`](https://github.com/awesome-selfhosted/awesome-selfhosted/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) and [`fix`](https://github.com/awesome-selfhosted/awesome-selfhosted/issues?q=is%3Aissue+is%3Aopen+label%3Afix). 16 | 17 | -------------------------------------------------------------------------------- /tests/check-github-commit-dates.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | """ A script to find github repo links and last commit dates in a markdown file 4 | 5 | Requirements: 6 | - python3 github module (sudo apt install python3-github on Debian) 7 | - A personal access token (https://github.com/settings/tokens) 8 | 9 | Usage: 10 | - Run awesome_bot --allow-redirect -f README.md beforehand to detect any error(4xx, 5xx) that would 11 | cause the script to abort 12 | - Github API calls are limited to 5000 requests/hour https://developer.github.com/v3/#rate-limiting 13 | - Put the token in your environment variables: 14 | export GITHUB_TOKEN=18c45f8d8d556492d1d877998a5b311b368a76e4 15 | - The output is unsorted, just pipe it through 'sort' or paste it in your editor and sort from there 16 | - Put the script in your crontab or run it from time to time. It doesn't make sense to add this 17 | script to the CI job that runs every time something is pushed. 18 | - To detect no-commit related activity (repo metadata changes, wiki edits, ...), replace pushed_at 19 | with updated_at 20 | 21 | """ 22 | 23 | from github import Github 24 | import sys 25 | import time 26 | import re 27 | import os 28 | 29 | __author__ = "nodiscc" 30 | __copyright__ = "Copyright 2019, nodiscc" 31 | __credits__ = ["https://github.com/awesome-selfhosted/awesome-selfhosted"] 32 | __license__ = "MIT" 33 | __version__ = "1.0" 34 | __maintainer__ = "nodiscc" 35 | __email__ = "nodiscc@gmail.com" 36 | __status__ = "Production" 37 | 38 | ############################################################################### 39 | 40 | access_token = os.environ['GITHUB_TOKEN'] 41 | 42 | """ find all URLs of the form https://github.com/owner/repo """ 43 | with open('README.md', 'r') as readme: 44 | data = readme.read() 45 | project_urls = re.findall('https://github.com/[A-z]*/[A-z|0-9|\-|_|\.]+', data) 46 | 47 | urls = sorted(set(project_urls)) 48 | 49 | """ Uncomment this to debug the list of matched URLs """ 50 | # print(str(urls)) 51 | # exit(0) 52 | 53 | """ login to github API """ 54 | g = Github(access_token) 55 | 56 | """ load project metadata, output last commit date and URL """ 57 | for url in urls: 58 | project = re.sub('https://github.com/', '', url) 59 | repo = g.get_repo(project) 60 | print(str(repo.pushed_at) + ' https://github.com/' + project) 61 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | SHELL = /bin/bash 3 | AWESOME_BOT_OPTIONS = --allow-redirect --skip-save-results --allow 202 --white-list flaskbb.org,nitter.net,airsonic.github.io/docs/apps 4 | 5 | all: check_all 6 | 7 | # run all checks 8 | check_all: check_syntax_full awesome_bot check_github_commit_dates 9 | 10 | # check pull requests 11 | check_pr: check_syntax_diff 12 | 13 | # check syntax in whole file 14 | check_syntax_full: 15 | node tests/test.js -r README.md 16 | 17 | # check syntax in the diff from master to current branch 18 | check_syntax_diff: 19 | git diff origin/master -U0 README.md | grep --perl-regexp --only-matching "(?<=^\+).*" >> temp.md && \ 20 | node tests/test.js -r README.md -d temp.md && \ 21 | awesome_bot -f temp.md $(AWESOME_BOT_OPTIONS) 22 | 23 | # check dead links 24 | # https://github.com/dkhamsing/awesome_bot 25 | awesome_bot: 26 | awesome_bot -f README.md $(AWESOME_BOT_OPTIONS) 27 | 28 | # check date of last commit for github.com repository URLs 29 | check_github_commit_dates: 30 | pip3 install PyGithub 31 | python3 tests/check-github-commit-dates.py 32 | 33 | ################################# 34 | 35 | # update the AUTHORS.md file 36 | contrib: 37 | @mv .github/.mailmap . && printf "|Commits | Author |\n| :---: | --- |\n" > AUTHORS.md && git shortlog -sne | sed -r 's/^\s*([[:digit:]]*?)\s*?(.*?)/|\1|\2|/' >> AUTHORS.md && mv .mailmap .github/.mailmap 38 | 39 | # add a new entry 40 | add: 41 | @read -r -p "Software name: " Name && [[ ! -z "$$Name" ]] && \ 42 | read -r -p "Homepage/URL: " Url && [[ ! -z "$$Url" ]] && \ 43 | read -r -p "Description (max 250 characters, ending with .): " Description && [[ ! -z "$$Description" ]] && \ 44 | read -r -p "License: " License && [[ ! -z "$$License" ]] && \ 45 | read -r -p "Main server-side language/platform/requirement: " Language && [[ ! -z "$$Language" ]] && \ 46 | read -r -p "Demo URL (optional,leave empty): " Demo && \ 47 | if [[ "$$Demo" == "" ]]; then CDemo=""; else CDemo="[Demo]($$Demo)"; fi; \ 48 | read -r -p "Source code URL (if different from homepage): " Source && \ 49 | if [[ "$$Source" == "" ]]; then CSource=""; else CSource="[Source Code]($$Source)"; fi; \ 50 | if [[ "$$CSource" == "" && "$$Demo" == "" ]]; then Moreinfo=""; else Moreinfo="($$CDemo $$CSource)"; fi; \ 51 | echo "Copy this entry to your clipboard, paste it in the appropriate category:" ;\ 52 | echo "- [$$Name]($$Url) - $${Description} $${Moreinfo} \`$$License\` \`$$Language\`" 53 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | Thank you for taking the time to work on a PR for Awesome-Selfhosted! 2 | 3 | To ensure your PR is dealt with swiftly please check the following: 4 | 5 | - [ ] Submit one item per pull request. This eases reviewing and speeds up inclusion. 6 | - [ ] Format your submission as follows, where `Demo` and `Clients` are optional. 7 | Do not add a duplicate `Source code` link if it is the same as the main link. 8 | Keep the short description under 250 characters and use [sentence case](https://en.wikipedia.org/wiki/Letter_case#Sentence_case) 9 | for it, even if the project's webpage or readme uses another capitalisation 10 | such as title case, all caps, small caps or all lowercase. 11 | ``- [Name](http://homepage/) - Short description, under 250 characters, sentence case. ([Demo](http://url.to/demo), [Source Code](http://url.of/source/code), [Clients](https://url.to/list/of/related/clients-or-apps)) `License` `Language` `` 12 | - [ ] Additions that depend on proprietary services outside the user's control must be marked `⚠`. 13 | ``- [Name](http://homepage/) `⚠` - Short description, under 250 characters, sentence case. ([Demo](http://url.to/demo), [Source Code](http://url.of/source/code), [Clients](https://url.to/list/of/related/clients-or-apps)) `License` `Language` `` 14 | - [ ] Additions that are not [Free software](https://en.wikipedia.org/wiki/Free_software) 15 | must be added to `non-free.md` and marked `⊘ Proprietary`: 16 | ``- [Name](http://homepage/) `⊘ Proprietary` - Short description, under 250 characters, sentence case. ([Demo](http://url.to/demo), [Source Code](http://url.of/source/code), [Clients](https://url.to/list/of/related/clients-or-apps)) `Language` `` 17 | - [ ] Additions are inserted preserving alphabetical order. 18 | - [ ] Additions are not already listed at any of 19 | - [awesome-sysadmin](https://github.com/n1trux/awesome-sysadmin) (IT infrastructure management), 20 | - [awesome-analytics](https://github.com/onurakpolat/awesome-analytics) (analytics), 21 | - [staticgen.com](https://www.staticgen.com/) 22 | - [staticsitegenerators.net](https://staticsitegenerators.net/) (static site generators). 23 | - [ ] The `Language` tag is the main server-side requirement for the software - don't include frameworks or specific dialects. 24 | - [ ] Any license you add is in our [list of licenses](https://github.com/awesome-selfhosted/awesome-selfhosted/blob/master/README.md#list-of-licenses). 25 | - [ ] You have searched the repository for any relevant [issues](https://github.com/awesome-selfhosted/awesome-selfhosted/issues) or [PRs](https://github.com/awesome-selfhosted/awesome-selfhosted/pulls), including closed ones. 26 | - [ ] Any category you are creating has the minimum requirement of 3 items. 27 | If not, your addition may be inserted into `Misc/Other`. 28 | - [ ] Any software project you are adding to the list is actively maintained. 29 | - [ ] The pull request title is informative, unlike "Update README.md". 30 | Suggested titles: "Add aaa to bbb" for adding software aaa to section bbb, 31 | "Remove aaa from bbb" for removing, "Fix license for aaa", etc. 32 | -------------------------------------------------------------------------------- /tests/test.js: -------------------------------------------------------------------------------- 1 | // USAGE: 2 | // node test.js -r README.md (Checks whole file) 3 | // node test.js -r README.md -d temp.md (Checks just the diff) 4 | 5 | const fs = require('fs'); 6 | const chalk = require('chalk'); 7 | let licenses = new Set(); 8 | let pr = false; 9 | let readme; 10 | let diff; 11 | 12 | //Parse the command options and set the pr var 13 | function parseArgs(args) { 14 | if ( args.indexOf('-r', 2) > 0 ) { 15 | readme = fs.readFileSync(args[args.indexOf('-r', 2)+1], 'utf8') 16 | } 17 | if (args.indexOf('-d', 2) > 0) { 18 | pr = true; 19 | diff = fs.readFileSync(args[args.indexOf('-d', 2)+1], 'utf8'); 20 | } 21 | if ( pr === true) { 22 | console.log(chalk.blue(`Running on PR. README.md: ${args[args.indexOf('-r', 2)+1]} diff: ${args[args.indexOf('-d', 2)+1]}`)) 23 | } 24 | } 25 | 26 | // Function to find lines with entries 27 | function entryFilter(md) { 28 | const linepatt = /^\s{0,2}-\s\[.*`/; 29 | return linepatt.test(md); 30 | } 31 | 32 | // Function to find lines with licenses 33 | function licenseFilter(md) { 34 | const linepatt = /^- `.*` - .*/; 35 | return linepatt.test(md) 36 | } 37 | 38 | // Function to split lines into array 39 | function split(text) { 40 | return text.split(/\r?\n/); 41 | } 42 | 43 | // All entries should match this pattern. If matches pattern returns true. 44 | function findPattern(text) { 45 | const patt = /^\s{0,2}-\s\[.*?\]\(.*?\) (`⚠` )?- .{0,249}?\.( \(\[(Demo|Source Code|Clients)\]\([^)\]]*\)(, \[(Source Code|Clients)\]\([^)\]]*\))?(, \[(Source Code|Clients)\]\([^)\]]*\))*\))? \`.*?\` \`.*?\`$/; 46 | if (patt.test(text) === true) { 47 | return true; 48 | } 49 | return false; 50 | } 51 | 52 | // Parses SPDX identifiers from list of licenses 53 | function parseLicense(md) { 54 | const patt = /^- `(.*)` - .*/ 55 | return patt.exec(md)[1] 56 | } 57 | 58 | //Test '- [Name](http://homepage/)' 59 | function testMainLink(text) { 60 | let testA = /(^ {0,2}- \[.*?\]\([^)]*\.[^)]*?\))(?=\ ?\-?\ ?\w)/ // /(^ {0,2}- \[.*?\]\(.*\))(?=.?-? ?\w)/; 61 | const testA1 = /(- \W?\w*\W{0,2}.*?\)?)( .*$)/; 62 | if (!testA.test(text)) { 63 | let a1 = testA1.exec(text)[2]; 64 | return chalk.red(text.replace(a1, '')) 65 | } 66 | return chalk.green(testA.exec(text)[1]) 67 | } 68 | 69 | //Test '`⚠` - Short description, less than 250 characters.' 70 | function testDescription(text) { 71 | const testB = /( - .*\. )(?:(\(?\[?|\`))/; 72 | const testA1 = /(- \W?\w*\W{0,2}.*?\)?)( .*$)/; 73 | const testB2 = /((\(\[|\`).*$)/; 74 | if (!testB.test(text)) { 75 | let b1 = testA1.exec(text)[1]; 76 | let b2 = testB2.exec(text)[1]; 77 | return chalk.red(text.replace(b1, '').replace(b2, '')) 78 | } 79 | return chalk.green(testB.exec(text)[1]) 80 | } 81 | 82 | //If present, tests '([Demo](http://url.to/demo), [Source Code](http://url.of/source/code), [Clients](https://url.to/list/of/related/clients-or-apps))' 83 | function testSrcDemCli(text) { 84 | let testC = text.search(/\.\ \(|\.\ \[|\ \(\[[sSdDcC]/); // /\(\[|\)\,|\)\)/); 85 | let testD = /(?<=\w. )(\(\[(Demo|Source Code|Clients)\]\([^)\]]*\)(, \[(Source Code|Clients)\]\([^)\]]*\))?(, \[(Source Code|Clients)\]\([^)\]]*\))*\))(?= \`?)/; 86 | const testD1 = /(^- \W[a-zA-Z0-9-_ .]*\W{0,2}http[^\[]*)(?<= )/; 87 | const testD2 = /(\`.*\` \`.*\`$)/; 88 | if ((testC > -1) && (!testD.test(text))) { 89 | let d1 = testD1.exec(text)[1]; 90 | let d2 = testD2.exec(text)[1]; 91 | return chalk.red(text.replace(d1, '').replace(d2, '')) 92 | } else if (testC > -1) { 93 | return chalk.green(testD.exec(text)[1]) 94 | } 95 | return "" 96 | } 97 | 98 | // Tests '`License` `Language`' 99 | function testLangLic(text) { 100 | const testD2 = /(\`.*\` \`.*\`$)/; 101 | let testE = testD2.test(text); 102 | const testE1 = /(^[^`]*)/; 103 | if (!testE) { 104 | let e1 = testE1.exec(text)[1]; 105 | return chalk.red(text.replace(e1, '')) 106 | } 107 | return chalk.green(testD2.exec(text)[1]) 108 | } 109 | 110 | //Runs all the syntax tests... 111 | function findError(text) { 112 | let res 113 | res = testMainLink(text) 114 | res += testDescription(text) 115 | res += testSrcDemCli(text) 116 | res += testLangLic(text) 117 | return res + `\n` 118 | } 119 | 120 | //Check if license is in the list of licenses. 121 | function testLicense(md) { 122 | let pass = true; 123 | let lFailed = [] 124 | let lPassed = [] 125 | const regex = /.*\`(.*)\` .*$/; 126 | try { 127 | for (l of regex.exec(md)[1].split("/")) { 128 | if (!licenses.has(l)) { 129 | pass = false; 130 | lPassed.push(l) 131 | } 132 | lFailed.push(l) 133 | } 134 | } 135 | catch(err) { 136 | console.log(chalk.yellow("Error in License syntax, license not checked against list.")) 137 | return [false, "", ""] 138 | } 139 | 140 | 141 | 142 | 143 | 144 | return [pass, lFailed, lPassed] 145 | } 146 | 147 | 148 | //Parses name from entry 149 | function parseName(md) { 150 | const regex = /^\W*(.*?)\W/ 151 | return regex.exec(md)[1] 152 | } 153 | 154 | function entryErrorCheck() { 155 | const lines = split(readme); // Inserts each line into the entries array 156 | let totalFail = 0; 157 | let totalPass = 0; 158 | let total = 0; 159 | let entries = []; 160 | let diffEntries = []; 161 | 162 | if (lines[0] === "") { 163 | console.log(chalk.red("0 Entries Found, check your commandline arguments")) 164 | process.exit(0) 165 | } 166 | for (let i = 0; i < lines.length; i ++) { // Loop through array of lines 167 | if (entryFilter(lines[i]) === true) { // filter out lines that don't start with * [) 168 | e = {}; 169 | e.raw = lines[i]; 170 | e.line = i + 1 171 | entries.push(e); 172 | } else if (licenseFilter(lines[i]) === true) { 173 | licenses.add(parseLicense(lines[i])) 174 | } 175 | } 176 | 177 | if (pr === true) { 178 | console.log(chalk.cyan("Only testing the diff from the PR.\n")) 179 | const diffLines = split(diff); // Inserts each line of diff into an array 180 | for (let l of diffLines) { 181 | if (entryFilter(l) === true) { // filter out lines that don't start with * [) 182 | e = {}; 183 | e.raw = l; 184 | diffEntries.push(e); 185 | } else if (licenseFilter(l) === true) { 186 | licenses.add(parseLicense(l)) 187 | } 188 | } 189 | if (diffEntries.length === 0) { 190 | console.log("No entries changed in README.md, Exiting...") 191 | process.exit(0) 192 | } 193 | total = diffEntries.length 194 | for (let e of diffEntries) { 195 | e.pass = true 196 | e.name = parseName(e.raw) 197 | if (!findPattern(e.raw)) { 198 | e.highlight = findError(e.raw); 199 | e.pass = false; 200 | console.log(e.highlight) 201 | } 202 | e.licenseTest = testLicense(e.raw); 203 | if (!e.licenseTest) { 204 | e.pass = false; 205 | console.log(chalk.red(`${e.name}'s license is not on License list.`)) 206 | } 207 | if (e.pass) { 208 | totalPass++ 209 | } else { 210 | totalFail++ 211 | } 212 | } 213 | } else { 214 | console.log(chalk.cyan("Testing entire README.md\n")) 215 | total = entries.length 216 | for (let e of entries) { 217 | e.pass = true 218 | e.name = parseName(e.raw) 219 | if (!findPattern(e.raw)) { 220 | e.highlight = findError(e.raw); 221 | e.pass = false; 222 | console.log(`${chalk.yellow(e.line + ": ")}${e.highlight}`); 223 | syntax = e.highlight; 224 | } 225 | e.licenseTest = testLicense(e.raw); 226 | if (!e.licenseTest[0]) { 227 | e.pass = false; 228 | console.log(chalk.yellow(e.line + ": ") + `${e.name}'s license ${chalk.red(`'${e.licenseTest[1]}'`)} is not on the License list.\n`) 229 | } 230 | if (e.pass) { 231 | totalPass++ 232 | } else { 233 | totalFail++ 234 | } 235 | } 236 | } 237 | if (totalFail > 0) { 238 | console.log(chalk.blue(`\n-----------------------------\n`)) 239 | console.log(chalk.red(`${totalFail} Failed, `) + chalk.green(`${totalPass} Passed, `) + chalk.blue(`of ${total}`)) 240 | console.log(chalk.blue(`\n-----------------------------\n`)) 241 | process.exit(1); 242 | } else { 243 | console.log(chalk.blue(`\n-----------------------------\n`)) 244 | console.log(chalk.green(`${totalPass} Passed of ${total}`)) 245 | console.log(chalk.blue(`\n-----------------------------\n`)) 246 | process.exit(0) 247 | } 248 | } 249 | 250 | parseArgs(process.argv) 251 | entryErrorCheck(); 252 | -------------------------------------------------------------------------------- /non-free.md: -------------------------------------------------------------------------------- 1 | # Awesome Selfhosted - Proprietary Software 2 | 3 | **Software listed here does not allow you to run it for any purpose, study, modify or distribute the source code.** Some of the software here may not be audited due to its closed source nature, and can therefore contain anti-features, such as but not limited to: undisclosed security vulnerabilities, backdoors, user lock-in, sending personal data to a third party. 4 | 5 | ## Analytics 6 | 7 | - [userTrack](https://www.usertrack.net/) `⊘ Proprietary` - userTrack is a web analytics platform with heatmaps, session recordings and powerful user segmentation feature. Updated very regularly. ([Demo](https://dashboard.usertrack.net/server/demoLogin.php)) `PHP/MySQL/ReactJS` 8 | - [UXLens](https://uxlens.com/) `⊘ Proprietary` - UXLens is a website visitor recording software meant for identifying UI issues and fix them to improve user experience. Formerly known as SessionRecord ([Demo](https://console.uxlens.com/test)) `Docker Nodejs` 9 | 10 | 11 | ## Content Management Systems (CMS) 12 | 13 | - [CraftCMS](https://craftcms.com/) `⊘ Proprietary` - Craft is a content-first CMS that aims to make life enjoyable for developers and content managers alike. ([Demo](https://demo.craftcms.com/)) `PHP` 14 | - [Gazelle](https://github.com/WhatCD/Gazelle) - Gazelle is a web framework geared towards private BitTorrent trackers. Although naturally focusing on music, it can be modified for most needs. `unlicensed` `PHP` 15 | - [Kirby](https://getkirby.com/) `⊘ Proprietary` - File-based CMS. Easy to setup. Easy to use. Flexible as hell. ([Source Code](https://github.com/getkirby/kirby)) `PHP` 16 | 17 | ### E-Commerce 18 | - [Sharetribe](https://www.sharetribe.com) `⊘ Proprietary` - An open source platform to create your own peer-to-peer marketplace, also available with SaaS model. ([Source Code](https://github.com/sharetribe/sharetribe)) `Ruby` 19 | 20 | ## Communication Systems 21 | 22 | - [Dialog](https://dlg.im) `⊘ Proprietary` - Handy and feature-rich multi-device solution with native mobile clients, SIP integration, chatbots, 3rd-party integrations. It brings communication efficiency without sacrificing privacy. Works in closed circuit, encrypts push notifications. ([Demo](https://dlg.im/en/download)) `Scala/Go` 23 | - [Groupboard](https://www.groupboard.com) `⊘ Proprietary` - Online whiteboard, audio/video conferencing, screen sharing, shared code editing and optional session recording/playback. 24 | - [PrivMX WebMail](https://privmx.com) - an alternative private mail system - web-based, end-to-end encrypted by design, self-hosted, decentralized, uses independent PKI. Easy to install and administrate, freeware, open-source. `PHP` 25 | 26 | ## E-books and Integrated Library Systems (ILS) 27 | 28 | - [Ubooquity](https://vaemendis.net/ubooquity/) `⊘ Proprietary` - Ubooquity is a free to use, versatile, lightweight, multi-platform, and secure home server for your comic and e-book library. `Java` 29 | 30 | 31 | ## File Sharing and Synchronization 32 | 33 | - [Yetishare](https://yetishare.com) `⊘ Proprietary` - A powerful file hosting script with support for Amazon S3, Wasabi, Backblaze, local, direct and SFTP storage. ([Demo](https://fhscript.com)) `PHP` 34 | - [Resilio Sync](https://www.resilio.com/) `⊘ Proprietary` - Resilio Sync by Resilio, Inc is a proprietary peer-to-peer file synchronisation tool. 35 | - [Drive Virtual](http://www.drivevirtual.com/) `⊘ Proprietary` - With Drive Virtual you can sync, backup and share your files privately with your own FTP (SFTP) server or account. 36 | - [Dropcenter](http://projet.idleman.fr/dropcenter/) - Upload files by simple drag-n-drop. ([Source Code](https://github.com/ldleman/dropcenter)) `CCBYNCSAv3` `PHP` 37 | - [FileRun](http://www.filerun.com/) `⊘ Proprietary` - A complete solution for your files with integration with Google and Office. ([Demo](http://www.filerun.com/demo)) `PHP` 38 | 39 | 40 | ## Games 41 | 42 | - [Cubiks-2048](https://github.com/Kshitij-Banerjee/Cubiks-2048) - Clone of 2048 game in 3D. ([Demo](https://kshitij-banerjee.github.io/Cubiks-2048/)) `CCBYNCv4` `HTML5` 43 | - [untrusted](https://github.com/AlexNisnevich/untrusted) - Untrusted is a unique puzzle game designed for geeks and developers, where you solve the puzzles in the game by reading and writing Javascript. ([Demo](http://alex.nisnevich.com/untrusted/)) `CCBYNCSAv3/Custom` `Nodejs` 44 | 45 | ## Internet Of Things (IoT) 46 | - [Atman IoT](https://atman-iot.com) - Atman IoT is a self hosted IoT gateway focused on IoT solution rapid prototyping, packaged as stand alone docker container, promising to help you build your IoT solution in a week!. ([Demo](https://atman-iot.com/signup-redirect)) `⊘ Proprietary` `Nodejs` 47 | 48 | ## IPBX 49 | 50 | - [Elastix](http://www.elastix.org) `⊘ Proprietary` - Unified communications server software based on 3CX. 51 | 52 | 53 | ## Maps & GPS 54 | 55 | - [OpenMapTiles Server](https://openmaptiles.org/) `⊘ Proprietary` - Set of tools for self-hosting of OpenStreetMap vector tiles. ([Partial Source Code](https://github.com/openmaptiles)) `Python/JavaScript` 56 | 57 | ## Media Streaming 58 | 59 | - [Channels DVR Server](https://getchannels.com/dvr-server/) `⊘ Proprietary` - Flexible server providing a whole home self hosted DVR experience for [Channels](https://getchannels.com). 60 | - [Emby](https://emby.media/) `⊘ Proprietary` - Home media server supporting both DLNA and DIAL (Chromecast) devices out-of-the-box. ([Partial source Code](https://github.com/MediaBrowser/Emby)) `Proprietary with some GPL-2.0` `C#` 61 | - [Plex](https://plex.tv/) `⊘ Proprietary` - Plex is a centralized home media playback system with a powerful central server. 62 | - [Subsonic](http://subsonic.org/) - Web-based media streamer and jukebox. ([Demo](http://demo.subsonic.org/login.view?user=guest4&password=guest)) 63 | 64 | 65 | ## Money, Budgeting and Management 66 | 67 | - [Anchor](http://theanchorapp.com/) - Anchor is an invoicing system that integrates with Stripe and Paypal. Includes features such as: reporting, dashboard and no client limit. ([Demo](http://theanchorapp.com/demo/admin-login)) `PHP` 68 | - [Manager](http://manager.io/server) `⊘ Proprietary` - Online accounting software for small businesses. `Mono` 69 | - [Pancake](http://pancakeapp.com/) `⊘ Proprietary` - Online invoicing, project management, time tracking and proposal software. `PHP` 70 | 71 | 72 | ## Photo and Video Galleries 73 | 74 | - [ArtVenue](http://codecanyon.net/item/artvenue-image-sharing-community-script/5771542) `⊘ Proprietary` - Start your own photography community website, platform based on the Laravel PHP Framework. ([Demo](http://codecanyon.net/item/artvenue-image-sharing-community-script/full_screen_preview/5771542)) `PHP` 75 | - [Chevereto](https://chevereto.com/) `⊘ Proprietary` - A powerful and fast image hosting script that allows you to create your very own full featured image hosting website in just minutes. ([Demo](http://demo.chevereto.com/)) `PHP` 76 | - [Koken](http://koken.me/) `⊘ Proprietary` - Content management and web site publishing for photographers. `PHP` 77 | - [Lomorage](https://lomorage.com/) `⊘ Proprietary` - Google photo alternative via simple self-hosting software. Supported clients: iOS, Android, Web, MAC/Windows. Backend can run on Raspberry pi, Armbian, MAC/Windows/Linux `GO` 78 | - [PhotoStructure](https://photostructure.com/) `⊘ Proprietary` - All your family's photos and videos automatically organized into a fun and beautiful website. Runs via Docker, NodeJS, or native desktop installers. `NodeJS` 79 | - [Reservo](https://reservo.co) `⊘ Proprietary` - A scalable image hosting script with support for CDNs, paid account upgrades, advertising spots and drag & drop upload. ([Demo](https://demo.reservo.co/)) `PHP` 80 | - [Single File PHP Gallery](http://sye.dk/sfpg/) `⊘ Proprietary` - is a web gallery in one single PHP file. `PHP` 81 | 82 | 83 | ## Project Management 84 | - [Active Collab](https://www.activecollab.com/) `⊘ Proprietary` - Project management - `PHP` 85 | - [Duet](https://duetapp.com/) `⊘ Proprietary` - Invoicing and project management with an integrated client portal. ([Demo](https://duetapp.com/start-demo)) `PHP` 86 | - [Kanban Tool](https://kanbantool.com/kanban-tool-on-site) `⊘ Proprietary` - Advanced Kanban boards with time tracking. `Ruby On Rails` 87 | - [Kantree](https://kantree.io) `⊘ Proprietary` - Work management and collaboration - `Python` 88 | - [Solo](http://www.getsoloapp.com/) - Solo is a free project management app created for freelancers. Create contacts, manage tasks, upload files, track project progress, and keep notes. ([Demo](http://www.getsoloapp.com/demo/)) `PHP` 89 | 90 | 91 | ## Self-hosting Solutions 92 | - [Axigen](https://www.axigen.com/mail-server/free/) `⊘ Proprietary` - Great alternative to open source. It's a turnkey messaging solution, perfect for small & micro businesses, integration projects or test environments. 93 | - [Cloudron](https://cloudron.io) `⊘ Proprietary` - Open-core software allowing you to effortlessly self-host web apps on your server. ([Source Code](https://git.cloudron.io/groups/cloudron))([Demo](https://my.demo.cloudron.io/)) `Nodejs/Docker` 94 | - [EmbassyOS](https://start9labs.com) - `⊘ Proprietary` A graphical Operating System for running self-hosted, open source services. ([Source Code](https://github.com/Start9Labs/embassy-os)) `Start9 Personal Use License` `Rust` 95 | - [hMailServer](https://www.hmailserver.com) `⊘ Proprietary` - Open source e-mail server for Microsoft Windows. ([Source Code](https://github.com/hmailserver/hmailserver)) `C++` 96 | - [Poste.io](https://poste.io) `⊘ Proprietary` - Full featured solution for your Email server. Native implementation of last anti-SPAM methods, webmail and easy administration included. Free tier available. ([Demo](https://poste.io/demo)) 97 | 98 | 99 | ## Software Development 100 | 101 | - [92five](http://92fiveapp.com/) `⊘ Proprietary` - Self hosted project management application ([Source code](https://github.com/chintanbanugaria/92five)) `CC BY-NC 4.0` `PHP` 102 | - [Bamboo](https://www.atlassian.com/software/bamboo) `⊘ Proprietary` - A continuous integration server `Java` 103 | - [Buddy Enterprise](https://buddy.works/) - The Git and Continuous Integration / Delivery Platform. `⊘ Proprietary` `Nodejs/Java` 104 | - [Cloud9](https://c9.io/) `⊘ Proprietary` - Your development environment, in the cloud ([Source code](https://github.com/c9/core)) `Nodejs` 105 | - [Crucible](https://www.atlassian.com/software/crucible/overview) `⊘ Proprietary` - A peer code review application `Java` 106 | - [Documize](https://documize.com) `⊘ Proprietary` - Modern docs & wiki software built for software team collaboration. `Go` 107 | - [JIRA](https://www.atlassian.com/software/jira) `⊘ Proprietary` - A professional and extensible issue tracker `Java` 108 | - [Kloudless](https://kloudless.com) `⊘ Proprietary` - Platform for native, embedded, SaaS integrations using Unified APIs. `Python` 109 | - [RhodeCode](https://rhodecode.com) `⊘ Proprietary` - On-premise Source Code Management for Mercurial, Git & Subversion. `Python` 110 | - [BitBucket Server](https://www.atlassian.com/software/bitbucket/server) `⊘ Proprietary` - An enterprise-level Git solution similar to GitLab `Java` 111 | 112 | ## Ticketing 113 | - [Deskpro](https://www.deskpro.com/) `⊘ Proprietary` - On-Premise helpdesk software that includes email, chat, voice & helpcentre publishing. Full visible source code and API. 114 | - [Full Help](https://www.fullhelp.com/en/) `⊘ Proprietary` - Simple, easy to use help desk & knowledge base software. Custom branding, custom themes, restful API, communication channels, multi-company support, multi-language support, and much more! At least 1 new release per month. [Changelog](https://www.fullhelp.com/en/changelog) `PHP` 115 | - [Jitbit Helpdesk](https://www.jitbit.com/helpdesk/) `⊘ Proprietary` - Self-hosted help desk software - simple but powerful. ([Demo](https://www.jitbit.com/hosted-helpdesk/trial/)) `ASP.NET` 116 | - [SupportPal](https://www.supportpal.com/) `⊘ Proprietary` - Powerful help desk software - easy, fast and intuitive. ([Demo](http://demo.supportpal.com/)) `PHP` 117 | - [Cerb](http://www.cerberusweb.com/) - Group-based e-mail management project. ([Source Code](https://github.com/wgm/cerb)) `DPL` `PHP` 118 | 119 | 120 | ## Time Tracking 121 | - [Virtual TimeClock](https://www.redcort.com/timeclock) `⊘ Proprietary` - Powerful, easy-to-use time tracking software. ([Demo](https://www.redcort.com/timeclock/free-timeclock-software-trial)) 122 | 123 | 124 | ## Remote Support 125 | 126 | * [ScreenConnect](https://www.screenconnect.com/) `⊘ Proprietary` - ScreenConnect offers lightning-fast remote support and remote access to connect instantly and solve problems faster. 127 | * [RemoteUtilities](https://www.remoteutilities.com/) `⊘ Proprietary` - Remote Utilities is self-hosted remote support software for LAN administration and remote support over the Internet. 128 | 129 | ### UX testing 130 | 131 | - [Moon](https://aerokube.com/moon/) `⊘ Proprietary` - An efficient Selenium protocol implementation running everything in Kubernetes or Openshift. `Go` 132 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | License: CC-BY-SA-3.0 2 | Creative Commons Attribution-ShareAlike 3.0 Unported 3 | . 4 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE 5 | LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN 6 | ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION 7 | ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE 8 | INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM 9 | ITS USE. 10 | . 11 | License 12 | . 13 | THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE 14 | COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY 15 | COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS 16 | AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. 17 | . 18 | BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE 19 | TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY 20 | BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS 21 | CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND 22 | CONDITIONS. 23 | . 24 | 1. Definitions 25 | . 26 | a. "Adaptation" means a work based upon the Work, or upon the Work and 27 | other pre-existing works, such as a translation, adaptation, derivative 28 | work, arrangement of music or other alterations of a literary or 29 | artistic work, or phonogram or performance and includes cinematographic 30 | adaptations or any other form in which the Work may be recast, 31 | transformed, or adapted including in any form recognizably derived from 32 | the original, except that a work that constitutes a Collection will not 33 | be considered an Adaptation for the purpose of this License. For the 34 | avoidance of doubt, where the Work is a musical work, performance or 35 | phonogram, the synchronization of the Work in timed-relation with a 36 | moving image ("synching") will be considered an Adaptation for the 37 | purpose of this License. 38 | . 39 | b. "Collection" means a collection of literary or artistic works, such 40 | as encyclopedias and anthologies, or performances, phonograms or 41 | broadcasts, or other works or subject matter other than works listed in 42 | Section 1(f) below, which, by reason of the selection and arrangement of 43 | their contents, constitute intellectual creations, in which the Work is 44 | included in its entirety in unmodified form along with one or more other 45 | contributions, each constituting separate and independent works in 46 | themselves, which together are assembled into a collective whole. A work 47 | that constitutes a Collection will not be considered an Adaptation (as 48 | defined below) for the purposes of this License. 49 | . 50 | c. "Creative Commons Compatible License" means a license that is listed 51 | at http://creativecommons.org/compatiblelicenses that has been approved 52 | by Creative Commons as being essentially equivalent to this License, 53 | including, at a minimum, because that license: (i) contains terms that 54 | have the same purpose, meaning and effect as the License Elements of 55 | this License; and, (ii) explicitly permits the relicensing of 56 | adaptations of works made available under that license under this 57 | License or a Creative Commons jurisdiction license with the same License 58 | Elements as this License. 59 | . 60 | d. "Distribute" means to make available to the public the original and 61 | copies of the Work or Adaptation, as appropriate, through sale or other 62 | transfer of ownership. 63 | . 64 | e. "License Elements" means the following high-level license attributes 65 | as selected by Licensor and indicated in the title of this License: 66 | Attribution, ShareAlike. 67 | . 68 | f. "Licensor" means the individual, individuals, entity or entities that 69 | offer(s) the Work under the terms of this License. 70 | . 71 | g. "Original Author" means, in the case of a literary or artistic work, 72 | the individual, individuals, entity or entities who created the Work or 73 | if no individual or entity can be identified, the publisher; and in 74 | addition (i) in the case of a performance the actors, singers, 75 | musicians, dancers, and other persons who act, sing, deliver, declaim, 76 | play in, interpret or otherwise perform literary or artistic works or 77 | expressions of folklore; (ii) in the case of a phonogram the producer 78 | being the person or legal entity who first fixes the sounds of a 79 | performance or other sounds; and, (iii) in the case of broadcasts, the 80 | organization that transmits the broadcast. 81 | . 82 | h. "Work" means the literary and/or artistic work offered under the 83 | terms of this License including without limitation any production in the 84 | literary, scientific and artistic domain, whatever may be the mode or 85 | form of its expression including digital form, such as a book, pamphlet 86 | and other writing; a lecture, address, sermon or other work of the same 87 | nature; a dramatic or dramatico-musical work; a choreographic work or 88 | entertainment in dumb show; a musical composition with or without words; 89 | a cinematographic work to which are assimilated works expressed by a 90 | process analogous to cinematography; a work of drawing, painting, 91 | architecture, sculpture, engraving or lithography; a photographic work 92 | to which are assimilated works expressed by a process analogous to 93 | photography; a work of applied art; an illustration, map, plan, sketch 94 | or three-dimensional work relative to geography, topography, 95 | architecture or science; a performance; a broadcast; a phonogram; a 96 | compilation of data to the extent it is protected as a copyrightable 97 | work; or a work performed by a variety or circus performer to the extent 98 | it is not otherwise considered a literary or artistic work. 99 | . 100 | i. "You" means an individual or entity exercising rights under this 101 | License who has not previously violated the terms of this License with 102 | respect to the Work, or who has received express permission from the 103 | Licensor to exercise rights under this License despite a previous 104 | violation. 105 | . 106 | j. "Publicly Perform" means to perform public recitations of the Work 107 | and to communicate to the public those public recitations, by any means 108 | or process, including by wire or wireless means or public digital 109 | performances; to make available to the public Works in such a way that 110 | members of the public may access these Works from a place and at a place 111 | individually chosen by them; to perform the Work to the public by any 112 | means or process and the communication to the public of the performances 113 | of the Work, including by public digital performance; to broadcast and 114 | rebroadcast the Work by any means including signs, sounds or images. 115 | . 116 | k. "Reproduce" means to make copies of the Work by any means including 117 | without limitation by sound or visual recordings and the right of 118 | fixation and reproducing fixations of the Work, including storage of a 119 | protected performance or phonogram in digital form or other electronic 120 | medium. 121 | . 122 | 2. Fair Dealing Rights. Nothing in this License is intended to reduce, 123 | limit, or restrict any uses free from copyright or rights arising from 124 | limitations or exceptions that are provided for in connection with the 125 | copyright protection under copyright law or other applicable laws. 126 | . 127 | 3. License Grant. Subject to the terms and conditions of this License, 128 | Licensor hereby grants You a worldwide, royalty-free, non-exclusive, 129 | perpetual (for the duration of the applicable copyright) license to 130 | exercise the rights in the Work as stated below: 131 | . 132 | a. to Reproduce the Work, to incorporate the Work into one or more 133 | Collections, and to Reproduce the Work as incorporated in the 134 | Collections; 135 | . 136 | b. to create and Reproduce Adaptations provided that any such 137 | Adaptation, including any translation in any medium, takes reasonable 138 | steps to clearly label, demarcate or otherwise identify that changes 139 | were made to the original Work. For example, a translation could be 140 | marked "The original work was translated from English to Spanish," or a 141 | modification could indicate "The original work has been modified."; 142 | . 143 | c. to Distribute and Publicly Perform the Work including as incorporated 144 | in Collections; and, 145 | . 146 | d. to Distribute and Publicly Perform Adaptations. 147 | . 148 | e. For the avoidance of doubt: 149 | . 150 | i. Non-waivable Compulsory License Schemes. In those jurisdictions in 151 | which the right to collect royalties through any statutory or compulsory 152 | licensing scheme cannot be waived, the Licensor reserves the exclusive 153 | right to collect such royalties for any exercise by You of the rights 154 | granted under this License; 155 | . 156 | ii. Waivable Compulsory License Schemes. In those jurisdictions in which 157 | the right to collect royalties through any statutory or compulsory 158 | licensing scheme can be waived, the Licensor waives the exclusive right 159 | to collect such royalties for any exercise by You of the rights granted 160 | under this License; and, 161 | . 162 | iii. Voluntary License Schemes. The Licensor waives the right to collect 163 | royalties, whether individually or, in the event that the Licensor is a 164 | member of a collecting society that administers voluntary licensing 165 | schemes, via that society, from any exercise by You of the rights 166 | granted under this License. 167 | . 168 | The above rights may be exercised in all media and formats whether now 169 | known or hereafter devised. The above rights include the right to make 170 | such modifications as are technically necessary to exercise the rights 171 | in other media and formats. Subject to Section 8(f), all rights not 172 | expressly granted by Licensor are hereby reserved. 173 | . 174 | 4. Restrictions. The license granted in Section 3 above is expressly 175 | made subject to and limited by the following restrictions: 176 | . 177 | a. You may Distribute or Publicly Perform the Work only under the terms 178 | of this License. You must include a copy of, or the Uniform Resource 179 | Identifier (URI) for, this License with every copy of the Work You 180 | Distribute or Publicly Perform. You may not offer or impose any terms on 181 | the Work that restrict the terms of this License or the ability of the 182 | recipient of the Work to exercise the rights granted to that recipient 183 | under the terms of the License. You may not sublicense the Work. You 184 | must keep intact all notices that refer to this License and to the 185 | disclaimer of warranties with every copy of the Work You Distribute or 186 | Publicly Perform. When You Distribute or Publicly Perform the Work, You 187 | may not impose any effective technological measures on the Work that 188 | restrict the ability of a recipient of the Work from You to exercise the 189 | rights granted to that recipient under the terms of the License. This 190 | Section 4(a) applies to the Work as incorporated in a Collection, but 191 | this does not require the Collection apart from the Work itself to be 192 | made subject to the terms of this License. If You create a Collection, 193 | upon notice from any Licensor You must, to the extent practicable, 194 | remove from the Collection any credit as required by Section 4(c), as 195 | requested. If You create an Adaptation, upon notice from any Licensor 196 | You must, to the extent practicable, remove from the Adaptation any 197 | credit as required by Section 4(c), as requested. 198 | . 199 | b. You may Distribute or Publicly Perform an Adaptation only under the 200 | terms of: (i) this License; (ii) a later version of this License with 201 | the same License Elements as this License; (iii) a Creative Commons 202 | jurisdiction license (either this or a later license version) that 203 | contains the same License Elements as this License (e.g., 204 | Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible 205 | License. If you license the Adaptation under one of the licenses 206 | mentioned in (iv), you must comply with the terms of that license. If 207 | you license the Adaptation under the terms of any of the licenses 208 | mentioned in (i), (ii) or (iii) (the "Applicable License"), you must 209 | comply with the terms of the Applicable License generally and the 210 | following provisions: (I) You must include a copy of, or the URI for, 211 | the Applicable License with every copy of each Adaptation You Distribute 212 | or Publicly Perform; (II) You may not offer or impose any terms on the 213 | Adaptation that restrict the terms of the Applicable License or the 214 | ability of the recipient of the Adaptation to exercise the rights 215 | granted to that recipient under the terms of the Applicable License; 216 | (III) You must keep intact all notices that refer to the Applicable 217 | License and to the disclaimer of warranties with every copy of the Work 218 | as included in the Adaptation You Distribute or Publicly Perform; (IV) 219 | when You Distribute or Publicly Perform the Adaptation, You may not 220 | impose any effective technological measures on the Adaptation that 221 | restrict the ability of a recipient of the Adaptation from You to 222 | exercise the rights granted to that recipient under the terms of the 223 | Applicable License. This Section 4(b) applies to the Adaptation as 224 | incorporated in a Collection, but this does not require the Collection 225 | apart from the Adaptation itself to be made subject to the terms of the 226 | Applicable License. 227 | . 228 | c. If You Distribute, or Publicly Perform the Work or any Adaptations or 229 | Collections, You must, unless a request has been made pursuant to 230 | Section 4(a), keep intact all copyright notices for the Work and 231 | provide, reasonable to the medium or means You are utilizing: (i) the 232 | name of the Original Author (or pseudonym, if applicable) if supplied, 233 | and/or if the Original Author and/or Licensor designate another party or 234 | parties (e.g., a sponsor institute, publishing entity, journal) for 235 | attribution ("Attribution Parties") in Licensor's copyright notice, 236 | terms of service or by other reasonable means, the name of such party or 237 | parties; (ii) the title of the Work if supplied; (iii) to the extent 238 | reasonably practicable, the URI, if any, that Licensor specifies to be 239 | associated with the Work, unless such URI does not refer to the 240 | copyright notice or licensing information for the Work; and (iv) , 241 | consistent with Ssection 3(b), in the case of an Adaptation, a credit 242 | identifying the use of the Work in the Adaptation (e.g., "French 243 | translation of the Work by Original Author," or "Screenplay based on 244 | original Work by Original Author"). The credit required by this Section 245 | 4(c) may be implemented in any reasonable manner; provided, however, 246 | that in the case of a Adaptation or Collection, at a minimum such credit 247 | will appear, if a credit for all contributing authors of the Adaptation 248 | or Collection appears, then as part of these credits and in a manner at 249 | least as prominent as the credits for the other contributing authors. 250 | For the avoidance of doubt, You may only use the credit required by this 251 | Section for the purpose of attribution in the manner set out above and, 252 | by exercising Your rights under this License, You may not implicitly or 253 | explicitly assert or imply any connection with, sponsorship or 254 | endorsement by the Original Author, Licensor and/or Attribution Parties, 255 | as appropriate, of You or Your use of the Work, without the separate, 256 | express prior written permission of the Original Author, Licensor and/or 257 | Attribution Parties. 258 | . 259 | d. Except as otherwise agreed in writing by the Licensor or as may be 260 | otherwise permitted by applicable law, if You Reproduce, Distribute or 261 | Publicly Perform the Work either by itself or as part of any Adaptations 262 | or Collections, You must not distort, mutilate, modify or take other 263 | derogatory action in relation to the Work which would be prejudicial to 264 | the Original Author's honor or reputation. Licensor agrees that in those 265 | jurisdictions (e.g. Japan), in which any exercise of the right granted 266 | in Section 3(b) of this License (the right to make Adaptations) would be 267 | deemed to be a distortion, mutilation, modification or other derogatory 268 | action prejudicial to the Original Author's honor and reputation, the 269 | Licensor will waive or not assert, as appropriate, this Section, to the 270 | fullest extent permitted by the applicable national law, to enable You 271 | to reasonably exercise Your right under Section 3(b) of this License 272 | (right to make Adaptations) but not otherwise. 273 | . 274 | 5. Representations, Warranties and Disclaimer 275 | . 276 | UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR 277 | OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY 278 | KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, 279 | INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, 280 | FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF 281 | LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, 282 | WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE 283 | EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. 284 | . 285 | 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE 286 | LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR 287 | ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES 288 | ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS 289 | BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 290 | . 291 | 7. Termination 292 | . 293 | a. This License and the rights granted hereunder will terminate 294 | automatically upon any breach by You of the terms of this License. 295 | Individuals or entities who have received Adaptations or Collections 296 | from You under this License, however, will not have their licenses 297 | terminated provided such individuals or entities remain in full 298 | compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will 299 | survive any termination of this License. 300 | . 301 | b. Subject to the above terms and conditions, the license granted here 302 | is perpetual (for the duration of the applicable copyright in the Work). 303 | Notwithstanding the above, Licensor reserves the right to release the 304 | Work under different license terms or to stop distributing the Work at 305 | any time; provided, however that any such election will not serve to 306 | withdraw this License (or any other license that has been, or is 307 | required to be, granted under the terms of this License), and this 308 | License will continue in full force and effect unless terminated as 309 | stated above. 310 | . 311 | 8. Miscellaneous 312 | . 313 | a. Each time You Distribute or Publicly Perform the Work or a 314 | Collection, the Licensor offers to the recipient a license to the Work 315 | on the same terms and conditions as the license granted to You under 316 | this License. 317 | . 318 | b. Each time You Distribute or Publicly Perform an Adaptation, Licensor 319 | offers to the recipient a license to the original Work on the same terms 320 | and conditions as the license granted to You under this License. 321 | . 322 | c. If any provision of this License is invalid or unenforceable under 323 | applicable law, it shall not affect the validity or enforceability of 324 | the remainder of the terms of this License, and without further action 325 | by the parties to this agreement, such provision shall be reformed to 326 | the minimum extent necessary to make such provision valid and 327 | enforceable. 328 | . 329 | d. No term or provision of this License shall be deemed waived and no 330 | breach consented to unless such waiver or consent shall be in writing 331 | and signed by the party to be charged with such waiver or consent. 332 | . 333 | e. This License constitutes the entire agreement between the parties 334 | with respect to the Work licensed here. There are no understandings, 335 | agreements or representations with respect to the Work not specified 336 | here. Licensor shall not be bound by any additional provisions that may 337 | appear in any communication from You. This License may not be modified 338 | without the mutual written agreement of the Licensor and You. 339 | . 340 | f. The rights granted under, and the subject matter referenced, in this 341 | License were drafted utilizing the terminology of the Berne Convention 342 | for the Protection of Literary and Artistic Works (as amended on 343 | September 28, 1979), the Rome Convention of 1961, the WIPO Copyright 344 | Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and 345 | the Universal Copyright Convention (as revised on July 24, 1971). These 346 | rights and subject matter take effect in the relevant jurisdiction in 347 | which the License terms are sought to be enforced according to the 348 | corresponding provisions of the implementation of those treaty 349 | provisions in the applicable national law. If the standard suite of 350 | rights granted under applicable copyright law includes additional rights 351 | not granted under this License, such additional rights are deemed to be 352 | included in the License; this License is not intended to restrict the 353 | license of any rights under applicable law. 354 | . 355 | Creative Commons Notice 356 | . 357 | Creative Commons is not a party to this License, and makes no warranty 358 | whatsoever in connection with the Work. Creative Commons will not be 359 | liable to You or any party on any legal theory for any damages 360 | whatsoever, including without limitation any general, special, 361 | incidental or consequential damages arising in connection to this 362 | license. Notwithstanding the foregoing two (2) sentences, if Creative 363 | Commons has expressly identified itself as the Licensor hereunder, it 364 | shall have all rights and obligations of Licensor. 365 | . 366 | Except for the limited purpose of indicating to the public that the Work 367 | is licensed under the CCPL, Creative Commons does not authorize the use 368 | by either party of the trademark "Creative Commons" or any related 369 | trademark or logo of Creative Commons without the prior written consent 370 | of Creative Commons. Any permitted use will be in compliance with 371 | Creative Commons' then-current trademark usage guidelines, as may be 372 | published on its website or otherwise made available upon request from 373 | time to time. For the avoidance of doubt, this trademark restriction 374 | does not form part of the License. 375 | . 376 | Creative Commons may be contacted at http://creativecommons.org/. 377 | -------------------------------------------------------------------------------- /AUTHORS.md: -------------------------------------------------------------------------------- 1 | |Commits | Author | 2 | | :---: | --- | 3 | |1494|nodiscc | 4 | |327|n8225 | 5 | |319|Kickball | 6 | |122|Andrew Rylatt | 7 | |77|Meitar M | 8 | |38|Kovah | 9 | |37|worldworm <13227454+worldworm@users.noreply.github.com>| 10 | |31|DJCrashdummy | 11 | |26|Koichi MATSUMOTO | 12 | |23|cave beat | 13 | |17|Thomas Dalichow | 14 | |14|Miguel Piedrafita | 15 | |13|Ferdinand Mütsch | 16 | |13|jungle-boogie | 17 | |12|Alex | 18 | |12|Pe46dro | 19 | |11|Pietro Marangon | 20 | |10|Kevin | 21 | |9|Andrew Peng | 22 | |9|Joubert RedRat | 23 | |9|Lance M | 24 | |9|Nick Busey | 25 | |9|cave | 26 | |8|CooperBarrett | 27 | |8|Martijn | 28 | |8|Rodrigo Avelino | 29 | |8|kokomo123 <70863536+kokomo123@users.noreply.github.com>| 30 | |7|Hammy Havoc | 31 | |7|Ilian | 32 | |7|James Mills | 33 | |7|Jorge E. Gomez | 34 | |7|Peter Thaleikis | 35 | |7|aubrel | 36 | |7|jtagcat | 37 | |7|n1trux | 38 | |7|phre4k | 39 | |7|édouard u. | 40 | |6|Chris McCormick | 41 | |6|Per Guth | 42 | |6|Quinn Comendant | 43 | |6|Touhid Arastu | 44 | |5|Alexander <46561566+AlexKnowsIt@users.noreply.github.com>| 45 | |5|Bob van Luijt | 46 | |5|Dariusz <37488679+Volmarg@users.noreply.github.com>| 47 | |5|Deluan Quintão | 48 | |5|HLSiira | 49 | |5|Jacob Hrbek | 50 | |5|James Cole | 51 | |5|Jan-Lukas Else | 52 | |5|Jean Champémont | 53 | |5|Jens Nyman | 54 | |5|Johannes Zellner | 55 | |5|Karl Coelho | 56 | |5|Kevin Lin | 57 | |5|Koichi MATSUMOTO | 58 | |5|Mateusz Kaczanowski | 59 | |5|Max Maischein | 60 | |5|Mehmet Yüksel Polat | 61 | |5|Mohammad Faisal | 62 | |5|Moti Korets | 63 | |5|Muhammad Hussein Fattahizadeh | 64 | |5|Nico Schottelius | 65 | |5|Nicolas Carlier | 66 | |5|Philip Kirkbride | 67 | |5|Son NK | 68 | |5|Surgie Finesse | 69 | |5|azlux | 70 | |5|jtagcat <38327267+jtagcat@users.noreply.github.com>| 71 | |5|mestaritonttu | 72 | |4|/c² | 73 | |4|Alejandro Celaya | 74 | |4|AlessioCasco | 75 | |4|Alexander Litreev | 76 | |4|Alexandr Emelin | 77 | |4|AndrewCz | 78 | |4|Andrey Semakin | 79 | |4|Aravindo Wingeier | 80 | |4|Arda Kılıçdağı | 81 | |4|Christian Bayer | 82 | |4|Cody Heimberger | 83 | |4|Colin Pokowitz | 84 | |4|Colin Pokowitz | 85 | |4|Cory Gibbons | 86 | |4|D | 87 | |4|Daniel Wasilew | 88 | |4|Dave Lockwood <1261876+deamos@users.noreply.github.com>| 89 | |4|Dominik Pfaffenbauer | 90 | |4|Dr. Azrael Tod | 91 | |4|Eliot Whalan | 92 | |4|Eugen Ciur | 93 | |4|FabioLolix | 94 | |4|Ilya Sevostyanov | 95 | |4|Jan Vlnas | 96 | |4|Jason Robinson | 97 | |4|Jean Elchinger | 98 | |4|Joery Zegers | 99 | |4|Jorge E. Gomez | 100 | |4|Joshua Westerheide | 101 | |4|Koki Oyatsu | 102 | |4|Liyas Thomas | 103 | |4|MK | 104 | |4|Mancy | 105 | |4|Marco | 106 | |4|Marius Voila | 107 | |4|Meitar M | 108 | |4|Praveen Durairaju | 109 | |4|Rodolfo Berrios | 110 | |4|Sandro | 111 | |4|Sebastian Stehle | 112 | |4|Sergio Brighenti | 113 | |4|Sung Won Cho | 114 | |4|Tony | 115 | |4|Valmik | 116 | |4|Vihar Kurama | 117 | |4|apacketofsweets <19573127+apacketofsweets@users.noreply.github.com>| 118 | |4|bysslord | 119 | |4|cthu1hoo <47687909+cthu1hoo@users.noreply.github.com>| 120 | |4|dattaz | 121 | |4|dpfaffenbauer | 122 | |4|dyu | 123 | |4|hebbet | 124 | |4|paddo | 125 | |3|132ikl <132@ikl.sh>| 126 | |3|Aguay | 127 | |3|Akhyar Amarullah | 128 | |3|Alexey Velikiy | 129 | |3|Amruth Pillai | 130 | |3|Andrea Giacobino | 131 | |3|BernsteinA <4685390+BernsteinA@users.noreply.github.com>| 132 | |3|Brandon Jones | 133 | |3|Burak Emre Kabakcı | 134 | |3|Conor O'Callaghan | 135 | |3|Cédric Krier | 136 | |3|Daniel Mason | 137 | |3|Danja Vasiliev | 138 | |3|Danny van Kooten | 139 | |3|Eike Kettner | 140 | |3|Erik | 141 | |3|Ethan Lowman | 142 | |3|FoxMaSk | 143 | |3|Francisco Gálvez | 144 | |3|François-Xavier Lyonnet du Moutier | 145 | |3|Gabin | 146 | |3|Garrett Martin | 147 | |3|Gauthier | 148 | |3|George C. Privon | 149 | |3|Görkem Çetin | 150 | |3|Harvey Kandola | 151 | |3|Hemanth Soni | 152 | |3|Icesofty <52180080+Icesofty@users.noreply.github.com>| 153 | |3|Ilya Pirozhenko | 154 | |3|IrosTheBeggar | 155 | |3|James Cole | 156 | |3|Jiří Komárek | 157 | |3|Jon Maddox | 158 | |3|Julian Poyourow | 159 | |3|Julien Maulny | 160 | |3|Kevin Hinterlong | 161 | |3|Lee Watson | 162 | |3|Leo Gaggl | 163 | |3|Marc Laporte | 164 | |3|Marc Picaud | 165 | |3|MarceauKa | 166 | |3|Mariusz Kozakowski <11mariom+wordpress@gmail.com>| 167 | |3|Mark Niehe | 168 | |3|Mark Otway | 169 | |3|Markos Gogoulos | 170 | |3|Martin Gontovnikas | 171 | |3|Mathieu Leplatre | 172 | |3|Matt Baer | 173 | |3|Matthieu Petiteau | 174 | |3|Mitchell Urgero | 175 | |3|Morris Jobke | 176 | |3|Nathan Henniges | 177 | |3|Nick Fox | 178 | |3|No GUI | 179 | |3|Oleg Agafonov | 180 | |3|Ovidiu Dan | 181 | |3|Owen Young <62473795+theowenyoung@users.noreply.github.com>| 182 | |3|Pavan Yara | 183 | |3|Pierre Blanes | 184 | |3|Pierre Buyle | 185 | |3|Pierre Tinard | 186 | |3|Pietro Marangon | 187 | |3|Prashant Singh | 188 | |3|PrplHaz4 | 189 | |3|Roland Whitehead <4478022+qururoland@users.noreply.github.com>| 190 | |3|Ryan DeShone | 191 | |3|Sandro Jäckel | 192 | |3|Sheshbabu | 193 | |3|Tobi Schäfer | 194 | |3|Tom Pansino <2768420+tpansino@users.noreply.github.com>| 195 | |3|Yann Forget | 196 | |3|Ye Lin Aung | 197 | |3|Yo <58630804+flowed@users.noreply.github.com>| 198 | |3|Yuchen Ying | 199 | |3|bigint | 200 | |3|d3wy | 201 | |3|ddffnn | 202 | |3|gregordr <36226087+gregordr@users.noreply.github.com>| 203 | |3|hay-kot | 204 | |3|icterine | 205 | |3|jungle-boogie | 206 | |3|moba | 207 | |3|oknozor | 208 | |3|pszlazak | 209 | |3|rett gerst | 210 | |3|sapioit | 211 | |3|slauzon | 212 | |3|subnub <44621867+subnub@users.noreply.github.com>| 213 | |3|testbird | 214 | |3|ur5us | 215 | |3|xBytez | 216 | |2|0xflotus <0xflotus@gmail.com>| 217 | |2|42CrMo4 <44754810+42CrMo4@users.noreply.github.com>| 218 | |2|A. Cynic | 219 | |2|Abdullah Selek | 220 | |2|Aditya Nagla | 221 | |2|Adminrezo (Nico Dewaele) | 222 | |2|Aisha Tammy | 223 | |2|Akhil Gupta | 224 | |2|Albert Cervera i Areny | 225 | |2|Alex Bogdanovski | 226 | |2|Alex Ellis | 227 | |2|Alex Pankratov | 228 | |2|Alexander Ryzhov | 229 | |2|Alexis Metaireau | 230 | |2|Amos | 231 | |2|Anders Pitman | 232 | |2|Andrei Poenaru | 233 | |2|Andrew Hayworth | 234 | |2|Andrew Rabert | 235 | |2|Andros Fenollosa | 236 | |2|Andros Fenollosa | 237 | |2|Arik Fraimovich | 238 | |2|Ashwin P Chandran | 239 | |2|Ave | 240 | |2|Bartłomiej Kurzeja | 241 | |2|Ben Yanke | 242 | |2|Benjamin Gamard | 243 | |2|Braintelligence | 244 | |2|Brendan Abolivier | 245 | |2|Brian Morin | 246 | |2|Bryton Lacquement | 247 | |2|Buleandra Cristian | 248 | |2|CJ Eller <45696734+cjeller1592@users.noreply.github.com>| 249 | |2|Carl Bordum Hansen | 250 | |2|Carlo F. Quaglia | 251 | |2|Charles Farence III | 252 | |2|Chris | 253 | |2|Chris Benninger | 254 | |2|Chris Lu | 255 | |2|Chris Missal | 256 | |2|Christophe De Troyer | 257 | |2|Christopher Charbonneau Wells | 258 | |2|Cleberson Ramirio | 259 | |2|Corentin Brossault | 260 | |2|Costin Moise | 261 | |2|Damian Legawiec | 262 | |2|Daniel Heath | 263 | |2|Daniel Ramirez Grave de Peralta | 264 | |2|David | 265 | |2|David Leonard | 266 | |2|David Wayne Baxter | 267 | |2|Derek Viera | 268 | |2|Deryck | 269 | |2|Dessalines | 270 | |2|Dhruv Sharma | 271 | |2|Dillon Stadther | 272 | |2|Dominic Pratt | 273 | |2|Dr. Ridgewell | 274 | |2|Eliot Berriot | 275 | |2|Fabian Kromer | 276 | |2|Fabian Schliski | 277 | |2|Feleg | 278 | |2|Felix Bartels | 279 | |2|Florian | 280 | |2|Francois Planque | 281 | |2|Gabin Aureche | 282 | |2|Gabriel Cossette | 283 | |2|Gabriel Cossette | 284 | |2|Gerardo Baez | 285 | |2|Gleb Mazovetskiy | 286 | |2|Gonçalo Valério | 287 | |2|Greg Slepak | 288 | |2|Greg V | 289 | |2|Haukur Rosinkranz | 290 | |2|Hayden <64056131+hay-kot@users.noreply.github.com>| 291 | |2|Henry Ruhs | 292 | |2|Hilmi Tolga Sahin | 293 | |2|Ice Softy <52180080+Icesofty@users.noreply.github.com>| 294 | |2|Isaac | 295 | |2|Isaac Grynsztein | 296 | |2|Ivan Krutov | 297 | |2|Jake Breindel | 298 | |2|Jake Jarvis | 299 | |2|James Cole | 300 | |2|Jan | 301 | |2|Jan Soendermann | 302 | |2|Jared Shields | 303 | |2|Jipok | 304 | |2|Joe Ipson | 305 | |2|Jonas L | 306 | |2|Jordon Replogle | 307 | |2|Joseph Dykstra | 308 | |2|Joseph Milazzo | 309 | |2|Julien Bisconti | 310 | |2|Jérémie Astori | 311 | |2|Keith Thibodeaux | 312 | |2|Kevin Vandenborne | 313 | |2|Klaus-Uwe Mitterer | 314 | |2|Konstantinos Sideris | 315 | |2|Kukielka | 316 | |2|Lanre Adelowo | 317 | |2|Leroy Förster | 318 | |2|Liam Demafelix | 319 | |2|Louis <6653109+artonge@users.noreply.github.com>| 320 | |2|Lukas SP <46935044+Lukaesebrot@users.noreply.github.com>| 321 | |2|Madhu GB | 322 | |2|Malte Kiefer | 323 | |2|Mantas Vilčinskas <11616378+mistermantas@users.noreply.github.com>| 324 | |2|Manuel Uberti | 325 | |2|Marc Ole Bulling | 326 | |2|Marcel Brückner | 327 | |2|Mariano Mollo | 328 | |2|Marien Fressinaud | 329 | |2|Marius Lindvall | 330 | |2|Mark Niehe | 331 | |2|Markus M. Deuerlein | 332 | |2|MarkusMcNugen | 333 | |2|Martijn | 334 | |2|Martin Tournoij | 335 | |2|Massimo Santini | 336 | |2|Mats Estensen | 337 | |2|Matt Hazinski | 338 | |2|Matthieu Aubry | 339 | |2|Melvin Loos | 340 | |2|Michael Tunnell | 341 | |2|Mikael Peigney | 342 | |2|Miroslav Šedivý | 343 | |2|Murali Govardhana | 344 | |2|Nehal Hasnayeen | 345 | |2|Noora | 346 | |2|Oliver Giles | 347 | |2|Ophir LOJKINE | 348 | |2|Patrik Ragnarsson | 349 | |2|Pavel Korotkiy | 350 | |2|Pavel Lobashov | 351 | |2|Pernat1y | 352 | |2|Peter Demin | 353 | |2|Peter Ivanov | 354 | |2|Phil | 355 | |2|Phonic Mouse | 356 | |2|Pierre Ozoux | 357 | |2|Poorchop | 358 | |2|Prabhanjan | 359 | |2|Przemek Dragańczuk | 360 | |2|Raphaël Thériault | 361 | |2|Raymond Berger | 362 | |2|Razvan (Raz) | 363 | |2|ReadmeCritic | 364 | |2|Ricardo Torres | 365 | |2|Rid | 366 | |2|Robsdedude | 367 | |2|Rodolfo Berrios | 368 | |2|Roland Geider | 369 | |2|Ryan Mulligan | 370 | |2|Sam Tuke | 371 | |2|Sameer Al-Sakran | 372 | |2|Sammy | 373 | |2|Samuel Lelièvre | 374 | |2|Sandeep S | 375 | |2|Sascha Ißbrücker | 376 | |2|Scot Hacker | 377 | |2|Senan Kelly | 378 | |2|Shane Cooke | 379 | |2|Simon Vieille | 380 | |2|Simone Grignola | 381 | |2|Sjoerd van der Hoorn | 382 | |2|Spark <24642451+Sparkenstein@users.noreply.github.com>| 383 | |2|Stefan Bohacek | 384 | |2|Stefane Fermigier | 385 | |2|Stefano | 386 | |2|Suraj Patil | 387 | |2|Think | 388 | |2|Thomas Citharel | 389 | |2|Thomas LÉVEIL | 390 | |2|Todd Austin | 391 | |2|Tomer | 392 | |2|Tomer Cohen | 393 | |2|Tony Xu | 394 | |2|Trevor Bennett | 395 | |2|Vadim Rutkovsky | 396 | |2|Valentino Pesce | 397 | |2|Van-Duyet Le | 398 | |2|Vividh Mariya <55412084+MagnumDingusEdu@users.noreply.github.com>| 399 | |2|Vladimir Avgustov | 400 | |2|Vladimir Vitkov | 401 | |2|Will Bennett | 402 | |2|William Notowidagdo | 403 | |2|Yann | 404 | |2|Yurii Dubinka | 405 | |2|Zeniic | 406 | |2|Zeyphros | 407 | |2|agetic | 408 | |2|ahaenggli | 409 | |2|aldevar | 410 | |2|charsi | 411 | |2|cornerot | 412 | |2|cron410 | 413 | |2|dicedtomato <35403473+dicedtomatoreal@users.noreply.github.com>| 414 | |2|digiou | 415 | |2|donald-art <77787121+donald-art@users.noreply.github.com>| 416 | |2|emeric | 417 | |2|erdihu | 418 | |2|fengshaun | 419 | |2|fuerbringer | 420 | |2|gseva | 421 | |2|jciskey | 422 | |2|jganobsik <39414138+jganobsik@users.noreply.github.com>| 423 | |2|jimykk | 424 | |2|kn0wmad <39687477+kn0wmad@users.noreply.github.com>| 425 | |2|markkrj | 426 | |2|maximesrd | 427 | |2|penyuan | 428 | |2|phntxx | 429 | |2|rafael-santiago | 430 | |2|simon987 | 431 | |2|slurdge | 432 | |2|sportivaman <34513134+rmountjoy92@users.noreply.github.com>| 433 | |2|tacerus | 434 | |2|th3r00t | 435 | |2|thomasfrivold | 436 | |2|tillarnold | 437 | |2|tomc3 | 438 | |2|undoingtech <33106062+undoingtech@users.noreply.github.com>| 439 | |2|xy2z | 440 | |2|yuche | 441 | |2|ziλa sarikaya | 442 | |2|znegva | 443 | |2|Žygimantas Medelis | 444 | |2|王可森 | 445 | |1|0l-l0 <49962426+0l-l0@users.noreply.github.com>| 446 | |1|3Samourai <68392445+3Samourai@users.noreply.github.com>| 447 | |1|4oo4 <4oo4@users.noreply.github.com>| 448 | |1|@@philipp-r@@ | 449 | |1|A. Tammy | 450 | |1|Aaron <44198148+whalehub@users.noreply.github.com>| 451 | |1|Aaron Parecki | 452 | |1|Adam C <39806482+adam-redcort@users.noreply.github.com>| 453 | |1|Adam Johnson | 454 | |1|Aditya Nagla | 455 | |1|Adrian Kumpf | 456 | |1|Aimee <16459597+Aimeedeer@users.noreply.github.com>| 457 | |1|Akos Veres | 458 | |1|Alashov Berkeli | 459 | |1|Alberto Bertogli | 460 | |1|Alejandro Rodríguez | 461 | |1|Alex | 462 | |1|Alex Fornuto | 463 | |1|Alex Ling | 464 | |1|Alex Tselegidis | 465 | |1|Alex Yumashev <33555768+alex-jitbit@users.noreply.github.com>| 466 | |1|AlexFullmoon | 467 | |1|Alexandr Nesterenko | 468 | |1|Alexandre Abita | 469 | |1|Alexey Strokach | 470 | |1|Alfred Bez | 471 | |1|Algram | 472 | |1|Alys | 473 | |1|Andre | 474 | |1|Andrei Marcu | 475 | |1|Andrew | 476 | |1|Andrew Murray | 477 | |1|Andrew Nesbitt | 478 | |1|Andrew Prokhorenkov | 479 | |1|Andrey | 480 | |1|Andrey Kuznetsov | 481 | |1|André Rodier | 482 | |1|Andy Olsen | 483 | |1|Andyyyyy94 | 484 | |1|Angel Velasquez | 485 | |1|Antoine | 486 | |1|Antoine Gersant | 487 | |1|Anton Troyanov | 488 | |1|Arkady Asuratov | 489 | |1|Armando Lüscher | 490 | |1|Arnold Schrijver | 491 | |1|ArthurHoaro | 492 | |1|Ash Leece | 493 | |1|Austin | 494 | |1|BN | 495 | |1|Bas | 496 | |1|Bastien Wirtz | 497 | |1|Beard of War | 498 | |1|Ben | 499 | |1|Ben Abbott | 500 | |1|Benj Fassbind | 501 | |1|Benjamin Lange | 502 | |1|Benjo Kho | 503 | |1|Bernd Bestel | 504 | |1|Bert Van de Poel | 505 | |1|Bharat Kalluri | 506 | |1|Blake Bourque | 507 | |1|Bob "Wombat" Hogg | 508 | |1|Bob Mottram | 509 | |1|Brett | 510 | |1|Brian | 511 | |1|Bubka <858858+Bubka@users.noreply.github.com>| 512 | |1|Burung Hantu | 513 | |1|Buster "Silver Eagle" Neece | 514 | |1|C.J. Jameson | 515 | |1|Caleb Xu | 516 | |1|Calle Wolff | 517 | |1|Cameron Contour <35661840+ccontour@users.noreply.github.com>| 518 | |1|Carlos Rodriguez | 519 | |1|Cedric | 520 | |1|Chanchal Kumar Ghosh | 521 | |1|Chandan Rai | 522 | |1|Charles Barnes | 523 | |1|Charles Barnes | 524 | |1|Charlotte Tan | 525 | |1|Chema | 526 | |1|Chris Horrocks | 527 | |1|Chris Legault | 528 | |1|Chris Padfield | 529 | |1|Christian Segundo <36006540+someone-stole-my-name@users.noreply.github.com>| 530 | |1|Christoph (Sheogorath) Kern | 531 | |1|Christoph Kappestein | 532 | |1|Christoph Wiechert | 533 | |1|Christophe Hamerling | 534 | |1|Clément AUBIN | 535 | |1|Colin <16247799+cpdevelops@users.noreply.github.com>| 536 | |1|Colin Shea | 537 | |1|Craig Davison | 538 | |1|Cristian Menghi | 539 | |1|Cthulhux | 540 | |1|CyrilPepito <18053589+CyrilPepito@users.noreply.github.com>| 541 | |1|Cédric | 542 | |1|D0T1X <65193216+D0T1X@users.noreply.github.com>| 543 | |1|Damir Gainetdinov | 544 | |1|Dan | 545 | |1|Dan Moore | 546 | |1|Dan Nixon | 547 | |1|Daniel Quinn | 548 | |1|Danny | 549 | |1|David Baldwynn | 550 | |1|David Ng | 551 | |1|David Stephens | 552 | |1|David Yu | 553 | |1|Deeoon <25846405+Deeoon@users.noreply.github.com>| 554 | |1|Denis | 555 | |1|Denis | 556 | |1|Diego Molina | 557 | |1|Dimitri Steinel | 558 | |1|Dirk Krause | 559 | |1|Dmitriy Volkov | 560 | |1|Dmitry Khomutov | 561 | |1|DonPascualino <50177009+DonPascualino@users.noreply.github.com>| 562 | |1|Doğan Çelik | 563 | |1|Dražen Lučanin | 564 | |1|Driaan | 565 | |1|Duco | 566 | |1|Duke | 567 | |1|Dweb Fan | 568 | |1|Ed Tewiah | 569 | |1|Edoardo Putti | 570 | |1|Edreih Aldana | 571 | |1|Eldad A. Fux | 572 | |1|Emeric POUPON | 573 | |1|Emlembow <36314674+Emlembow@users.noreply.github.com>| 574 | |1|Eran Chetz | 575 | |1|Eren Hatırnaz | 576 | |1|Eric Moon | 577 | |1|Eric Nemchik | 578 | |1|Eric Park | 579 | |1|Erik Rigtorp | 580 | |1|Error1000 <50962908+Error1000@users.noreply.github.com>| 581 | |1|Ethan Hampton | 582 | |1|Ethan Madden | 583 | |1|Eugen | 584 | |1|Evelthon Prodromou | 585 | |1|Evgeny Petrov | 586 | |1|Fabian Patzke | 587 | |1|Farhan Ghumra | 588 | |1|Fazal Majid | 589 | |1|Florian <52180080+Icesofty@users.noreply.github.com>| 590 | |1|Florian Kaiser | 591 | |1|Florian Kaldowski | 592 | |1|Florian Wilhelm | 593 | |1|FortressBuilder | 594 | |1|Francesco Vollero | 595 | |1|François Jacquet | 596 | |1|FreeScout <40499291+freescout-helpdesk@users.noreply.github.com>| 597 | |1|G | 598 | |1|Galen Abell | 599 | |1|Gio | 600 | |1|Giorgos Logiotatidis | 601 | |1|Girish Ramakrishnan | 602 | |1|Greg Chetcuti | 603 | |1|Groupboard | 604 | |1|Guilherme Oenning | 605 | |1|Hans | 606 | |1|Hazim J | 607 | |1|Hendrik Niefeld | 608 | |1|Henrique Holanda | 609 | |1|Herman Zvonimir Došilović | 610 | |1|Hooopo | 611 | |1|IAlwaysBeCoding | 612 | |1|Icantcodeatall | 613 | |1|Igor Antun | 614 | |1|Igor Petrov | 615 | |1|Imron RA <42175898+imronra@users.noreply.github.com>| 616 | |1|Isaac | 617 | |1|Izac Lorimer | 618 | |1|Jack | 619 | |1|Jackson Delahunt | 620 | |1|Jakob Gillich | 621 | |1|Jan | 622 | |1|Jan Dietrich | 623 | |1|Jannik Anker | 624 | |1|Janos Dobronszki | 625 | |1|Jarek Lipski | 626 | |1|Jason Bosco | 627 | |1|Jay Williams | 628 | |1|Jay Yu <265551+GitHubGeek@users.noreply.github.com>| 629 | |1|Jay Yu | 630 | |1|Jean Menezes da Rocha | 631 | |1|Jelmer Vernooij | 632 | |1|Jeremiah Marks | 633 | |1|Jeremy Meyers | 634 | |1|Joe Lombrozo | 635 | |1|Joel Calado | 636 | |1|Jon Schoning | 637 | |1|Jonas | 638 | |1|Jonas Hellmann | 639 | |1|Jonathan Elias Caicedo | 640 | |1|Jordan <15741144+jrdnlc@users.noreply.github.com>| 641 | |1|Jordan Doyle | 642 | |1|Jordan Doyle | 643 | |1|Josh Harmon | 644 | |1|Joshua Hamilton | 645 | |1|José Castro | 646 | |1|Julien | 647 | |1|Julien Bisconti | 648 | |1|Julien Reichardt | 649 | |1|Justin Clift | 650 | |1|Justin O'Reilly | 651 | |1|Kacper | 652 | |1|Karl Gumerlock | 653 | |1|KarloLuiten | 654 | |1|Kaveet Laxmidas | 655 | |1|Kelvin | 656 | |1|Ketrel | 657 | |1|Kevin Lin | 658 | |1|Keyhaku | 659 | |1|Kieran | 660 | |1|Kieran Gleeson | 661 | |1|Kim Jahn | 662 | |1|Konstantin Sorokin | 663 | |1|Kyle Farwell | 664 | |1|Kyle Stetz | 665 | |1|L1Cafe | 666 | |1|LB (Ben Johnston) | 667 | |1|Laurent Coustet | 668 | |1|Leonard Thomas Wall | 669 | |1|Lescaudron Mathieu | 670 | |1|Liran Tal | 671 | |1|Logan Marchione | 672 | |1|Lorenz Hübschle-Schneider | 673 | |1|Louis Grenard | 674 | |1|Lukas Masuch | 675 | |1|Luke Hoersten | 676 | |1|Luke Singham | 677 | |1|Luuk Nieuwdorp | 678 | |1|Lyz | 679 | |1|Marcin Karpezo | 680 | |1|Marco Dickert | 681 | |1|Marco Kamner | 682 | |1|Marco Kamner | 683 | |1|Marcus Ramberg | 684 | |1|Mario Reder | 685 | |1|Mark Ide | 686 | |1|Mark Ide | 687 | |1|Mark Railton | 688 | |1|Markus Dieckmann | 689 | |1|Martin Allien <1965795+AllienWorks@users.noreply.github.com>| 690 | |1|Martin Malinda | 691 | |1|Marvin | 692 | |1|Marvin Gülker | 693 | |1|MatFluor | 694 | |1|Matt Burchett | 695 | |1|Matt Lee | 696 | |1|Matteo Cellucci | 697 | |1|Matteo Cellucci | 698 | |1|Matteo Piccina | 699 | |1|Matthew Dews | 700 | |1|Matthew East | 701 | |1|Matthew McEachen | 702 | |1|Matthias De Bie | 703 | |1|Max <2843450+b-m-f@users.noreply.github.com>| 704 | |1|Max Hollmann | 705 | |1|Maxime Bouroumeau-Fuseau | 706 | |1|Michael Barrow | 707 | |1|Michael Burns | 708 | |1|Michael M. Chang | 709 | |1|Michael Malura | 710 | |1|Michael Stegeman | 711 | |1|Michael van Tricht | 712 | |1|Michael van Tricht | 713 | |1|Michael van Tricht | 714 | |1|Mike Goodwin | 715 | |1|Mike Steele | 716 | |1|Miloš Kroulík | 717 | |1|Minghe | 718 | |1|MinorTom | 719 | |1|Mishari Muqbil | 720 | |1|Mitchell R | 721 | |1|Moritz Kröger | 722 | |1|Murali K G | 723 | |1|Murdoc Bates | 724 | |1|Naresh Arelli | 725 | |1|Neal Gompa | 726 | |1|Nic Samuelson | 727 | |1|Nicholas Schlobohm | 728 | |1|Nick Sweeting | 729 | |1|Nicolas Martinelli | 730 | |1|Nicolas Mattiocco | 731 | |1|NicolasCARPi | 732 | |1|Niels Robin-Aubertin | 733 | |1|Nikodem Deja | 734 | |1|Nirmal Almara | 735 | |1|Nisar Hassan Naqvi | 736 | |1|Norman Xu | 737 | |1|Nÿco | 738 | |1|Ober7 | 739 | |1|Odin Hørthe Omdal | 740 | |1|Oleg Agafonov | 741 | |1|Oliver Kopp | 742 | |1|Opeyemi Obembe | 743 | |1|Owen Young | 744 | |1|PMK | 745 | |1|Paolo Pustorino | 746 | |1|Pau Kiat Wee | 747 | |1|Paul | 748 | |1|Paul Götzinger | 749 | |1|Paul Libbrecht | 750 | |1|Paul Libbrecht | 751 | |1|Pavlo Vodopyan | 752 | |1|Paweł Jakimowski | 753 | |1|Paweł Kapała | 754 | |1|Pete Matsyburka | 755 | |1|Peter Brunner | 756 | |1|Peter Thaleikis | 757 | |1|Peter Tonoli | 758 | |1|Peter van den Hurk | 759 | |1|PhiTux <27566312+PhiTux@users.noreply.github.com>| 760 | |1|Philipp Kutyla | 761 | |1|Phill | 762 | |1|Phonic Mouse | 763 | |1|Pierre <21216829+pedrom34@users.noreply.github.com>| 764 | |1|Pierre Dubouilh | 765 | |1|Pierre Kil | 766 | |1|Pietro Pe46dro Marangon | 767 | |1|Pouria Ezzati | 768 | |1|Prahalad Belavadi | 769 | |1|Pranav Raj S | 770 | |1|Quentin de Quelen | 771 | |1|R. Miles McCain | 772 | |1|Rafael Milewski | 773 | |1|Raphael Fetzer | 774 | |1|RblSb | 775 | |1|Remi Rampin | 776 | |1|Remy Adriaanse | 777 | |1|Remy Honig | 778 | |1|Richard Thornton | 779 | |1|Riddler | 780 | |1|Rob | 781 | |1|Robert Charusta | 782 | |1|Roberto Rosario | 783 | |1|Robin Schneider | 784 | |1|Roman Nesterov | 785 | |1|Rouven Bauer | 786 | |1|RussellAult | 787 | |1|Ryan Halliday | 788 | |1|Ryan Noelk | 789 | |1|Ryan Stubbs | 790 | |1|Rzeszow <6783135+Rzeszow@users.noreply.github.com>| 791 | |1|Sahin Boydas | 792 | |1|Salvatore Gentile | 793 | |1|Sam Patterson | 794 | |1|Sam Wilson | 795 | |1|Samuel Garneau | 796 | |1|Sartaj | 797 | |1|Scott Humphries | 798 | |1|Scott Miller | 799 | |1|Sean Begley | 800 | |1|Senan Kelly | 801 | |1|Sergey Bronnikov | 802 | |1|Sergey Ponomarev | 803 | |1|Sheldon Rupp | 804 | |1|Shikiryu | 805 | |1|Shyim <6224096+shyim@users.noreply.github.com>| 806 | |1|Simon | 807 | |1|Simon Alberny | 808 | |1|Simon Briggs | 809 | |1|Simon Delberghe | 810 | |1|Simon Hanna | 811 | |1|Simon Ramsay | 812 | |1|Simon Vandevelde | 813 | |1|Sourabh Joshi <38150665+sourabh-joshi@users.noreply.github.com>| 814 | |1|Spencer McIntyre | 815 | |1|Spencer Muise | 816 | |1|Starbeamrainbowlabs | 817 | |1|Stefan Weil | 818 | |1|Stephen Smith | 819 | |1|Steve Divskinsy | 820 | |1|Stig124 | 821 | |1|Sting Alleman | 822 | |1|Sylvain Boily | 823 | |1|THS-on | 824 | |1|Tanner Collin | 825 | |1|The Scorpion | 826 | |1|TheBestMoshe <34072688+TheBestMoshe@users.noreply.github.com>| 827 | |1|TheCakeIsNaOH | 828 | |1|Thomas Ferney | 829 | |1|Thomas Hansen | 830 | |1|Thomas Rohlik | 831 | |1|Thomas Taylor | 832 | |1|Thorsten Rinne | 833 | |1|Tim Allingham | 834 | |1|Tim Glaser | 835 | |1|Timothee Boussus | 836 | |1|Timur Bublik | 837 | |1|Tobias Diekershoff | 838 | |1|Tobias Kunze | 839 | |1|Tobias Reich | 840 | |1|Tobias Zeising | 841 | |1|Todd Hoffmann | 842 | |1|Tom Hacohen | 843 | |1|Tom Saleeba | 844 | |1|Tom Tamaira | 845 | |1|Tomer Shvueli | 846 | |1|Tommy Ku | 847 | |1|Travis Carr | 848 | |1|Trevor Ford | 849 | |1|Uli | 850 | |1|Vadim Markovtsev | 851 | |1|Vidas P | 852 | |1|Viktor Geringer | 853 | |1|Vincent Dauce | 854 | |1|Vinod Chandru | 855 | |1|Volodymyr Smirnov | 856 | |1|Webmasterish | 857 | |1|Will Browning | 858 | |1|William Gathoye | 859 | |1|Wonno | 860 | |1|WordsPerMinute <59267072+WordsPerMinute@users.noreply.github.com>| 861 | |1|Wundark | 862 | |1|Yurii Rashkovskii | 863 | |1|Zoran Pandovski | 864 | |1|aeruower <65504420+aeruower@users.noreply.github.com>| 865 | |1|alain laptop | 866 | |1|ash | 867 | |1|axeloz | 868 | |1|benmaynard11 | 869 | |1|bitcoinshirt <36959754+bitcoinshirt@users.noreply.github.com>| 870 | |1|bitsii <40513121+bitsii@users.noreply.github.com>| 871 | |1|bricej13 | 872 | |1|buzz | 873 | |1|c22 | 874 | |1|cbdev | 875 | |1|clach04 | 876 | |1|costpermille | 877 | |1|cpdev | 878 | |1|darkdragon-001 | 879 | |1|dgtlmoon | 880 | |1|dicedtomato <35403473+diced@users.noreply.github.com>| 881 | |1|digdilem | 882 | |1|dimqua | 883 | |1|disk0x | 884 | |1|dkanada | 885 | |1|domainzero | 886 | |1|dsx | 887 | |1|duncan-m | 888 | |1|ePirat | 889 | |1|eikendev | 890 | |1|el3ctr0lyte <69082962+el3ctr0lyte@users.noreply.github.com>| 891 | |1|em | 892 | |1|emmanouil | 893 | |1|evitalis | 894 | |1|fghhfg | 895 | |1|fi78 <31729946+fi78@users.noreply.github.com>| 896 | |1|florianl | 897 | |1|foorb | 898 | |1|ghaseminya | 899 | |1|gloriafolaron <55953099+gloriafolaron@users.noreply.github.com>| 900 | |1|golangci <35628013+golangci@users.noreply.github.com>| 901 | |1|ice-92 | 902 | |1|ilsi | 903 | |1|itsnotv | 904 | |1|jake | 905 | |1|jarek91 | 906 | |1|jgi | 907 | |1|josephernest | 908 | |1|josh | 909 | |1|kkhoury38 <49880604+kkhoury38@users.noreply.github.com>| 910 | |1|kn0wmad | 911 | |1|lachlan-00 | 912 | |1|lardbit <45122868+lardbit@users.noreply.github.com>| 913 | |1|lemon24 | 914 | |1|littleguga | 915 | |1|londonatil <65257173+londonatil@users.noreply.github.com>| 916 | |1|lsascha | 917 | |1|ludo444 | 918 | |1|macmusz | 919 | |1|mclang <1721600+mclang@users.noreply.github.com>| 920 | |1|memorex258 | 921 | |1|mertinop | 922 | |1|mightypanders | 923 | |1|mrkpl125 <33229813+mrkpl125@users.noreply.github.com>| 924 | |1|mundurragacl | 925 | |1|mxroute <37432698+mxroute@users.noreply.github.com>| 926 | |1|n2i | 927 | |1|niedev | 928 | |1|nodomain | 929 | |1|norstbox | 930 | |1|nwerker <45071484+nwerker@users.noreply.github.com>| 931 | |1|pastapojken | 932 | |1|philipp-r || 333 | 933 | |1|phobot | 934 | |1|pips | 935 | |1|pnhofmann | 936 | |1|poVoq | 937 | |1|railscard | 938 | |1|raman325 <7243222+raman325@users.noreply.github.com>| 939 | |1|reddec | 940 | |1|sc0repi0 | 941 | |1|skarphet | 942 | |1|soumyadebm <52487451+soumyadebm@users.noreply.github.com>| 943 | |1|sqozz | 944 | |1|steven jacobs | 945 | |1|stevesbrain | 946 | |1|syedrali <53045765+syedrali@users.noreply.github.com>| 947 | |1|t1st3 | 948 | |1|tchap | 949 | |1|teaberryy | 950 | |1|timbe16 | 951 | |1|timvisee | 952 | |1|trebonius0 | 953 | |1|trendschau | 954 | |1|ttoups | 955 | |1|uchchishta | 956 | |1|viktorstrate | 957 | |1|vincent-clipet | 958 | |1|vinz243 | 959 | |1|volmarg | 960 | |1|wimanshaherath | 961 | |1|wxcafé | 962 | |1|xuansamdinh | 963 | |1|zneix <44851575+zneix@users.noreply.github.com>| 964 | |1|zotlabs | 965 | |1|zzemla | 966 | |1|Руслан Корнев | 967 | --------------------------------------------------------------------------------