GNUNET-AUTO-SHARE(1)
GNUNET-AUTO-SHARE(1) π
okay bestie, so this is a page from the General Commands Manual and it's all about gnunet-auto-share β the little icon that just... shares a whole directory for you. no cap. let's get into it π«Ά
β¨ NAME β¨
gnunet-auto-share β a command line tool to automatically share an entire directory with other users π
πΈ SYNOPSIS πΈ
gnunet-auto-share [-a LEVEL | --anonymity=LEVEL]
[-c FILENAME | --config=FILENAME]
[-D | --disable-extractor]
[-d | --disable-creation-time] [-h | --help]
[-L LOGLEVEL | --loglevel=LOGLEVEL]
[-l FILENAME | --logfile=FILENAME]
[-p PRIORITY | --prio=PRIORITY]
[-r LEVEL | --replication=LEVEL] [-V | --verbose]
[-v | --version] β¨DIRNAMEβ©
π¦ DESCRIPTION π¦
so here's the tea, bestie: to share files with other GNUnet users, the files have to be made available to GNUnet first. that's the whole vibe. this tool lets you automatically share all the files from one certain directory β like, the entire thing, no picking and choosing. π
the program will periodically scan the directory for changes and publish files that are new or that changed on GNUnet. and which files have already been shared? that's remembered in a .auto-share file, sitting right there in the shared directory. cute, right? π
you can run the tool by hand, or automatically by adding the respective options to your configuration. main character energy either way. π
gnunet-auto-share has many options in common with gnunet-publish, but β and this is important, fr fr β it can only be used to index files.
you can use automatic meta-data extraction (based on libextractor). the options are as follows:
π OPTIONS π
-a LEVEL,--anonymity=LEVELβ this one lets you specify additional anonymity constraints. the default is1. if you set it to0, GNUnet will publish the file non-anonymously and in fact sign the advertisement for the file using your peer's private key. that means other users can download the file as fast as possible, including using non-anonymous methods (discovery via DHT and CADET transfer). if you set it to1(the default), you use the standard anonymous routing algorithm (which does not explicitly leak your identity). however, a powerful adversary may still be able to perform traffic analysis (statistics) to over time discovery your identity. π
you can gain better privacy by specifying a higher level of anonymity (using values above 1). this tells FS that it must hide your own requests in equivalent-looking cover traffic. that should confound an adversaries traffic analysis, increasing the time and effort it would take to discover your identity. but β it also can significantly reduce performance, as your requests will be delayed until sufficient cover traffic is available.
the specific numeric value (for anonymity levels above 1) is simple: given an anonymity level L (above 1), each request FS makes on your behalf must be hidden in L-1 equivalent requests of cover traffic (traffic your peer routes for others) in the same time-period. the time-period is twice the average delay by which GNUnet artificially delays traffic.
note that regardless of the anonymity level you choose, peers that cache content in the network always use anonymity level 1. periodt. π
-c FILENAME,--config=FILENAMEβ use an alternate config file. if this option is not specified, the default is~/.config/gnunet.conf. π-D,--disable-extractorβ disable use of GNU libextractor for finding additional keywords and metadata.-d,--disable-creation-timeβ disable adding the creation time to the metadata of the uploaded file.-h,--helpβ print a brief help page with all the options. the classic. π-L LOGLEVEL,--loglevel=LOGLEVELβ change the loglevel. possible values for LOGLEVEL areERROR,WARNING,INFOandDEBUG.-l FILENAME,--logfile=FILENAMEβ configure logging to write logs to FILENAME. β¨-p PRIORITY,--prio=PRIORITYβ executive summary: you probably don't need it. set the priority of the published content (default:365). if the local database is full, GNUnet will discard the content with the lowest ranking. note that ranks change over time depending on popularity. the default should be high enough to preserve the locally published content in favor of content that migrates from other peers. π-r LEVEL,--replication=LEVELβ set the desired replication level. ifCONTENT_PUSHINGis set toYES, GNUnet will push each block (for the file) LEVEL times to other peers before doing normal "random" replication of all content. this option can be used to push some content out into the network harder. note that pushing content LEVEL times into the network does not guarantee that there will actually be LEVEL replicas. ngl that's just how it is.-V,--verboseβ be verbose. using this option causesgnunet-publishto print progress information and at the end the file identification that can be used to download the file from GNUnet. π₯-v,--versionβ print the version number. π
π EXAMPLES π
β Basic example
$ gnunet-auto-share $HOME/gnunet-share/ &
share a directory $HOME/gnunet-share/ β literally one line, slay π
β Basic configuration
$ Share a directory $HOME/gnunet-share/
[gnunet-auto-share]
OPTIONS = $HOME/gnunet-share
IMMEDIATE_START = YES # start this service when the peer starts
π§ FILES π§
~/.config/gnunet.confβ GNUnet configuration file π
π SEE ALSO π
extract(1), gnunet-download(1), gnunet-fs-gtk(1), gnunet-publish(1), gnunet-search(1), gnunet.conf(5)
the full documentation for gnunet is maintained as a Texinfo manual. if the info(1) and gnunet programs are properly installed at your site, the command
info gnunet
should give you access to the complete handbook,
info gnunet-c-tutorial
will give you access to a tutorial for developers. π
depending on your installation, this information is also available in gnunet(7) and gnunet-c-tutorial(7).
π BUGS π
report bugs by using https://bugs.gnunet.org or by sending electronic mail to β¨gnunet-developers@gnu.orgβ©. (yes, actual email, very vintage of them, we love that for them π«Ά)
okay and that's the whole page bestie!! this came from the Debian manual, dated June 18, 2012, and it's the GNUNET-AUTO-SHARE(1) page π go share a directory, you've got this β¨ππ¦
π¦ where this page comes from
- alpine 3.24: gnunet-doc 0.27.0-r0 Β· AGPL-3.0-only
- debian bookworm: gnunet 0.19.3-2 Β· AGPL-3.0-or-later
- debian trixie: gnunet 0.20.0-7 Β· AGPL-3.0-or-later
- nixos 26.05: gnunet 0.26.2
- nixpkgs unstable: gnunet 0.26.2
- opensuse-leap 16.0: gnunet 0.23.1-bp160.1.18 Β· AGPL-3.0-or-later
- opensuse-leap 16.0: gnunet 0.23.1-bp160.1.18 Β· AGPL-3.0-or-later
- opensuse-leap 16.0: gnunet 0.23.1-bp160.1.18 Β· AGPL-3.0-or-later
- opensuse-leap 16.0: gnunet 0.23.1-bp160.1.18 Β· AGPL-3.0-or-later
- ubuntu jammy: gnunet 0.15.3-4 Β· AGPL-3.0-or-later
- ubuntu noble: gnunet 0.20.0-4.1build3 Β· AGPL-3.0-or-later
- ubuntu questing: gnunet 0.20.0-7
- ubuntu resolute: gnunet 0.20.0-8 Β· AGPL-3.0-or-later
- ubuntu stonking: gnunet 0.20.0-9 Β· AGPL-3.0-or-later
- π the page's license: GPL3.0-or-later OR FDL1.3-or-later
- Copyright (C) 2001-2019 GNUnet e.V
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms