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
Via https://sebastiandedeyne.com/adding-backlinks-to-a-github-wiki/
J'utilises aussi Signal API
ntfy lets you send push notifications via scripts from any computer or phone. Made with ❤ by Philipp C. Heckel, Apache License 2.0, source at https:
Et voila, un outil pour prévenir mes utilisateurices.eurs d'un New content
( avec des notifications push )
Howto
2e tentative d'install,
Par défaut sans espace privé le web UI me posait pbl,
c'est chose résolue en fouillant dans :
https://docs.ntfy.sh/config/?h=ntfy_cache_duration#config-options
Full story
Succession de /Gotify/ que j'utilise depuis longtemps
https://liens.vincent-bonnefille.fr/?searchterm=ntfy
Plein de projets /portages !
Integrations + projects - ntfy
- https://ntfy.bonnebulle.xyz/docs/integrations/
( dont : )
ntfyd: ntfy desktop daemon - https://github.com/joachimschmidt557/ntfyd/tree/trunk
ntfy-browser: A ntfy browser extension - https://github.com/johman10/ntfy-browser
ntfy-electron: Electron wrapper for the ntfy web app - https://github.com/xdpirate/ntfy-electron
ntfyr: A simple commandline tool to send notifications to ntfy.sh - https://github.com/haxwithaxe/ntfyr
ntfy.sh.sh: 📟 run scripts on ntfy.sh events - ntfy.sh.sh - Codeberg.org
https://codeberg.org/zvava/ntfy.sh.sh
Petite MàJ de mon outil de capture de sites web
( utilisé { ici } pour faire les aperçus )
-> Page entière ( HD )
-> Crop d'image ( rognée )
-> Thumbnail ( image d'aperçu poids réduit : gif )
MAJ des captures par URL -> base 32 )
MAJ index des captures par URL
Le cheminement, {bulle} d'intro
https://liens.vincent-bonnefille.fr/?NYPb2w
Ex ( HD non cropée )
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
Je lance un nouveau service ;)
Avec quelques plugins.ajouts qui m'ont manqué sur d'autres instances.
( version en test, merci de passer faire un tour )
Doc : https://etherpad.org/doc/
Infos : https://ossdatabase.com/projects/etherpad-lite
Full tuto : https://lab.uberspace.de/guide_etherpad/
Full full : https://www.digitalocean.com/community/tutorials/how-to...
Mysql : https://github.com/ether/etherpad-lite/wiki/How-to...
Lot of plugins : https://static.etherpad.org/index.html !
Commenter le web de façon ouverte.
Joie d'un Web 2.0 surligné
avec https://hypothes.is
( plutôt que commenté en bas de page )
De nombreux outils + plugins / intégrations :
- https://web.hypothes.is/tools-plug-ins-and-integrations/
L'API permet d'afficher ailleur, d'exporter ( tel : ) - https://jonudell.info/h/
- https://jonudell.info/h/facet/
maj @2023
- J'ai finalement réussi à installer
Isso
( qui génère un espace commentaire sans tracking ) - testez #comments
- infos / tuto :
https://liens.vincent-bonnefille.fr/?vbm_vg
AJOUT : /Histre/ (alt)
Une alternative solide pour annoter le web (en couleurs)
On sent un projet +plus solide que @H, peut-être moins ouvert
( on peut exporter ses datas + API mais j'ai pas test )
On peut facilement créer des listes de liens/tags
Partager + Annoter
( le tout de façon automatique (+fluide), sans avoir à activer l'outil dans le navigateur à chaque fois/nouvelle page )
notes de retours (feedbacks)
Limites d'Hypothèsis
... par défaut un surlignage n'est pas en Public
... il faut ajouter un commentaire pour qu'il le soit
Et...
On peut créer des goupes (privés / publics)
<-- limitation générale
<-- par défaut, meme si on met l'annotation dans le group mondial "Public", l'annotation est par défaut visible uniquement par MOI... on perd un peu' l'intérêt de la chose. Pour passer un "public = visible" on doit annoter chaque surlignage... et passer sa visiblité en Public...
<-- source : https://web.hypothes.is/help/why-are-highlights-private-by-default/
... greate tool
- https://github.com/ravenscroftj/md-hypothesis-sync
... not easy API use - https://h.readthedocs.io/en/latest/api/authorization/
- https://h.readthedocs.io/en/latest/api/using-oauth/#registering-an-oauth-client
... installer /h/ todo Docker - https://github.com/hypothesis/h/issues/6014
- https://lyz-code.github.io/blue-book/linux/hypothesis/
- https://h.readthedocs.io/en/latest/developing/install/ #<3
Story
J'ai décidé de l'intégrer {{ici}}
J'utilise aussi...
Android
URL Forwarder
: add "via.hypothesis"
https://boffosocko.com/2020/05/24/a-hack-for-using-hypothes-is-to-annotate-on-mobile/
Web
Firefox
- https://addons.mozilla.org/fr/firefox/search/?q=Hypothes.is&sort=rating&type=extension
Chromium - https://chrome.google.com/webstore/detail/hypothesis-web-pdf-annota/bjfhmglciegochdpefhhlphglcehbmek?hl=fr
...
( si l'extension ne marche pas )
Userscripts ( add on any pages ) - https://gist.github.com/potter0815/10ebf62d9c94fd58228cf0a3ef0b1615
- https://gist.github.com/AFutureD/7a5674cd515ebb57db7ac5b5bff47049
CORS / SCP
Certains serveurs sécurisent le droit d'accès à leurs ressources...
Ainsi, un autre serveur (ou site / domain / service) n'y aura pas accès
: un point crutiale de sécurité
. Mais un et limitation / fermeture qui empêche l'interaction libre
: ici, hyp. ne pourra pas s'intégrer ou récupérer des infos...
.! Mais on peut modifier l'entête d'une page web pour contourner sa politique restrictive
Cet article, 2) explique comment
Autres articles :
- https://web.hypothes.is/blog/integrating-hypothesis-using-ajax-and-cors/
- https://web.hypothes.is/help/overview-of-the-hypothesis-system/
Git
- https://github.com/hypothesis/bouncer
- https://github.com/hypothesis/pdf.js-hypothes.is
- https://github.com/hypothesis/facet
Commenter
( bas de page )
Alternatives à /Disqus/ =
- https://ourcodeworld.com/articles/read/1265/top-7-best-open-source-self-hosted-comment-system-alternatives-to-disqus
dont : https://supacomments.vercel.app
dont : https://isso-comments.de
--> installé ! https://liens.vincent-bonnefille.fr/?vbm_vg
Surligner
( comme sur Médium )
-- JS libraries
Annotations ( 2.0 : coments + highlight ) todo
- https://www.cssscript.com/text-annotation-highlighting/
--> http://annotatorjs.org #<3 ( <- this )
"Who is using it?
More than a dozen projects rely on Annotator for their digital annotation needs and many are open source. A few noteables include Hypothes.is, edX, Annotation Studio, and Peer Library. Please checkout our showcase page for a more complete list. "
Surlignage ( sever_side )
Tufte : SideNotes
Une question similaire à celle des notes de bas de page...
mises en évidence sur le côte / bord du texte (dans la marge)
-->
En CSS ça donnerait
+
2 articles #<3
- https://www.gwern.net/Sidenotes
- https://www.arthurperret.fr/blog/2018-12-04-semantique-et-mise-en-forme.html
--> renvoie à un artil le sur Zotero / BibLatex + pandoc + md ( tuto )
https://zotero.hypotheses.org/2258
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)
An open-source, self-hosted memo hub with knowledge management and socialization.
Un espace d'écriture, prise de notes.
Interface claire, sobre ( distraction free,.. important )
L'idée ça serait de tenir un genre de journal de bord de thèse
Un espace où je jette des idées.
Où l'inspiration peut prendre.
Une instance à part.
Juste écrire
Not Twitter.
- pas de limite de caractères
- une sociabilité choisie
( une instance peut accueillir des ami.e.s / auteurs.ices )
Not Git.
- mais on retrouve son outil emblématique de /tracking/ de travail
( commit history ) je cherche de la routine, ça peut aider...
VIA : https://noted.lol/memos/
Android
ARMV7
raspberrypi you can try :
https://github.com/usememos/memos/issues/770
32bit only
-> FAIL
docker buildx build --platform linux/arm/v7 -t mgschwandtner/memos-unofficial-testing:0.8.3 --push .
-> TRY
OK :)
https://memos.vincent-bonnefille.fr
todo_done -> MàJ last version
+ export buit image -> Prod
## checkout release branch, e.g. 1.0.6
docker save [IMAGE] > memos.tar building machine
" 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
Une VM (/quickemu/) MacOS avec Docker
https://github.com/sickcodes/Docker-OSX
+ astuces add memory
-e RAM=8
source
+ ....
https://github.com/sickcodes/osx-optimizer
Tutos
-> Howto
https://github.com/sickcodes/Docker-OSX#additional-boot-instructions-for-when-you-are-creating-your-container
-> Tuto
https://dev.to/gombosg/running-macos-inside-linux-with-docker-osx-4e1i
+ Xcode + iOS simulator + SSH
https://dev.to/ianito/how-to-emulate-ios-on-linux-with-docker-4gj3
Android VM w/ /Quickemu/
. . .
Explications
Docker ≠ VM
. . . oui on peut installer un système dans un Docker...
. . . avec /Qemu/ .... qui virtualise le système OSx (VM)
. . . le Container va ici pré-configurer l'installation de /Qemu/
. . . et télécharger l'img du système
Alors c'est quoi la différence entre VM et Docker ?
VM = Virtual Machine
Chemin ( Linux /VS/ Docker Containers )
Á l'écriture de {cette} bulle je me mélangeais un peu les pinceaux,
je commençais tout juste à basculer vers Docker
Au sein d'un même système Linux, sur ma Raspberrypi..
je comprends assez bien..
les interactions entre logiciels installés pêle-mêle
tous inter-dépendants / de vulnérabilités (allongeant la chaîne de risques).
ex/ de /Faker/ :
https://liens.vincent-bonnefille.fr/?-YFRMg
Les app installées pour qu'un site web fonctionne communiquent par des ports avec le reste du monde, le web !
Elles sont chargées simultanément, ce qui peut devenir compliqué à gérer.
Avec Docker, chaque application/projet démarre dans son propre système (linux) avec les variables et dépendances nécessaires à son déploiement/installation.., sans nécessairement avoir de relation avec les autres application/projet.
: les app sont séparées dans leur propre environnement
: des "Containers"
C'est + propre, + facile à mettre à jour...
Courbe d'apprentissage
Éviter Docker dans ma phase d'apprentissage m'a permis de comprendre tout un spectre de problèmes inhérents à la mise en production (ex : port forward/ NAT.PAT ; d.dns ; loging et autres maintenances).
: Docker rend industrialisable un déploiement que j'ai eu le temps et plaisir de faire de façon artisanale !
Limites
Le fait que les Containers soient isolés rend parfois difficile la modification de leurs contenus.
On peut utiliser SSH .. j'ai essayé de faire comme ca :
Si on veut bidouiller à l'intérieur, on se trouve embêter à chaque pull de mise à jour (de la part du développeur du logiciel). On est aussi limité avec des outils de base : comme on l'a dit, ces systèmes viennent souvent avec le minimum vital.
Monter des volumes -- comme si c'était un serveur distant -- pour travailler ses données avec les outils locaux -- habituels dans mon quotidien -- est compliqué.
- https://github.com/plesk/docker-fs est instable (Fuse se déconnecte)
- https://blog.px.dev/container-filesystems/
- https://martinheinz.dev/blog/44
... en recherche d'alternatives / solutions
... voir d'un alt. à Docker :
https://medium.com/nttlabs/containerd-and-lima-39e0b64d2a59
VM
Un container Ce n'est pas lourd comme une VM.
Petite video bien faite a ce sujet.
https://youtu.be/J0NuOlA2xDc
Une VM vient simuler l'intégralité des composants d'un ordinateur, une carte vidéo, une carte mère, son, un processeur, etc
L'application qui crée et lance la VM va démarrer un ordinateur dans votre ordinateur !
On prenait /Quemu/ et MacOSX en ex/ au début de cette {bulle}
{ Bulle } d'origine :::
Non VM
- https://alternativeto.net/software/distrobox/
- https://alternativeto.net/software/lxc-linux-containers/
( l'intérêt ici c'est d'avoir les avantages d'autres distributions sans l'imulation de tout un système -- mémoire / GPU / CPU == plus léger, intégrable, linux first )
... me fait plus penser à de la virtualisation ou à https://www.dosbox.com !
... mais sans doute rien à voir ( je mets juste ici des pistes )
/VS/ VM
- https://github.com/quickemu-project/quickemu (dont MacOSX )
- https://www.osboxes.org/virtualbox-images/
- https://www.linuxvmimages.com (non testé)
- https://bitnami.com/stacks/virtual-machine
( dont env. MYSQL / LAMP + Docker )
Remarque
De nombreux systèmes proposent des VM prêtes au téléchargement
Docker GUI linux
Pour une gestion GUI j'ai test https://www.portainer.io
puis https://podman.io
( et https://podman-desktop.io )
. Il y aussi https://cockpit-project.org
. ( gestion linux dans un Web GUI .. )
. . ( intégration de /Podman/, VM ... )
. Au sujet de Docker / Podman
( / Kubernetes ), un article sur...
https://www.lemondeinformatique.fr
" Come on in and check out what's new in Self Hosted applications and stick around for the Homelab guides ! "
$ Des sites comme { ça }
$ d' alternativeto on en trouve plein...
$ mais le design et degrès d'édition est différent
> ex : https://thewhale.cc
Un n'ieme site dédié à la config/install d'app auto-hébergées
... trouvé durant ma remise sur pied de /HedgeDoc ( ici )
https://liens.vincent-bonnefille.fr/?N9aC7g
" Une plongée dans la sexualité de deux jeunes couples qui décident de sortir de leur zone de confort et de vivre selon leurs désirs. Une série cocasse et rafraîchissante imaginée par les bédéistes Thomas Cadène et Joseph Safieddine (Été), portée par un irrésistible quatuor d’acteurs. Premier épisode : Léo voit sa vie bouleversée par l’annonce que lui fait sa compagne Emma. "
Répertoire / Index mis à jour (1/1h) des relais / noeuds de sortie de Tor
Très utile pour détecter les utilisateurs du dn_tor_onion ;)
J'ai aussi trouvé https://bgp-tools.com/torlists.html ( à comparer todo )
Une solution alternative à la liste officielle proposée par le Tor Project qui... :
- n'est pas toujours à jour...
- index de faux positifs ( des IP qui ne font pas partie du réseau )
- pas d'IP_V6 ( qui devient la norme )
--> Peut donc représenter une alternative pour reccueillir les adresses du /DescripTor
listes ( TProject - CollecTor )
Les listes sont mises à jour :
- https://metrics.torproject.org/collector.html#relay-descriptors
- https://metrics.torproject.org/collector.html#exit-lists
( dans des fichiers datés distincts )
Voir aussi...
- https://2019.www.torproject.org/projects/tordnsel.html.en
- https://stem.torproject.org/api/descriptor/tordnsel.html
listes ( Fission )
https://lists.fissionrelays.net/tor/
exits.txt: Exit nodes only, IPv4 and IPv6. Use this list to block traffic to your site from the Tor Network.
exits-ipv4.txt: Exit nodes only, IPv4 only.
exits-ipv6.txt: Exit nodes only, IPv6 only.
relays.txt: All relays within the Tor Network, exit and non-exit, IPv4 and IPv6.
relays-ipv4.txt: All relays, IPv4 only.
relays-ipv6.txt: All relays, IPv6 only.
updated.txt: The time in UTC when the list was last updated.
scripts :)
- {cette bulle} https://gitlab.com/fissionrelays/lists/-/blob/master/tor.php
- alt ( pyhon ) https://liens.vincent-bonnefille.fr/?CgmMmA
- https://blog.atagar.com/stem-release-1-8 ( using /Stem.python )
[good reports, updates, tips, reviews]
/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 )
2025
( pas facile à installer wetty )
TRY ttyd
GIT
- https://github.com/tsl0922/ttyd
-
HELP
- https://fr.linux-console.net/?p=20489
- https://github.com/tsl0922/ttyd/wiki/Example-Usage
INSTALL
- https://github.com/tsl0922/ttyd/releases
-> ARCHITECTURE (attention cpu) - `cp /dwl/path/ttyd... /usr/bin/‘
COMMANDE
sudo ttyd -W -p 9000 login
( NB : -W make it interactive, can type, carfulle in prod )
( SOURCE : https://github.com/tsl0922/ttyd/issues/1217#issuecomment-1755851524 )
NGINX
PASSWORD protect NGINX
sudo htpasswd -c /etc/nginx/.htpassttyd USERNAME
Config
server {
server_name shell.host.com;
root /var/www/html/; # Random
charset utf-8;
listen 80;
listen [::]:80;
location / {
# PASSWORD
auth_basic "Administrator’s Area";
auth_basic_user_file /etc/nginx/.htpassttyd;
# PROXY PORT
proxy_pass http://127.0.0.1:9000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 43200000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
}
}
( restart Nginx )
ADD Cert (ssl)
sudo certbot --nginx -d shell.host.com
EXTRA_SCRIPT.sh ( tmux + login )
#!/bin/bash
tmux new -s session_name -c sudo /usr/bin/login
Tmux conf
~/.tmux.conf
Service
sudo nano /etc/systemd/system/ttyd.service
[Unit]
Description=ttyd_login
After=network-online.target
[Service]
Type=simple
ExecStart=COMMANDE EXTRA_SCRIPT.sh
Restart=always
RestartSec=2
TimeoutStopSec=5
SyslogIdentifier=ttyd
[Install]
WantedBy=multi-user.target
Autostart
sudo systemctl enable ttyd
Content sharing / reading
-
Hypothes.is // annotations collectives #<3
https://hypothes.is -
Are.na // Collection/Curation du web #<3
https://www.are.na
Tableaux
-
Excalidraw
: https://excalidraw.com -
Miro // la porche, pas libre
Avec on peut bouger / ajouter / annoter des éléments tous.tes ensemble !
Très fluide, efficace, propriétaire.
: https://miro.com/fr/ -
MilaNote // Miro-like #<3
Agencer des contenus en drag-n-drop, présenter, annoter, etc
Un interface fancy comme Miro
: https://milanote.com/ -
Okso // dessiner, lier, noter
Sobre, non interactif, permet de faire des présentations pas en live, on sauvegarde les pages.compositions dans des fichiers locaux (serverless) : "The OkSo app is a Progressive Web App (PWA)" https://okso.app/about
: https://okso.app -
Digiscreen
Un tableau libre où disposer des contenus numériques
: https://ladigitale.dev/digiscreen/ (via)
IDE en ligne
Il y a plein d'IDE qui sont "passés" online !
( des interfaces graphiques de développement )
VSC s'y est mis : https://vscode.dev
( on est chez Microsoft, bof bof )
J'utilisais : https://www.codetogether.com
Chez la concurrence directe il y a :
https://www.jetbrains.com/code-with-me
Ya aussi :
... https://duckly.com
... http://demo.icecoder.net / https://replit.com / https://codesandbox.io
. . . mais on peut trouver plus modeste, simple
web_master VS indieweb ;)
Progra. Dev.
-
Glitch // je l'utilisais pour des cours d'introduction au code
Il est gratuit (on peut ajouter des ressources si le projet est trop gourmand)
ya une gestion des fichiers, un terminal, un preview (dont auto-refresh)
L'intérêt vàv de https://codepen.io c'est le côté interactif
: https://glitch.com -
CodeBoard // Glitch-like
Un interface moins accueillant mais des fonctions très proches. La nécessité de s'inscrire.
: https://codeboard.io -
Neocities // un hébergeur de fichiers simples avec éditeur rudimentaire #<3
Une référence dans le indieweb (gratuit, associatif)
Mais quelques restrictions.manques.limites
: https://neocities.org
MAIS AUSSI ( 2023 )
- https://wowchemy.com/?utm_campaign=poweredby (free lesscode)
- https://vercel.com (environement de déploiement) //
- https://netlify.com
... utilisé pour installer par ex. /Jekyl/ + sync avec git
... jardin numérique : https://liens.vincent-bonnefille.fr/?fEu6wQ
- Ghost: The Creator Economy Platform
https://ghost.org - Hexo
https://hexo.io - HTMLy - PHP Blogging Platform, and Flat-File CMS <- No DB !
https://www.htmly.com
LiveCode - Editors
-
CodePen // La référence
Tout clef en main
https://codepen.io -
JsArena // Js avec console
Interface scindé (2 panneaux), simple élégant, efficace !
Compte.Sauvegarde via Github
: https://jsarena.dev -
PlayCode
Plus abouti que JsArena, GUI plus léchée, avec Preview (3 panneaux)
Plusieurs templates de départ (js/Vue/Bootstrap/etc)
Proposent des cours : https://playcode.io/learn
: https://playcode.io/javascript-online
la star ( bonus ) alt. à Miro
- Hotglue // Tableau drag-n-drop #<3
Pour présenter des contenus, faire des sites à la façon web-n-craft : indieweb
Un projet collectif : http://kabane.org/thema/surveillance/
: https://hotglue.me
Pensez aussi aux variants et variances d'éditeurs collaboratifs tel EtherPad :
https://liens.vincent-bonnefille.fr/?searchtags=EtherPad
Par exemple :
- Your World.Of.Text // écrire à l'infini #<3
Écrire toustes ensemble sur un tableau noir infini ( textuel ascii_art )
https://www.yourworldoftext.com/~vincentb/
Kanboards / Organisation
Je faisais une recherche sur @Evgeny_Morozov pour ajouter son livre à ma #.bib ::
https://bib.vincent-bonnefille.fr/book/179
Et je suis tombé sur la traduction en français Le mirage numérique
https://librairie.bibliothequeantigone.org/livre/854-le-mirage-numerique-pour-une-politique-des-big-data chez Antigone, un chouette catalogue de livres libertaires/luttes :
" L'association Antigone a à cœur depuis sa création de diffuser les pensées minoritaires et divergentes. Sa librairie (comme sa bibliothèque), est le reflet de son engagement pour donner une place aux idées anarchistes, et aux pratiques autogestionnaires et à la lutte contre toutes les formes de domination mais pas seulement. "
Antigone, café bibliothèque librairie,
( 22 rue des violettes à Grenoble )
StoryTime :
Comme je sors de quelques mois de travail chez https://serendip-livres.fr j'ai un peu mieux compris ce que ça veut dire gérer des stocks, des commandes, une masse de facture : actualiser des flux, soutenir des éditeurs, motiver des libraires, etc.
Je faisais pas tout ça mais j'ai pu voir.sentir un peu...
Et je trouve ça intéressant de voir comment s'intermédient des logiciels entre tel et tel moment de la diffusion et production d'un contenu.objet !
Quels logiciels, front/back-end ??
Aussi, je trouvais ici intéressant de regarder les outils du catalogue proposé par Antigone (que je découvre). En dehors de son catalogue riche pour s'armer intellectuellement, essayer de voir les outils libres et accessibles pour de petites structures associatives, motivées dans la diffusion de contenus.produits .
Grâce aux sources (données en bas de page par des liens accesibles) je découvre https://abstock.gitlab.io et http://abelujo.cc
Ya aussi Babello (carte + ISBN)
Via https://asso-ail.org/2019/09/28/inventaire-gerez-votre-bibliotheque-librement/
/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 )
Histoire de (re)prendre la main sur la création d'adresses en oignon (et script) j'ai dédoublé mon projet de bibliographie (bibliothèque de livres numériques)
En le faisant je me suis demandé l'intérêt .
Et oui, quelle différence entre ces deux adresses ?
https://bib.vincent-bonnefille.fr
http://u3kfftpqmmrqpslbye2rcwy2doxasqly2sjirxdggslkbth6jmdqh7yd.onion
La seconde est super longue,
générée aléatoirement ( avec un principe qui en fait un objet unique :
qui veut dire quelque chose, qui fait belle et bien référence à une adresse,
un ordinateur-serveur accessible en s'y connectant via le protocole Tor )
mais renvoie au même contenu .
C'est un mirror
(mon beau miroir) un double par l'accès...
mais, en l’occurrence ici, pas une copie !
Les deux mènent au même endroit, aux mêmes bits et programmes (:
Pour que ce soit tout à fait exclusif il faudrait que l'une n'existe pas.
Et puis on peut se demander l’intérêt vu qu'à priori rien d'illégal ne s'y échange.
Je ne risque rien (dans les conditions que je crois connaître de la légalité actuelle).
Par exemple, ce projet pourrait devenir un espace de piratage d'ebook.pdf ...
mais ce n'est pas mon projet : je ne saurais me positionner éthiquement ...
https://liens.vincent-bonnefille.fr/?UJJg-A (infos sur le projet.motivations)
Aperçu
Digression : sites clandestins, captcha
: perte d'identité, conséquences sur la fluidité de navigation (et contournements)
Beaucoup de (b)logs.sites engagées dans des activités militante ou illicite ( pareillement contraints politiquement ) font le choix d'une "transversion" du CW (ClearWeb
) vers un ou plusieurs hébergements passant par des protocoles sécurisant (l'origine de leur serveur, est alors plus difficile à saisir.interdire.censurer) et (l'origine de leurs visiteurs qui passeraient par ces canaux)
. . .
. Je précise tout de suite que quand on se connecte via un DN, dans la plupart du temps, on peut aussi accéder au reste du web. Tor est ce qu'on appelle un MixNet
, il profite de l'infrastructure d'internet (câbles et TCP_IP
, et langage.API des navigateurs, etc). Aussi un utilisateur avec une IP non "normale" (listée.discriminée comme étant un point de sorti de Tor) pourrait bien se connecter à la version du CW sans anonymat.
. La communauté Tor travaille d'ailleurs à mieux dissimuler les usagers de Tor qui, en se baladant sur le CW hyper surveillé.administré.prévoyant des attaques, liste.log IP(s) et autre fingerprints
numériques et donc, demande souvent.parfois des vérifications de votre humanité (des Captcha
).
. La comu' Tor a annoncé un système à venir de token
partagés pour réduire ce désagrément, fluidifier la navigation web, berner les systèmes de sécurité... (qui à leur tour chercheront la parade pour sécuriser leurs espaces).
cf (sur le projet Tor, les projets 2022+) :
https://liens.vincent-bonnefille.fr/?ynzBsA
. . .
Reste à savoir si ces doubles militants.pirates.citoyens ont eux des locations différentes...
. Sans oublier qu'à être sur un DN d'autres avantages subsistent (avant que la police rentre dans des locaux pour débrancher des routeurs) les états.institutions de régulation peuvent agir de milles façon pour empêcher l'accès à un site !
. En modifiant le DNS
pour que quand je tape.clique l'URL d'un site je me retrouve dans un trou.noir, une page blanche ou nulle. Dans ce cas le site n'est peut-être pas fermé mais juste rendu inaccessible (mon navigateur qui demande au DNS ne trouve pas l'adresse IP du serveur.site . C'est une censure peu onéreuse. Un DNS alternatif, décentralisé.autonome, peut rétablir le lien entre ma requête et le serveur (du fait de ne pas être affecté par l'intervention politique du DNS. . .
.
( d'autres méthodes de dissimulation, suppression des sources - dont la désindexation )
Tor et des organisations tels Privacy Watch publient chaque année des rapports (et Metrics) permettant de faire corrélation.lien entre les censures politiques et moyens techniques qu'ont les populations pour les contourner.
Lumen permet d'observer une partie de ce phénomène...
https://liens.vincent-bonnefille.fr/?3LJelw (bulle suivante)
https://www.lumendatabase.org
Les motivations à la censure varient
Nos démocraties (qui nous semblent l'aboutissement infranchissable en politique) ne sont pas exentes de dérapages autoritaires ou in.séparation des pouvoirs. . .
On peut vouloir se cacher pour de bonnes raisons
Et on peut agir clandestinement au regard de la loi sans pour autant soi-même la reconnaître comme légitime.
On peut être militant (ou simplement soi-même) et soudainement ne plus avoir droit au chapitre...
Exiger le droit à l'adresse est fondamental
.
Une adresse à rallonge et alt.DNS
Avoir une adresse Tor prend quelques secondes, elles sont auto-générées, ne coûtent rien (mais la capacité à faire tourner un serveur) pas d'hébergeur à payer tous les ans/mois . Elles sont par contre non mnémotechnique facile à écrire.lire.
. À ce sujet je me rappelle avoir lu sur le Triangle de Zooko
ou l’enjeu d'un DNS sécurisant, humainement praticable et décentralisé... il s’agit de préconiser des bonnes pratiques dans l'invention d'un nouveau proto de communication
. On notera que les DNS tentant de réguler ce problème sont nombreux.
wiki https://fr.wikipedia.org/wiki/Triangle_de_Zooko
Ajout . Promotion sur les oignons !
Sur le site hébergé 'normalement' sur le CW l'admin.webmaster peut indiquer en en-tête (meta) qu'il existe un équivalent hébergé sur le DN Tor en indiquant son adresse #.onion
https://community.torproject.org/onion-services/advanced/onion-location/
Source (blog assez riche) https://www.ctrl.blog/entry/tor-onion-location-header.html
. Je l'ai intégré sur ma bib. histoire d'en faire la promotion !
Bonus
J'ai aussi remis mon mirror .loki
en ligne
http://5jk8tcgeiddkq6byq59jjmufe9ttmoojrcdqw14gew359qfziiwo.loki
La suite consistera à en faire plus qu'une landing page (vide) : todo
S'il y avait bien un site de référence sur le CW pour parler DN c'était bien /DeepDotWeb/ qui s'est fait saisir par Europol et autres services (pour blanchiment et autres choses moins réjouissantes encore).
Toujours est il qu'en façade le site donnait des infos de qualités sur l'actualité des marchés. Il en faisait abusivement la promotion et restait l'un des point d'entrée du /RabbitHole/...
Dans la foulée des faux sites.markets ont ouvert, d'autres sont tombés... le massacre des années 2017 2019 .
Or, aujourd'hui je me demandais ce qu'il reste de cet héritage. Je suis tombé sur https://deepdotnet.com une pale imitation qui sur.produit des articles à la chaîne... beaucoup sur les VPN... un autre marché, celui de la confiance.doute envers l’outil (et son accès exclusif via abonnement).
Bon, pour le moment, je n'ai pas vraiment trouvé d'alternative de qualité pour enrichir ma veille de hacker
https://www.darknetstats.com ... https://www.hackread.com
...
beaucoup de sensationnalisme, pas toujours du fond.
en même temps l'actu n'est pas toujours fournie, il faut bien produire...