From f93ad3128144bdebef12628625d96d16dbf4eeea Mon Sep 17 00:00:00 2001 From: humanacollaborator Date: Sat, 24 Apr 2021 21:50:41 -0400 Subject: [PATCH] update fuwafuwa.moe version, hack sorting for de.edumat.io, replace icons with y/n --- README.md | 7 +++++ forge_comparison.md | 68 ++++++++++++++++++++-------------------- input_data/forges.sql | 11 ++++--- tools/gen_forge_table.sh | 12 ++++++- 4 files changed, 59 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index e222ab5..e78744b 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,10 @@ # Collaboration tools * [Comparison](forge_comparison.md) of software forges. + +### Instructions for contributors + +The `forge_comparison.md` file is auto-generated this way: +`tools/gen_forge_table.sh > forge_comparison.md`, so to make changes +you must edit `input_data/forges.sql` and/or +`tools/gen_forge_table.sh`. diff --git a/forge_comparison.md b/forge_comparison.md index 18777e3..1b842d0 100644 --- a/forge_comparison.md +++ b/forge_comparison.md @@ -7,27 +7,27 @@ The following forges have no significant ethical issues: | *forge* | *registration publicly open* | *software* | *Tor-hostile* | *Cloudflare MitM* | *forced re/hCAPTCHA* | *forced execution of non-free software* | *notes* | |---|---|---|---|---|---|---|---| -[git.fuwafuwa.moe](https://git.fuwafuwa.moe)([๐Ÿง…](http://git.fuwafuwaqtlkkxwc.onion))|๐ŸŸข|Gitea|n|n|n|n|SSH over Tor [broken](http://git.fuwafuwaqtlkkxwc.onion/levena/fuwafuwa/issues/1); HTTPS over Tor works| -[gitea.it](https://gitea.it)|๐ŸŸข|Gitea 1.12.4|n|n|n|n|| -[git.kiwifarms.net](https://git.kiwifarms.net)|๐ŸŸข|Gitea 1.13.1|n|n|n|n|| -[git.nixnet.services](https://git.nixnet.services)|๐Ÿ”ด|Gitea 1.13.1|n|n|n|n|formerly git.nixnet.xyz| -[git.disroot.org](https://git.disroot.org)|๐ŸŸข|Gitea 1.13.6|n|n|n|n|SSH over Tor works; based in NL| -[git.safemobile.org](https://git.safemobile.org)|๐ŸŸข|Gitea 1.13.6|n|n|n|n|| -[git.slashdev.space](https://git.slashdev.space)|๐ŸŸข|Gitea 1.13.6|n|n|n|n|SSH over Tor broken (try HTTPS over Tor)| -[git.sdf.org](https://git.sdf.org)|๐ŸŸข|Gitea 1.14.1|n|n|n|n|SSH over Tor broken but HTTPS over Tor works; some UTF-8 emoticons apparently broke in upgrade from 1.13.1 to 1.14.1 (this table shows boxes now)| -[de.edumat.io](https://de.edumat.io)|๐ŸŸข|Gitea 1.5.2|n|n|n|n|| -[framagit.org](https://framagit.org)|๐ŸŸข|Gitlab (CE 13.10.2)|n|n|n|n|[may become more restricted](https://framablog.org/2019/09/26/lets-de-frama-tify-the-internet) in mid-2021| -[notabug.org](https://notabug.org)([๐Ÿง…](http://qs3zumwfci4tntnd.onion))|๐ŸŸข|Gogs|n|n|n|n|based on [liberated](https://notabug.org/hp/gogs) fork of Gogs; [supports Tor](https://notabug.org/tor) (the *onion* web UI is currently disabled in response to attack but the onion site accepts git connections); supports SSH keys and SSH over Tor to NAB's onion service; no e-voting; NAB doesn't associate PGP keys to users, so PGP signed commits may be unavailable or more manual work needed.| -[launchpad.net](https://launchpad.net)|๐ŸŸข|Launchpad|n|n|n|n|It's [unknown](https://wiki.freephile.org/wiki/Comparison_of_git_hosting_options) whether it functions without JavaScript; no wiki| -[gitee.com](https://gitee.com)|๐ŸŸข|OSCHINA|n|n|n|n|based in China; registration over Tor with throwaway email works; no automatic mirror (unlike Gitea); some areas written in simplified chinese| -[sr.ht](https://sr.ht)|๐ŸŸข|Sourcehut|n|n|n|n|javascript-free| -[git.jami.net](https://git.jami.net)|๐ŸŸข|Gitlab (CE)|n|n|n|n|possibly restricted to Jami efforts; acces to help page blocked to non-members so CE/EE unknown| -[git.shivering-isles.com](https://git.shivering-isles.com)|๐Ÿ”ด|Gitlab (CE)|n|n|n|n|Registration is open but broken-- requires 2FA using a device that can QR-scan, and the email verification link is DoA: ![](images/shivering-isles_broken_reg.png) That stale link error triggers even when accessed immediately.| -[gitlab.freedesktop.org](https://gitlab.freedesktop.org)|๐ŸŸข|Gitlab (CE)|n|n|n|n|possibly restricted to Freedesktop efforts| -[gitlab.gnome.org](https://gitlab.gnome.org)|๐ŸŸข|Gitlab (CE)|n|n|n|n|possibly restricted to Gnome efforts| -[gitlab.tails.boum.org](https://gitlab.tails.boum.org)|๐ŸŸข|Gitlab (CE)|n|n|n|n|possibly restricted to Tails efforts but no AUP says otherwise| -[gitlab.torproject.org](https://gitlab.torproject.org)|๐ŸŸข|Gitlab (CE)|n|n|n|n|open registration; repo creation possibly restricted; Google reCAPTCHA is [allegedley](https://lists.gnu.org/archive/html/repo-criteria-discuss/2021-03/msg00000.html) used, but [not at registration time](https://gitlab.onionize.space)| -[source.small-tech.org](https://source.small-tech.org)|๐Ÿ”ด|Gitlab (CE)|n|n|n|n|| +[de.edumat.io](https://de.edumat.io)|y|Gitea 1.5.2|n|n|n|n|| +[gitea.it](https://gitea.it)|y|Gitea 1.12.4|n|n|n|n|| +[git.kiwifarms.net](https://git.kiwifarms.net)|y|Gitea 1.13.1|n|n|n|n|| +[git.nixnet.services](https://git.nixnet.services)|n|Gitea 1.13.1|n|n|n|n|formerly git.nixnet.xyz| +[git.disroot.org](https://git.disroot.org)|y|Gitea 1.13.6|n|n|n|n|SSH over Tor works; based in NL| +[git.fuwafuwa.moe](https://git.fuwafuwa.moe)([](http://git.fuwafuwaqtlkkxwc.onion))|y|Gitea 1.13.6|n|n|n|n|SSH over Tor [broken](http://git.fuwafuwaqtlkkxwc.onion/levena/fuwafuwa/issues/1); HTTPS over Tor works| +[git.safemobile.org](https://git.safemobile.org)|y|Gitea 1.13.6|n|n|n|n|| +[git.slashdev.space](https://git.slashdev.space)|y|Gitea 1.13.6|n|n|n|n|SSH over Tor broken (try HTTPS over Tor)| +[git.sdf.org](https://git.sdf.org)|y|Gitea 1.14.1|n|n|n|n|SSH over Tor broken but HTTPS over Tor works; some UTF-8 emoticons apparently broke in upgrade from 1.13.1 to 1.14.1 (this table shows boxes now)| +[framagit.org](https://framagit.org)|y|Gitlab (CE 13.10.2)|n|n|n|n|[may become more restricted](https://framablog.org/2019/09/26/lets-de-frama-tify-the-internet) in mid-2021| +[notabug.org](https://notabug.org)([](http://qs3zumwfci4tntnd.onion))|y|Gogs|n|n|n|n|based on [liberated](https://notabug.org/hp/gogs) fork of Gogs; [supports Tor](https://notabug.org/tor) (the *onion* web UI is currently disabled in response to attack but the onion site accepts git connections); supports SSH keys and SSH over Tor to NAB's onion service; no e-voting; NAB doesn't associate PGP keys to users, so PGP signed commits may be unavailable or more manual work needed.| +[launchpad.net](https://launchpad.net)|y|Launchpad|n|n|n|n|It's [unknown](https://wiki.freephile.org/wiki/Comparison_of_git_hosting_options) whether it functions without JavaScript; no wiki| +[gitee.com](https://gitee.com)|y|OSCHINA|n|n|n|n|based in China; registration over Tor with throwaway email works; no automatic mirror (unlike Gitea); some areas written in simplified chinese| +[sr.ht](https://sr.ht)|y|Sourcehut|n|n|n|n|javascript-free; supports patches sent by email| +[git.jami.net](https://git.jami.net)|y|Gitlab (CE)|n|n|n|n|possibly restricted to Jami efforts; acces to help page blocked to non-members so CE/EE unknown| +[git.shivering-isles.com](https://git.shivering-isles.com)|n|Gitlab (CE)|n|n|n|n|Registration is open but broken-- requires 2FA using a device that can QR-scan, and the email verification link is DoA: ![](images/shivering-isles_broken_reg.png) That stale link error triggers even when accessed immediately.| +[gitlab.freedesktop.org](https://gitlab.freedesktop.org)|y|Gitlab (CE)|n|n|n|n|possibly restricted to Freedesktop efforts| +[gitlab.gnome.org](https://gitlab.gnome.org)|y|Gitlab (CE)|n|n|n|n|possibly restricted to Gnome efforts| +[gitlab.tails.boum.org](https://gitlab.tails.boum.org)|y|Gitlab (CE)|n|n|n|n|possibly restricted to Tails efforts but no AUP says otherwise| +[gitlab.torproject.org](https://gitlab.torproject.org)|y|Gitlab (CE)|n|n|n|n|open registration; repo creation possibly restricted; Google reCAPTCHA is [allegedley](https://lists.gnu.org/archive/html/repo-criteria-discuss/2021-03/msg00000.html) used, but [not at registration time](https://gitlab.onionize.space)| +[source.small-tech.org](https://source.small-tech.org)|n|Gitlab (CE)|n|n|n|n|| ## Graylist @@ -35,12 +35,12 @@ These forges are not as seriously flawed as the blacklisted ones, but they shoul | *forge* | *registration publicly open* | *software* | *Tor-hostile* | *Cloudflare MitM* | *forced re/hCAPTCHA* | *forced execution of non-free software* | *notes* | |---|---|---|---|---|---|---|---| -([๐Ÿง…](http://githidep2hynhdmutuv7n2tei4iie2c7lyqz5fes3r5zzoxe5dshtxyd.onion))|๐Ÿ’€||n|n|n|n|**dead site**| -[codeberg.org](https://codeberg.org)|๐ŸŸข|Gitea|n|n|n|n|Based in Germany; [censored an anti-Cloudflare project](codeberg.md) in a reckless and destructive manner; functions without any JavaScript and the JavaScript that exists is all 1st-party ([ref](https://github.com/privacytoolsIO/privacytools.io/issues/843#issuecomment-483830547))| -[yerbamate.dev](https://yerbamate.dev)|๐Ÿ’€|Gitea|n|n|n|n|**dead site**| -[git.teknik.io](https://git.teknik.io)|๐Ÿ”ด|Gitea 1.9.0|n|n|n|n|**Cloudflare NS server** (they can route all traffic via CF at the flip of a switch)| -[git.hardenedbsd.org](https://git.hardenedbsd.org)|๐ŸŸข|Gitlab (EE)|n|n|n|n|**Cloudflare NS server** (they can route all traffic via CF at the flip of a switch); possibly restricted to BSD efforts| -[source.puri.sm](https://source.puri.sm)|๐ŸŸข|Gitlab (EE)|n|n|n|n|open registration but activity is [restricted](https://social.librem.one/@kyle/106030358887310621) to puri.sm efforts; accounts are subject to spontaneous unjustified bans (apparent censorship): ![](images/purism_ban.png); no CAPTCHA (confirmed March 2021); is the JavaScript non-free with the enterprize edition?| +([](http://githidep2hynhdmutuv7n2tei4iie2c7lyqz5fes3r5zzoxe5dshtxyd.onion))|y||n|n|n|n|**dead site**| +[codeberg.org](https://codeberg.org)|y|Gitea|n|n|n|n|Based in Germany; [censored an anti-Cloudflare project](codeberg.md) in a reckless and destructive manner; functions without any JavaScript and the JavaScript that exists is all 1st-party ([ref](https://github.com/privacytoolsIO/privacytools.io/issues/843#issuecomment-483830547))| +[yerbamate.dev](https://yerbamate.dev)|y|Gitea|n|n|n|n|**dead site**| +[git.teknik.io](https://git.teknik.io)|n|Gitea 1.9.0|n|n|n|n|**Cloudflare NS server** (they can route all traffic via CF at the flip of a switch)| +[git.hardenedbsd.org](https://git.hardenedbsd.org)|y|Gitlab (EE)|n|n|n|n|**Cloudflare NS server** (they can route all traffic via CF at the flip of a switch); possibly restricted to BSD efforts| +[source.puri.sm](https://source.puri.sm)|y|Gitlab (EE)|n|n|n|n|open registration but activity is [restricted](https://social.librem.one/@kyle/106030358887310621) to puri.sm efforts; accounts are subject to spontaneous unjustified bans (apparent censorship): ![](images/purism_ban.png); no CAPTCHA (confirmed March 2021); is the JavaScript non-free with the enterprize edition?| ## Blacklist @@ -48,11 +48,11 @@ These forges have severe ethical or trust issues and should be boycotted: | *forge* | *registration publicly open* | *software* | *Tor-hostile* | *Cloudflare MitM* | *forced re/hCAPTCHA* | *forced execution of non-free software* | *notes* | |---|---|---|---|---|---|---|---| -github.com|โ›” (exclusive walled garden)||๐Ÿ‘|n|n|โ˜ฃ|**access granted or denied based on national origin**; [copious ethical issues](github.md)| -sourceforge.net|โ›” (exclusive walled garden)||n|n|n|โ˜ฃ|**access granted or denied based on national origin**; Important site [functionality does not work without non-free JavaScript](https://www.gnu.org/software/repo-criteria-evaluation.html)| -bitbucket.org|๐ŸŸข|Bitbucket Server|n|n|n|โ˜ฃ|**Amazon AWS-hosted**; needs non-free javascript that [clusterfucks uMatrix](https://github.com/privacytoolsIO/privacytools.io/issues/843#issuecomment-483830547); has some relationship with Netlify; access to source code [restricted](https://en.wikipedia.org/wiki/Bitbucket#Bitbucket_Server)| -libregit.org|๐Ÿ”ด|Gitea|n|๐ŸŒฉ|n|n|reg by invite only| -git.openprivacy.ca|โ›” (exclusive walled garden)|Gitea 1.12.4|๐Ÿ‘|n|n|n|Tor users get 404 - suspected botnet; [listed](https://codeberg.org/crimeflare/cloudflare-tor/src/branch/master/cloudflare_users/cloudflare_supporter.txt) as a Cloudflare supporter| -git.feneas.org|๐ŸŸข|Gitlab (CE)|n|n|โš’|โ˜ฃ|reCAPTCHA impedes registration and imposes non-free s/w| -gitlab.com|โ›” (exclusive walled garden)|Gitlab (EE)|n|๐ŸŒฉ|โš’|โ˜ฃ|flagship instance running the *Enterprise Edition*; uses both hCAPTCHA & reCAPTCHA; heavily restricted with discriminatory policies; [copious ethical issues](gitlab-dot-com.md)| +github.com|n (exclusive walled garden)||y|n|n||**access granted or denied based on national origin**; [copious ethical issues](github.md)| +sourceforge.net|n (exclusive walled garden)||n|n|n||**access granted or denied based on national origin**; Important site [functionality does not work without non-free JavaScript](https://www.gnu.org/software/repo-criteria-evaluation.html)| +bitbucket.org|y|Bitbucket Server|n|n|n||**Amazon AWS-hosted**; needs non-free javascript that [clusterfucks uMatrix](https://github.com/privacytoolsIO/privacytools.io/issues/843#issuecomment-483830547); has some relationship with Netlify; access to source code [restricted](https://en.wikipedia.org/wiki/Bitbucket#Bitbucket_Server)| +libregit.org|n|Gitea|n|y|n|n|reg by invite only| +git.openprivacy.ca|n (exclusive walled garden)|Gitea 1.12.4|y|n|n|n|Tor users get 404 - suspected botnet; [listed](https://codeberg.org/crimeflare/cloudflare-tor/src/branch/master/cloudflare_users/cloudflare_supporter.txt) as a Cloudflare supporter| +git.feneas.org|y|Gitlab (CE)|n|n|||reCAPTCHA impedes registration and imposes non-free s/w| +gitlab.com|n (exclusive walled garden)|Gitlab (EE)|n|y|||flagship instance running the *Enterprise Edition*; uses both hCAPTCHA & reCAPTCHA; heavily restricted with discriminatory policies; [copious ethical issues](gitlab-dot-com.md)| diff --git a/input_data/forges.sql b/input_data/forges.sql index 89adf33..43f0a2a 100644 --- a/input_data/forges.sql +++ b/input_data/forges.sql @@ -29,20 +29,20 @@ insert into forgesTbl (url_clrnet, antitor, forced_nfsw, nation_discrimination, insert into forgesTbl (url_clrnet, software, notes) values ('https://launchpad.net','Launchpad','It''s [unknown](https://wiki.freephile.org/wiki/Comparison_of_git_hosting_options) whether it functions without JavaScript; no wiki'); insert into forgesTbl (url_clrnet, software, dead) values ('https://yerbamate.dev','Gitea',1); insert into forgesTbl (url_clrnet, software, antitor, notes) values ('https://git.openprivacy.ca','Gitea 1.12.4',1,'Tor users get 404 - suspected botnet; [listed](https://codeberg.org/crimeflare/cloudflare-tor/src/branch/master/cloudflare_users/cloudflare_supporter.txt) as a Cloudflare supporter'); -insert into forgesTbl (url_clrnet, software, notes) values ('https://sr.ht','Sourcehut', 'javascript-free'); +insert into forgesTbl (url_clrnet, software, notes) values ('https://sr.ht','Sourcehut', 'javascript-free; supports patches sent by email'); insert into forgesTbl (url_onion, dead) values ('http://githidep2hynhdmutuv7n2tei4iie2c7lyqz5fes3r5zzoxe5dshtxyd.onion', 1); /* Gitea */ insert into forgesTbl (url_clrnet, software, notes) values ('https://codeberg.org','Gitea', 'Based in Germany; [censored an anti-Cloudflare project](codeberg.md) in a reckless and destructive manner; functions without any JavaScript and the JavaScript that exists is all 1st-party ([ref](https://github.com/privacytoolsIO/privacytools.io/issues/843#issuecomment-483830547))'); insert into forgesTbl (url_clrnet, software, openpubreg, notes) values ('https://git.nixnet.services','Gitea 1.13.1', 0, 'formerly git.nixnet.xyz'); insert into forgesTbl (url_clrnet, software, openpubreg, cfns) values ('https://git.teknik.io','Gitea 1.9.0',0,1); -insert into forgesTbl (url_clrnet, url_onion, software, notes) values ('https://git.fuwafuwa.moe','http://git.fuwafuwaqtlkkxwc.onion','Gitea','SSH over Tor [broken](http://git.fuwafuwaqtlkkxwc.onion/levena/fuwafuwa/issues/1); HTTPS over Tor works'); +insert into forgesTbl (url_clrnet, url_onion, software, notes) values ('https://git.fuwafuwa.moe','http://git.fuwafuwaqtlkkxwc.onion','Gitea 1.13.6','SSH over Tor [broken](http://git.fuwafuwaqtlkkxwc.onion/levena/fuwafuwa/issues/1); HTTPS over Tor works'); insert into forgesTbl (url_clrnet, software, notes) values ('https://git.slashdev.space','Gitea 1.13.6','SSH over Tor broken (try HTTPS over Tor)'); insert into forgesTbl (url_clrnet, software, notes) values ('https://git.disroot.org','Gitea 1.13.6','SSH over Tor works; based in NL'); insert into forgesTbl (url_clrnet, software, openpubreg, cflogin, notes) values ('https://libregit.org','Gitea',0,1,'reg by invite only'); insert into forgesTbl (url_clrnet, software, notes) values ('https://git.sdf.org','Gitea 1.14.1','SSH over Tor broken but HTTPS over Tor works; some UTF-8 emoticons apparently broke in upgrade from 1.13.1 to 1.14.1 (this table shows boxes now)'); insert into forgesTbl (url_clrnet, software) values ('https://gitea.it','Gitea 1.12.4'); -insert into forgesTbl (url_clrnet, software) values ('https://de.edumat.io','Gitea 1.5.2'); +insert into forgesTbl (url_clrnet, software) values ('https://de.edumat.io','Gitea 1.05.2'); insert into forgesTbl (url_clrnet, software) values ('https://git.kiwifarms.net','Gitea 1.13.1'); insert into forgesTbl (url_clrnet, software) values ('https://git.safemobile.org','Gitea 1.13.6'); @@ -53,7 +53,10 @@ Bug: the record for de.edumat.io sorts unfavorably. We need a natural sort but (hack) cast the leading part of the version number as a real => https://stackoverflow.com/questions/11489055/sqlite-order-by-string-containing-number-starting-with-0 (hack) without collation => https://sqlite-users.sqlite.narkive.com/aU5aV12Z/howto-adding-natural-sort-to-sqlite-database -status quo: we do nothing because it's perhaps over-engineering to fix this + status quo: it's perhaps over-engineering to fix this elegantly. The hack for now: + In SQL source, 'Gitea 1.5.2' => 'Gitea 1.05.2' + In the bash script that prints the table: replace(software,'1.05','1.5') + This gives the correct order */ /* Gitlab */ diff --git a/tools/gen_forge_table.sh b/tools/gen_forge_table.sh index fc95230..18274ef 100755 --- a/tools/gen_forge_table.sh +++ b/tools/gen_forge_table.sh @@ -22,6 +22,14 @@ typeset -A sym=([red_circle]=$'\xF0\x9F\x94\xB4' [biohaz]=$'\xE2\x98\xA3' [hammerpick]=$'\xE2\x9A\x92') +# temporary hack. git.sdf.org upgraded to 1.14.1 and it broke the icons. +sym=([red_circle]=n + [green_circle]=y + [cloud_lightening]=y + [eye]=y + [skull]=y + [noentry]=n) + #local red_circle='๐Ÿ”ด' #local green_circle='๐ŸŸข' #local test_tube='๐Ÿงช' @@ -57,6 +65,8 @@ table_populate() table_text() { + # table_text not used yet, so we don't have it in working order # + # .ft B (bold font) # .ft I (italics font) # .ft P (previous font) @@ -126,7 +136,7 @@ $(intro $lst)"' ' sqlite3 "${db_file}" "select $name_clause||case when url_onion is null then '' else '([${sym[onion]}]('||url_onion||'))' end, case when dead then '${sym[skull]}' when (cflogin and hrecaptcha = 'unavoidable') or antitor or nation_discrimination then '${sym[noentry]} (exclusive walled garden)' when not openpubreg then '${sym[red_circle]}' else '${sym[green_circle]}' end, - case software when 'gitlab_ce' then 'Gitlab (CE)' when 'gitlab_ee' then 'Gitlab (EE)' when 'other' then 'other/unknown' else software end, + case software when 'gitlab_ce' then 'Gitlab (CE)' when 'gitlab_ee' then 'Gitlab (EE)' when 'other' then 'other/unknown' else replace(software,'1.05','1.5') end, case when antitor then '${sym[eye]}' else 'n' end, case when cflogin then '${sym[cloud_lightening]}' else 'n' end, case when hrecaptcha = 'unavoidable' then '${sym[hammerpick]}' else 'n' end,