Merge pull request #1 from Kickball/master

Update
This commit is contained in:
Osvaldo 2017-08-13 17:10:30 +01:00 committed by GitHub
commit a689c78795
11 changed files with 1867 additions and 358 deletions

10
.github/.mailmap vendored Normal file
View File

@ -0,0 +1,10 @@
Kickball <ed.kickball@hotmail.com> <ed.kickball@hotmail.com>
Andrew Rylatt <AndyR207@users.noreply.github.com> <AndyR207@users.noreply.github.com> <arylatt@users.noreply.github.com>
n8225 <n8225@users.noreply.github.com> <nrew225@gmail.com>
Thomas Dalichow <info@thomasdalichow.de> <2012-02-05.github.com@thomasdalichow.de>
Andrew Rylatt <AndyR207@users.noreply.github.com> <andrew@rylatt.me>
Keith Thibodeaux <kthibodeaux@peachtreebilling.com> Keith Thibodeaux <kthib89+github@gmail.com>
Madhu GB <github@madhugb.com> Madhu GB <me@madhugb.com>
Miguel Piedrafita <github@miguelpiedrafita.com> <git@miguelpiedrafita.com>
Pavel Lobashov <ShockwaveNN@gmail.com> Pavel Lobashov <shockwavenn@gmail.com>
Stefan Bohacek <stefan.bohacek@gmail.com> Stefan Bohacek <stefan@fourtonfish.com>

13
.github/CONTRIBUTING.md vendored Normal file
View File

