Contenu | Rechercher | Menus

Annonce

L'équipe des administrateurs et modérateurs du forum vous invite à prendre connaissance des nouvelles règles.
En cas de besoin, vous pouvez intervenir dans cette discussion.

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/03/2018, à 22:03

Zakhar

Montez en 1 clic un lien http(s) ou votre espace 1fichier !

Bonjour,

AStreamFS est un driver "fuse" permettant de monter une URL quelconque. La seule contrainte est que le serveur doit être compatible avec les "range", ce qui est très souvent le cas.

Il existait déjà un httpfs, simple mais "naïf", c'est à dire faisant une requête à chaque "read" reçu. Avec la généralisation de https, cela devient assez inutilisable à cause du temps nécessaire pour le "handshake" qui crée une latence assez gênante dès qu'on veut faire plus que que lire quelques octets.

Au contraire, AStreamFS tâche de maintenir des "streams" chaque fois que c'est possible, et ne fait des requêtes unitaires qu'en dernier recours. Dans ce cas là vous êtes sans doute en accès vraiment aléatoire, et vous devriez considérer récupérer le fichier en local.

L'idée à la base de AStreamFS était de pouvoir me servir plus simplement de mon abonnement 1fichier + fibre.

1fichier dispose bien d'une fonctionnalité "expérimentale" pour "streamer" vos films de vacances ou Big Bucks Bunny que vous avez stocké dans le nuage, mais cette fonctionnalité est... expérimentale !..
La façon dont fonctionne 1fichier, pour les abonnés, est que le lien de redirection est valable 30 minutes (pour autant d'usage que l'on veut). Tout va bien tant qu'on est dans cette limite, mais au delà, si vous avez la malheur de vouloir par exemple faire une pause, votre film de vacance va s'arrêter et vous devrez reprendre toute la manipulation plus se remettre où vous en étiez.
Aussi, la manipulation passe par le navigateur.

Bref... pas vraiment pratique.

L'utilisation de httpfs existant pour 1fichier était impossible à cause des limites signalées ci-dessus, en plus du fait que httpfs ne gère aucune option comme "forcer ipv4", "suivre un redirect", etc...

J'ai donc développé AStreamFS pour pallier à cela.

AStreamFS n'a absolument aucune spécificité liée à 1fichier, c'est un driver "générique".

Par exemple vous pouvez "monter" l'iso d'Ubuntu (16.04.4) sans avoir à le télécharger en premier, simplement de cette façon :

astreamfs -O http://ftp.crihan.fr/releases/16.04.4/ubuntu-16.04.4-desktop-amd64.iso /mnt/iso

Dans votre répertoire iso, vous verrez alors ubuntu-16.04.4-desktop-amd64.iso, vous pouvez alors, à partir de votre navigateur de fichier (Nemo pour moi) faire clic-droit/Ouvrir avec/Monteur d'image disque

... et voila, vous pouvez parcourir votre iso d'Ubuntu sans avoir à télécharger. Vous pouvez alors récupérer des morceaux à l'intérieur de l'iso, la copie se fera essentiellement en "stream".

Package.

Par commodité pour ceux qui ne veulent pas (ou ne savent pas) compiler à partir du source, je vous ai fait un package tout prêt à l'usage pour la version 16.04 (Xenial).
Instructions d'installation :

sudo add-apt-repository ppa:alainb06/astreamfs
sudo apt-get update
sudo apt-get install astreamfs

Note : le package ne contient pas le script d'exemple pour installer 1fichier. Mais comme il vous suffit de récupérer le script sur mon dépôt GitLab, je présume que si vous savez un peu jouer avec les scripts, ce ne sera pas un obstacle !

Compilation à partir du source.

sudo apt-get update
sudo apt-get install git libfuse-dev libcurl4-openssl-dev
git clone https://gitlab.com/BylonAkila/astreamfs.git
cd astreamfs/
cc -Wall astreamfs.c $(pkg-config fuse --cflags --libs) $(curl-config --cflags --libs) -o astreamfs -lpthread
sudo cp astreamfs /usr/local/bin/

Les instructions ci-dessus fonctionnent à partir d'un live-iso Ubuntu.
Vous pouvez adapter selon les packages que vous avez déjà et selon le nom du gestionnaire de paquet que vous utilisez dans votre distribution et des noms de paquets dans le dépôts.


Utilisation avec 1fichier.

Pour l'utiliser avec 1fichier, j'ai mis un script rudimentaire qui prépare la commande et lance astreamfs avec tout ce qu'il y a à la racine de votre stockage 1fichier.

Vous verrez alors par exemple :
Exemple de montage

Ou bien en ligne de commande :

