Contenu | Rechercher | Menus

Annonce

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.

#76 Le 17/05/2019, à 17:02

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

jaxx21 a écrit :

Plex tourne niquel avec smile
ha oui, as tu le nombre d'utilisateur qui utilise ton plugin? car seulement toi l'a fait.

Merci pour le retour. Y a-t-il un endroit où on voit ça dans les "plugins-plex" ? Si c'est le cas je veux bien l'adresse !

En effet, le PPA ubuntu ne donne pas de statistiques sur qui a rajouté le PPA dans ses sources et qui a installé.

Quant à la monétisation, il n'en est pas question de mon côté. C'est libre et ça le restera. Si je faisais ça pour l'argent, vu les heures passées et qu'il reste encore (écriture et tout le toutim !) ça serait un prix déraisonnable.
Je fais ça avant tout parce que ça m'est utile pour mon usage personnel, et parce que ça m'amuse de coder des trucs un peu "touchy" comme ça !

A venir (sans doute demain, je finis de vérifier qu'il n'y a pas de plantages) une fonctionnalité nouvelle.

- Possibilité de déclarer une partie de l'arborescence en no-ssl (indépendamment de l'option no-ssl que l'on peut indiquer fichier par fichier)

Mon usage : mes sauvegardes chiffrées. Pas besoin de SSL pour ça puisque c'est déjà chiffré (noms de fichiers compris). Le SSL ne fait que ralentir dans ce cas en apportant un surplus de sécurité assez négligeable. Je pourrais certes faire ça avec l'option no-ssl de 1fichier, mais comme elle doit être positionnée fichier par fichier, rien que pour les reap de mes propres CD le "boulot" à faire ça via le site web est colossal ! Là ça se fait en un seul paramètre. big_smile
Autres usages : fichiers publics (mon répertoires de test), si le PC utilisé est trop lent pour SSL, etc...

La partie écriture est presque indispensable à mon usage de sauvegarde à distance, parce qu'actuellement je fais ça avec un script. Le script est à peu près Ok pour sauvegarder raisonnablement une dizaine de fichiers à la fois, mais pour l'ensemble de ma sauvegarde, ça devient impraticable. Donc ça viendra... mais ça demande pas mal de boulot vu que le côté serveur n'aide pas du tout !

Dernière modification par Zakhar (Le 17/05/2019, à 17:09)


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

Hors ligne

#77 Le 18/05/2019, à 12:15

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

(18 Mai 2019) Version 1.2.0

Nouveautés par rapport à la 1.1.1

  • Nouvelle fonctionnalité : option no-ssl. vous pouvez indiquer des répertoires pour lesquels ssl ne sera pas appliqué, indépendamment du paramètre no_ssl que vous pouvez positionner fichier par fichier via le site web de 1fichier.com. L'application de no-ssl est récursive : elle comprend donc tous les répertoires descendants du répertoire indiqué. L'option peut être spécifiée plusieurs fois pour appliquer ce paramètre à plusieurs répertoires.

    Usage : répertoire contenant des fichiers déjà chiffrés (ainsi que leur nom). Dans ce cas ssl apporte une sécurité additionnelle quasi nulle, et l'option est indiquée pour bénéficier d'une bien meilleur réactivité. L'option vous évite d'avoir à paramétrer les fichiers chiffrés un par un avec no_ssl.
    Usage : fichiers publics, machine trop lente où le ssl est trop pénalisant, etc..

  • Amélioration mineure : l'option -V (version) donne désormais aussi la version de curl et de GNUTLS.

  • Amélioration mineure : amélioration de l'algorithme open/read/close du fichier refresh.

  • Bug (fuite mémoire) : le nouvel algorithme d'ouverture de fichier de la 1.1.1 présentait une fuite mémoire.

  • Bug (crash potentiel) : en cas d'erreur sur un appel JSON, un crash potentiel existait (chaîne C non terminée).

  • Documentation : outre la documentation de la nouvelle fonctionnalité, un avertissement sur l'usage d'IPV6 et de la double pile IP a été rajouté au manuel.


