Il te faut :
pkg install nodejs
sudo apt install nodejs npm
node -v
# Doit afficher v18.x ou plus
npm -v
# Doit afficher 9.x ou plus
npm install -g @adnimicorp/uslink
uslink --version
# â 0.5.x
uslink doctor
# â Diagnostic complet
uslink init
Ăa crĂ©e un dossier ~/.uslink/ avec :
uslink.conf â configuration principalesites.d/ â configurations des siteslogs/ â journauxEt un nodeId unique t'est attribuĂ©. Note-le :
uslink nodeId
# â 5cf7dc74be1b5269 (exemple)
mkdir -p ~/mon-site
cat > ~/mon-site/index.hrl << 'HRL_EOF'
<page title="Mon site">
<body>
<h1>Bienvenue sur mon site Spider</h1>
<p>Mon premier site décentralisé.</p>
<link usl="/about">Ă propos</link>
</body>
</page>
HRL_EOF
cat > ~/mon-site/about.hrl << 'HRL_EOF'
<page title="Ă propos">
<body>
<h1>Ă propos</h1>
<p>Je suis un nĆud Spider.</p>
<link usl="/">â Retour</link>
</body>
</page>
HRL_EOF
uslink site add mon-site ~/mon-site --default
uslink start
uslink status
Tu dois voir :
â
uslink tourne
nodeId : 5cf7dc74be1b5269
VIP : 10.147.149.121
Sites : 1
â
mon-site (2 fichiers)
curl -s http://127.0.0.1:8080/site/mon-site/ | head -20
uslink share
Ăa affiche :
usl://<nodeId>/usl://10.147.x.y/Tes amis n'ont rien Ă faire. Ils ouvrent SpiderBrowser, tapent ton URL, et c'est en ligne.
Enregistre ton nom dans le relais public :
curl -X POST https://sp.adnimi.com/api/register \
-H "Content-Type: application/json" \
-d '{"name":"monsite","nodeId":"<ton-nodeId>","host":"<ton-ip-publique>","port":7777}'
Ton site devient accessible sur https://monsite.sp.adnimi.com/.
Par défaut, ton site n'est accessible qu'en LAN. Pour qu'il soit joignable depuis partout, tu as 3 options :
Si tu as un VPS, lance uslink dessus. Simple et efficace.
cloudflared tunnel --url http://localhost:7777
Ăa te donne une URL publique temporaire.
7777 vers ton appareilcurl ifconfig.meLe relais sp.adnimi.com est un annuaire public. S'y enregistrer rend ton site accessible Ă tous.
curl -X POST https://sp.adnimi.com/api/register \
-H "Content-Type: application/json" \
-d '{
"name": "monnom",
"nodeId": "'$(uslink nodeId)'",
"host": "'$(curl -s ifconfig.me)'",
"port": 7777
}'
curl -s https://sp.adnimi.com/api/list
curl -s https://monnom.sp.adnimi.com/
Ou dans Chrome : https://monnom.sp.adnimi.com/
curl -X DELETE "https://sp.adnimi.com/api/unregister?name=monnom&nodeId=$(uslink nodeId)"
Mapper un chemin à un dossier différent :
uslink site route mon-site /blog ~/mon-blog
uslink site add blog ~/mon-blog
uslink site add shop ~/ma-boutique
uslink site list
uslink site default blog
uslink logs -f
uslink doctor