$ ls -l /tmp/1fichier
total 3439536
-rw-rw-r-- 1 alain alain  725106140 mai   27  2008 big_buck_bunny_1080p_h264.mov
-rw-rw-r-- 1 alain alain     151092 mars   3 22:11 pocket-watch-3156771_960_720.jpg
-rw-rw-r-- 1 alain alain 1172428172 mars   3 22:09 Sintel.2010.1080p.mkv
-rw-rw-r-- 1 alain alain      38919 mars   3 22:10 snow-leopard-1985510__340.jpg
-rw-rw-r-- 1 alain alain     140713 mars   3 22:12 snow-leopard-1985510_960_720.jpg
-rw-rw-r-- 1 alain alain 1624211456 févr. 28 20:15 ubuntu-16.04.4-desktop-amd64.iso

Vous pouvez alors utiliser les fichiers de votre stockage comme si c'était des fichiers locaux, simplement en cliquant dessus (gestionnaire de fichier) ou en faisant des commandes dessus.

Le montage est bien sûr "read-only" vu qu'on parle à un serveur http, donc toute commande de modification échouera.

Montage "en 1 clic" 1fichier.
Version 0.7.4 requise + script '1fichier'

Placez dans votre /etc/fstab la ligne suivante:

/your/path/1fichier#/path/to/credentials /mount/path/1fichier fuse ro,uid=1000,gid=1000,umask=0022,user,noauto 0 0

(remplacez uid=1000,gid=1000 par vos uid/gid si ce ne sont pas les bons)

Votre fichier /path/to/credentials doit contenir l'identifiant et le mot de passe de votre compte 1fichier pour que le script puisse récupérer la liste et la passer à astreamfs.
Ce fichier doit contenir 2 lignes, de la sorte:

id='your_id'
passwd='your_password'

Explication: les options "user" et "noauto" permettent
- à un utilisateur de faire le montage sans droits root
- à ne pas faire le montage au démarrage (le contraire nécessiterait d'autres options car le réseau n'est pas actif quand /etc/fstab est exploité)

Vous aurez alors dans Nemo (ou Nautilus) une icône représentant 1fichier (si vous l'avez bien mis dans votre /home).

Illustration

Il vous suffit alors de cliquer dessus, attendre quelques secondes que le script tourne, et le montage se fait tout seul... "en 1 clic"... magie !..

Bien sûr, vous pouvez procéder de la sorte avec n'importe quel autre montage https/http.

Sécurité : selon la suggestion de Roschan (#25), si le mot de passe n'est pas spécifié dans le fichier de configuration, le script vous demandera de le saisir. Dans ce cas, ce n'est évidemment plus tout à fait du "1 clic"... mais c'est à vous de choisir entre la sécurité et la commodité selon la sensibilité des données distantes dont vous réalisez le montage.

Dernière modification par Zakhar (Le 16/06/2018, à 09:58)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#2 Le 03/03/2018, à 22:39

Zakhar

Re : Montez en 1 clic un lien http(s) ou votre espace 1fichier !

Qu'est-ce que vous pouvez faire pour aider :
- mettre un mot d'encouragement !
- utiliser le truc et faire un retour ici.

- debugger (c'est un "work in progress", certains bouts de codes ne sont pas encore écrits !). Pour cela voir le Readme.md, il faut faire tourner en mode "debug" et me soumettre le fichier résultat avec explication du "plantage".

...

- Si vous avez d'autres cas d'usage, avec d'autres serveurs http et qu'il manque certaines fonctions :
- décrire ce qu'il manque
- coder ce qu'il manque !..

...

- Proposer du code (sur GithLab)


A bientôt, et bon amusement avec votre stockage 1fichier (ou autre)

(P.S.: si toutefois vous ne savez pas lancer un ligne de commande pour compiler... je peux vous fournir l'exécutable... mais comme c'est aussi simple que d'installer les librairies de développement fuse + curl et de lancer une ligne pour compiler -cf le source- j'estime que les lecteurs de ce forums ne seront pas rebutés par ça !)

Dernière modification par Zakhar (Le 16/06/2018, à 09:59)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#3 Le 03/03/2018, à 22:46

Zakhar

Re : Montez en 1 clic un lien http(s) ou votre espace 1fichier !

Limitations actuelle (version 0.7.3 du 8 mars 2018)
- il y a une liste de /TODO longue comme le bras (voir le fichier TODO.md)

- Le script pour 1fichier est limité à afficher la racine de votre stockage en ligne, puisque les "path" ne sont pas encore implémentés dans AStreamFS. Il suppose que vous avez paramétré une ipv4 pour vos liens.

Dernière modification par Zakhar (Le 08/03/2018, à 19:26)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#4 Le 04/03/2018, à 07:01

Brunod

Re : Montez en 1 clic un lien http(s) ou votre espace 1fichier !

Ça a l'air très intéressant, mais je ne pense pas en avoir la moindre utilité... pour l'instant wink
Donc le truc sera de m'en souvenir smile
Et un encouragement, un !
BD


Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
37 pc linux convertis

Hors ligne

#5 Le 04/03/2018, à 10:43

moths-art

Re : Montez en 1 clic un lien http(s) ou votre espace 1fichier !

Un peu même constat que Brunod : pas d'intérêt immédiat mais projet intéressant.
C'est presque le truc qu'on devrait avoir par défaut dans une distrib (voir intégré au navigateur pour que le concept devienne naturel) ou au moins dans une Ubuntu Studio.
Mais faut commencer petit pour voir grand !
Et deux encouragements, deux!
Plusieurs questions en vrac :
- Je connaissais HTTP Range de nom sans vraiment y trouver d'intérêt : est-ce que tu sais si WebDAV supporte également cette fonctionnalité ?
Ca serait top de ne pouvoir éditer et envoyer que les parties qui ont changés d'un fichier, non ?
- Tu sais si ça marche sur des sites comme Github/BitBucket/GitLab/DropBox ? Si oui, l'intérêt serait sans doute grandissant.

Hors ligne

#6 Le 04/03/2018, à 10:52

moths-art

Re : Montez en 1 clic un lien http(s) ou votre espace 1fichier !

Ah : et quelques suggestions (pinaillaige oblige) :
- fichier de Changelog sur ton dépôt GIT : ça fait bizarre d'avoir un historique avec les dernières dates à la fin... de plus, le jour ou ton projet sera packagé (ce que je te souhaites), y'aura déjà le fichier correspondant.
-fichier de TODO.md plutôt que dans les commentaires de ton sources

Hors ligne

#7 Le 04/03/2018, à 14:16

Zakhar

Re : Montez en 1 clic un lien http(s) ou votre espace 1fichier !

Merci pour vos encouragements !
@Moths-art, je retiens l'idée de séparer les /TODO et mettre l'historique dans l'ordre habituel !
Edit: historique "dans le bon ordre" pour 0.7.1, reste à séparer les /TODO

"Range" est défini dans le RFC 2616, c'est à dire la norme qui a bientôt 20 ans (l'an prochain) et qui définit http 1.1
Il a cependant été précisé par le RFC 7233 plus récent qui apporte quelques "raffinements".

Donc "Range" est assez généralement supporté par la plupart des serveurs web. Lorsqu'un serveur permet la "reprise" du téléchargement, en réalité c'est via la fonction "Range" que cela se passe. On demande simplement au serveur le "Range" N- (où N est le nombre d'octets que l'on a déjà).

A côté de cela, WebDav est extrêmement peu supporté. La norme n'a pas "pris" en quelque sorte. C'est dommage car cela permet effectivement le read/write contrairement à http qui n'est évidemment que du "read". Pour les serveurs qui supportent WebDav, je n'aurai rien eu à écrire puisque tout est déjà dans les dépôts (davfs2) et déjà fonctionnel.

Pour Github:

$ astreamfs test https://github.com/Bylon/httpfs2/blob/master/httpfs2.c -O
[httpfs2] ERROR: the server does not handle ranges for: https://github.com/Bylon/httpfs2/blob/master/httpfs2.c

Ca aurait en réalité peu d'intérêt, puisque "Read-Only", et on a rarement des .iso .rar sur Github (ou des photos/vidéos/musiques à streamer !)

Pour Dropbox, ça peut effectivement être intéressant, toujours en mode "Read-Only", si on a stocké ses photos ou ses "films de vacances" sur le Cloud de pouvoir les regarder sans les télécharger préalablement... mais comme je n'ai pas Dropbox, ne saurais vous dire !
Il faudrait aussi faire le petit script, comme j'ai fait pour 1fichier, histoire de faciliter le fait de passer les arguments de Dropbox à httpfs2.

Aussi, le niveau "gratuit" de Dropbox avec 1Go... pas trop besoin de httpsf2. Utiliser httpfs2 signifie en général avoir une ligne ASDL correcte (ou mieux la fibre), et si on n'a qu'1Go d'espace, le DL n'est pas vraiment long ni encombrant localement.

Après, au niveau prix, il n'y a pas photo. Les premières options avec Dropbox sont à 10€/mois pour 1To ... j'ai payé mon espace 1fichier (premium illimité) 12€... pour 1 an !..

Il faudrait plutôt comparer avec Hubic qui est à des tarifs plus raisonnables, et dont la partie "gratuite" est bien plus généreuse (25Go à comparer aux 15Go de Google).
Pour Hubic, il y a déjà hubicfuse que j'utilise (et auquel j'ai contribué sur GitHub pour qu'on l'utilise en OAuth au lieu du mot de passe du compte !). Hubicfuse a le mérite d'exister, mais il est encore plus "naïf" que httpfs. En réalité pour la lecture, au moment où hubicfuse reçoit un "open" il récupère tout le fichier en local, et ensuite les read se font localement. A l'inverse si on écrit, le fichier est stocké au moment où on fait le "release" (close).
Ca donne un comportement assez bizarre est assez peu optimisé, mais c'est supportable si le but est de faire des sauvegardes ou récupérer quelques fichiers de sa sauvegarde (mon usage).

Dernière modification par Zakhar (Le 16/06/2018, à 10:00)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#8 Le 04/03/2018, à 17:58

Bigcake

Re : Montez en 1 clic un lien http(s) ou votre espace 1fichier !

Bonjour,

Omg ! Un système de fichier basé sur http(s) ! Excellent !
Et le tout en 2000 lignes de code C !

Ce qui serai encore plus fort, c'est de réussir à le faire intégrer (dans les grandes distrib) au même titre que les autres FS (ext, btrfs, zfs, ....)

Dernière modification par Bigcake (Le 04/03/2018, à 18:00)


"Les gens" ne sont pas cons, ils ont été habitués à la facilité et à la désinformation. Le meilleur moyen de ne pas les aider, c'est de se moquer. Le meilleur moyen de les aider, c'est de les informer, encore et encore. La réflexion viendra. N'oubliez pas que vous aussi, vous êtes le con d'un autre.
Smartphone+GNU/Linux=Librem5
Radio+sons libre=oxyradio.net

Hors ligne

#9 Le 04/03/2018, à 18:02

Zakhar

Re : Montez en 1 clic un lien http(s) ou votre espace 1fichier !

Merci de l'encouragement Bigcake.

Il y a assez peu de chance que ça arrive vu comment le big boss (Linus) considère fuse. tongue

Linus Torvalds a écrit :

"Userspace filesystem? The problem is right there. Always has been. People who think that userspace filesystems are realistic for anything but toys are just misguided."

Source : https://www.phoronix.com/scan.php?page= … &px=OTYwMA

Donc pour l'instant c'est parfait, c'est un "toy" qui me permet en 1 clic de "monter" le contenu de mon stockage 1fichier pour visionner mes films de vacances et extraire des fichiers de mes Iso Linux sans avoir à les télécharger au préalable(*) ! tongue

C'était le but initial de mon développement, et j'y suis arrivé.
Reste maintenant à "peaufiner" !

(*) ça s'appelle du "streaming" il paraît, les "streams" ça nous connaît depuis toujours sur Linux !

Dernière modification par Zakhar (Le 04/03/2018, à 19:47)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#10 Le 05/03/2018, à 00:35

moths-art

Re : Montez en 1 clic un lien http(s) ou votre espace 1fichier !

WebDav n'a peut-être pas le succès grand public qu'il devrait avoir (sans doute lié au fait qu'il nécessite des plugins dans les navigateurs et les serveurs) mais crois moi que c'est très utilisé pour les progiciels utilisant le web.
Pour ce qui est des dépôts GIT : y'a pas mal de projets qui mettent des fichiers binaires. Je suis dac que GIt n'est pas vraiment fait pour mais c'est courant.
Un exemple pertinent : une lib graphiques qui effectue des tests unitaires. Les fichiers employés sont par conséquent versionnés et sont des vidéos/Images.
En tout les cas, merci de toutes ces précisions !

Hors ligne

#11 Le 07/03/2018, à 23:24

Zakhar

Re : Montez en 1 clic un lien http(s) ou votre espace 1fichier !

Voila, la version 0.7.2 est bien stable.

Stream sur plusieurs fichiers en même temps testé : ça bouge pas d'une oreille !
Aussi une meilleure gestion des erreurs du serveur, notamment quand celui-ci coupe le stream inopinément (ça arrive parfois quand on fait une pause au milieu d'un film).

La séparation de la liste de /TODO a aussi été faite comme conseillée dans un fichier à part: TODO.md
Cette liste est classée par:
- fonctionnalités à développer
- améliorations
- "nice to have"
- fonctionnalités non encore décidées
etc...

Dernière modification par Zakhar (Le 07/03/2018, à 23:25)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#12 Le 08/03/2018, à 00:21

Arbiel

Re : Montez en 1 clic un lien http(s) ou votre espace 1fichier !

Bonsoir

Comment utiliser httpfs2 ?

remi@remi-Vostro-3550:~$ httpfs2 iso -O http://ftp.crihan.fr/releases/16.04.4/ubuntu-16.04.4-desktop-amd64.iso
Invalid protocol in url: iso
invalid url: iso
remi@remi-Vostro-3550:~$ 

Arbiel Perlacremaz
Dell Vostro Ubuntu 18.04 64 bits
J'ai abandonné azerty au profit de bépo, google au profit de Lilo et mes adresses électroniques au profit d'une messagerie réellement sécurisée, Protonmail.

Hors ligne

#13 Le 08/03/2018, à 07:57

Zakhar

Re : Montez en 1 clic un lien http(s) ou votre espace 1fichier !

Bonjour Arbiel, tu as compilé ?

La réponse que tu as là ne vient pas de httpfs2 mais d'autre chose. En effet toute erreur signalée par httpfs2 est préfixée de la sorte :

$ httpfs2 iso -O http://ftp.crihan.fr/releases/16.04.4/ubuntu-16.04.4-desktop-amd64.iso
[httpfs2] ERROR: No such file or directory
[httpfs2] ERROR: getting stats of `iso`

Par exemple dans l'exemple ci-dessus, j'ai lancé la commande sans avoir créé au préalable le répertoire de montage.

Pour l'aide sur comment utiliser la commande, on fait comme habituellement :

httpfs2 -h a b

(Ca me fait voir qu'il y a un micro bug que je corrigerai... le test sur le fait qu'il n'y ait pas d'URL est fait avant l'affichage de l'aide !)

Je mettrai ce soir les instructions complètes pour compiler à partir du dépôt GitLab sur le premier post. C'est à peu près évident quand on a déjà fait ce genre de choses, mais il est vrai que selon le niveau de connaissance en Linux ça peut paraître cabalistique.

Dernière modification par Zakhar (Le 16/06/2018, à 10:03)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#14 Le 08/03/2018, à 10:21

Arbiel

Re : Montez en 1 clic un lien http(s) ou votre espace 1fichier !

Bonjour

Non, je n'ai pas compilé. J'ai trouvé un paquet httpfs2 avec synaptic dont le commentaire est

synaptic a écrit :

Système de fichiers FUSE pour le montage de fichiers de serveurs http
httpfs2 is a FUSE based filesystem for mounting http or https URLS as
files in the filesystem. There is no notion of listable directories in
http so only a single URL can be mounted. The server must be able to send
byte ranges.

Je dois reconnaître que j'ai été un peu surpris car la discussion ne laissait pas du tout entendre que httpfs2 était disponible dans un dépôt. Je suis passé outre, sans trop y réfléchir. Je ne sais pas comment trouver dans quel dépôt je l'ai trouvé.

remi@remi-Vostro-3550:~$ cat /etc/apt/sources.list
# deb cdrom:[Ubuntu 14.04 LTS _Trusty Tahr_ - Release amd64 (20140417)]/ trusty main restricted

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://fr.archive.ubuntu.com/ubuntu/ trusty main restricted
deb-src http://fr.archive.ubuntu.com/ubuntu/ trusty main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://fr.archive.ubuntu.com/ubuntu/ trusty-updates main restricted
deb-src http://fr.archive.ubuntu.com/ubuntu/ trusty-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://fr.archive.ubuntu.com/ubuntu/ trusty universe
deb-src http://fr.archive.ubuntu.com/ubuntu/ trusty universe
deb http://fr.archive.ubuntu.com/ubuntu/ trusty-updates universe
deb-src http://fr.archive.ubuntu.com/ubuntu/ trusty-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://fr.archive.ubuntu.com/ubuntu/ trusty multiverse
deb-src http://fr.archive.ubuntu.com/ubuntu/ trusty multiverse
deb http://fr.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
deb-src http://fr.archive.ubuntu.com/ubuntu/ trusty-updates multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://fr.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://fr.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu trusty-security main restricted
deb-src http://security.ubuntu.com/ubuntu trusty-security main restricted
deb http://security.ubuntu.com/ubuntu trusty-security universe
deb-src http://security.ubuntu.com/ubuntu trusty-security universe
deb http://security.ubuntu.com/ubuntu trusty-security multiverse
deb-src http://security.ubuntu.com/ubuntu trusty-security multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu trusty partner
# deb-src http://archive.canonical.com/ubuntu trusty partner

## This software is not part of Ubuntu, but is offered by third-party
## developers who want to ship their latest software.
deb http://extras.ubuntu.com/ubuntu trusty main
deb-src http://extras.ubuntu.com/ubuntu trusty main
deb http://download.videolan.org/pub/debian/stable/ /
deb-src http://download.videolan.org/pub/debian/stable/ /
deb http://www.openprinting.org/download/printdriver/debian/ lsb3.2 contrib
deb http://ppa.launchpad.net/djcj/screenfetch/ubuntu trusty main
# deb-src http://ppa.launchpad.net/djcj/screenfetch/ubuntu trusty main
deb http://deb.torproject.org/torproject.org trusty main
deb-src http://deb.torproject.org/torproject.org trusty main
deb http://archive.ubuntu.com/ubuntu trusty universe
# deb-src http://archive.ubuntu.com/ubuntu trusty universe
deb http://ppa.launchpad.net/timekiller/unity-systrayfix/ubuntu trusty main
# deb-src http://ppa.launchpad.net/timekiller/unity-systrayfix/ubuntu trusty main
remi@remi-Vostro-3550:~$ 

Pour éviter à d'autres utilisateurs de faire la même erreur que moi, et bien que le lien que tu donnes en #1 soit parfaitement clair en pointant vers github, peut-être peux-tu indiquer dans ce #1 que le paquet disponible dans un dépôt (je vais essayer de le localiser) n'est pas la compilation de ce que tu proposes.

Je voulais voir comment httpfs2 si situe par rapport à webdav.

À ce sujet, je me permets de signaler l'existence de swissdisk à ceux qui cherchent à protéger sans trop de difficultés la sauvegarde de fichiers sur un serveur externe. Autant que j'ai compris, swissdisk chiffre les fichiers en calculant la clé de chiffrement au moment de la connexion, ce qui les rend illisibles par quiconque lorsque l'utilisateur est déconnecté. Bien évidemment, ce serait plus confortable si la clé de chiffrement était totalement inconnue de swissdisk, comme c'est le cas de la messagerie de protonmail.


Arbiel Perlacremaz
Dell Vostro Ubuntu 18.04 64 bits
J'ai abandonné azerty au profit de bépo, google au profit de Lilo et mes adresses électroniques au profit d'une messagerie réellement sécurisée, Protonmail.

Hors ligne

#15 Le 08/03/2018, à 11:21

Zakhar

Re : Montez en 1 clic un lien http(s) ou votre espace 1fichier !

Oops... Merci Arbiel

J'avais déjà trouvé httpfs, mais pas httpfs2...

Je vais regarder ça.
[Edit] vu... c'est aussi basique que le httpfs que j'avais vu, donc mon développement reste pertinent pour des trucs un peu plus "au goût du jour" ! Par exemple, le httpfs2 du dépôt c'est une seule URL, très peu d'options "curl" (notamment pas les "redirect"). Je vais réfléchir à un autre nom pour le projet...

Pour la sauvegarde sur serveur externe, je ne fais pas confiance à des trucs tout empaquetés qui soit-disant chiffrent sans que tu aies la main sur le chiffrement. Je préfère un montage brut comme par exemple celui que j'utilise avec Hubic (hubicfuse) sur lequel je rajoute une couche encfs (ou autres selon cas d'usage)

Dernière modification par Zakhar (Le 08/03/2018, à 18:03)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#16 Le 08/03/2018, à 18:15

Zakhar

Re : Montez en 1 clic un lien http(s) ou votre espace 1fichier !

Arbiel a écrit :

Pour éviter à d'autres utilisateurs de faire la même erreur que moi, et bien que le lien que tu donnes en #1 soit parfaitement clair en pointant vers github, peut-être peux-tu indiquer dans ce #1 que le paquet disponible dans un dépôt (je vais essayer de le localiser) n'est pas la compilation de ce que tu proposes.

Je voulais voir comment httpfs2 si situe par rapport à webdav.

Ne t'embêtes pas à chercher le dépôt Arbiel, j'ai vu ça en faisant un apt-get à partir d'un iso live 16.04
C'est donc du super standard.

Comme effectivement il y a confusion, je vais plutôt changer le nom du projet, donc merci encore d'avoir signalé. En effet, httpfs2 n'était de toute façon pas un nom terrible vu que rien n'empêcherait avec des modifications mineures de supporter aussi des protocoles comme FTP. Les modifications seraient à peu près circonscrites à la fonction qui exploite les headers.


Par rapport à WebDAV, il y a forcément des plus et des moins !

WebDAV est read-write, pas mon projet. En effet http(s) ne permet que du read. C'est à peu près évident, mais donc si tu veux aussi faire des sauvegardes, WebDAV est bien mieux adapté.

WebDAV est largement moins supporté que les simple "range". La plupart des serveur qui proposent du téléchargement se doivent de supporter les ranges pour la reprise (ça évite du côté serveur aussi de payer plusieurs fois la bande passante pour des téléchargements échoués)... WebDAV... il faut bien chercher pour trouver un support.
A ma connaissance, il y a celui que tu signales Swissdisk, et il y a aussi Box (ça fait longtemps que je n'ai plus vérifié si ça fonctionnait toujours !), qui est un peu plus généreux sur la part "gratuite".

Au niveau performance, si tu fais de simples copies (donc quasi 100% stream) tu ne devrais voir aucune différence de performance entre un outil WebDAV et mon développement.

Par contre si tu "montes" ta sauvegarde "swissdisk" via davfs2, là tu auras une différence de performance !
A l'époque où j'avais fait le test avec la Freebox (pré-Freebox-OS) la différence de performance était d'environ 6% sur une copie de fichier en http (non chiffré donc).
Les 6% sont dûs à l'overhead d'envoyer pour chaque bloc lu une requête range qui augmente donc les octets échangés et qui subit de la latence. La latence est partiellement effacée par le kernel qui fait les choses en asynchrone, et à condition -évidemment- que tu n'aies pas demandé à ton système fuse de tourner en "mono-thread" (otpion fuse: -s)

En https (je présume que Swissdisk fait du https), le gain de performance comparé à un davfs2 devrait être encore plus grand à cause de l'overhead rajouté par le handshake SSL... et là encore, ça dépend si le serveur fait un "Connection: close" ou au contraire "keepalive". Donc à mesurer !
Avec davfs, la situation au pire où le serveur envoit un "Connection: close" (comme le fait 1fichier !) va te donner un débit super moche en copie ! La différence sera alors notable avec mon projet, sauf qu'il va te falloir alors un "script" pour récupérer ton arborescence (comme j'ai fait avec 1fichier), chose qui est "gratuite" en WebDAV puisque prévue dans le protocole.

Pour te donner une idée, regarder un film (1080p) en streaming sur 1fichier en https est impossible en bloc par bloc (j'ai "testé"... à un moment j'avais un bug qui provoquait une requête par bloc lu !). Alors qu'avec mon projet, la lecture est fluide, et tu n'as aucune différence notable de performance sur une copie entre mon "montage" et un pur "curl". Du reste, si tu fais un cp du fichier iso donné en exemple, en mettant en mode debug, tu devrais constater que le programme n'utilise qu'un seul stream du début à la fin.

Pour les chiffres, un film HD 1080 avec une bonne compression c'est de l'ordre de 2mo/s, chose que l'on n'atteint donc pas en "bloc à bloc". Par contre en stream je monte facile autour de 25Mo/s, et encore c'est limité par le chiffrement dû au https. Donc dans le pire des cas, la différence peut être d'un facteur 10 !..

Dernière modification par Zakhar (Le 08/03/2018, à 18:50)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#17 Le 08/03/2018, à 19:27

Zakhar

Re : Montez en 1 clic un lien http(s) ou votre espace 1fichier !

@Arbiel: voila, le projet s'appelle désormais AStreamFS (StreamFS était déjà existant sur github)

Asynchronous
Streaming
fuse FileSystem

J'ai vérifié par recherche qu'il n'y a rien de tel ni sur GitHub, ni dans les dépôts, et votre ami Gogole ne trouve pas de référence à ce nom en un seul mot.

==> Confusion évitée : bug fixed!

Dernière modification par Zakhar (Le 08/03/2018, à 19:29)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#18 Le 09/03/2018, à 15:34

Arbiel

Re : Montez en 1 clic un lien http(s) ou votre espace 1fichier !

Bonjour

Merci. Je relis avec attention tes explications et je teste ensuite AStreamFs.

Arbiel


Arbiel Perlacremaz
Dell Vostro Ubuntu 18.04 64 bits
J'ai abandonné azerty au profit de bépo, google au profit de Lilo et mes adresses électroniques au profit d'une messagerie réellement sécurisée, Protonmail.

Hors ligne

#19 Le 09/03/2018, à 19:30

Zakhar

Re : Montez en 1 clic un lien http(s) ou votre espace 1fichier !

Arbiel, tu utilises davfs2 pour te connecter à swissdisk ?

Dernière modification par Zakhar (Le 09/03/2018, à 19:47)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#20 Le 11/03/2018, à 23:12

Arbiel

Re : Montez en 1 clic un lien http(s) ou votre espace 1fichier !

Bonsoir

Oui, j'utilise davfs2.

gmx.fr est aussi compatible webdav. Je l'utilise pour des fichiers que je n'ai pas besoin de chiffrer. J'envisage d'utiliser encfs lorsque je le maîtriserai bien, pour faire une seconde sauvegarde des fichiers que j'envoie à swissdisk. L'intérêt, à mes yeux, de sauvegarder sur deux prestataires distincts est de minimiser le risque de perdre ma sauvegarde. J'utiliserai également Protonmail pour m'y envoyer les fichiers de mots de passe pour encfs, au cas où swissdisk perdrait mes fichiers.

L'intérêt, à mes yeux, de m'en remettre à des prestataires extérieurs (protonmail et swissdisk) pour le chiffrement de mes fichiers est que je peux les récupérer déchiffrés sur mon téléphone. Avec encfs, je ne sais les récupérer que sur mon PC.

Je n'ai pas encore testé les produits webdav disponibles avec Android, mais en allant avec firefox mobile sur le site swissdisk, je peux récupérer mes fichiers. Je fais de même pour les fichiers non chiffrés envoyés à gmx. L'interface n'est pas très ergonomique, mais il s'agit là d'une procédure exceptionnelle.

Arbiel


Arbiel Perlacremaz
Dell Vostro Ubuntu 18.04 64 bits
J'ai abandonné azerty au profit de bépo, google au profit de Lilo et mes adresses électroniques au profit d'une messagerie réellement sécurisée, Protonmail.

Hors ligne

#21 Le 11/03/2018, à 23:18

Zakhar

Re : Montez en 1 clic un lien http(s) ou votre espace 1fichier !

Effectivement, si on utilise enfs, ça oblige à relire avec le PC.

Après, sur un téléphone, tâcher de chiffrer alors que c'est Android qui tourne... vu comment les gens sont tracés sur cet O.S. c'est un peu illusoire, mais bon !

Pour encfs, voici mon script de montage pour hubic, c'est fort simple en réalité !

#! /bin/sh
if ! mount | grep -q hubicfuse; then
    [ -d /tmp/hub ] || mkdir /tmp/hub
    hubicfuse /tmp/hub  -o noauto_cache,sync_read
fi
if ! mount | grep -q encfs; then
    [ -d /tmp/secure ] || mkdir /tmp/secure
    ENCFS6_CONFIG=~/Images/.encfs6.xml encfs /tmp/hub/default/Documents/ /tmp/secure/
fi

Le premier bloc monte hubicfuse
Le deuxième bloc monte encfs par dessus. Bien sûr le fichier de chiffrement de encfs reste local... sinon c'est un peu trop faciliter l'attaque !

Le script peut s'adapter à tout premier montage... enfin du moment que ce n'est pas du read-only ! tongue


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#22 Le 12/03/2018, à 12:10

Arbiel

Re : Montez en 1 clic un lien http(s) ou votre espace 1fichier !

Bonjour

Zakhar a écrit :

Après, sur un téléphone, tâcher de chiffrer alors que c'est Android qui tourne... vu comment les gens sont tracés sur cet O.S. c'est un peu illusoire, mais bon !

Cela veut-il dire que les informations mémorisées sur un téléphone ne sont absolument pas protégées et qu'il n'est donc pas recommandé, par exemple, d'utiliser la fonction de mémorisation de mots de passe proposée par firefox ? Peux-tu être un peu plus explicite sur ces risques, ou donner la référence à un site qui les analyse ?

D'avance, je t'en remercie

Arbiel


Arbiel Perlacremaz
Dell Vostro Ubuntu 18.04 64 bits
J'ai abandonné azerty au profit de bépo, google au profit de Lilo et mes adresses électroniques au profit d'une messagerie réellement sécurisée, Protonmail.

Hors ligne

#23 Le 12/03/2018, à 18:47

Zakhar

Re : Montez en 1 clic un lien http(s) ou votre espace 1fichier !

C'est une autre discussion !

Je ne fais pas confiance du tout au "closed source", or, même si le noyau d'android est bien Open Source, le "blob" Google qui est de plus en plus gros ne l'est pas. Tout cela Google le fait "gratuitement", or comme disent nos amis anglais : "there is no free lunch"... il faut bien que le modèle économique soit quelque part ne penses-tu pas ?

Les mots de passe dans Firefox c'est autre chose. Firefox est bien libre et Open Source, par contre c'est effectivement un risque en cas de compromission de la machine. Risque à évaluer en fonction de la confidentialité des données qu'on protège eu égard la commodité de la chose. Donc il y a pas mal de site où je mémorise effectivement dans Firefox... et pour certains je ne le fais pas (banque, etc...)
Du reste quand les sites sont bien codés, le navigateur ne va pas te proposer de mémoriser le mot de passe si c'est trop sensible.

Cela dit, là où je te rejoins, c'est que mon développement ne nécessite que "fuse". C'est bien dommage que le noyau Linux des android soit compilé sans le support de "fuse", sinon pouvoir disposer de ton cloud 1fichier, uptobox, etc... de façon "transparente" sur un mobile Android serait bien pratique (partant que les données étant déjà dans le Cloud, elle ne sont pas confidentielles sinon l'utilisateur les aurait chiffrées !).
La seule "limite" à cette commodité est évidemment la bande passante ridicule accordée par certains opérateurs qui limiterait vite l'usage de la chose !

Je vais revérifier si le non-support de fuse est toujours dans les noyaux récents Android.

Dernière modification par Zakhar (Le 12/03/2018, à 18:51)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#24 Le 18/03/2018, à 09:53

Zakhar

Re : Montez en 1 clic un lien http(s) ou votre espace 1fichier !

[Annonce] A partir de la version 0.7.5, c'est complètement fonctionnel avec 1fichier, y compris sous-répertoires.

Mais surtout, pour ceux qui ne veulent pas ou ne savent pas compiler... vous avez désormais un ppa avec le package (0.7.7-1) tout prêt pour Xenial (16.04LTS) !

Voir instructions dans le premier post.

Note : le test de la version 32bits est dans les /Todo... donc si c'est votre cas (version 32 bits) et que ça bug complètement... désolé. Dans ce cas laissez un mot que je priorise ce test.

Dernière modification par Zakhar (Le 18/03/2018, à 09:54)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#25 Le 18/03/2018, à 15:28

Roschan

Re : Montez en 1 clic un lien http(s) ou votre espace 1fichier !

Je n'ai pas tout lu, n'ayant pas trop l'utilité de ce genre de chose, mais un détail me saute aux yeux, et me les arrache :

Ce fichier doit contenir 2 lignes, de la sorte:

id='your_id'
passwd='your_password'

Il faut stocker un mot de passe en clair ??

Hors ligne