Faut-il mettre à jour : compte tenu de la fuite mémoire (faible mais réelle) si vous faites tourner le driver en 24/24 7/7, il est recommandé de faire la mise à jour pour éviter des phénomènes étranges. Le bug sur le crash potentiel existe depuis plusieurs versions, donc si vous ne l'avez pas rencontré... il est reste uniquement "potentiel" !.. Je ne l'ai jamais rencontré non plus... mais merci à Valgrind pour l'avoir trouvé (ne cherchez pas "Valgrind" dans les abonnés de ubuntu-fr, c'est un outil magique pour ce genre de choses, pas un pseudo d'utilisateur !)

Dernière modification par Zakhar (Le 18/05/2019, à 13:55)


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

Hors ligne

#78 Le 19/05/2019, à 12:11

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

(19 Mai 2019) Version 1.2.1

Nouveautés par rapport à la 1.2.0

  • Crash reproductible : ne pas libérer la mémoire allouée à un stream tant que celui-ci est "vivant" !..

  • Réglage : le chronométrage des temps de lecture repasse en horloge classique car l'horloge "grossière" (coarse) n'a pas une résolution suffisante.


Faut-il mettre à jour : oui !..
Le crash est reproductible de la façon suivante par exemple : lisez un film pendant 30 minutes de façon continue. Fermer le lecteur (VLC par ex.). Ouvrez un autre fichier (avec n'importe quel programme). Au bout de 5 minutes (quand les streams du film se terminent côté serveur), vous observerez un crash.

Ce crash est donc "vraisemblable". Il existe depuis la 1.1.1
Donc si vous avez fait la mise à jour 1.1.1 ou 1.2.0, je vous recommande vivement d'installer ce "patch".

Dernière modification par Zakhar (Le 19/05/2019, à 12:13)


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

Hors ligne

#79 Le 19/05/2019, à 14:46

jaxx21

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

Salut, donc j'ai un amis qui a un NAS synology et il installe bien 1fichierfs mais au moment de la derniere ligne de commande:

1fichierfs --api-key=XXXXXXXXXXXXXXXXXXXXXXXX= -o allow_other /docker/1fichier

il a une erreur :

[1fichierfs     0.221] ERROR: Ignoring: (http_code: 403) url=`https://api.1fichier.com/v1/folder/ls.cgi` name=`/`.

donc, il installe à partir d'un "docker" sous ubuntu ou il a un acces à root mais pas l'acces Root officiel du NAS., as tu une idée de l'erreur? sinon, te prend pas la tête. Merci.

Dernière modification par jaxx21 (Le 19/05/2019, à 14:54)

Hors ligne

#80 Le 19/05/2019, à 16:15

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

jaxx21 a écrit :

Salut, donc j'ai un amis qui a un NAS synology et il installe bien 1fichierfs mais au moment de la derniere ligne de commande:

1fichierfs --api-key=XXXXXXXXXXXXXXXXXXXXXXXX= -o allow_other /docker/1fichier

il a une erreur :

[1fichierfs     0.221] ERROR: Ignoring: (http_code: 403) url=`https://api.1fichier.com/v1/folder/ls.cgi` name=`/`.

donc, il installe à partir d'un "docker" sous ubuntu ou il a un acces à root mais pas l'acces Root officiel du NAS., as tu une idée de l'erreur? sinon, te prend pas la tête. Merci.

Oui, la première chose que fait le driver, c'est tenter de récupérer le répertoire racine du compte 1fichier (d'où ci-dessus : name='/')

A l'évidence, la commande échoue avec une erreur HTTP 403 qui veut dire "accès refusé" (Access denied).

Cela n'est pas un bug du driver, c'est une erreur de l'utilisateur: PEBCAK. tongue

Lorsque cette première tentative de récupération du répertoire racine échoue, le driver ne s'installe même pas en daemon, il sort tout de suite (c'est prévu justement pour ce genre d'erreur).

Pour s'en convaincre, sur la machine où ça ne fonctionne pas, il peut faire (en remplaçant la variable $API_KEY par la bonne valeur):

