- Modifié
Bonjour à tous,
Introduction
J'ai décidé, il y a quelques de développer mon propre listing de fichier.
Ce que je cherchais :
- Listing des fichiers/répertoires d'un répertoire, en l’occurrence le répertoire torrents
- Partage des fichiers
- Utilisation des utilisateurs rutorrent (par exemple, j'y reviendrais)
Et c'est tous !!!
Après de nombreuses recherches, je ne trouvais rien de simple, comme par exemple pydio et owncloud qui sont pour moi des solutions trop lourd pour simplement permettre à mes utilisateurs ceci.
Il y a bien le fabuleux explorer de soyuka, mais celui ci ne me convenais pas, car il ne permettait pas de partager les fichiers (sauf erreur de ma part), et il possédais des fonctions que je ne voulais pas, comme la suppression des fichiers et autres. (EDIT : Vu avec Soyuka, c'est possible ^^ => config => remove: false et hop plus de suppresion)
Donc goBrowser n'a pas pour but de concurrencer explorer, l'approche est tout simplement différente. Explorer est un vrai explorateur de fichier, goBrowser est une simple interface à la h5ai.
Pourquoi Go ?!
J'ai décidé de développer en Go, simplement car le langage me plaisais bien, et aussi, une fois compilé, c'est vraiment léger, pratique pour le dockerizer ^^.
L'application une fois compilé, fait moins de 10Mo, ce qui une fois dans un docker sous alpine par exemple, représente une image de 15Mo max.
Feature à venir
- Partage d'un répertoire complet
- Amélioration de l'interface
- Ajout d'un readme (c'est mieux ^^)
- Ajout d'option dans la configuration
- Amélioration du code (les devs vont se tiré les cheveux en le lisant ^^)
Feature qui ne viendrons jamais
- Gestion complète des fichiers (comme la suppression, ou l'édition des permissions), ce n'est pas le but
- L'upload de fichiers, encore une fois, ce n'est pas le but
Quelques captures
Listing des fichiers/répertoires :

Listing des partages :

Création d'un partage :

Page d'un fichier partagé :

Installation et configuration
Les pré-requis
On install go et git :
C'est vraiment simple :
Configuration
Pareil, rien de compliquer
http://1.2.3.4:8080
Configuration avec le script d'ex_rat
Introduction
J'ai décidé, il y a quelques de développer mon propre listing de fichier.
Ce que je cherchais :
- Listing des fichiers/répertoires d'un répertoire, en l’occurrence le répertoire torrents
- Partage des fichiers
- Utilisation des utilisateurs rutorrent (par exemple, j'y reviendrais)
Et c'est tous !!!
Après de nombreuses recherches, je ne trouvais rien de simple, comme par exemple pydio et owncloud qui sont pour moi des solutions trop lourd pour simplement permettre à mes utilisateurs ceci.
Il y a bien le fabuleux explorer de soyuka, mais celui ci ne me convenais pas, car il ne permettait pas de partager les fichiers (sauf erreur de ma part), et il possédais des fonctions que je ne voulais pas, comme la suppression des fichiers et autres. (EDIT : Vu avec Soyuka, c'est possible ^^ => config => remove: false et hop plus de suppresion)
Donc goBrowser n'a pas pour but de concurrencer explorer, l'approche est tout simplement différente. Explorer est un vrai explorateur de fichier, goBrowser est une simple interface à la h5ai.
Pourquoi Go ?!
J'ai décidé de développer en Go, simplement car le langage me plaisais bien, et aussi, une fois compilé, c'est vraiment léger, pratique pour le dockerizer ^^.
L'application une fois compilé, fait moins de 10Mo, ce qui une fois dans un docker sous alpine par exemple, représente une image de 15Mo max.
Feature à venir
- Partage d'un répertoire complet
- Amélioration de l'interface
- Ajout d'un readme (c'est mieux ^^)
- Ajout d'option dans la configuration
- Amélioration du code (les devs vont se tiré les cheveux en le lisant ^^)
Feature qui ne viendrons jamais
- Gestion complète des fichiers (comme la suppression, ou l'édition des permissions), ce n'est pas le but
- L'upload de fichiers, encore une fois, ce n'est pas le but
Quelques captures
Listing des fichiers/répertoires :

Listing des partages :

Création d'un partage :

Page d'un fichier partagé :

Installation et configuration
Les pré-requis
On install go et git :
$ apt-get install golang git-core
On télécharge les sources :
$ cd /opt && git clone https://github.com/xataz/gobrowser.git
CompilationC'est vraiment simple :
$ cd /opt/gobrowser
$ go build app.go
Et c'est tous, vous pouvez désinstaller go si vous le souhaitez.Configuration
Pareil, rien de compliquer
$ nano app.conf
Et voici le contenu :
{
"listen": ":8080", # Le port d'écoute
"webroot": "", # Mettre /files pour accéder via http://1.2.3.4:8080/files
"path": "/home", # Le répertoire qu'on affiche
"hiddenfile": false # False pour ne pas afficher les fichiers caché, true pour les afficher
}
On le lance
$ /opt/gobrowser/app
Et on y accède :http://1.2.3.4:8080
Configuration avec le script d'ex_rat
soon ^^