Dans cet #annuaire_index je partage des liens qui nourrissent ma recherche
En #2024 j'ouvre un nouveau site de recherche
+plus formel, inspiré de celui-ci : https://dn.vincent-bonnefille.fr
{Ici} je (b)log des #notes_perso et mentionne tout #projet_perso !
Cet espace m'engage vers une #d_centralisation des #GAFAM_NATU
Retrouvez mon #corpus de #2017 ( sous la forme d'une #map_carte) ici
Ce site { ici } fonctionne grâce au génialissime #shaarli site
Quelques sujets :
#ShadowLibraries / #défense_numérique / #luddites / #jardin(s numériques)
Vous pouvez afficher une vue d'ensemble / mur d'images :
( des bulles les plus importantes : taguées #! ou #<3 )
/?do=picwall&searchtags=! ou /?do=picwall&searchtags=<3 ou <3 et ! ...
- LES INCONTOURNABLES : <3 / ! / corpus
- LES GRANDES CLASSES : .i / .p / .r / .art
(.i : informatique, .p : politique, .r : recherche)
- LES CATÉGORIES :
darknet : #dn_darknet : #dn_tor_onion #dn_lokinet ... dn_*
perso : #projet_perso #log_perso #notes_perso ... *_perso
recherche_création / _thèse / _outils ... recherche_*
orga. / artiste / auteur.ice : @
-
Share a secret - One Time
( open-source )
↳ https://onetimesecret.com -
Retriever
( on demande un acces à la pers. qui détient le secret : inversé )
↳ https://retriever.corgea.io -
Cryptgeon {cette bulle}
( open-source )
↳ https://cryptgeon.org/ -
Yopass: Share Secrets Securely
( open-source )
↳ https://yopass.se -
Hemmelig
( j'en parlais ici )
↳ https://github.com/HemmeligOrg/Hemmelig.app -
PasswordPusher
( Forte activité - indice sur /Libhunt/ )
↳ https://www.libhunt.com/r/PasswordPusher
↳ https://pwpush.com/fr/p/nouveau -
OTS
( GO + #cli_bash )
↳ https://github.com/Luzifer/ots
Moi, pour les envois sécurisés de fichiers...
j'utilise aussi le très bon /Wormhole/..
mais ce n'est pas tout à fait la même mentalité !
https://liens.vincent-bonnefille.fr/?27Q_IQ
https://www.libhunt.com/r/magic-wormhole
Des plugins / Thèmes dans votre terminal !
Customise Zsh un shell présent par défaut sur MacOSx
Facilement installé sur Android
https://github.com/matricci/oh-my-zsh-termux
🙃 A delightful community-driven (with 2,200+ contributors) framework for managing your zsh configuration. Includes 300+ optional plugins
- plugins favori :
https://github.com/z-shell/H-S-MW
BONUS
https://lib.rs/crates/eza ( replace ls
)
https://github.com/ajeetdsouza/zoxide ( replace cd
)
BONUS quick install snipet
apt update
apt install zsh git curl nano -y
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
git clone https://github.com/z-shell/H-S-MW.git \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/H-S-MW
nano ~/.zshrc
ZSH_THEME="agnoster"
plugins=(git H-S-MW)
Tout est dans le titre
pratique quand on a pas de Smartphone
petit #tuto
Utilise - signal-cli
https://github.com/AsamK/signal-cli
Autres pistes :
- Registration with captcha
https://github.com/AsamK/signal-cli/wiki/Registration-with-captcha - oren.github.io/articles/signal-terminal/
https://oren.github.io/articles/signal-terminal/ - GitHub - nanu-c/axolotl
https://github.com/nanu-c/axolotl
HOW
Votre ordinateur va se comporter en remplacement du smartphone (serveur)
C'est depuis celui-ci qu'on va installer et valider à la place du smartphone
Avec Signal-cli on peut :
-
Register : ajouter un nouveau numéro de tel sur Signal
= CAPTCHA => Envoie SMS CODE validation
= On entre le CODE validation sur l'ordinateur
==> Légitime : on est pas un robot + on a vraiment acces à ce numéro -
Ajouter un nouvel appareil ...
depuis lequel on install Signal et génère un QRCODE... -
qui doit être pris en photo par l’ordinateur de remplacement (serveur)
( pour valider l'ajout à la place d'un smartphone )
INSTALL
Mac
brew install signal-cli
Linux
Voir https://github.com/AsamK/signal-cli/wiki/Quickstart
Win
https://github.com/AsamK/signal-cli/releases
-> signal-cli-0.XX.X.tar.gz
(archive)
-> bin/
(exe dans terminal avec .bat
)
DANS LE TERMINAL
Ouvrir un terminal sous Windows
https://lecrabeinfo.net/ouvrir-et-utiliser-le-terminal-windows-sur-windows-11-10.html
Sur Linux, tu cherches tu trouves
Si l'exécutable/fichier signal-cli
a seulement été désarchivé
Se rendre dans le dossier où se trouve signal-cli
Sous Windows on peut l'installer/déplacer dans \Windows\System32
Sous Linux dans /bin
Source : https://superuser.com/a/983171
INIT ( dans le terminal )
# Ajout d'une variable
# On l'utilise ensuite ($PHONE) pour ne pas avoir à indiquer le numéro à chaque étape
# Remplacez par votre n° de téléphone (téléphone non smart)
PHONE='+33600000000'
Pour vérifier que la variable est bien enregistrée on l'appelle comme ceci :
echo $PHONE
TUTO
0) CAPTCHA
Allez sur https://signalcaptchas.org/registration/generate.html pour récupérer un captcha
: une fois le Captcha résolu ...
. il faut copier le lien "Ouvrez Signal"
( ne pas ouvrir sous Signal_Desktop )
( == clic droit -> copier lien )
( copier le lien commençant par 'signalcaptcha://....' )
Ca donnera :
signal-cli -u $PHONE register --captcha <signalcaptcha://....>
1) REGISTER
NB: à faire la première fois -> inscrit sur Signal depuis cet ordi
..... par la suite, pas besoin de Register
..... => ADD (addDevice) directement !
signal-cli -u $PHONE register --captcha signalcaptcha://signal-hcaptcha.4gad7....
... si erreur, recommencer !
2) VERIFY
signal-cli -u $PHONE verify <code reçu par SMS>
3) Changer de nom ( facultatif )
signal-cli -u $PHONE updateProfile --name <votre nom>
AJOUTER UN NOUVEAU APPAREIL (relier)
Depuis l'application que vous voulez connecter (relier)
( smarphone / ipad / pc / autre )générez le fameux QRCODE
Décodage : du QRCODE ( lien d'accès )
... on doit décoder le QRCODE
... pour valider l'accèson peut utiliser :
EX/ Android - https://f-droid.org/fr/packages/com.atharok.barcodescanner/
EX/ Web - Decode https://zxing.org/w/decode.jspx ( pratique )
EX/ Linux - https://github.com/hongquan/CoBangRésultat commence par
sgnl:
De façon sécurisée...
On l'envoie à l'ordi où est installésignall-cli
...
Validation (toujours depuis le PC/Terminal)
signal-cli -u $PHONE addDevice --uri "sgnl:/.....dans le qr-code de l’appli pour ordinateur"
FINITO
BONUS
Signal-API
installer un serveur (generate QR code with any PC)
Utilisez votre PC pour envoyer des notifications !
https://github.com/bbernhard/signal-cli-rest-api
Prise de notes
Je prend des notes avec #dendron ( PC )
J'ai installé /Zettel Notes/ sur mon téléphone #Android ... super, mais ne synchronise pas avec #git / #cloud ...
D'autres apps le font :
/Dendron/ about mobile_apps :
https://wiki.dendron.so/notes/401c5889-20ae-4b3a-8468-269def4b4865/#mobile-support
Git_journal
App + simple : intègre git
( déjà test par le passé ) :
Git_journal
À la main
( #tuto de cette bulle )
Tutos/explications plus après...
J'y ai appris/révisé
- comment utiliser une clef publique pour se connecter (sans id/mot de passe), ici à GitHub
- prise en main de /Termux/ : #Android == #Linux !
( au moins un peu plus ouvert qu'Apple, mais sous surveillance de #Google )
Git c'est quoi ?
#git c'est formidable pour synchroniser l'état d'avancement d'un projet
Ce système de sauvegarde enregistre toutes les versions des fichiers de votre projet : du code, une ensemble de fichiers/fiches .. qui peut être mises bout-à-bout, un jour, formerons une #thèse ( c'est en tour cas mon projet )
Et, il m'arrive de finir une phrase/idée dans le train, entre deux connexions wifi
Cette mobilité impact mon #écriture ( #flow )
. . .
Je passe de mon ordi à mon téléphone
( #périphériques_devices )
le tout selon une nomenclature de fichiers que je voudrais maitriser davantage, pour,..
, in fine, facilement synchroniser mes versions de #fichiers
( oui, cette chose toute simple avec un G***le drive )
#git peut faire ça !
...
: Synchroniser l'état de mon écriture sur petit écran
.. avec l'état d'avancement sur les serveurs hébergeant #git
.. des fichiers/fiches que je compose en utilisant #dendron et non pas /Obsidian/
Syncro locale, outils
Pour m'aider dans l'exécution du tuto...
J'ai synchronisé le presse-papier de mon ordi avec celui de mon téléphone
en utilisant /KDE_Connect/ + /Scrcpy/
Tuto +
Le lien de cette bulle : https://lucidhacker.substack.com/p/setting-up-git-syncing-for-obsidian
nous explique comment faire ..
en utilisant un Émulateur de Terminal sous #Android : /Termux/
On peut y installer /oh-my-zsh/
- https://github.com/matricci/oh-my-zsh-termux
et plein d'autres outils/packages..
communément utilisés sous #Linux
( on est pas perdu.es )
Dans {ce tuto} il manque un détail si on utilise une clef RSA depuis un dossier non par défaut :
https://ralphjsmit.com/git-custom-ssh-key
( une fois la clef RSA publique générée depuis #Android il faut la transmettre à votre serveur #git . Moi je passe par /GitLab/ plutôt que /GitHub/ )
( on peut l'ajouter en passant directement par la page web d'administration utilisateur.ice )
A fork of TorGhost, a little utilitly used to route all traffic through TOR.
Faire facilement passer toutes les connexions de votre ordi via /Tor/
Plus pratique que de configurer chaque application en passant par socket
Pratique pour vite changer d'IP sans #VPN !
HOWTO_vidéo ( en musique ) #tuto
- via : https://ourcodeworld.com/articles/read/953/how-to-route-all-the-machine-traffic-through-tor-in-kali-linux <- good site
- image d'illu. de {cette bulle} : https://www.geeksforgeeks.org/staying-anonymous-with-proxychains-in-kali-linux/
TOC
Update
Story
Janitor
scraper
WebGrep
Alt
Headless
OutilspourMD
Annoter
Linkscheckers
Tunnels
Archive
indexserveur
Textpocessing
via
Update
Dernière version ( #2024 )
https://liens.vincent-bonnefille.fr/?Jxnufg
( dncorpus )
j'ai mis au point un fichier #cli_bash
pour GRAV ( #grav_wordpress )
qui va chercher les liens dans les pages (sous-dossiers)
- EX/ A => B
puis chercher le fichier/la page en question (liée) ( B )
et indique dans la page ( B ) que ( A ) pointe vers elle - https://gitlab.com/bonnebulle/grav_dn/-/blob/main/user/recursiv_mod.sh?ref_type=heads
Story
Je reprends ma prise de notes avec #dendron / #Zettelkasten
J'en suis pas à mon premier essai {bulle}
article de référence sur cette méth. de prise de notesJe veux automatiser la mise en prod / publication
Je veux ajouter quelques fonctions "de base" qui font d'un (b)log un jardin...
... tel les /Backlinks/ (liens entre articles.notes connexes)
... ce que propose {cet article.lien.bulle}
--> https://sebastiandedeyne.com/adding-backlinks-to-a-github-wiki/
... avec le script /Janitor/Backlinks, or bi-directional links, are becoming table-stakes for productivity apps since they’ve been popularized by Roam. It’s a simple …
Janitor
-
https://github.com/andymatuschak/note-link-janitor
-> forks https://www.npmjs.com/search?q=note-link-janitor
-> FR : https://www.npmjs.com/package/@arthurperret/note-link-janitor-fr !
Quelques alternatives et autres outils...
pour se balader de liens en liens,
de sites en sites
...
scraper
Un scraper c'est une automatisation de taches programmables permettant de visiter et inte agir avec une page web, sa structure ou des données. On peut ainsi simuler un clic, copier du contenu tel des liens (d'images ou hypertextes), faire une capture écran, etc.
Plusieurs approches...
WebGrep
va chercher du texte à la façon de /grep/
on pourrait ainsi lister les liens
se balader de l'un à lautre...
- https://webgrep.readthedocs.io
- (=) https://github.com/dhondta/webgrep
- (=) https://pypi.org/project/webgrep-tool/
(=/=) des variants
- https://github.com/LLazarek/webgrep
wgrep.py
-u URLS, --urls URLS Regexp for urls to search. By default all urls are searched.
wg (an other)
Alt
Recursive by rounds -R
Spider
Headless
des navigateurs 'sans tête'
on intéragis sans afficher à l'écran la page
on a un accès textuel / via du code
( possible par terminal #cli_bash )
- https://github.com/lbarnkow/no_browser
- https://lib.rs/crates/surf
- https://lib.rs/crates/longboard
- https://github.com/http-rs/surf
Je suis aussi tombé sur des outils qui vont me servir dans la création des pages (et leurs interactions par backlinks...
Outils pour MD
toc
tag search <3
like dendron linked notes
Annoter / pdf
extraire annotations pdf -> md <3
Hypothesis direct dans vsc
Search in PDF
pdfgrep
rga
Links checkers
Vérifier la validité des liens
peut être utilile avec le scraper
chker
chker status
Tunnels
Rendre accessible un site en devellopement local
au reste du web en créant un tunel
tunnels
Archive
Sauvegarde, téléchargement de pages
archive / dwl pages
- https://github.com/bcmyers/urls2disk
- https://github.com/mattgathu/duma
- https://lib.rs/crates/shirodl
index_serveur
afichier le contenu d'un dossier
mise en place d'un micro-serveur
j'utilisais http-server
- https://lib.rs/crates/dufs
- https://github.com/http-server-rs/http-server
- https://github.com/svenstaro/miniserve
Text pocessing
-> https://lib.rs/text-processing
via
A lot of #Linux #ressources ! (cadeau !) -- in english
Guides / Articles / lists #alternativeto
Learn up-to-date, idiomatic C++ with code examples, concise explanations, cheat sheets and infographics. -- Lerne aktuelles, idiomatisches C++ mit Code-Beispielen, knappen Erklärungen und Infografiken. -- 学现代的C++
via https://hackingcpp.com/dev/command_line_tools.html
... I will try :
- nschloe/deadlink: Checks and fixes URLs in code and documentation.
https://github.com/nschloe/deadlink - sharkdp/pastel: A command-line tool to generate, analyze, convert and manipulate colors
https://github.com/sharkdp/pastel - sharkdp/bat: A cat(1) clone with wings.
https://github.com/sharkdp/bat - Broot
https://dystroy.org/broot/ - BurntSushi/ripgrep: ripgrep recursively searches directories for a regex pattern while respecting your gitignore
https://github.com/BurntSushi/ripgrep
An extensive and up-to-date collection of beautifully formatted man pages.
Man : Manuel
( les instructions affichées pour aider à utiliser un log.app.cmd )
Voir aussi
Liste d'antisèches #cheatsheet ( dont Commande not found)
Apprendre à utiliser un terminal
( via une petite histoire relationelle )
Un article de #@noted.lol https://noted.lol/self-hosted-roundup-34/
fait récemment le tour des #alternativeto :
/borg/ (souvent cité sur des sites.forums.blogs) me parait une bonne piste
: https://www.borgbackup.org/?ref=noted
Duplicati
Free backup software to store backups online with strong encryption. Works with FTP, SSH, WebDAV, OneDrive, Amazon S3, Google Drive and many others.
Faire des sauvegardes est mère de toutes les vertus !
Hacked ? Restore from last week Backup !
Est plutôt pensé pour de la sauvegarde de HDD en local, on peut faire monter le contenu d'un serveur (FTP) en local... et en copier le contenu.
installation ( docker )
MAIS ne prend en charge que les dossiers LOCAUX (pas FTP/SFTP/SSH)
(une honte !) Du coup, il faut monter son serveur distant en local(host)
...
DIRECT try...
FTP ( ncftp )
- https://www.filestash.app/ovh-ftp.html (*ndbp)
- https://nguoiquynhon.blogspot.com/2009/08/how-to-backup-to-ftp-with-ncftp.html
Monter le contenu d'un serveur ( curlftpfs + Fuse )
--> /!\ Buggy/Laggy #error_échec <--
Final use ( service.systemd : root ready )
-
https://github.com/systemd/systemd/issues/1053#issuecomment-921456374
-
https://linuxconfig.org/mount-remote-ftp-directory-host-locally-into-linux-filesystem ( détailed )
Using Curl profiles
Rclone
( ma solution de cœur, avec un GUI/WebGUI )
( ... but, it's not working with my hoster, cant figure out why )
( mon IP était... blacklistée ! trop de requêtes avec curlftpfs )
fonctionne avec moult protocoles / plateformes !
Après configuration ( rclone config )
Lister
rclone lsd conf_name:
rclone lsd conf_name:Path/to/folder
Sync ( du serveur -> localhost ) :
TESTS
rclone sync --interactive conf_name:Path/folder /local/folder/
rclone sync conf_name:Path/folder /local/folder/ --dry-run --verbose
GO
rclone sync conf_name:Path/folder /local/folder/ --verbose
*) /Filestash/ est pas mal pour se connecter depuis le web à un serveur !
( bon remplaçant de web2ftp ) --- avec une offre gratuite en self_host !
Complémentaire d'un /Filebrowser/
qui, lui, affiche vos dossiers locaux dans votre Navigateur !
( avec une authentification "normale" : non s.FTP )
--> Supprimer/déplacer/renommer (bien sûr)
--> Possibilité de liens de partage (mdp/non)
--> Upload (même gros fichiers)
Tuto source :
.filebrowser.json
{
"port": 80,
"baseURL": "",
"address": "",
"log": "stdout",
"database": "/database.db",
"root": "/srv"
}
Ma commande finale ( pour un user www-data )
docker run --name filebrowser -d \
-v /mon_dossier_racine/Fichiers/:/srv \
-v /mon_dossier_config/filebrowser.db:/database.db \
-v /mon_dossier_config/.filebrowser.json:/.filebrowser.json \
--user $(id -u www-data):$(id -g www-data) \
--restart=always \
-p PORTDISPO:80 \
filebrowser/filebrowser
https://hub.docker.com/r/filebrowser/filebrowser
https://github.com/filebrowser/filebrowser
restaurer son pad trop gros
Je m'en suis finalement tiré en trifouillant le settings.json
...
j'ai illimité la taille d'upload + le temps de requête max...
et tout remis après pour éviter une DDOS ;)
Tools
( pas testés ) ( ressources / tools )
- https://pypi.org/project/etherpump/
- https://github.com/ether/ep_post_data
- https://github.com/redhog/ep_copypad
API
-> https://etherpad.org/doc/v1.6.0/#index_api_methods
-> https://github.com/ether/etherpad-lite/blob/develop/doc/api/http_api.md
list pads
curl "http://0.0.0.0:PORT/api/1.2.13/listAllPads?apikey=SECRETAPI&padID=PADNAME&rev=NUMERO
restaurer version ( restoreRevision )
( pratique pour un pad de démo restauré à 1h du mat )
curl "http://0.0.0.0:PORT/api/1.2.13/restoreRevision?apikey=SECRETAPI&padID=PADNAME&rev=NUMERO
(source)
supprimer ( deletePad )
curl "http://0.0.0.0:PORT/api/1.2.13/deletePad?apikey=SECRETAPI&padID=PADNAME&rev=NUMERO
( ... )
API + Mojo ( Perl )
NB:
- https://metacpan.org/pod/Etherpad
- https://metacpan.org/pod/Etherpad#get_html
- https://metacpan.org/pod/Etherpad#send_clients_message
- https://metacpan.org/pod/Etherpad#get_revisions_count
- https://metacpan.org/pod/Etherpad#restore_revision
use Etherpad; my $ec = Etherpad->new( url => 'http://0.0.0.0:PORT', apikey => 'SECRET', user => 'USER', password => 'PWD', proxy => { http => 'http://0.0.0.0:PORT', https => 'http://0.0.0.0:PORT' } ); $ec->restore_revision('new_pad_name', NUMBER);
- https://metacpan.org/pod/Etherpad#restore_revision
- https://metacpan.org/pod/Etherpad#copy_pad
\#!/usr/bin/perl -w use Etherpad; # # my $ec = Etherpad->new( url => 'http://0.0.0.0:PORT', apikey => 'SECRET', user => 'USER', password => 'PWD', proxy => { http => 'http://0.0.0.0:PORT', https => 'http://0.0.0.0:PORT' } ); # # # # # OUTPUT Arguments (optional) my $total = $#ARGV + 1; my $counter = 1; # # # INPUT + OUTPUT (arguments needed) if($total != 2){ print("2 arguments please..."); print("\n1. old pad name"); print("\n2. new pad name"); exit; } # # # OUTPUT Arguments (print) # Use loop to print all args stored in an array called @ARGV foreach my $a(@ARGV) { print "Arg # $counter : $a\n"; $counter++; } # # # GET 1. and 2. argument my $oldname = $ARGV[0]; my $newname = $ARGV[1]; # Execution $ec->copy_pad($oldname, $newname);
- https://metacpan.org/pod/Etherpad#move_pad
" A collection of introductory technology tutorials covering Linux, Web development, general problem solving and graphic design. "
PDF :
- https://dspace.mit.edu/bitstream/handle/1721.1/6353/AIM-628.pdf
- https://www-formal.stanford.edu/jmc/recursive.pdf
The HS class is reserved for use by a system called Hesiod that stores and distributes simple textual data using the Domain Name System. It is typically used in local environments as a stand-in for LDAP. The CH class is reserved for something called Chaosnet.
When a user logs in, he is assigned a processor, and he has exclusive use of it for the duration of the session. When he logs out, the processor is returned to the pool, for the next person to use. This way, there is no competition from other users for memory;
The processors would share access to a file system and to devices like printers via a high-speed local network “with completely distributed control.”4 That network was Chaosnet.
A Chaosnet address is only 16 bits, half the size of an IPv4 address, which makes sense given that Chaosnet was only ever meant to work on a local network. Chaosnet also doesn’t use port numbers; instead, a process that wants to connect to another process on a different machine
first makes a connection request that specifies a target “contact name.”
Inside links :
Sémantique human-machine interaction ( #chat_conversation )
See also :
J'ai un dongle USB <-> Ethernet
https://plugable.com/products/usb3-e1000
Quand on débranche/re.branche il n'est pas reconnu...
Comment faire pour que linux le reconnecte (sans redémarrer) ??
Après installation (Make) de https://github.com/jerome-pouiller/ioctl
Automating the reset {cf. lien_bulle} is working !!!!
( reconnu dès que re.branché )
....
Sinon on peut faire :
- On récupère le DBUS de l'adaptateur ( AX88179 )
- On le reconnecte
- On récupère le DBUS de l'adaptateur ( AX88179 )
À la main
lsusb | grep AX88179
# ==> GET ... 0XX ... 0YY
Pseudo-automatisation :
J'utilise une fonction "regex1" trouvée sur internet
https://stackoverflow.com/a/14229597
pour récupérer le...
AX88179_BUS et AX88179_DEV : 0XX ... 0YY
function regex1 { gawk 'match($0,/'$1'/, ary) {print ary['${2:-'1'}']}'; }
#!/bin/bash
AX88179_BUS=$(lsusb | grep AX88179 | gawk 'match($0,/Bus (0(.*))\s/, ary) {print ary['${2:-'1'}']}' | cut -c -3)
AX88179_DEV=$(lsusb | grep AX88179 | gawk 'match($0,/Device (0(.*))\s/, ary) {print ary['${2:-'1'}']}' | cut -c -3)
# NEED Admin
pkexec $(python3 /usr/bin/ioctl /dev/bus/usb/$AX88179_BUS/$AX88179_DEV)
- On le reconnecte
Exécution Python
sudo python3 /usr/bin/ioctl.py /dev/bus/usb/$AX88179_BUS/$AX88179_DEV
Script Python
\#!/usr/bin/python3
## SOURCE :: https://scarff.id.au/blog/2021/resetting-usb-ethernet-linux/
print("\n\nFIRST DO :: \nlsusb | grep AX88179")
print("==> GET ... 0XX ... 0YY")
print("\nEXEC :: \nsudo python3 ioctl.py /dev/bus/usb/0XX/0YY\n\n")
##
# in ioctl.py
import fcntl, sys
# defined in linux/usbdevice_fs.h
USBDEVFS_RESET = 21780
with open(sys.argv[1], "wb") as fd:
fcntl.ioctl(fd, USBDEVFS_RESET, 0)
" Display and control your Android device. Contribute to Genymobile "
Contrôler son téléphone #Android depuis son ordinateur ! Un must-have !
Bonus : j'ai créé ce petit script de connexion en Wifi (Bash) : gist
Wiki : https://en.wikipedia.org/wiki/Scrcpy
Genymotion https://www.genymotion.com
est derrière un outil de virtualisation #VM
Blog ressource en #français : https://blog.rom1v.com
Wormhole lets you share files with end-to-end encryption and a link that automatically expires.
Un outil de transfert de fichiers /Privacy by design/
Lire aussi leur FAQ pour s'en convaincre !
Du /end-to-end encryption/ sans clefs gardées par le fournisseur de ce service.
Une version #cli_bash très utile pour envoie de #fichiers via #SSH !
Nous fera effectivement penser à onionshare
à test aussi https://gitlab.com/timvisee/ffsend #todo
Une revendication sur /Github/ ....
Démission de codeur, référence à #@Aaron_Swartz (réclamant justice/explication)
Retour sur la mort étrange et tragique et touchante de ce "génie du web" / "enfant d'internet"
... à qui l'on doit flux /RSS/ - /Reddit/ - /OpenLibrary/ etc...
-
Défenseur des libertés sur internet
-
Auteur du [ open access #manifesto ]
--> http://wavelets.ens.fr/BOYCOTT_ELSEVIER/DECLARATIONS/DECLARATIONS/2008_07_01_Aaron_Swartz_Open_Access_Manifesto.pdf
--> https://zintv.org/outil/guerilla-open-access-manifesto/ #français -
la culture du logiciel libre
... -
il est arrêté suite au "piratage" des serveurs de #JStore
( qui enfermait des contenus_savoirs sur leurs serveurs )
---> Full Story : https://liens.vincent-bonnefille.fr/?MVj67Q
...
La vidéo évoque aussi le problème de l'économie du logiciel libre dans lequel la rétribution n'est pas toujours équitable (par exemple, un bout de code développé gratuitement mais jamais payé par des multinationales/big_corp)
< - https://invidious.fdn.fr/watch?v=R6S-b_k-ZKY
Heartbeats
Une question qui s'était posée avec la faille /Heartbeats/ d'OpenSSL en #2014
https://www.nextinpact.com/article/12029/86934-openssl-faille-heartbleed-menace-securite-web-sites-ferment
Des logiciels libres au cœur de nos environnements techniques...
sur lesquels "tout" repose
https://xkcd.com/2347/ :
Extra : représenter les "dépendencies" ?
- Visualization of npm dependencies
- npmgraph - socket.io
- npm Packages Dependencies Graph | Exploring Data
Le libre peut-il changer le monde ?
Culture libriste défendue par #@Aaron_Swartz
Celle d'un internet du partage,
Thèse enthousiaste tel :
La bataille du libre
@Philippe_Borrel de 2019
-
timing -> #@Richard_Stallman (intro)
https://peertube.fr/w/9T2bZwD3wQS1W9D37u3HTz?start=5m15s -
timing -> d'afférentes libertés d'usage + Copyleft
https://peertube.fr/w/9T2bZwD3wQS1W9D37u3HTz?start=5m53s -
timing -> droits essentiels d'un logiciel
https://peertube.fr/w/9T2bZwD3wQS1W9D37u3HTz?start=7m10s
(4) libertés essentielles :
-
0 - Exécuter le programme de n'importe quelle manière
-
1 - Étudier le code source et le modifier pour lui faire faire ce que l'on veut
-
2 - Partager : liberté de partager à d'autres gens comme on veut
: possibilité de re-publier le programme -
3 - distribuer des copies de versions modifiées
-
timing -> end : réponses...
de ce "coup de judo qui renverse le principe des lois propriétaires contre elles-même"
https://peertube.fr/w/9T2bZwD3wQS1W9D37u3HTz?start=8m50s
. . .
( // ) Droits en informatique #cli_bash
SOURCE :
I - La commande CHmod
Les types d'utilisateurs
- Le propriétaire du fichier (user)
- Le groupe du propriétaire du fichier (group)
- Les autres utilisateurs, ou encore le reste du monde (others)
Les types de droits
r : droit de lecture (read)
w : droit d'écriture (write)
x : droit d'exécution (eXecute)
II - Correspondances des droits en binaire/octale et leurs significations
Binaire | Val octale | Droits | Signif. |
---|---|---|---|
000 | 0 | - - - | Aucun droit |
001 | 1 | - -x | Exécutable |
010 | 2 | - w - | Ecriture |
011 | 3 | - w x | Ecrire et exécuter |
100 | 4 | r - - | Lire |
101 | 5 | r - x | Lire et exécuter |
110 | 6 | r w - | Lire et écrire |
111 | 7 | r w x | Lire écrire et exécuter |
...
Type d'user | Propriétaire | Groupe | Les autres |
---|---|---|---|
Droits | r w x | r - x | - - x |
Position Binaire | 111 | 101 | 001 |
Valeur Octale | 7 | 5 | 1 |
Quelques exemples / principes
Licences libres -> la quelle ?
Liste, #annuaire_index :
- https://github.com/LibreCybernetics/awesome-copyfarleft
-> Licences : - https://anticapitalist.software/ - Anti-Capitalist Software License
- https://lynnesbian.space/csl/ - Cooperative Software License
- https://wiki.coopcycle.org/en:license - Coopyleft License
- https://fair.io/ - Fair Source License
- https://paritylicense.com/ - Parity Public License
...
Articles : - https://www.boringcactus.com/2020/08/13/post-open-source.html
- https://gitlab.com/cal-coop/software-anarchy/
- http://telekommunisten.net/the-telekommunist-manifesto/ <- #@Dmitry_Kleiner
the-telekommunist-manifesto :
EX/ anticapitaliste
? Que nous dit la #Free_Software_Fondation (fsf)
? et nos amix les GNU
un #wiki #index des licences =>
-
Une "anticapitaliste"
- https://directory.fsf.org/wiki/License:ANTI-1.4
avec ce commentaire du #wiki :La « licence de logiciel anticapitaliste » n'est pas une licence libre, car elle n'accorde les quatre libertés qu'à certains types d'organisations, pas à toutes. Une telle clause restrictive dans une licence logicielle, quelle que soit la cause au nom de laquelle elle a été introduite, donne au détenteur du copyright trop de pouvoir sur les utilisateurs. Nous vous recommandons vivement d'éviter tout logiciel publié sous cette licence et de ne pas l'utiliser pour vos propres logiciels.
. . .
Libre (philo) /VS/ non libre
Open (source) /VS/ propriétaire
EX.
Adobe /VS/ Gimp
Miro /VS/ ...
=> Diversité sur un marché global
=> Logiciels installés sur nos ordinateurs / serveurs !
-> https://degooglisons-internet.org/fr/
un jardin ?
Framasoft = faire soit-même
( Nourrir la terre - Semer - Arroser - Pailler )
Plus largement c'est la culture IndieWeb
-> Popup camps
-
https://indieweb.org/dogfood-fr
( principes )
✊ Own your data.
🔍 Utilisez de la data visible (DRY)
💪 Construisez les outils pour vous-même
😋 Mangez votre propre nourriture pour chiens.
📓 Documentez
💞 Open sourcez
📐 L'UX et le design sont plus important
🌐 plates-formes agnostiques aux plates-formes
🗿 Longévité.
✨ Pluralité.
🎉 Poilons-nous[1].EX: Installation d’Etherpad
(?) comment on peut savoir qu'un logiciel est "ouvert" / "fermé"/propriétaire / "open"
(?) quelle différence ça fait
(?) es ce que vous avez un exemple de logiciel libre / ouvert
(?) queceque vous observez de différent avec les "propriétaires"EX.
Adobe /VS/ Gimp
Miro /VS/ ...
(?) Des limites au "jardin" ?
- Open Hardware
--> core . Kernel . Shell . Application - Open Software
--> OS -> apps
- (x)
- soft / hard / life . ware
Les limites du logiciel libre...
Détruire ou altérer le fonctionnement des machines numériques,
la résistance du 21e siècle ?
@Benjamin_Cadon critique l'espoir du libre et son basculement vers l'open-source (favorable aux multinationales) et préfère l'idée de FarLeft
- https://bib.vincent-bonnefille.fr/book/163 ==> P40_41
= https://revuepossibles.ojs.umontreal.ca/index.php/revuepossibles/article/view/378/385
( microsoft / #GAFAM s'en accommodent bien )Par sa malice, Microsoft a réussi à conserver sa mainmise sur le système d’exploitation des ordinateurs, Google a réussi son hold-up sur les mobiles avec Android (système ouvert quand cela l’arrange), les logiciels libres quant à eux sont majoritairement utilisés pour faire fonctionner Internet ( Wikipédia #2021) et ses multiples protocoles, même Microsoft se met à Linux pour son cloud ( Fassinou #2020 ). Et si l’on regarde quels sont les plus gros contributeurs aux standards d’Internet ( Ten Oever #2021 ) ou au développement du noyau Linux, on retrouve les géants du numérique en tête :
Intel, Google, Huawei, Facebook, AMD, NVIDIA, IBM, CISCO, et bien d’autres géants
… qui forgent leur propre intérêt. Car ces licences et logiciels libres restent dans une vision libérale du régime de la propriété et s'emprisonnent dans le capitalisme, à l’inverse de l’approche « copyfarleft » de #@Dmitry_Kleiner .
= Les multinationales du numérique s’en accommodent donc très bien, pendant que de petits chatons (voir https://chatons.org/), en tentant de dégoogliser Internet, usent leurs griffes en vain. Internet a beau être mu par des logiciels libres, ce n’est pas le sentiment de liberté qui y prévaut aujourd’hui.
( + cite
Car fondamentalement, comme #@Julia_Laïnae et #@Nicolas_Alep le signalent, on peut considérer que « Le logiciel libre n’est qu’une modalité de développement informatique et de licence de diffusion, il ne remet pas en cause la recherche d’efficacité, la rationalité instrumentale, qui sont au fondement des technologies numériques » (Laïnae & Alep 2020)
--> 'Anti_Alternumérisme
Contre l'alternumérisme :
Pourquoi nous ne proposerons pas d'"écogestes numériques" ni de solutions pour une "démocratie numérique"
de #@Julia_Lainae & #@Nicolas_Alep
=> https://bib.vincent-bonnefille.fr/book/57
D'autres aspects problématiques..
...dans le digital labor du code
Un article #français complet reprend cette question...
de dépendances mais aussi des conditions de travail quand on code
==> Le désenchantement du logiciel
==> https://tonsky.me/blog/disenchantment/fr/
EDIT:
On y critique plein de dérives et complexités dans le dev. moderne :
- la lenteur des interfaces et OS/Web
- la complexité et son cout (cruft)
On complexifie parfois les choses avant de revenir à l'essentiel - dépendences
cf. Extra reprsenter les dependencies
Dette Technique (meth. Agile)
- https://fr.wikipedia.org/wiki/Dette_technique
- https://invidious.fdn.fr/watch?v=pqeJFYwnkjE
- https://wikiagile.cesi.fr/index.php?title=DetteTechnique
Article d'origine :
https://martinfowler.com/bliki/TechnicalDebt.html #2019
Ou comment, en préférant les technologies prêtes à l'emploi (ou service) on peut, dans un dev futur, payer la dette de cet "achat" de départ, des années/semaines/après... L'importance de bien choisir ses logiciels, de bien les penser, d'avoir une bonne équipe.
EDIT :
Autre article #2019
Is High Quality Software Worth the Cost ?
R> Le code comporte une part essentielle à son fonctionnement
Autour de ce noyau important s'ajoute d'autres contenus et fonctionalités
.. qui viennent en complexifier la relecture/évolution futur
Ce code de moindre qualité est qualifié grossi la dette technique
: le cout à l'emploi/usage
Un code qui reste de qualité et clair peut être plus long à produire et livrer
.. mais diminue la dette qui devra être rembourssée à l'avenir
( répercutions négatives futures, reportées )
=IA= Cruft est un terme utilisé par les développeurs pour désigner le code qui est redondant, mal organisé ou difficile à comprendre. Il peut également faire référence à des données ou à des processus qui ne sont plus nécessaires.
La dette technique n'existe pas !
Un bon article critique en #français https://waxzce.medium.com/la-dette-technique-une-supercherie-mythologique-pour-gal%C3%A9riens-de-lit-7ed0dfbf39c7
argumente que l'idée de la dette technique est nocive, fait porter une responsabilité culpabilisatrice sur les équipes. Et entend bien que parfois le code tout entier doit être refondé, repris dans un nouveau contexte (et que ce n'est pas un mal).
source
Il faut rebatir autrement, on ne fait pas pareillement un bidonville ou une cathédrale...
Cathedral & the Bazaar
On retrouve ici une métaphore de l'édifice...
Une question micro-macro oranisationel dans la prise de décision des collectifs, la répartition +/- (in)visibilisée du pouvoir, diffus ou explicite, partageant ou non la charge/cout du risque, assumant ou non les responsabilités des objectifs / attendus
Éloge d'un pouvoir possible sans structure apparente, rigide, perçue comme anti-créatrice, asséchante /VS/ l'émultion du collectif auto-organisé par des forces spontanées
https://bib.vincent-bonnefille.fr/book/90
The Cathedral & the Bazaar :
Musings on Linux and Open Source
de comment la hierarchie, le pouvoir ordonnatrice se compose,
comment il peut aussi reposer sur une émulation de groupe "horizontale",
traverssante, autrement récompensansée
d'autres hiérarchies informelles et interpersonnelles
: une économie du don organique,
( dissimulant parfois les pouvoirs internes )
mais favorisant l'émergence,
dont la somme des parties ( interventions )
.. est plus grande que les parties elles-memes ( séparées )
: la multitude faisant œuvre commune.
... une entre aide qui peut malgré tout (et c'est le sujet ici) faire porter la responsabilité sur les épaules d'un.e seul.e dev,
un maillon qu'on pourra exploiter :
Attaque_de_XZ_Utils_par_porte_dérobée, plus facile à isoler et manipuler
Vidéos de vulgarisation en #français :
Une Archie diffuse
L'absence apparente de hiérarchie (ou de connivence) ne veut pas dire que le pouvoir n'existe plus, qu'il n'y a pas de tentatives gouvernantes visant à assujettir ou déplacer les forces (vers des buts spécifiques).
Critique de #@Jo_Freeman : La tyrannie de l’absence de structure #1970
Reconnaître les autorités, qu’elles soient établies ou tacites, est une difficulté pour tout groupe organisé.
Comment agir sans s’entraver dans des structures aliénantes ?
Peut-on se passer de structure ?
Un pouvoir surveillant intgré, une gouvernemrntalité des individus entre-eux
: la modernité d'un panoptique sans barbelé, sans centre identifiable, autonome, décentralisé
... un pouvoir indolore mais toujours là
Interopérabilité
https://liens.vincent-bonnefille.fr/?searchterm=interopérabilité
https://liens.vincent-bonnefille.fr/?AocXOA
: ne pas rendre / ne pas être dépendant.e d'un environnement, une plateforme
On pensera aussi aux logiciels embarqués, aux ventes forcées...
-> https://www.librealire.org/vente-forcee-vente-liee ( articles )
-> https://www.librealire.org/logiciels-libres-internet-libre-perspectives-et-enjeux-frederic-couchet
wiki :
Extra
Pour choisir il faut pouvoir quitter/partir/bifurquer
( idem dans la vie des ingénieurs.eurs )
( ou durant la grande démission post #covid )
( je pense ici à la vidéo de #@Sabine )
/Wetty/ sert à accéder à un terminal de commandes ( #cli_bash ) via le protocole #SSH ...
mais en passant par le wwweb (via n'importe quel #navigateur ) !
Normalement on se connect avec le protocole #SSH via un terminal (application)
ssh user@adresse_du_serveur_ou_son_IP
<
Sur un wifi public (ou protégé) certain #admin empêchent l'accès au port :22
(SSH)
Aussi, en passant par le web ( port :80
) on peut contourner cette limitation...
Pratique quand on veut accéder sans délais à son serveur distant !
- https://computingforgeeks.com/run-linux-terminal-on-web-browser-using-wetty/
Full #tuto - https://distroid.net/linux-terminal-using-wetty/
. . .
En remplaçant de /Shell in a box/ ( discontinued )
/Bitwarden/ un gestionnaire de mots de passes que j'utilise depuis longtemps...
suite au rachat de /LastPass/ . BW est Multi-platforme j'utilise aussi leur #cli_bash ici
L'occasion pour moi d'une petite prise en main de #Docker avec l'interface #GUI :
Portainer ( #GUI : +facile à configurer qu'en ligne de #cli_bash ... {tuto intégré}
( Depuis, j'ai aussi découvert https://podman-desktop.io )
Quand on commence sur #linux ... #cli_bash peut faire peur...
Une fois les cmd
dans la poche on peut vouloir mieux, plus ergonomique, plus rapide...
Voici des #alternativeto de qualité, la relève ;)
Exa, lsd, dust, ripgrep, fd, fzf, jq, httpie, dog
...
fd/ripgrep/fzf
: la navigation/recherche/pipe... : cd
exa/lsd
: remplace ls
dust
: du
armhf tuto
. . .