~hannes/yukari

an iori client
Show the number of elements in a directory
Add trash documentation
Fix upload source label size on large inputs

clone

read-only
https://git.sr.ht/~hannes/yukari
read/write
git@git.sr.ht:~hannes/yukari

You can also use your local clone with git send-email.

#Yukari

Yukari is a client for Iori, a minimal file archiving solution.

#Building

To build the application and bundle it with a Java runtime, use the jpackage task:

./gradlew jpackage

If you want a shadow jar (a jar including all the dependencies), use the shadowJar task:

./gradlew shadowJar

If you don't want the dependencies to be included in the jar, use the jar task:

./gradlew jar

#Configuration

Currently, only the server to connect to can be configured. The path for the configuration file is:

  • Linux: ~/.config/yukari/config
  • macOS: ~/Library/Preferences/net.hannesbraun.yukari/config
  • Windows: ~\App Data\Roaming\yukari\config.txt

The config file is written using scfg.

Add a new server like this:

server "My Server Name" {
    url "http://1.2.3.4:8080"
    path "/example"
    username you
    password yourpassword
    trashDir /deleted
    trashMethod yearMonth
}

The parameters that likely need some explanation are:

  • trashDir: As nothing can be deleted on an Iori server, a delete operation within Yukari only moves the object into the directory specified by trashDir.
  • trashMethod: This is the method to determine the directory and name of an object within the trashDir. Possible values are:
    • randomString: each object lands in trashDir and the file name will be changed to a random string.
    • prefixTrashTimestamp: each object lands in trashDir and the file name will be prefixed with the timestamp of the delete operation.
    • suffixTrashTimestamp: each object lands in trashDir and the timestamp of the delete operation will be appended to the filename.
    • suffixTrashTimestampOnConflict: each object lands in trashDir and the timestamp of the delete operation will be appended to the filename if there would otherwise be a name conflict.
    • year: each object lands within a subdirectory (inside of trashDir) named after the current year. If there is a naming collision, an increasing integer will be appended.
    • yearMonth: same as year but with an additional subdirectory for the current month.
    • yearMonthDay: same as yearMonth but with an additional subdirectory for the current day.

#License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License (version 3 only) as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Do not follow this link