update fuwafuwa.moe version, hack sorting for de.edumat.io, replace icons with y/n

pull/5/head
humanacollaborator 1 year ago
parent 5066cea570
commit f93ad31281
  1. 7
      README.md
  2. 68
      forge_comparison.md
  3. 11
      input_data/forges.sql
  4. 12
      tools/gen_forge_table.sh

@ -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`.

@ -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)|

@ -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 */

@ -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,

Loading…
Cancel
Save