Un peu de Regex (de bon matin)
j'utilise souvent https://regex101.com
qui permet entre autres de sauvegarder
NOTE : /Regex101/ a un debugger !
--> https://regex101.com/r/BDV74e/1/debugger
je viens de découvrir https://www.debuggex.com (cette {bulle}) via :
"Test your regex by visualizing it with a live editor. JavaScript, Python, and PCRE."
Debuggex et les autres
/Debuggex/ indique cibler des entreprises
En payant on peut sauvegarder +de regex
... /D/ est il en toujours en dev ? ( blog posts : 2013 )
.... https://alternativeto.net/software/debuggex/about/ -> Discontinued
Semblables, à tester :
( moins bien ergonomiquement )
- /Regulex/:JavaScript Regular Expression Visualizer
https://jex.im/regulex/#!flags=&re=%5E(a%7Cb)*%3F%24 - /i Hate Regex/ - The Regex Cheat Sheet
https://ihateregex.io/
Story
J'ai voulu refaire un Parser de md_markdown -> JS
Bon en Regex ca se fait mais la mutliplication des cas particuliers rend vite la chose compliquée ! Un bon outil de diagnostique/débug devient vite essentiel !
Pour quoi ?
Pandoc fait bien le boulot !
Oui oui mais j'ai quelques habitudes particulières dans mon écriture au quotidien !
écrire c'est structurel mais on a nos propres mods de prise de note par exemple.
Des mécanismes de renvois
Ex/ j'utilise @ et # ( pour les auteur.ices et tags ) : comme {ici}
Ex/ j'utilise des renvois (indent)
...
des choses qui sont absentes ou mal interprétées dans les parser "de base"
: ca me sufisait pas, je voulais mon propre moteur
Dans cette recherche
Un raccourcis : des Regex pour cibler les éléments de md_markdown
liens ( [text de desc](http://monlien.fr) )
-
https://medium.com/@mattkenefick/regular-expressions-markdown-to-html-anchors-1e7d52905517
-
Embed :
\[([^\]]+)\]\(([^\)]+)\)
Debuggex Demo
Docker acces via SSH
Objectif :
Simplifier le développement en accédant aux fichiers de mon container Docker via SSH
( on ouvre le container comme dans un gestionnaire de fichier )
STORY (motivation)
J'installe un nouveau Shaarli
( autour d'un #corpus élargi ) ( qui sera privé )
Je voudrais suivre la branche Master du projet Shaarli
( {ici} j'ai bifurqué pour ajouter quelles fonctionnalités )
( {ici} j'ai ajouté un champ pour l'aperçu illustrant chaque {bulle} )
( l'image à gauche... car parfois Shaarli n'en trouve pas dans la page/lien )
Ajout de champ
Dans la nouvelle version je veux ajouter le même champ
... en suivant la documentation : edit_link_plugin
En faisant mes propres recherches...
je m'aperçois que le plugin Démo nous montre la voie :
- https://github.com/shaarli/Shaarli/tree/master/plugins/demo_plugin
( après, intégrer par moi-même un field.champ n'avait pas été compliqué )
( la Démo nous montre comment l'ajouter + enregistrer -pas comment l'intégrer )
Bug
Malheureusement, dans la nouvelle version de shaarli il y a un bug...
- https://github.com/shaarli/Shaarli/issues/2000
- https://github.com/shaarli/Shaarli/issues/1808 )
qui fait que l'ajout de champ + récupération des données ne marche pas...
( ... c'est bien la peine que je mette en place un accès à mon Docker SSH en local )
Docker
Du coup je repars sur une version Docker
Et pour faire ça (mes modifs / ajouts)..
je vais vouloir interagir avec le contenu de container de façon fluide.
. La technique "normale" consiste à récupérer un fichier dans le Container
. L'éditer
. et le remettre...
. . cela me semble fastidieux...
Du coup, j'ai envie de tester avec SSH !
Pour cela le container doit faire tourner SSH
( et ses ports doivent être ouverts vers l'Host )
( Host = hôte = machine.ordi dans lequel est installé Docker qui contient le container)
( Ordi = Host > Docker > Container(s) > OS > Apps.services, ex: Shaarli )
Version courte
( open host -> docker )
sudo docker exec -it -u root DOCKER_NAME sh
( dans docker )
sleep 1
echo "--- Install stuffs"
apk update; apk add openssh-server
apk add openrc openssh
# opt
apk add --no-cache nano
apk add --no-cache bash
echo
echo "--- Generate SSH Keys" && sleep 3
mkdir -p /root/.ssh
chmod 0700 /root/.ssh
ssh-keygen -A
echo
echo "--- allow ROOT Authentification" && sleep 3
echo " " >> /etc/ssh/sshd_config
echo " " >> /etc/ssh/sshd_config
echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config
echo "PermitEmptyPasswords yes" >> /etc/ssh/sshd_config
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
echo
sleep 1
echo "--- creat ROOT password"
passwd
echo "\n------- ALL CONFIGURED ==> reStart \n"
echo
echo "--- reSTART sshd, can be long" && sleep 3
rc-status
touch /run/openrc/softlevel
/etc/init.d/sshd restart
( ok, on exit du Docker_Container )
( on chope son IP, on s'y connecte en SSH )
echo "---- You can exit"
exit
echo "\n------- HOWTO CONNECT \n"
echo
echo "then get Container IP"
echo "D_NAME == Container Name"
echo "docker container inspect -f '{{ .NetworkSettings.Networks.shaarli_default.IPAddress }}' D_NAME"
echo
echo "---- Then connect"
ssh root@172.17.0.X -p 22
Marche à suivre (notes installation)
SOURCES
- https://dev.to/yakovlev_alexey/running-ssh-in-an-alpine-docker-container-3lop
- https://techoverflow.net/2021/05/17/how-to-enable-ssh-root-login-on-alpine-linux/
DOCKERFILE
( ex. instructions - shot version )
- https://gdevillele.github.io/engine/examples/running_ssh_service/
- https://stackoverflow.com/a/68302177
PORT forward
( Port SSH par défaut : 22 )
( Connexion Host -> Docker )
0.0.0.0:2222 22/tcp
! at dock creation
--publish 8800:80 --publish 2222:22
Go into Docker Container
( where to install ssh-serveur access )
( on pourra aussi créer un nouvel utilisateur non root )
docker exec -it -u root D_CONTAINER_NAME sh
INSTALL d'app/services via APK (Alpine)
apk update
apk add openssh-server
apk add openrc openssh
Optionnel
apk add nano
apk add bash
INIT CONFIG SSH
mkdir -p /root/.ssh
chmod 0700 /root/.sshssh-keygen -A
rc-status
touch /run/openrc/softlevel
/etc/init.d/sshd start
SET PWD (root)
passwd
passwd -u root # <- UNSET = null
Allow Host SSH->Container connexion
( default user is root )
( here we allow for root, not most secure )
( ... you can creat a new user if needed )
For Root user :
nano /etc/ssh/sshd_config
PermitRootLogin yes
authentification w/ pwd
PasswordAuthentication yes
PermitEmptyPasswords yes
... THEN on redémarre le service SSH
... pour qu'il fonctionne avec nos nouveaux paramètres
service sshd restart
CONNECTION
GET CONTEINER IP
( into docker > sh/bash )
ifconfig
( or outside, from host )
sudo docker container inspect shaarli_e2jk | grep -i IPAddress
( or )
docker container inspect -f '{{ .NetworkSettings.Networks.shaarli_default.IPAddress }}' D_NAME
FINALY : CONNECT
ssh root@172.21.0.2 -p 22
PASSWORD
AUTOreSTART - OPENRC
- https://docs.alpinelinux.org/user-handbook/0.1a/Working/openrc.html
- https://www.linuxtricks.fr/wiki/openrc-les-commandes-essentielles (FR)
- https://wiki.gentoo.org/wiki/OpenRC_to_systemd_Cheatsheet
- https://www.cyberciti.biz/faq/how-to-enable-and-start-services-on-alpine-linux/
ex
Status
service sshd status
Redémarrer
service sshd restart
-- auto-restart (on host restart)
( rc-update add <service> <runlevel> )
rc-update add sshd
( not working for me )
-> temp. solution
sudo docker restart D_NAME
sudo docker inspect D_NAME -f "{{json .NetworkSettings.Networks.bridge.IPAddress }}"
AUTRES PISTES
C to C
MAJ 2024
Installation de Baikal qui est bien plus complet dans la gestion d'utilisateur.ices / calendriers... UI plus compète.
Un bon tuto, memes conclusions vàv de /NextCloud/
https://nicolasforcet.com/baikal-liberez-vous-de-google-avec-ce-tout-petit-serveur-de-calendrier-caldav/
Story
J'ai installé un service de calendrier / tâches / listes ( et contacts ) : /Raicale/ !
Lire les buts / motivations de ce dev. (en anglais) :
J'aime bien :
- le logo
- le jeu de mot
cal comme dans calendrier
cal comme dans /webcal/
cal comme dans /Radicale/ !
+Léger qu'un /NextCloud/ mais sans interface web (GUI)
+Centré sur les Calendriers+Carnet d'adresses !
+Tourne vite, s'installe vite (python)
+Gestion simple d'Utilisateur.ices à la main (bash-cli)
+URL d'abonnement auto-générée
Compatibilité
Android
Marche super avec https://f-droid.org/packages/at.bitfire.davdroid
Autres
Testé via GoogleAgenda / AppleCalendar (OS 10.10) / Gnome Agenda / Thunderbird : OK
iPad ?
dommage, j'ai pas réussi à interagir depuis l'iPad à jour
Finalement ca marche
-> $URL/$USER/ = ok
( oui c'est un projet familiale, )
( et la mif' est sur des systèmes mentalement clos )
Extras
Quelques Plugins à test todo
Alternativeto
Une alternative avec + de fonctions + GUI
@Domenico_Quaranta propose un essai autour de l'expo réalisée en 2022
- https://distant.gallery/the-byzantine-generals-problem
- https://aksioma.org/byzantine.generals.problem
Quelques pièces critiques
NFT Concepts
@Sterling_Crispin
https://www.sterlingcrispin.com/concept.html
Ethereum Emissions: A Bottom-up Estimate
@Kyle_McDonald
->
article sur la réussite de transition énergétique d' Ethereum
- https://digiconomist.net/ethereum-energy-consumption
papier final de @KMcD - https://arxiv.org/abs/2112.01238
Immersion dans la matrice parmi les circuits imprimés, les microprocesseurs et les lignes de codes, à la suite d'une génération d'informaticiens défricheurs...
Nous reviendrons ici à l’époque où l’ordinateur – le terme est apparu en français vingt ans plus tôt - ambitionne de ne plus s’adresser seulement aux étudiants du MIT, de Harvard ou de Berkeley, pour enfin se diffuser auprès du grand public. Depuis l'après-guerre, les calculateurs réduisent progressivement en taille, tandis que programmeurs et développeurs inventent de nouvelles applications à ces drôles de machines. Ce mouvement aboutira au tout début des années 1980 à la création des premiers personal computers, les fameux PC.
On y cite par exemple la très bonne série
Halt and Catch Fire
TOC
Story
Janitor
scraper
WebGrep
Alt
Headless
OutilspourMD
Annoter
Linkscheckers
Tunnels
Archive
indexserveur
Textpocessing
via
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
An interactive visualization of 150.000 butterflies from the Natural History Museum in London, arranged by visual similarity using t-SNE and deep neural networks.
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 notificaitons 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.vincent-bonnefille.fr/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 )
A friendly ring of cool websites. Join today!
( ça faisait longtemps... un petit webring )
( ou, comment se perdre un peu plus loin )
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
Annonce de la sortie du livre @Pacôme_Thiellement :" Infernet " ( <3 @Infernet )
https://www.parislibrairies.fr/livre/9782380353815-infernet-pacome-thiellement/
La question de l'exclusion.inclusion des monstres est cruciale dans ma réflexion sur les infernets. Comment se raconte le droit légitime d'exister (ou ne pas naître.apparaitre ) ?
Quelles sont les modalités de résistance des communautés censurées.interdites ?
Comment s'organise la reconnaissance d'un soi assiégé ?
Quel sur.vivre minoritaire ?
@Blast : 29 janv. 2023
https://www.youtube.com/watch?v=hmylgWaFbk4
" La règle du Norm Show, c’est l’humiliation, la sélection et l’exclusion.
Celle du Freak Show, l’humilité.
Une humilité qui naît de la conscience de la cruauté de l’existence, mais aussi de la beauté qui peut naître des relations humaines au sein de celle-ci. La vingtaine de Freaks montrés dans le film de @Tod_Browning sont essentiellement des hommes et des femmes réduits ou mutilés. Paradoxe de la part d’un quasi-géant, Freaks célèbre la puissance de ce qui est petit et la force de ce qui est faible.
La constante du Norm Show, c’est la réaction à l’actualité. C’est une soumission implicite à une lecture chronologique du Temps. Une vision progressiste ou réactionnaire, mais qui, dans les deux cas, nous place toujours dans un entre-deux restreint ; ce moment intermédiaire, hériter d’une histoire récente, meilleure ou moins bien, et qui se projette dans un futur lamentable ou radieux.
La constante du cirque, c’est l’anachronisme. C’est un instant qui échappe au Temps en faisant se mêler explicitement le passé le plus archaïque et l’utopie la plus folle, le tout dans un présent circulaire où tout a lieu à la fois. Le Norm Show a beau s’autoriser d’une vision du monde oi-disant pérenne, il est toujours dans la crainte de la ringardise. Le Freak Show, lui, n’est pas dans le Temps.
Freaks, c’est là d’où nous venons. Et c’est là où nous allons. C’est la disparition de Hollywood comme religion et la réapparition de Carnaval. Et les indices de son retour sont aujourd’hui visibles partout.
Des « Freaks » de Los Angeles aux supposés « Wokistes », des Hippies aux Hipsters, tous les mouvements de la jeunesse des cinquante dernières années portent en eux la nostalgie de cette existence humble et colorée, chaotique et vivante, faite de métamorphoses et de relations libres, qui fut notre première existence. Elle l’est encore, et elle le sera toujours.
Le visage qu’ils lui font porter peut parfois apparaître comme une simplification, une réduction ou une caricature. Incarcérés aujourd’hui dans les prisons psychiques des réseaux sociaux et leur encouragement tacite à l’obsession de la notoriété, ces mouvements sont, trop souvent, traversés par des appétits de réussite individuelle. Voire par la tentation, pour chacun, de s’ériger en juge des autres – de devenir dur et raide.
Peu importe. Ils sont avant tout porteurs d’une promesse. La promesse que nous ne supporterons pas éternellement ce monde sacrifié à une idée fausse de l’humanité –« normalisée », stéréotypée, hiérarchisée, c’est-à-dire faite pour la guerre de chacun contre tous et de tous contre chacun.
Et, à chaque fois qu’on regarde Freaks, ce qu’on ressent, individuellement comme collectivement, c’est à la fois la nostalgie de l’Age d’or et le désir d’un monde où l’humanité serait unie à travers ses différences. La nostalgie d’un monde où la blessure de chacun était portée par tous et le désir d’un monde où la joie de chacun serait portée par tous.
Un jour, nous rirons ensemble de ce monde menteur.
Là où est la fin, là aussi sera le commencement :
Le Norm Show doit disparaître. " [...]
Une exclusion qu'on retrouve et file {ici} à partir de la notion de Carnaval
associée à l'Utopie /ou/ Uchronie
à un espèce d'espace autre
un à côté :
punitif avec la prison,
le cimetière, le cinéma,
la /Nef des fous/
: une hétérotopie
Pour moi, le Carnaval == teuf_fête
L'hétérotopie est un concept forgé par Michel Foucault dans une conférence de 1967 intitulée « Des espaces autres ». ( wiki[FR] )
Une anarchie :
on coupe/renverse la tête
elles n'est plus sur les épaules du roi.souverain
mais change de main.
C'est l'img du fou
qui en symbole détrône sans usurper
. fig. du sage malicieux
. de la singerie,
. de la satire qui dit vrai
🌍 A list of public Send instances. Mirror. Contribute to timvisee
/Send/ etait maintenu pat Mozilla
une alt reprend le projet /fsend/
On trouve de super instances pour s'envoyer des fichiers sans passer par /Sendit/
https://github.com/timvisee/send-instances/#instances
ex https://send.datenpost.app/
Et cest bien utile pour envoyer a d autres des fichiers
sans passer par Google Drive, sécurisé mais pas top niveau Vie Privée
des fois un pad suffit tel /PrivateBin/
https://bulle.vincent-bonnefille.fr/s/privatebin/
....
mais sinon ya plein de projets denvoi de fichiers avec une page dans lquelle on peit drag n drop sa pépite de fichier /+ choisir une durree de vie /+ mot de passe
( dont Link : https://linx.bonnebulle.xyz ( alt un peu faible .to Send )
( qui permet l'envoi de fichiers temporaires )
( là où /FileBrowser/ permet d'accéder à un dossier distant )
( un peu comme le ferait un acces FTP mais via le Web )
+ https://file.bonnebulle.xyz ( projet_perso )
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 )
@Mental_Outlaw 2023
Un nouveau navigateur_browser web
par l'un des meilleurs services vpn = mullvad
: https://mullvad.net/fr/browser
( génère des clefs utilisateur sans mail/id/phone )
( et utilise vpn_WireGuard )
Un navigateur qui propose une belle alternativeto tor !
( ou /Librewolf/ en empêchant moulte ads_tracking )
Le tout avec une navigation/usage +simple
( moins de Captcha pour vérifier si cette adresse IP sert un bot )
et une forte communauté, prête pour l'avenir
Un comparatif
(ressource dans {cette vidéo}) :
More videos de @Mental_Outlaw
( au sujet de tor et autres dn_darknet )
I2P Could Save the Dark Web From DDOS Attacks
Z-Library Has Been Shut Down (but still lives on Tor)
Now THIS is What a Private VPN Looks Like
Updates on My Tor Relay - 1 Month of Anonymizing Traffic
How I Run Darknets From My Home Internet (Feds are SEETHING)
How To Run Your Own Tor Node
VPNs You Can Buy on The Darknet
Introduction To I2P
Malicious TOR Exit Nodes Spying on Users and Stealing Bitcoin From Them.
Massive DDOS Takes Out All TOR's V3 Onion Addresses
How TOR Works