@ -0,0 +1,13 @@
## Contributing
Please join us on [chat](https://chat.awesome-selfhosted.com) to clarify any questions.
* The **syntax** for links is ``[Name](http://homepage/) - Short description. ([Demo](http://url.to/demo), [Source Code](http://url.of/source/code)) `License` `Language` ``. All projects should have their **license** and main server-side **language**/platform/requirement listed, and a description at most 250 characters long.
* To **add an entry**: clone/[download](https://github.com/Kickball/awesome-selfhosted/archive/master.zip) and enter the repository, run `make add` and follow the instructions; or [edit the README.md file](https://github.com/Kickball/awesome-selfhosted/edit/master/README.md) directly. 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.
* A minimum of 3 entries are required to start a new category, otherwise add to the Misc/Other category.
* Entries should be ordered alphabetically.
* Non-[Free](https://en.wikipedia.org/wiki/Free_software) software must be marked `⊘ Proprietary` next to the title, and added to [non-free.md](non-free.md).
* The `⚠` character must be inserted for software that relies on a third party service the user does not control, e.g ``[Name](http://homepage/) `⚠` - Short description...``.
* Check current [issues](https://github.com/Kickball/awesome-selfhosted/issues) and [Pull Requests](https://github.com/Kickball/awesome-selfhosted/pulls), as well as [closed issues/PRs](https://github.com/Kickball/awesome-selfhosted/pulls?utf8=%E2%9C%93&q=is%3Aclosed+).
* The list of contributors can be updated with `make contrib`. Several checks are available: `make noexternallink; make missinglicenselanguage; make nofullstop`
* Software with no development activity for 6-12 months may be removed from the list.

14
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@ -0,0 +1,14 @@
Thank you for taking the time to work on a PR for Awesome-Selfhosted!
To ensure your PR is dealt with swiftly please check the following:
- [ ] Your submissions are formatted according to the guidelines.
``[Name](http://homepage/) - Short description. ([Demo](http://url.to/demo), [Source Code](http://url.of/source/code)) `License` `Language` ``
- [ ] Your additions are ordered alphabetically.
- [ ] Your additions are [Free software](https://en.wikipedia.org/wiki/Free_software), or if not they have been added to [non-free](non-free.md).
- [ ] Your additions are not already listed at [awesome-sysadmin](https://github.com/n1trux/awesome-sysadmin) (IT infrastructure management), [staticgen.com](https://www.staticgen.com/) or [staticsitegenerators.net](https://staticsitegenerators.net/) (static site generators).
- [ ] Any licenses you have added are in our [list of licenses](https://github.com/Kickball/awesome-selfhosted/blob/master/README.md#list-of-licenses).
- [ ] You have searched the repository for any relevant issues or PRs.
- [ ] Any category you are creating has the minimum requirement of 3 items.

1
.github/join-chat.svg vendored Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="148" height="20"><linearGradient id="b" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><mask id="a"><rect width="148" height="20" rx="3" fill="#fff"/></mask><g mask="url(#a)"><path fill="#555" d="M0 0h77v20H0z"/><path fill="#4c1" d="M77 0h71v20H77z"/><path fill="url(#b)" d="M0 0h148v20H0z"/></g><g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11"><text x="38.5" y="15" fill="#010101" fill-opacity=".3">Rocket.Chat</text><text x="38.5" y="14">Rocket.Chat</text><text x="111.5" y="15" fill="#010101" fill-opacity=".3">JOIN CHAT</text><text x="111.5" y="14">JOIN CHAT</text></g></svg>

After

Width:  |  Height:  |  Size: 757 B

20
.travis.yml Normal file
View File

@ -0,0 +1,20 @@
language: node_js
node_js:
- "node"
before_install:
- rvm install 2.2
- gem install awesome_bot
- gem install danger
before_script:
script:
- git diff master.. -U0 README.md | grep -Pos "(?<=^\+).*" >> temp.md || (exit 0)
- node test.js temp.md
- awesome_bot temp.md --allow-redirect || (exit 0)
- danger --verbose
notifications:
email: false

363
AUTHORS.md Normal file
View File

@ -0,0 +1,363 @@
Commits | Author
:---: | ---
435 nodiscc <nodiscc@gmail.com>
291 Kickball <ed.kickball@hotmail.com>
163 n8225 <n8225@users.noreply.github.com>
114 Andrew Rylatt <AndyR207@users.noreply.github.com>
35 Kovah <mail@kovah.de>
17 Thomas Dalichow <info@thomasdalichow.de>
14 Miguel Piedrafita <github@miguelpiedrafita.com>
13 jungle-boogie <sean@jungleboogie.me>
12 Alex <alex@maximum.guru>
12 Pe46dro <pietro@marangon.me>
10 cave beat <cave@cavebeat.org>
9 Joubert RedRat <eu+github@redrat.com.br>
8 CooperBarrett <anthony.lhuissier@openmailbox.org>
7 édouard u. <mail@edouard.us>
7 phre4k <me@phre4k.at>
7 Ilian <ugg.rock@gmail.com>
7 Andrew Peng <pengc99@gmail.com>
7 DJCrashdummy <DJCrashdummy@users.noreply.github.com>
7 Hammy Havoc <hammy@splitanatom.com>
7 Andrew Rylatt <arylatt@users.noreply.github.com>
7 n1trux <n1trux@users.noreply.github.com>
6 cave <cavebeat@users.noreply.github.com>
6 Per Guth <mail@perguth.de>
6 Touhid Arastu <touhid.arastu@gmail.com>
5 Max Maischein <github@corion.net>
5 Jean Champémont <jchampemont@users.noreply.github.com>
5 Philip Kirkbride <kirkins@gmail.com>
5 Moti Korets <moti.kor@gmail.com>
5 Mohammad Faisal <faisalhmohd@live.com>
4 Rodolfo Berrios <inbox@rodolfoberrios.com>
4 Eliot Whalan <ewhal@pantsu.cat>
4 Joshua Westerheide <dev@jdoubleu.de>
4 Johannes Zellner <johannes@nebulon.de>
4 Joery Zegers <accounts@jzegers.nl>
4 Jean Elchinger <jinformatique@riseup.net>
4 Jan Vlnas <jnv@users.noreply.github.com>
4 Ilya Sevostyanov <d3th@zeen.ru>
4 AndrewCz <smacz42@users.noreply.github.com>
4 dyu <david.yu.ftw@gmail.com>
4 dpfaffenbauer <dominik@lineofcode.at>
4 dattaz <taz@dattaz.fr>
4 Valmik <mail@valmik.in>
4 Alexandr Emelin <frvzmb@gmail.com>
4 Chris McCormick <chris@mccormick.cx>
4 Cory Gibbons <hello@corygibbons.com>
4 /c² <cagataycali@icloud.com>
4 D <DL88250@gmail.com>
4 paddo <mail@patrickrichter.net>
4 Marius Voila <marius.voila@gmail.com>
4 MK <kohenkatz@gmail.com>
4 Dominik Pfaffenbauer <dominik@lineofcode.at>
4 Dr. Azrael Tod <github.com@g33ky.de>
3 Yann Forget <forget.yann31@gmail.com>
3 Pavan Yara <yarapavan@gmail.com>
3 Ovidiu Dan <zmarty@users.noreply.github.com>
3 rett gerst <rettgerst@users.noreply.github.com>
3 Conor O'Callaghan <brioscaibriste@users.noreply.github.com>
3 jungle-boogie <sean@rastasean.net>
3 IrosTheBeggar <paul.sori@gmail.com>
3 Leo Gaggl <leo@brightcookie.com.au>
3 Morris Jobke <hey@morrisjobke.de>
3 Görkem Çetin <gc@count.ly>
3 Cédric Krier <cedk@users.noreply.github.com>
3 Ethan Lowman <ethanal@users.noreply.github.com>
3 George C. Privon <privong@users.noreply.github.com>
3 Garrett Martin <me@garrettqmartin.com>
3 Gabin <hello@gabinaureche.com>
3 Danja Vasiliev <danja@k0a1a.net>
3 Mathieu Leplatre <mathieu@leplat.re>
3 Lee Watson <rev@revthefox.co.uk>
3 Martin Gontovnikas <martin@gon.to>
3 FoxMaSk <foxmask@users.noreply.github.com>
3 Mariusz Kozakowski <11mariom+wordpress@gmail.com>
3 Kevin Hinterlong <kevinhinterlong@users.noreply.github.com>
3 Harvey Kandola <harvey@documize.com>
3 Aguay <baraise.valentin@gmail.com>
3 Marc Picaud <picaud.marc@gmail.com>
3 Burak Emre Kabakcı <emrekabakci@gmail.com>
3 Pietro Marangon <pietro.marangon@gmail.com>
3 Pierre Tinard <Edraens@users.noreply.github.com>
3 Tobi Schäfer <interface@p3k.org>
3 Peter Thaleikis <spekulatius@users.noreply.github.com>
3 pszlazak <pszlazak@users.noreply.github.com>
3 Akhyar Amarullah <akhyrul@gmail.com>
3 moba <moba@users.noreply.github.com>
3 Ye Lin Aung <me@yelinaung.com>
2 王可森 <wangkesen@users.noreply.github.com>
2 Adminrezo (Nico Dewaele) <nico@adminrezo.fr>
2 Albert Cervera i Areny <albert@nan-tic.com>
2 Alexander Ryzhov <gtihub@ryzhov-al.ru>
2 Alexis Metaireau <alexis@notmyidea.org>
2 Andrei Poenaru <andrei.poenaru@gmail.com>
2 Andrew Hayworth <hayworth@meraki.net>
2 Arik Fraimovich <arik@arikfr.com>
2 Bartłomiej Kurzeja <B3QL@users.noreply.github.com>
2 Brendan Abolivier <contact@brendanabolivier.com>
2 Brian Morin <bdmorin@gmail.com>
2 Charles Farence III <charles@charlessite90.com>
2 Chris Missal <chris.missal@gmail.com>
2 Costin Moise <necenzurat@gmail.com>
2 David Leonard <david@appliedtrust.com>
2 David Wayne Baxter <dbxt@users.noreply.github.com>
2 Derek Viera <ma.dmviera01@gmail.com>
2 Deryck <dhenson02@users.noreply.github.com>
2 Dillon Stadther <dlstadther@gmail.com>
2 Feleg <fegul@users.noreply.github.com>
2 Felix Bartels <felix@host-consultants.de>
2 Gabin Aureche <gabin.aureche@live.fr>
2 Gabriel Cossette <gabriel.cossette@gmail.com>
2 Gonçalo Valério <dethos@users.noreply.github.com>
2 Greg V <greg@unrelenting.technology>
2 Henry Ruhs <info@redaxmedia.com>
2 Jake Breindel <j.breindel2@outlook.com>
2 James Cole <JC5@users.noreply.github.com>
2 Jan Soendermann <jan.soendermann+git@gmail.com>
2 Jason Robinson <mail@jasonrobinson.me>
2 Joseph Dykstra <josephdykstra@gmail.com>
2 Julien Bisconti <veggiemonk@users.noreply.github.com>
2 Jérémie Astori <jeremie@astori.fr>
2 Keith Thibodeaux <kthibodeaux@peachtreebilling.com>
2 Kevin Lin <developer@kevinlin.info>
2 Kevin Vandenborne <kevin.vandenborne@gmail.com>
2 Madhu GB <github@madhugb.com>
2 Malte Kiefer <malte.kiefer@mailgermania.de>
2 Marc Laporte <marc@laporte.name>
2 Marien Fressinaud <dev@marienfressinaud.fr>
2 Massimo Santini <massimo.santini@gmail.com>
2 Matthieu Aubry <matt@piwik.org>
2 Michael Tunnell <MichaelTunnell@users.noreply.github.com>
2 Mikael Peigney <Mika56@users.noreply.github.com>
2 Nicolas Carlier <n.carlier@nunux.org>
2 Patrik Ragnarsson <patrik@starkast.net>
2 Pavel Lobashov <ShockwaveNN@gmail.com>
2 Peter Demin <poslano@gmail.com>
2 Peter Ivanov <peter@microweber.com>
2 Pierre Ozoux <pierre@ozoux.net>
2 Poorchop <Poorchop@users.noreply.github.com>
2 ReadmeCritic <frankensteinbot@gmail.com>
2 Ricardo Torres <ricardo@rictorres.com.br>
2 Rodolfo Berrios <rodolfo.berrios@gmail.com>
2 Roland Geider <roland@geider.net>
2 Ryan Mulligan <ryan@ryantm.com>
2 Sam Tuke <mail@samtuke.com>
2 Sameer Al-Sakran <salsakran@users.noreply.github.com>
2 Shane Cooke <shanecooke@mac.com>
2 Simon Vieille <simon@deblan.fr>
2 Simone Grignola <sito@grignola.ch>
2 Stefan Bohacek <stefan.bohacek@gmail.com>
2 Stefane Fermigier <sf@fermigier.com>
2 Stefano <sabas88@gmail.com>
2 Suraj Patil <thewhitetulip@users.noreply.github.com>
2 Think <iwhiz@users.noreply.github.com>
2 Thomas Citharel <tcit@tcit.fr>
2 Tomer <tomer@campuscruizer.com>
2 Vadim Rutkovsky <vrutkovs@redhat.com>
2 Van-Duyet Le <lvduit08@gmail.com>
2 Will Bennett <william.11bennett@gmail.com>
2 Yann <forget.yann31@gmail.com>
2 Zeniic <Zeniic@users.noreply.github.com>
2 cornerot <cornerot@gmail.com>
2 cron410 <cron410@gmail.com>
2 digiou <digitalbckp@gmail.com>
2 erdihu <erdihu@users.noreply.github.com>
2 fengshaun <amoradi@fedoraproject.org>
2 fuerbringer <severin@protonmail.ch>
2 gseva <gavrilovseva@gmail.com>
2 hebbet <pascal.herbert@gmail.com>
2 icterine <account@caravat.e4ward.com>
2 jimykk <JimyKK@users.noreply.github.com>
2 markkrj <markkrj@users.noreply.github.com>
2 rafael-santiago <voidbrainvoid@gmail.com>
2 thomasfrivold <thomas.frivold@gmail.com>
2 tillarnold <throwable42@gmail.com>
2 tomc3 <wordoftheday003@gmail.com>
2 yuche <i@yuche.me>
1 florianl <florianl@users.noreply.github.com>
1 Marcin Karpezo <m.karpezo@nencki.gov.pl>
1 Marco Dickert <dickert.marco@gmail.com>
1 Marcus Ramberg <marcus@nordaaker.com>
1 foorb <foorb@users.noreply.github.com>
1 Denis <isdn@users.noreply.github.com>
1 David Yu <david.yu.ftw@gmail.com>
1 Mark Ide <mark@cranstonide.com>
1 Mark Railton <mark@markrailton.com>
1 David Ng <david90@users.noreply.github.com>
1 Martin Malinda <malindacz@gmail.com>
1 trebonius0 <trebonius@worldofwargraphs.com>
1 MatFluor <MatFluor@users.noreply.github.com>
1 David Baldwynn <whitef0x0@users.noreply.github.com>
1 Matt Hazinski <matt@matthazinski.com>
1 Matt Lee <mattl@users.noreply.github.com>
1 Matteo Piccina <matteo@beiphone.it>
1 ghaseminya <ghaseminya@gmail.com>
1 Dan <rocks.in.the.cloud@gmail.com>
1 Michael Barrow <michael@barrow.me>
1 Michael Burns <michael@mirwin.net>
1 ttoups <ich@timotoups.de>
1 Michael van Tricht <mvantricht@expandonline.nl>
1 Michael van Tricht <swordbeta@users.noreply.github.com>
1 Damir Gainetdinov <damir.gaynetdinov@gmail.com>
1 uchchishta <uchchishta@users.noreply.github.com>
1 Mike Goodwin <xenithorb@users.noreply.github.com>
1 Mike Steele <mike@steel.fm>
1 MinorTom <TheMinorTom@users.noreply.github.com>
1 Cristian Menghi <cristian@menghi.biz>
1 Moritz Kröger <write@morkro.de>
1 Craig Davison <craig@davison.io>
1 Clément AUBIN <caubin@caubin.fr>
1 Murdoc Bates <trockenasche@gmail.com>
1 vincent-clipet <vincent.clipet.7@gmail.com>
1 NicolasCARPi <nicolas.carpi@curie.fr>
1 Norman Xu <im@norm.im>
1 Nÿco <nicolas.verite@gmail.com>
1 Ober7 <k.latif.misc@gmail.com>
1 Oliver Kopp <kopp.dev@gmail.com>
1 Christophe Hamerling <christophe.hamerling@gmail.com>
1 Paolo Pustorino <stickgrinder@gmail.com>
1 ilsi <ilsi@users.noreply.github.com>
1 Pau Kiat Wee <paukiatwee@gmail.com>
1 Paul <paul@rosanbo.com>
1 Christoph Wiechert <wio@psitrax.de>
1 itsnotv <itsnotv@users.noreply.github.com>
1 Paweł Kapała <bylek77@gmail.com>
1 Christoph Kappestein <k42b3.x@gmail.com>
1 Chema <neo22s@gmail.com>
1 jake <jake@diesel>
1 wxcafé <wxcafe@wxcafe.net>
1 Chanchal Kumar Ghosh <chanchal_ghosh1987@yahoo.co.in>
1 Peter van den Hurk <runical1991@gmail.com>
1 Carlos Rodriguez <carlos@s8f.org>
1 Phill <phill@formbet.co.uk>
1 Phonic Mouse <phonicmouse@users.noreply.github.com>
1 Pierre Blanes <inattendu@users.noreply.github.com>
1 Anton Troyanov <anton@troyanov.net>
1 Calle Wolff <carl@wolff.se>
1 Caleb Xu <calebcenter@live.com>
1 Angel Velasquez <angvp@archlinux.org>
1 Rafael Milewski <Milewski@users.noreply.github.com>
1 lachlan-00 <lachlan.00@gmail.com>
1 Remi Rampin <remirampin@gmail.com>
1 Remy Adriaanse <remy@adriaanse.it>
1 Remy Honig <remyhonig@users.noreply.github.com>
1 littleguga <littleguga@users.noreply.github.com>
1 Riddler <Iamjithin@live.com>
1 Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
1 C.J. Jameson <cjcjameson@gmail.com>
1 lsascha <lsascha@gmail.com>
1 xuansamdinh <xuansamdinh.n2i@gmail.com>
1 Ryan DeShone <rfdeshon@gmail.com>
1 Ryan Halliday <ry167@ry167.com>
1 memorex258 <phillip.a.brown@live.com>
1 Sahin Boydas <sahin@movielala.com>
1 Salvatore Gentile <SalGnt@users.noreply.github.com>
1 mertinop <martin.santibanez.a@gmail.com>
1 Andrew Nesbitt <andrewnez@gmail.com>
1 Scott Humphries <sscotth@users.noreply.github.com>
1 Sergey Bronnikov <sergeyb@bronevichok.ru>
1 Andrew Murray <radarhere@gmail.com>
1 Simon Hanna <simon.hanna@jesus.de>
1 n2i <xuansamdinh.n2i@gmail.com>
1 Andre <andre.lehmann@posteo.de>
1 Spencer McIntyre <zeroSteiner@gmail.com>
1 Starbeamrainbowlabs <sbrl@starbeamrainbowlabs.com>
1 Alys <alice.harris@oldgods.net>
1 Stefan Weil <sw@weilnetz.de>
1 nodomain <ff@nodomain.cc>
1 Alfred Bez <alfred.bez@googlemail.com>
1 Steve Divskinsy <stevesbrain@users.noreply.github.com>
1 Alexey Strokach <alex.strokach@utoronto.ca>
1 Sylvain Boily <sylvainboilydroid@gmail.com>
1 THS-on <THS-on@users.noreply.github.com>
1 Tanner Collin <git@tannercollin.com>
1 The Scorpion <tehscorpion@users.noreply.github.com>
1 pips <pips@e5150.fr>
1 Alexandr Nesterenko <kuchaspama@gmail.com>
1 Burung Hantu <privacytoolsIO@users.noreply.github.com>
1 Thorsten Rinne <thorsten@phpmyfaq.de>
1 Tim Allingham <tim@timallingham.net>
1 Brian <bdmorin@users.noreply.github.com>
1 Tobias Zeising <tobias.zeising@aditu.de>
1 Alashov Berkeli <yunus.alashow@gmail.com>
1 Brett <brettex@hotmail.com>
1 Alex Fornuto <alex@fornuto.com>
1 Bob Mottram <bob@robotics.uk.to>
1 sc0repi0 <sc0repi0@gmx.de>
1 Viktor Geringer <devfakeplus@googlemail.com>
1 skarphet <skarphet@users.noreply.github.com>
1 steven jacobs <stjacobs@fastmail.fm>
1 Ben <ben@rngr.org>
1 Beard of War <rebelgeek@blainsmith.com>
1 stevesbrain <stevesbrain@users.noreply.github.com>
1 axeloz <axel@mabox.eu>
1 benmaynard11 <allowin-217941-github@vhost244.maynardnetworks.com>
1 bricej13 <bricej13@gmail.com>
1 Bas <mega@ioexception.at>
1 Austin <austi_gillm935@ahapps.anoka.k12.mn.us>
1 cbdev <cb@cbcdn.com>
1 Guilherme Oenning <me@goenning.net>
1 Greg Chetcuti <greg@chetcuti.com>
1 Girish Ramakrishnan <mail@girish.in>
1 FortressBuilder <FortressBuilder@users.noreply.github.com>
1 t1st3 <contact@tiste.org>
1 Icantcodeatall <francois.lachese@me.com>
1 Igor Antun <IgorAntun@users.noreply.github.com>
1 Igor Petrov <garik.piton@gmail.com>
1 Florian Wilhelm <f.wilhelm@tarent.de>
1 Ilya Pirozhenko <ilya.pir@gmail.com>
1 Florian Kaiser <florian.kaiser@fnkr.net>
1 Fazal Majid <github@sentfrom.com>
1 Ivan Krutov <vania-pooh@vania-pooh.com>
1 Izac Lorimer <izaclorimer@users.noreply.github.com>
1 cpdev <cpdevelops@users.noreply.github.com>
1 Jakob Gillich <jakob@gillich.me>
1 zotlabs <mike@macgirvin.com>
1 James Mills <prologic@shortcircuit.net.au>
1 Jan <jayphizzle@users.noreply.github.com>
1 ArthurHoaro <arthur@hoa.ro>
1 Evelthon Prodromou <epro@prodromou.eu>
1 Jannik Anker <jannikanker@users.noreply.github.com>
1 Jarek Lipski <pub@loomchild.net>
1 Alex Bogdanovski <alex@erudika.com>
1 Eugen <eugen@zeonfederated.com>
1 Ethan Madden <crazeh.monkeh@gmail.com>
1 Jean Menezes da Rocha <jean@menezesdarocha.info>
1 Jeremiah Marks <jeremiah@jlmarks.org>
1 Joel Calado <joelcalado@gmail.com>
1 Eric Moon <eric@ericmoon.net>
1 Eren Hatırnaz <erenhatirnaz@hotmail.com.tr>
1 dimqua <dimqua@lavabit.com>
1 Josh Harmon <me@joshharmon.me>
1 Joshua Hamilton <joshua.hamilton@fabricut.com>
1 Emeric POUPON <epoupon@users.noreply.github.com>
1 José Castro <cogurov@gmail.com>
1 Eike Kettner <eike.kettner@posteo.de>
1 Julien <bibich@users.noreply.github.com>
1 Julien Bisconti <julien.bisconti@gmail.com>
1 domainzero <domainzero@users.noreply.github.com>
1 Julien Reichardt <jul.reich43@opmbx.org>
1 Justin Clift <justin@postgresql.org>
1 Justin O'Reilly <justin@oreilly.me>
1 Armando Lüscher <armando@noplanman.ch>
1 Arda Kılıçdağı <ardakilicdagi@gmail.com>
1 Ketrel <webmaster@krahs-emag.com>
1 Edreih Aldana <edreihaldana@yahoo.com>
1 Kevin Lin <LINKIWI@users.noreply.github.com>
1 ePirat <epirat07@gmail.com>
1 timbe16 <timbe16@users.noreply.github.com>
1 Keyhaku <jones@bious.fr>
1 Ed Tewiah <etewiah@hotmail.com>
1 Kieran <kieran.brahney@gmail.com>
1 Konstantin Sorokin <kvs@sigterm.ru>
1 Dražen Lučanin <kermit666@gmail.com>
1 Kyle Farwell <m@kfarwell.org>
1 Kyle Stetz <kylestetz@gmail.com>
1 Doğan Çelik <dogancelik@users.noreply.github.com>
1 Dmitriy Volkov <wldhx+vcs+github_com@wldhx.me>
1 Liran Tal <liran.tal@gmail.com>
1 Dirk Krause <dirkk0@googlemail.com>
1 evitalis <evitalis@users.noreply.github.com>
1 Руслан Корнев <oganer@gmail.com>
1 Diego Molina <diemol@users.noreply.github.com>

36
Dangerfile Normal file
View File

@ -0,0 +1,36 @@
#Check for changes to README.md
has_readme_changes = git.modified_files.include?("README.md")
# Ensure there is a summary for a pull request
fail 'Please provide a summary in the Pull Request description' if github.pr_body.length < 5
# Warn if PR guideline boxes are not checked.
warn 'Please check PR guidelines and check the boxes.' if github.pr_body.include? '- [ ]'
# Warn if pull request is not updated
warn 'Please update the Pull Request title to contain the script name' if github.pr_title.include? 'Update README.md'
# Warn when there are merge commits in the diff
warn 'Please rebase to get rid of the merge commits in this Pull Request' if git.commits.any? { |c| c.message =~ /^Merge branch 'master'/ }
# Check links
if has_readme_changes
require 'json'
results = File.read 'ab-results-temp.md-markdown-table.json'
j = JSON.parse results
if j['error']==true
warn j['title']
markdown j['message']
end
end
# Check syntax
if has_readme_changes
require 'json'
syntaxresults = File.read 'syntaxcheck.json'
sj = JSON.parse syntaxresults
if sj['error']==true
fail sj['title']
markdown sj['message']
end
end

62
Makefile Executable file
View File

@ -0,0 +1,62 @@
#!/usr/bin/make -f
SHELL = /bin/bash
all: checks
checks: nolicenselanguage nofullstop longdescriptions syntaxerrors
noexternallink:
@echo -e "\nLines with no source/demo/other link:"
@sed -n -e '/BEGIN SOFTWARE LIST/,/END SOFTWARE LIST/ p' README.md | egrep '^ *\* ' | egrep --color=always '[a-z\.] `'
nolicenselanguage:
@echo -e "\nLines with only 1 or no language/license entry:"
@! sed -n -e '/BEGIN SOFTWARE LIST/,/END SOFTWARE LIST/ p' README.md | egrep '^ *\* ' | egrep -v '` `'
nofullstop:
@echo -e "\nLines without a full stop after description:"
@! sed -n -e '/BEGIN SOFTWARE LIST/,/END SOFTWARE LIST/ p' README.md | egrep '[a-z] \(\['
@! sed -n -e '/BEGIN SOFTWARE LIST/,/END SOFTWARE LIST/ p' README.md | egrep '[a-z] `'
longdescriptions:
@echo -e "\nDescriptions exceeding 250 chars:"
@! sed -n -e '/BEGIN SOFTWARE LIST/,/END SOFTWARE LIST/ p' README.md | egrep --only-matching '\) - [Aa-Zz|.|\(|\)|/| |,|-]*\s\(\[' README.md | grep '.\{257\}'
listlicenses:
@echo -e "\nList of licenses:"
@sed -n -e '/BEGIN SOFTWARE LIST/,/END SOFTWARE LIST/ p' README.md | egrep --only-matching '([Aa0-Zz9]|\s|\.|-)*` `' README.md | sort --unique
syntaxerrors:
@echo -e "\n Syntax errors:"
@! sed -n -e '/BEGIN SOFTWARE LIST/,/END SOFTWARE LIST/ p' README.md | egrep '\)\(|``|\)`'
contrib:
@mv .github/.mailmap . && printf "Commits | Author \n:---: | ---\n" > AUTHORS.md && git shortlog -sne >> AUTHORS.md && sed -i 's/\t/ | /g' AUTHORS.md && mv .mailmap .github/.mailmap
add:
@#add a new entry
@printf 'Software name: ' ;\
read Name; if [ -z "$$Name" ]; then printf 'Missing software name!\n'; exit 1 ; fi ;\
printf 'Homepage URL: ' ;\
read Url; if [ -z "$$Url" ]; then printf 'Missing main project URL!\n'; exit 1 ; fi ;\
printf 'Description (max 250 char): ' ;\
read Description; if [ -z "$$Description" ]; then printf 'Missing description!\n'; exit 1 ; fi ;\
printf 'License: ' ;\
read License; if [ -z "$$License" ]; then printf 'Missing license!\n'; exit 1 ; fi ;\
printf 'Main server-side language/platform/requirement: ' ;\
read Language; if [ -z "$$Language" ]; then printf 'Missing language!\n'; exit 1 ; fi ;\
printf 'Demo URL (if any): ' ;\
read Demo; if [ -z "$$Demo" ]; then CDemo="" ; else CDemo="[Demo]($$Demo)" ; fi ;\
printf 'Source code URL (if different from Homepage): ' ;\
read Source; if [ -z "$$Source" ]; then CSource="" ; else CSource="[Source Code]($$Source)" ; fi ;\
if [[ "$$CSource" == "" && "$$Demo" == "" ]]; \
then Moreinfo="";\ printf "debug" ;\
else Moreinfo=$$(echo "($$CDemo$$CSource)" | sed 's|)\[|), [|g') ;\
fi ;\
echo -e "Copy this entry to your clipboard, paste it in the appropriate category:\n\n" ;\
echo " * [$$Name]($$Url) - $${Description}. $$Moreinfo \`$$License\` \`$$Language\`"
#TODO ask for category and insert item accordingly
#TODO check for unsorted entries
#TODO automatically sort entries/sections
#TODO autoupdate contributors list

1506
README.md

File diff suppressed because it is too large Load Diff

115
non-free.md Normal file
View File

@ -0,0 +1,115 @@
# Awesome Selfhosted - Proprietary Software
**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 vulnerabilties, backdoors, user lock-in, sending personal data to a third party.
## Analytics
* [Mint](http://haveamint.com/) `⊘ Proprietary` - Extensible self-hosted web analytics, license costs $30 per site. ([Demo](http://mimeoverse.com/mint/)) `PHP`
## Content Management Systems (CMS)
* [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`
* [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`
* [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`
## Communication Systems
* [HipChat](https://www.atlassian.com/software/hipchat) `⊘ Proprietary` - A team chat solution with 1:1 chat audio and video, third party integration and more `PHP/Python`
## Decentralized Network
* [Synereo](https://www.synereo.com/) - Decentralized network system based on blockchain that allows fast speed and great trust level. ([Source Code](https://github.com/synereo/synereo)) `Scala`
## Document Archiving
* [Ambar](https://ambar.cloud) - Self-Hosted Smart Document Archive (OCR, Store & Search) ([Source Code](https://github.com/RD17/ambar)) `Fair Source 1 v0.9` `Nodejs/Python`
## Federated Identity/Authentication
* [Auth0](https://auth0.com/docs/appliance): `⊘ Proprietary`. Identity made simple for developers. `NodeJS`
## Feed Readers
* [Fever](http://feedafever.com/) `⊘ Proprietary` - Self-hosted feed aggregator that can sort items by popularity `PHP`
## File Sharing and Synchronization
* [Resilio Sync](https://www.resilio.com/) `⊘ Proprietary` - Resilio Sync by Resilio, Inc is a proprietary peer-to-peer file synchronisation tool.
* [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.
* [Dropcenter](http://projet.idleman.fr/dropcenter/) - Upload files by simple drag-n-drop. ([Source Code](https://github.com/ldleman/dropcenter)) `CCBYNCSAv3` `PHP`
* [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`
## Games
* [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`
* [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`
## IPBX
* [Elastix](http://www.elastix.org) `⊘ Proprietary` - Unified communications server software based on 3CX. ([Source Code](https://svn.code.sf.net/p/elastix/code/trunk/)) `GPLv2` `PHP`
## Media Streaming
* [Plex](https://plex.tv/) `⊘ Proprietary` - Plex is a centralized home media playback system with a powerful central server.
* [Subsonic](http://subsonic.org/) - Web-based media streamer and jukebox. ([Demo](http://demo.subsonic.org/login.view?user=guest4&password=guest))
## Money, Budgeting and Management
* [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`
* [FusionInvoice](https://www.fusioninvoice.com) `⊘ Proprietary` - FusionInvoice is an invoicing system for freelancers and small businesses. `PHP`
* [Manager](http://manager.io/server) `⊘ Proprietary` - Online accounting software for small businesses. `Mono`
* [Pancake](http://pancakeapp.com/) `⊘ Proprietary` - Online invoicing, project management, time tracking and proposal software. `PHP`
## Photo and Video Galleries
* [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`
* [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`
* [Koken](http://koken.me/) `⊘ Proprietary` - Content management and web site publishing for photographers. `PHP`
* [Single File PHP Gallery](http://sye.dk/sfpg/) `⊘ Proprietary` - is a web gallery in one single PHP file. `PHP`
## Project Management
* [Active Collab](https://www.activecollab.com/) `⊘ Proprietary` - Project management - `PHP`
* [Duet](https://duetapp.com/) `⊘ Proprietary` - Invoicing and project management with an integrated client portal. ([Demo](https://duetapp.com/demo/#dashboard)) `PHP`
* [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`
## Proxy
* [Glype](https://www.glype.com/) `⊘ Proprietary` - Web-based proxy script written in PHP which focuses on features, functionality, and ease of use. Glype helps users to defeat Internet censorship and be anonymous while web browsing. `[Custom license](https://www.glype.com/license.php)` `PHP`
## Self-hosting Solutions
* [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.
* [hMailServer](https://www.hmailserver.com) `⊘ Proprietary` - Open source e-mail server for Microsoft Windows. ([Source Code](https://github.com/hmailserver/hmailserver)) `C++`
* [Poste.io](https://poste.io) `⊘ Proprietary` - Full featured solution for your Email server. Native implementation of last anti-SPAM metods, webmail and easy administration included. Free tier available. ([Demo](https://poste.io/admin/login#admin@poste.io;admin))
## Software Development
* [92five](http://92fiveapp.com/) `⊘ Proprietary` - Self hosted project management application ([Source code](https://github.com/chintanbanugaria/92five)) `CC BY-NC 4.0` `PHP`
* [Bamboo](https://www.atlassian.com/software/bamboo) `⊘ Proprietary` - A continuous integration server `Java`
* [Cloud9](https://c9.io/) `⊘ Proprietary` - Your development environment, in the cloud ([Source code](https://github.com/c9/core)) `Nodejs`
* [Confluence](https://www.atlassian.com/software/confluence) `⊘ Proprietary` - A team collaboration software `Java`
* [Crucible](https://www.atlassian.com/software/crucible/overview) `⊘ Proprietary` - A peer code review application `Java`
* [Documize](https://documize.com) `⊘ Proprietary` - Modern docs & wiki software built for software team collaboration. `Go`
* [JIRA](https://www.atlassian.com/software/jira) `⊘ Proprietary` - A professional and extensible issue tracker `Java`
* [RhodeCode](https://rhodecode.com) `⊘ Proprietary` - On-premise Source Code Management for Mercurial, Git & Subversion. `Python`
* [Stash](https://www.atlassian.com/software/stash) `⊘ Proprietary` - An enterprise-level Git solution similar to GitLab `Java`
## Ticketing
* [SupportPal](https://www.supportpal.com/) `⊘ Proprietary` - Powerful help desk software - easy, fast and intuitive. ([Demo](http://demo.supportpal.com/)) `PHP`
## Remote Support
* [ScreenConnect](https://www.screenconnect.com/) `⊘ Proprietary` - ScreenConnect offers lightning-fast remote support and remote access to connect instantly and solve problems faster.

85
test.js Normal file
View File

@ -0,0 +1,85 @@
// Accepts input of any filename, ie. node test.js README.md
const fs = require('fs');
let log = '{\n';
let issuelog = ' "message": "#### Syntax Issues\\n\\n Name | Entry\\n----|----------------------\\n';
const file = fs.readFileSync(process.argv[2], 'utf8'); // Reads argv into var file
function entryFilter(md) { // Function to find lines with entries
const linepatt = /^ {0,4}\* \[.*`/;
return linepatt.test(md);
}
function split(text) { // Function to split lines into array
return text.split(/\r?\n/);
}
function findPattern(text) { // Test entries against 8 patterns. If matches pattern returns true
const nodnospatt = /^ {0,4}\* \[.*?\]\(.*?\) - .{0,249}?\. `.*?` `.*?`/; // Regex for entries with no demo and no source code
const slpatt = /^ {0,4}\* \[.*?\]\(.*?\) - .{0,249}?\. \(\[Demo\b\]\(.*?\), \[Source Code\b\]\(.*?\)\) `.*?` `.*?`/; // Regex for entries with demo and source code
const nodpatt = / {0,4}\* \[.*?\]\(.*?\) - .{0,249}?\. \(\[Source Code\]\(.*?\)\) `.*?` `.*?`/; // Regex for entries with no demo
const nospatt = / {0,4}\* \[.*?\]\(.*?\) - .{0,249}?\. \(\[Demo\]\(.*?\)\) `.*?` `.*?`/; // Regex for entries with no source code
const pnodnospatt = / {0,4}\* \[.*?\]\(.*?\) `⚠` - .{0,249}?\. `.*?` `.*?`/; // Regex for entries with proprietary with no demo and no source code
const pslpatt = / {0,4}\* \[.*?\]\(.*?\) `⚠` - .{0,249}?\. \(\[Demo\b\]\(.*?\), \[Source Code\b\]\(.*?\)\) `.*?` `.*?`/; // Regex for entries with proprietary with demo and source code
const pnodpatt = / {0,4}\* \[.*?\]\(.*?\) `⚠` - .{0,249}?\. \(\[Source Code\]\(.*?\)\) `.*?` `.*?`/; // Regex for entries with proprietary with no demo
const pnospatt = / {0,4}\* \[.*?\]\(.*?\) `⚠` - .{0,249}?\. \(\[Demo\]\(.*?\)\) `.*?` `.*?`/; // Regex for entries with proprietary with no source code
if (nodnospatt.test(text) === true) {
return true;
} else if (slpatt.test(text) === true) {
return true;
} else if (nodpatt.test(text) === true) {
return true;
} else if (nospatt.test(text) === true) {
return true;
} else if (pnodnospatt.test(text) === true) {
return true;
} else if (pslpatt.test(text) === true) {
return true;
} else if (pnodpatt.test(text) === true) {
return true;
} else if (pnospatt.test(text) === true) {
return true;
}
return false;
}
function entryErrorCheck(md) {
const namepatt = /\* \[(.*?)\]/; // regex pattern to find name of entryArray
const entries = split(md); // Inserts each line into the entries array
let totalFail = 0;
let totalPass = 0;
let total = 0;
const entryArray = [];
for (let i = 0, len = entries.length; i < len; i += 1) { // Loop to create array of objects
entryArray[i] = new Object;
entryArray[i].raw = entries[i];
if (entryFilter(entries[i]) === true) { // filter out lines that don't with * [)
total += 1;
entryArray[i].name = namepatt.exec(entries[i])[1]; // Parses name of entry
entryArray[i].pass = findPattern(entries[i]); // Tests against known patterns
if (entryArray[i].pass === true) { // If entry passes increment totalPass counter
totalPass += 1;
} else {
console.log(`${entryArray[i].name} Failed.`); // If entry fails increment totalFail counter and append error to issuelog
// entryArray[i].error = findError(entries[i]) //WIP
totalFail += 1;
issuelog += `${entryArray[i].name} | ${entries[i]} \\n`;
}
}
}
if (totalFail > 0) { // Logs # passed & failed to console, and failures to syntaxcheck.json
console.log(`${totalFail} Failed, ${totalPass} Passed, of ${total}`);
log += ` "error": true,\n "title": "Found ${totalFail} entries with syntax error(s).",\n`;
fs.writeFileSync('syntaxcheck.json', `${log} ${issuelog} "\n}`);
process.exit(1);
} else { // Logs # of entries passed to console and error: false to syntaxcheck.json
console.log(`${totalFail} Failed, ${totalPass} Passed, of ${total} \n`);
log += ' "error": false\n}';
fs.writeFileSync('syntaxcheck.json', log);
process.exit(0);
}
}
entryErrorCheck(file);