$ curl -si -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json" -d "{\"folder_id\":0,\"pretty\":1}" https://api.1fichier.com/v1/file/ls.cgi

HTTP/1.1 200 OK
Server: nginx
Date: Sun, 19 May 2019 15:10:21 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding

{
   "status" : "OK",
   "count" : 102,
   "items" : [
      {
         "url" : "https://1fichier.com/?01234567890123456789",
...
...

Et le serveur devrait lui retourner 403, et pas la liste comme ci-dessus)

Il peut y avoir plusieurs raisons à cela :
- erreur dans la clé d'API
- utilisation d'une adresse IP qui n'est pas dans la liste des IP autorisées pour l'API dans les paramètres du compte (attention IPV6, voir man 1fichierfs l'explication)
- téléchargement en parallèle sur plusieurs IP (ça n'arriverait pas à ce moment là, mais sur une tentative de lecture)
- bannissement temporaire suite à abus... là il n'y a rien à faire qu'à attendre, jusqu'à ce qu'un "curl" fonctionne à nouveau. Si ça marche sur une autre machine, ce n'est pas un bannissement.

....

Il faut donc qu'il cherche ce qu'il a fait d'incorrect...
Le mieux est de le faire avec la commande "curl" ci-dessus, jusqu'à ce qu'elle rende correctement HTTP 200 OK et la racine du répertoire, et ensuite positionner la bonne clé d'API dans le programme.

ATTENTION: je n'ai pas suivi les évolutions de Synology, car ils ont beaucoup trop "fermé" l'O.S.
Sans doute, la possibilité d'avoir Docker sur un Synology est une réponse élégante à cette fermeture, car elle permet de faire à peu près ce qu'on veut sans perturber le système de base grâce à l'isolation du conteneur Docker.
J'en suis donc resté à mon DS411J, lequel tourne avec un Linux réduit dépourvu de fuse. Par conséquent un driver fuse ne fonctionnerait pas sur mon NAS... mais espérons que Synology a fait mieux depuis.
Il constatera ça une fois le 403 passé... si ça plante c'est que le kernel est toujours dépourvu de ce qu'il faut pour fuse, et là il n'y aurait pas grand chose à faire car la "fermeture Synology" implique que recompiler l'O.S. de la machine n'est pas une option. mad

Dernière modification par Zakhar (Le 19/05/2019, à 16:30)


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

Hors ligne

#81 Le 19/05/2019, à 16:29

jaxx21

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

Super, donc, ca réponds à pas mal de question. Merci à toi. j'ai coupé chez moi la ligne avec fusermount pour qu'il essaye.Ensuite j'ai refais une nouvelle clé API et du coup chez moi, j'ai la même erreur que lui avant.Donc, je penche pour un ban temporaire. Je te tiens au courrant.En tout cas. Merci de ta réponse en ce dimanche. wink

EDIT:

HTTP/1.1 403 Forbidden
Server: nginx
Date: Sun, 19 May 2019 15:32:43 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding

{
   "message" : "IP Locked #63",
   "status" : "KO"

ca c'est chez moi actuellement. Je n'ai pas limité l'ip et lui non plus.Je lui ai passé que ma clé API et on l'a fait ensemble.

Dernière modification par jaxx21 (Le 19/05/2019, à 16:35)

Hors ligne

#82 Le 19/05/2019, à 16:32

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

Ou plutôt un blocage IP dans les paramètre API tongue

Bannissement j'y crois pas trop, même si c'est une des possibilités... sauf s'il a fait des méchancetés à 1fichier sans te le dire. Il faut quand même bien bombarder de requêtes pour se faire bannir de l'API. hmm

Essaye de télécharger un fichier avec l'interface Web, et tu verras si ça fonctionne c'est que le bannissement est peu probable.

Si il a mis ses propres IP pour la sécurité de l'API, il est normal que chez toi ça ne marche pas puisque tu n'as pas la même IP.

Cf "Paramètres" ==> Limiter l'acces à votre compte par l'API

jaxx21 a écrit :

(...) avec fusermount (...)

Quand ça plante au niveau que tu as indiqué, pas besoin de "fusermount -u" puisque le driver sort tout de suite sans faire le "montage". C'est fait exprès si on se trompe en tapant la clé d'API par exemple, on peut réessayer tout de suite sans avoir à faire une commande intermédiaire. De toute façon, si on ne peut même pas lire le répertoire racine, le montage ne servirait à pas grand chose n'est-ce pas, puisqu'il exposerait un truc totalement vide et toujours vide même si on rajoute des fichiers à la racine !

Dernière modification par Zakhar (Le 19/05/2019, à 16:37)


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

Hors ligne

#83 Le 19/05/2019, à 16:38

jaxx21

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

Fusermount je l'avais fait chez moi pour quitter le montage et ma clé API pour qu'il puisse le faire avec son nas. Mais je pense qu'avec tout les teste d'api avec ou sans erreur, il y a eu peut etre abus.

EDIT: Quand je parlais de Ban, je parlais de requete abusive sur l'api.

Dernière modification par jaxx21 (Le 19/05/2019, à 16:40)

Hors ligne

#84 Le 19/05/2019, à 16:42

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

jaxx21 a écrit :
{
   "message" : "IP Locked #63",
   "status" : "KO"

Oui, c'est clair !

Mais attention, tu ne peux pas partager ta clé d'API. 1fichier a des algorithmes pour s'en apercevoir...

Le compte 1fichier est personnel, et il doit utiliser son propre compte avec sa propre clé.

Après tu peux faire un partage par dessus ton propre montage, le flux passera alors via ta machine vers la sienne, avec le protocole que tu veux.

S'il a son propre compte, tu peux aussi lui partager des fichiers via l'interface web.

jaxx21 a écrit :

Fusermount je l'avais fait chez moi pour quitter le montage et ma clé API pour qu'il puisse le faire avec son nas. Mais je pense qu'avec tout les teste d'api avec ou sans erreur, il y a eu peut etre abus.

EDIT: Quand je parlais de Ban, je parlais de requete abusive sur l'api.

Il a deux types de ban: l'API et le site lui-même. L'API répond 403 sur info.cgi s'il est fait plus qu'une fois par 5 minutes, le driver traite cette erreur et limite à 1 appel de cette API par 5 minute. Il y a une autre limitation de la sorte sur le ls.cgi mais sur une fonction non utilisée par le driver.
Ensuite si on "bombarde" trop d'API, on devrait avoir 429, et ça le driver le règle aussi en "calmant" le flux de requêtes.

Après tu as le ban sur le site (le seul si tu n'utilises pas l'API), et le compte peut se voir bannir temporairement pour plusieurs raisons. Une des raisons est de trop "insister" quand le serveur rend des erreurs. Mais cela ne touche en principe pas l'API, mais seulement les téléchargements.

Dernière modification par Zakhar (Le 19/05/2019, à 16:46)


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

Hors ligne

#85 Le 19/05/2019, à 16:43

jaxx21

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

Ha ok, pas de soucis, donc, je vais attendre que ca revienne.

En faites, il voulait tester si ca marchait sur son nas avant de prendre un compte payant. Bon, au moins c'est clair. Merci de l'info wink MErci smile
PS: sympa la commande curl la smile

Dernière modification par jaxx21 (Le 19/05/2019, à 16:46)

Hors ligne

#86 Le 19/05/2019, à 16:53

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

Tu peux faire ce test bien sûr.

Mais prends soin de :
- démonter (fusermount -u) ton propre driver 1fichierfs (Plex doit faire des accès réguliers, et donc utilise sans doute pas mal l'API indirectement).
- t'assurer qu'aucun autre logiciel n'utilise les APIs 1fichier sur tes machines
- mettre ton IP et la sienne dans les paramètres de limitation de l'API
- ne pas utiliser non plus 1fichier sur ton compte avec un téléchargement classique sur tes machines
- par précaution, déconnecte-toi de ton compte web 1fichier depuis tes machines.
- attend un petit moment sans accès à ton compte 1fichier depuis tes machines (~1h devrait suffire)

... et ensuite tu devrais pouvoir tester sur son IP. Tu pourras par exemple vérifier que son Synology a fuse ou pas !

Mais déjà un test avec curl avant, c'est plus simple.

En pratique j'utilise mon propre driver chez moi et dans mon appartement de vacances, ce sont donc bien deux IP différentes, et ça fonctionne parfaitement.
Cependant, je ne suis pas aux deux endroits en même temps, donc ce n'est qu'une IP à la fois.
Les deux IP que j'utilise sont dans les paramètres de restriction API aussi bien en IPV4 qu'en IPV6 (ça fait donc 2 IPV4 et 2 plages d'IPV6)

Tu peux aussi faire l'accès chez lui, pour vérifier que ça fonctionne sur son Syno en connectant "par dessous". Par exemple si tu as une Freebox, celle-ci a une option bien pratique "Serveur VPN". Tu montes alors un client VPN sur la machine où tester connecté à la Freebox, et les paquets sortiront via ta Freebox, donc avec ta propre IP. C'est ce que j'utilise sur mon PC portable si je ne suis ni chez moi ni dans mon appartement de vacances. big_smile
Ca marche même avec la Wifi de la SNCF... mais bon, à éviter pour les films vu le débit Wifi SNCF... les musiques à la rigueur ça passe.
La dernière fois que j'ai utilisé cela c'était à Bruxelles, parce que j'avais mal sauvegardé un fichier sur une clé USB. La Wifi de l'hôtel + VPN sur ma Freebox m'a permis de récupérer une sauvegarde propre.
Mais dans tous les cas, c'est toujours moi-même avec mon compte depuis une des IP de la liste de restriction !

Dernière modification par Zakhar (Le 19/05/2019, à 17:06)


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

Hors ligne

#87 Le 19/05/2019, à 17:15

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

jaxx21 a écrit :

Merci de ta réponse en ce dimanche. wink

De rien... j'étais en train de travailler à rajouter les statistiques.

Avant-première :

$ cat 1fichier/.stats 
       T..G..M..K...
Size=     7049669946 Reqs=   53785 Time=     320.744720639 idle Queue= 0
Size=     9991292513 Reqs=   76228 Time=     361.633132670 idle Queue= 0
Size=       39993339 Reqs=     316 Time=       1.099096481 idle Queue= 0
Size=     5615644173 Reqs=   42877 Time=      17.990376201 idle Queue= 0
------ Total: --------------------------------------------
Size=    22696599971 Reqs=  173206 Time=     701.467325991

En fait je vais devoir travailler aux "timers" parce qu'ils ne sont pas significatifs.
En visionnage de film, le temps d'un "read" est quasi nul parce que la vitesse de lecture du film était largement en dessous de la bande passante, on a quasiment toujours déjà les données (optimisation stream !) quand VLC en a besoin.
Et donc le reader 3 (le dernier de la liste) a lu ~50 minutes de film pour un total de "read" de 18 secondes... pas mal !
En copie brute (sauvegarde) à cause du parallélisme, c'est l'exact inverse. Le kernel maintient à peu près tout le temps 2 requêtes en parallèle, et donc on se retrouve avec un temps de lecture qui est quasiment le double du temps réel puisque là ce qui provoque l'attente est bien l'accès internet.

Je vais donc changer pour un algorithme en vitesse instantannée / vitesse moyenne... donc un peu d'algo avant de coder.


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

Hors ligne

#88 Le 19/05/2019, à 19:12

jaxx21

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

Merci pour toutes ces belles infos.
Sinon, pour les statistiques, c'est qu'on y pense pas. Je pensais pas qu'on pouvait faire gérer ça aussi avec ton driver. ca fait des longs chiffres.Peut être qu'il y aura ensuite les Go ou Mo et les heures,min, ou sec.en tout cas, gros dossier encore.C'est l'infini codage lol


Et pour ma part, mon curl me donne à l'heure actuelle:

{
   "message" : "Not authenticated #195",
   "status" : "KO"

donc, j'attends encore.Je réessaierai demain.Merci pour les conseil de déconnexion, mais je ne referai pas l’expérience lol. Il prendra un compte perso.

Dernière modification par jaxx21 (Le 19/05/2019, à 19:20)

Hors ligne

#89 Le 19/05/2019, à 19:34

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

jaxx21 a écrit :

Merci pour toutes ces belles infos.
Sinon, pour les statistiques, c'est qu'on y pense pas. Je pensais pas qu'on pouvait faire gérer ça aussi avec ton driver. ca fait des longs chiffres.Peut être qu'il y aura ensuite les Go ou Mo et les heures,min, ou sec.en tout cas, gros dossier encore.C'est l'infini codage lol


Et pour ma part, mon curl me donne à l'heure actuelle:

{
   "message" : "Not authenticated #195",
   "status" : "KO"

donc, j'attends encore.Je réessaierai demain.Merci pour les conseil de déconnexion, mais je ne referai pas l’expérience lol. Il prendra un compte perso.

Non c'est bon ça, regarde :

$ curl -si -H "Authorization: Bearer foobarfoobarfoobar" -H "Content-Type: application/json" -d "{\"folder_id\":0,\"pretty\":1}" https://api.1fichier.com/v1/file/ls.cgi
HTTP/1.1 401 Unauthorized
Server: nginx
Date: Sun, 19 May 2019 18:27:32 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive

{
   "message" : "Not authenticated #195",
   "status" : "KO"
}

Tu vois, j'ai mis une clé d'API bidon : foobarfoobarfoobar, et ça me dit HTTP 401 (unauthorized). Ca veut juste dire que la clé d'API n'est pas la bonne (ou limitation par IP peut-être).

Quant au codage infini... oui... surtout que coder ce driver n'est pas mon boulot principal, je fais quelques lignes le W.E. et parfois en semaine !..

Pour les stats, l'idée finale est un moteur de "template". C'est à dire qu'on fournit un template (optionnel) et les stats sont produites selon ce template. Ce qui permet à l'utilisateur d'avoir les stats qu'il veut dans le langage qu'il veut : XML, JSON, CSV, texte, etc...

Le formatage des chiffres en K, M, G, T et de temps en h:m:s.ms pourquoi pas aussi dans le langage de templating.

Pour l'instant je fais un affichage "brut", qui sera le template "par défaut".

C'est indispensable pour le "write" parce que la partie écriture du serveur est comme un trou noir. On écrit des trucs, et ça disparaît "un certain temps" (de l'ordre de 20 secondes pour 10Go) avant d'être éventuellement disponible. Aussi le premier jet en écriture asyncrhone est super rapide (tout se fait en mémoire tant qu'on a de la mémoire) on récupère la main presque immédiatement après une écriture... mais on ne sait pas vraiment si tout est écrit sur le serveur. Comme pour une clé USB, les stats serviront donc à informer si on peut éteindre le PC (ou faire un fusermount -u) et que tout est bien arrivé sur le serveur, ou s'il faut attendre encore un peu !..

Dernière modification par Zakhar (Le 19/05/2019, à 19:39)


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

Hors ligne

#90 Le 19/05/2019, à 19:50

jaxx21

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

ha, tu as raison, (tant mieux du coup) j'avais pas le boonne clé. c'est toujours l'ip qui est locké.

j'attendrai demain.

sinon,je cherchais sur le web si un autre bossait sur l'api de 1fichier, je ne sais pas si c'est en rapport ou pas avec ton travail ou si tu connais afstream sur un git.

https://gitlab.com/BylonAkila/astreamfs

ca a l'air d'être à jour souvent. Moi j'y comprends peu.

Dernière modification par jaxx21 (Le 19/05/2019, à 19:51)

Hors ligne

#91 Le 19/05/2019, à 20:06

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

Eh bien oui, c'est à moi aussi !

C'est le driver "générique" dont est issu 1fichierfs.

astreamfs n'a besoin que d'un serveur web qui sait servir des "range" pour fonctionner. Autrement dit c'est très vaste !

Par contre, comme il n'y a aucun moyen standard "web" d'avoir par exemple l'arborescence des fichiers, il faut "mâcher le travail" à astreamfs en lui donnant tout en paramètre.

J'ai développé astreamfs avant les APIs de 1fichier et j'avais un script adapté à 1fichier. Il se connecte à l'interface web et récupère la liste de tous les fichiers, leurs tailles, leurs dates, les noms et URL avec les répertoires d'appartenance et passe tout ça en paramètre à astreamfs.

Ca fonctionne parfaitement, mais c'est "statique". C'est à dire que si l'arborescence change sur le serveur, il faut démonter astreamfs et relancer le script qui va rafraîchir l'ensemble. Avec les API, on fait ça à la volée, moyennant un coup de "refresh" au besoin.

Du coup, avec la même technique de "script", tu peux utiliser astreamfs pour uptobox, ou n'importe quel serveur de ce genre... il faut juste écrire le "script" qui prépare le boulot en listant les fichiers. C'est plus ou moins facile selon la complexité de l'interface web fournie.

Pour info, le "moteur de download" (lecture asynchrone) est partagé entre astreamfs et 1fichierfs. Il y a aussi du code commun entre les deux pour certains "utilitaires".

1fichierfs est maintenant plus avancé, mais de temps en temps je "backporte" des fonctionnalités vers astreamfs pour qu'il ne soit pas trop à la traîne.

Par exemple, dernièrement j'ai écrit la fonction de "nettoyage" (utilisée quand on fait fusermount -u), je vais sans doute la "backporter" à l'occasion. Ce n'est pas indispensable parce que le kernel nettoie de toute façon toutes les ressources qui restent quand un programme se termine, mais c'est "propre" : comme laisser les WC dans l'état où on les a trouvés plutôt que de compter sur le ménage !..

Je me sers toujours de astreamfs pour, par exemple, faire un unrar de fichiers récupérés par ma Freebox sans avoir à les copier préalablement en local. Très pratique, on gagne un temps considérable, et on évite de l'usure des SSD !.. En effet, la Freebox a un serveur http(s) qui sait servir des "range" et donc peut marcher avec astreamfs. Même plus fort, je connecte indifféremment des fichiers sur ma freebox et d'autres sur celle de mon lieu de vacance, et le unrar est transparent à la localisation du fichier (merci la fibre de Free dont l'upload vient de passer à 600Mbps avec toujours du 1Gbps en down).

jaxx21 a écrit :

ha, tu as raison, (tant mieux du coup) j'avais pas le boonne clé. c'est toujours l'ip qui est locké.

j'attendrai demain.

Oui, en général un ban IP est 24h.
Attention cependant, si l'IP utilisée est un truc partagé, genre une IP "universitaire"... c'est peut-être un ban plus long... voire permanent si d'autres personnes sur le même réseau font des "abus".
Il a déjà pu accéder aux APIs de 1fichier avec cette IP ?

Dernière modification par Zakhar (Le 19/05/2019, à 20:27)


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

Hors ligne

#92 Le 19/05/2019, à 20:40

jaxx21

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

Et bien, beaucoup de lignes de code.faut vraiment aimer.Et ca nous aide bien. lol

sinon, il était chez lui, il a eu que des erreurs api et au final , il a eu cette erreur la, mais l'ip etait déja ban (surement des le premier essaie).on pensait que ca buggait mais en faite non, car quand j'ai voulu le remettre chez moi, ip locked.
donc, il était chez lui (bruxelles) quand il a voulu mettre 1fichier sur son nas.J'ai envoyé un mail à 1fichier, on verra bien.

Dernière modification par jaxx21 (Le 19/05/2019, à 20:42)

Hors ligne

#93 Le 19/05/2019, à 20:48

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

Tu veux dire tu as locké aussi ta propre IP ? mad

C'est fâcheux de ne pas pouvoir tester avant d'acheter l'abonnement. Les seuls API non réservées aux abonnés payants sont les API d'upload... où en réalité ils n'ont pas fait grand chose, c'est le même principe qu'avant avec l'interface web, ils ont juste rajouté l'authentification par clé d'API. Donc pas trop probant comme test !

Pour prévenir 1fichier, il vaut mieux faire les tests avec un simple curl puisque c'est la méthode "officielle" documentée en exemple sur les APIs.
Aussi, on peut envoyer le résultat du curl, comme c'est un utilitaire connu, ça passe bien.

Pour aider 1fichier, il faut leur envoyer aussi l'IP d'où on a fait le test et l'heure approximative.

Pour trouver son IP publique (celle que voit 1fichier), une petite astuce avec curl (forçage ipV4/V6 si on a les deux piles IP):

$ curl -4 -s http://icanhazip.com
88.88.88.88

$ curl -6 -s http://icanhazip.com
2a01:1:1:1:1:1:aaaa:bbbb

Dernière modification par Zakhar (Le 19/05/2019, à 20:55)


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

Hors ligne

#94 Le 19/05/2019, à 22:24

jaxx21

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

ok, pour ma part, je vais attendre car ya du mieux, mais la ligne ne fonctionne pas.Autre message d'erreur, donc peut etre attendre encore.
j'ai ca maintenant:

root@vps646287:~# 1fichierfs --api-key=XXXXXXXXXXXXXXXXXXXXXXXXXX= -o allow_other /home/ubuntu/1fichier
[1fichierfs     0.111021] ERROR: Ignoring: (http_code: 401) url=`https://api.1fichier.com/v1/folder/ls.cgi` name=`/`.

et en curl ca donne ca (j'ai count 0 car j'ai rien à la racine, que des dossiers. sinon il voyait bien des fichiers) mais status OK

Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding

{
   "status" : "OK",
   "items" : [],
   "count" : "0"

voila.Je teste demain. Moi dodo. Merci encore smile

Dernière modification par jaxx21 (Le 19/05/2019, à 22:25)

Hors ligne

#95 Le 20/05/2019, à 07:21

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

401 c'est que tu t'es trompé en entrant l'API Key.

Mets-là dans un fichier avec une indirection :

1fichierfs --api-key=@/home/ubuntu/1fichier.key -o allow_other /home/ubuntu/1fichier

Le fichier ne doit contenir que la clé, si possible même pas de retour charriot à la fin.

Ce qui est "louche" c'est le "=" à la fin de l'API Key dans ton exemple. Le nombre de caractères fait que ça ne termine pas par un "=" en principe !

Pour être sûr de bien utiliser la même entre curl et 1fichierfs tu peux faire ça :

$ API_KEY="la_cle_api"
$ curl -si -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json" -d "{\"folder_id\":0,\"pretty\":1}" https://api.1fichier.com/v1/file/ls.cgi
$ 1fichierfs --api_key="$API_KEY" /home/ubuntu/1fichier

Ainsi on est certain qu'il n'y a pas d'erreur entre les deux commandes puisque c'est la même variable qui est passée d'une à l'autre commande.

Dernière modification par Zakhar (Le 20/05/2019, à 07:25)


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

Hors ligne

#96 Le 20/05/2019, à 08:38

jaxx21

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

C'est bon !!!!!!!! tu as l'oeil partout. le = était de trop pfffffffffffffffffffff
Ma derniere clé API devait finir par un = et j'ai gardé le = avec la nouvelle clé. tssss
Merci beaucoup.Sympa le coup du fichier .key. Merci.
Ca refonctionne niquel. MERCI smile

Dernière modification par jaxx21 (Le 20/05/2019, à 08:41)

Hors ligne

#97 Le 20/05/2019, à 13:52

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

Le fichier est aussi une mesure de sécurité, si tu lui mets des droits adéquats.

En effet, la commande est visible à tous les utilisateurs de la machine par la commande ps

Ça ne pose pas de problème majeur pour une machine personnelle, mais pour une machine partagée ce n’est pas une idée brillante de mettre des secrets dans la ligne de commande !

Aussi, si tu changes ta clé, il suffit de changer le contenu du fichier, la commande reste la même.


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

Hors ligne

#98 Le 20/05/2019, à 18:25

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

jaxx21 a écrit :

Salut, donc j'ai un amis qui a un NAS synology et il installe bien 1fichierfs mais au moment de la derniere ligne de commande:

jaxx21 a écrit :

Ca refonctionne niquel. MERCI smile

Quand tu dis que ça fonctionne, c'est sur le NAS Synlogy via Docker ? Le retour est intéressant pour ce type de machine. Et par curiosité c'est quel modèle de Syno... sans doute un récent à base de x86 pour avoir un peu de puissance à faire tourner Docker !


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

Hors ligne

#99 Le 20/05/2019, à 20:56

jaxx21

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

Alors quand il essaiera, je te le dirai. Mais l'erreur qu'il a eu est la même que la mienne.Sinon c'est le DS415+ de synology 5 baies.

Hors ligne

#100 Le 20/05/2019, à 21:01

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

jaxx21 a écrit :

Alors quand il essaiera, je te le dirai. Mais l'erreur qu'il a eu est la même que la mienne.Sinon c'est le DS415+ de synology 5 baies.

4 baies - 2015 - le + ce sont les modèles "boostés" !.. Cool.


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

Hors ligne