Up1 est un service permettant d'uploader des images et du texte. Ces données sont cryptées pendant l'envoi
ce qui fait que le serveur qui stocke ces données ne peut pas accéder à son contenu.
L'url est obligatoir pour y accéder.

Pour discuter du tuto : http://mondedie.fr/d/6888

image



Site du projet:
https://github.com/Upload/Up1

Le client pour upload les images est ShareX. Il offre une panoplie d'options assez grande pour les screenshots, upload automatique par défaut, possibilité de choisir l'hébergeur d'images, possibilité d'uploader une image directement depuis l'explorateur windows avec clic droit..., possibilité de modifier un screenshot avec les outils intégrés et de l'uploader ensuite en un clic.
Site du projet:
https://getsharex.com/



Options clic droit:



Notification bureau après upload:


J'ai fait le tuto en même temps qu'une réinstallation, je ne pense pas avoir oublié des choses, je vais juste rajouter des screenshots. J'ai un problème pour poster ceux hebergés avec up1 par contre vu que c'est crypté il n'y a pas d'extension...

Ma todo-list:
rajouter la génération d'un certificat ssl.

Up1 requiert git et golang, si vous les avez déjà installés, passez à l'étape suivante.
Installer git.

On mets à jour les depots:
apt-get update 
on installe git:
apt-get install git
On installe golang:
apt-get install golang
Création d'un user pour up1
mkdir /home/up1
useradd -s /bin/bash up1
passwd up1
chown -R up1:up1 /home/up1
Installation de up1

On se place dans le home
cd /home/up1
Et on télécharge up1
git clone https://github.com/Upload/Up1.git
On renomme Up1 en up1 (par rapport au script de demarrage)
mv Up1 up1
On se deplace dans le dossier Up1:
cd up1

On installe up1:
go build server.go
Configuration

On renomme server.conf.example en server.conf:
mv server.conf.example server.conf
On renomme config.js.example en config.js:
mv config.js.example config.js
Ensuite il faut une clé pour la suppression des fichiers.
Elle doit contenir uniquement des minuscules et des chiffres, par exemple:
c68523f6eghjk14785799f936e27755f
Pour ma part j'utilise lastpass pour générer la clé.

On ouvre le fichier server.conf:
nano server.conf
On mets la clé entre les "" dans la ligne:
"delete_key": "",
Il faut aussi modifier la clé d'API qui est dans les fichiers server.conf et config.js , elle doit être identique.

Sécurité:
le service est configuré de base pour fonctionner en http. Pour le mettre en https, il faut modifier le fichier server.conf:
nano server.conf
Et modifier comme ceci (mettre un autre port si 443 est déjà utilisé)
"http": {
    "enabled": false,
    "listen": ":80"
  },

  "https": {
    "enabled": true,
    "listen": ":443", #si 443 est déjà utilié, mettre un autre port, par exemple 7000
    "cert": "./cert.pem",
    "key": "./key.pem"
  },
  
Il faut également un certificat ssl valide.

Pour le lancer :
  ./server &
Le & sert à lancer le processus en arrière plan, de cette façon, on peut fermer le terminal sans que ça ne ferme le processus.

Création d'un script de demarrage
on se mets dans /etc/init.d
  cd /etc/init.d    
On crée le fichier: (modifier NAME,USER,DIR si besoin)
nano up1
Et on colle :
  
  #! /bin/sh
### BEGIN INIT INFO
# Provides:          up1
# Required-Start:    networking
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      S 0 1 6
# Short-Description: up1 Server Daemon
# Description:       Starts/Stops/Restarts the up1 Server Daemon
### END INIT INFO

set -e

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="Serveur d'envoi d'images"
NAME=up1             #modif si besoin
USER=up1            #modif si besoin
DIR=/home/up1/up1     #modif si besoin
DAEMON=$DIR/server
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME


cd $DIR
./server & $1

case "$1" in
    start)
        log_daemon_msg "Starting Up1" "server"
        if ! start-stop-daemon --background --start --quiet --exec $DIR}/server -- $1}; then
            log_end_msg 1
            exit 1
        fi
        log_end_msg 0
        ;;
#    stop)
#        killall server
#       ;;
#    restart|force-reload)
#        $0 stop
#        sleep 3
#        $0 start
#        ;;
Stop/restart ne marchent pas donc je les ai commentés.

Pour arréter le service, faire:
ps -ef

et
kill -9 pid_de_./server
Ensuite on rend notre script executable:
chmod +x up1
Et on l'ajoute à update-rc.d pour le demarrage automatique:
update-rc.d up1 default
Bonus up1 en sous domaine

Il faut modifier server.conf de cette façon:
"http": {
    "enabled": false,
    "listen": ":80"
  },
  "https": {
    "enabled": true,
    "listen": ":le port sur lequel tu veux que up1 ecoute",
    "cert": "chemin vers ton .crt",
    "key": "chemin vers ton .key"
Il n'y a rien à changer dans config.js

Ensuite il faut créer un fichier de configuration nginx pour up1:
nano /etc/nginx/sites-enabled/up1.conf
On colle ceci dedans (en mettant les bonnes valeurs serveur_name et port):
server {

    listen 80;
    server_name up1.tondomaine;
    return 301 https://$host$request_uri;
}

server {

    listen 443 ssl spdy;
    server_name up1.tondomaine;
    index index.php;

#LOGS
        access_log /var/log/nginx/sickrage-access.log combined;
        error_log /var/log/nginx/sickrage-error.log error;



    location / {
            proxy_pass        https://127.0.0.1:tonport;
            proxy_redirect    off;
            proxy_set_header  Host             $http_host;
            proxy_set_header  X-Real-IP        $remote_addr;
            proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
}
ensuite on redemarre nginx:
service nginx restart
Up1 sera accessible avec http://up1.votredomaine.tld ou https://up1.votredomaine.tld


Téléchargement et installation de ShareX (windows):
https://getsharex.com/
Cliquez sur download pour télécharger le client.

Dossiers des screenshot:
Pour le modifier, cliquer sur Paramètres d'applications et Chemins


Configuration de ShareX avec notre server.

Tout d'abord il faut selectionner up1 sinon l'upload par défaut est sur imgur.
Selectionner up1 dans :
Destinations -> Logiciels de mise en ligne d'images -> Logiciels de mise en ligne de fichiers -> Up1



Ensuite on configure notre serveur dans les paramètres up1 sinon l'upload est fait sur leur site de demo.
Destinations->Paramètres de destination


Up1 est tout en bas de la liste.


Dans le champ host, mettre l'url de votre up1, par exemple https://monurl.fr:9000.
Dans API key, la clé d'API qui se trouve dans votre fichier server.conf.
Relancer l'application ShareX si besoin et l'upload devrait être fonctionnel.
Répondre…