Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
GNUnetのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
GNUnet
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:匿名ネットワーク]] [[Category:ファイル共有]] [[Category:Virtual Private Network]] [[en:GNUnet]] [[es:GNUnet]] [[ru:GNUnet]] {{Related articles start}} {{Related|Tor}} {{Related|I2P}} {{Related|Freenet}} {{Related articles end}} [https://gnunet.org/ GNUnet] は中央サーバーや信頼機関を使わないセキュアなピアツーピアネットワークを提供するフレームワークです。現在、フレームワークを使って実装されたサービスとして検閲を免れるファイル共有があります。 [[Wikipedia:ja:GNUnet]] も参照してください。 == インストール == GNUnet は {{AUR|gnunet}} パッケージで[[pacman|インストール]]できます。グラフィカルインターフェイスも使いたい場合は {{AUR|gnunet-gtk}} をインストールしてください。 もしくは、最新の git バージョンを {{AUR|gnunet-git}} と {{AUR|gnunet-gtk-git}} パッケージでインストールすることもできます。 == 設定 == {{ic|gnunet}} サービスを[[起動]]・[[有効化]]してください。 もしくは、ターミナルからピアを今すぐ起動するには: # gnunet-arm -s [https://gnunet.org/how-start-and-stop-gnunet-peer How to start and stop a GNUnet peer] も参照してください。 == 使用方法 == === GNUnet ネットワークへの参入 === {{ic|gnunet}} システムサービスを [[起動]]、場合によっては [[有効化]] します。一部の操作では、{{ic|gnunet}} ユーザーサービスも開始する必要があります。 === ネットワークを確認する === 通常のユーザーとして {{ic|gnunet-peerinfo}} コマンドを起動することで、ネットワークの現在の状態を確認できます。 $ gnunet-peerinfo ピア ID の起動を確認するには: $ gnunet-peerinfo -s 直接接続しているピア (これらを "neighbours" と呼びます) を一覧表示するには、次のコマンドを実行します。 $ gnunet-core === ファイル共有 === デフォルトでは、ファイル共有サービスは ''ユーザーごと'' に実行されます。つまり、'''システムとユーザーの両方の {{ic|gnunet}} サービス''' を [[起動]] する必要があります。このオプションを変更して ''マシンごと'' にファイル共有を実行したい場合は、それに応じて {{ic|/etc/gnunet.conf}} を編集します。 [fs] ... RUN_PER_USER = NO ... UNIXPATH = $GNUNET_RUNTIME_DIR/gnunet-service-fs.sock ... ==== ファイルを検索する ==== {{ic|gnunet-search}} を使用して、キーワード (これらは必ずしもファイル名に関連しているわけではありません) を使用してファイルを検索します。たとえば、"commons" キーワードでインデックス付けされたファイルを検索するには、次のコマンドを起動します。 $ gnunet-search --timeout='10 s' 'commons' タイムアウトを指定しないと (上記の例では 10 秒)、{{ic|gnunet-search}} は永久に実行され、ユーザーが CTRL-C を押すのを待ちます。 {{ic|gnunet-search}} コマンドには、印刷出力を操作するための {{ic|--printf}} オプションがあります。これは、[[find|{{ ic|find}}]] ユーティリティです。詳細については、{{ic|man gnunet-search}} と入力してください。 ===== 検索結果を "GNUnet ディレクトリ" として保存する ===== {{ic|gnunet-search}} の {{ic|-o}} オプションを使用して、検索結果を "GNUnet ディレクトリ" ({{ic|.gnd}} ファイル) として保存します。この場合、出力は印刷されます ({{ic|-s}} オプション) たとえば、3 秒間検索し、"commons" キーワードによって得られた結果を {{ic|three-seconds-commons.gnd}} という名前のファイルに保存するには、次のように起動します。 $ gnunet-search -s -t 3s -o three-seconds-commons.gnd 'commons' 後で {{ic|three-seconds-commons.gnd}} の内容を検査したい場合は、次のコマンドを起動できます。 $ gnunet-directory three-seconds-commons.gnd ==== ダウンロード ==== {{ic|gnunet-search}} の出力は、デフォルトでは、通常のユーザーとして直接コピーして起動できる {{ic|gnunet-download}} コマンドのリストです。 たとえば、{{ic|gnunet-search 'commons'}} によって生成された出力を使用すると、 {{hc|$ gnunet-search 'commons'| #1: gnunet-download -o "Liotard (2017)_ Fablab - a new space for commons based peer production.pdf" gnunet://fs/chk/C6369DRQ3S8RYK1FD5VDE666W2HVEJ5G5GJRX29BH6ZM08CBRWS7FY9326RBJ4G0N8V1RJ2N802KBYZT7RJT2EDK1J9JR2DXK5MTVM0.4SXJCK9NT5XGCZ0YAJ0ETXJJGY3P2SMNZ0Q94N775YEX9SXS2RW5FWRFK4GMBTP668Z3R8QZZ4WSHW1KG1AVQ5VFC1VF5T3WF57GT58.336423 #2: gnunet-download -o "Rose, Carol (1986)_ The Comedy of the Commons_ Commerce, Custom, and inherently Public Property.pdf" gnunet://fs/chk/TQK3A2C279EJQ50B1TQWFNTPMGQZJJ4JXYTF2D88D03H038TB7SVVSRBT74FMYPNZ47YZSV096PVVZH0TQ3B8KBVBV2H8GN9VAASTJR.CQ7M7843MGPZCV8M26NKH6EB5MBGZAXRWCF39YS668WM6F22D214GSXNTJ4RYGE7XF68VPZM4C19XR48TT4J8WH8S2E00C96Q8K6790.1593230 #3: gnunet-download -o "Hardin, Garett (1968)_ Tragedy of the Commons.pdf" gnunet://fs/chk/Y1FD7D123CEGWDW544YDEP15YA5E7ZD2XRSJBNP0847A5JXMMZEZ0XACGRG42BBBTGKZ0ZCBW0A9T6196Z5N26HA6SP1T8GDAT5H5SG.RN38G25DMYG3TBQJEGWDZT2B84N1JYYJZ8VRJ8HG2G1A4EFD4GH5TZXB0RXV7QEMZBSKWCCEF736FXNH6C5BYKG9DSTV99ETFGC93R0.1520328 ...}} 起動して、 {{bc|$ gnunet-download -o "Hardin, Garett (1968)_ Tragedy of the Commons.pdf" gnunet://fs/chk/Y1FD7D123CEGWDW544YDEP15YA5E7ZD2XRSJBNP0847A5JXMMZEZ0XACGRG42BBBTGKZ0ZCBW0A9T6196Z5N26HA6SP1T8GDAT5H5SG.RN38G25DMYG3TBQJEGWDZT2B84N1JYYJZ8VRJ8HG2G1A4EFD4GH5TZXB0RXV7QEMZBSKWCCEF736FXNH6C5BYKG9DSTV99ETFGC93R0.1520328}} これにより、現在のディレクトリに {{ic|Hardin, Garett (1968)_ Tragedy of the Commons.pdf}} がダウンロードされます。 ===== リモート GNUnet ディレクトリをダウンロードせずにマウントする ===== {{AUR|gnunet-fuse}} という名前のモジュールは、GNUnet ネットワークからリモート ディレクトリをマウントするために開発されました。{{ic|gnunet-fuse}} を使用すると、GNUnet ネットワーク上に公開されたディレクトリを読み取り専用ファイルシステムとしてマウントし、通常のファイル操作を使用してアクセスできます。{{ic|gnunet-download}} を介してディレクトリを再帰的にダウンロードするのとは対照的に、これにはファイルがオンデマンドでダウンロードされるという利点があります。アクセスしたファイル (またはディレクトリ) のみがダウンロードされます。詳細については、モジュールをインストールし、"{{ic|man gnunet-fuse}}" と入力してください。 ==== アップロード ==== GNUnet ファイル共有ネットワーク上でファイルを公開するには、後で他の人がファイルを検索するために使用できるキーワードを選択する必要があります。 キーワードは厳密には必須ではありませんが、推奨されます。これは、GNUnet ではファイル名ではなくキーワードによる検索が許可されているためです。GNUnet の依存関係である {{Pkg|libextractor}} ライブラリは、ファイルからキーワードを自動的に抽出できますが、独自のキーワードを入力することもできます。 次の例では、キーワード "commons" と "state" を使用して、{{ic|ostrom.pdf}} という名前のファイルを公開します。 {{hc|$ gnunet-publish -k 'commons' -k 'state' ostrom.pdf| Publishing `/srv/filesharing/gnunet/ostrom.pdf' done. URI is `gnunet://fs/chk/M57S... }} GNUnet ユーザーは、{{ic|gnunet-search}} コマンドを使用してファイルを検索できるようになりました。 {{hc|$ gnunet-search 'commons'| #1: gnunet-download -o "ostrom.pdf" gnunet://fs/chk/M57S... }} 現在公開されているすべてのファイルをリストするには、{{ic|gnunet-fs -i}} を起動します。後でファイルの共有を停止したい場合は、{{ic|gnunet-unindex ''filename''}} を使用できます (この例では、{{ic|gnunet-unindex 'ostrom.pdf'}}) ファイルが公開されると、ファイルのインデックスに使用されたキーワードを取得することはできません (つまり、逆検索) ただし、さらにキーワードを追加することはいつでも可能です。 新しくアップロードされたファイルがピアに表示されるまでには、しばらく時間がかかる (最大で数時間) 場合があることに注意してください。 {{Warning|ファイルを非公開にしても、現在のマシンによるファイルの共有が停止されるだけで、GNUnet ネットワークからファイルが消去されることはありません。これは設計上不可能です。他の人がファイルをダウンロードして自分で共有している可能性があるためです。必ず、{{ic|gnunet-publish}} は '''取り消しできないアクション''' であると考えてください。}} {{ic|gnunet-publish}} コマンドには、インデックスを付けずにファイルを公開するためのオプション {{ic|-n}} または同等の {{ic|--noindex}} が用意されています。使用すると、GNUnet は完全な挿入を実行し、ファイル全体を暗号化された形式で GNUnet データベースに保存します。 このオプションは、検閲が厳しい国で検閲されたファイルの場合に、GNUnet を実行しているコンピュータに物理的にアクセスした人が現在公開されているファイルを知ることを回避する目的で作成されました。{{ic|--noindex}} オプションを使用して公開されたファイルは、ネットワークからダウンロードされたチャンクとして表示されるため、非公開またはインデックス付けを解除することはできません (そもそもインデックス付けされていません)。ただし、公開中にコンテンツの優先順位を低く指定し ({{ic|--prio}})、データベースがいっぱいになったときに公開されるコンテンツが簡単に失われてもよいことを GNUnet に伝えることは常に可能です。 詳細については、[https://docs.gnunet.org/handbook/gnunet.html#File_002dsharing the chapter on file-sharing in the handbook] を参照してください。https://gnunet.org/en/use.html#filesharing も参照してください。 ===== インデックス付きファイルの変更と削除 ===== * ファイルを変更すると、ファイルのURIが変わります。したがって、GNUnet はこれをまったく別のファイルと見なし、インデックス付きファイルは見つからないとみなします。したがって、最初に元のファイルのインデックスが解除されていることを確認し ({{ic|gnunet-unindex}} コマンドを使用)、ファイルを変更してから、新しいファイルにインデックスを付けて、ネットワーク経由でアクセスできるようにします。 * ファイルシステムからファイルを削除する場合は、まずそのファイルのインデックスを解除する必要があります。 * 公開されたファイルを多かれ少なかれ頻繁に更新する必要があることが事前にわかっている場合は、[[GNUnet#更新可能なファイルの公開]] を参照してください。 ==== ダウンロード + 共有 ==== GNUnet ファイル共有ネットワークは DHT です ([[Wikipedia:ja:分散ハッシュテーブル]] を参照) DHT のピアとして、ユーザーはさまざまなファイルのチャンクをディスク上に保存します。これは、''ダウンロードしていないファイルやダウンロードしたファイルであっても'' です。どのファイルが保存されるかは、DHT 距離メトリック/アルゴリズムによって異なります。 技術的には、ファイルが完全にダウンロードされていない限り、ファイルの一部のみが保存されます。これらはキャッシュ (通常は {{ic|/var/lib/gnunet/.local/share/gnunet}} の下) に保存されます。DHT クエリがキャッシュされた部分の 1 つについてピアに到達すると、ピアはそれを提供します。ファイル共有ブロックの保存に使用されるデータベースは有限 (構成可能なクォータ以下) に保たれ、すべてのキャッシュされた部分は期限切れになり、新しいファイル用のスペースを確保できます。 誰かが GNUnet ネットワークでファイルを共有すると、そのファイルの分散チャンクはネットワークのキャッシュにしばらく残り、ファイルを共有した人がオフラインになってもファイルは利用可能なままになります。しかし、元の発行者が行方不明になり、他の誰もファイルを ''明示的に'' ({{ic|gnunet-publish}} を使用して) 共有しなかった場合、ピアのキャッシュが期限切れになるか、ピアがオフラインになると、そのファイルは最終的に利用できなくなります。 ファイルが GNUnet ネットワークに確実に残るようにする唯一の方法は、ファイルをダウンロードした後に ({{ic|gnunet-publish}} を使用して) 明示的に再公開し、ファイルを公開するマシンが定期的にネットワークにアクセスできるようにすることです。 ダウンロード後にファイルを公開すると、再公開用に選択されたキーワードに関係なく、ファイルがダウンロードされたときと同じ URI (以下の例では {{ic|gnunet://fs/chk/Y1FD...}}) が常に生成されます。 {{hc|$ gnunet-download -o 'Hardin, Garett (1968)_ Tragedy of the Commons.pdf' gnunet://fs/chk/Y1FD...|2= 100% [============================================================] Downloading `Hardin, Garett (1968)_ Tragedy of the Commons.pdf' done (160 b/s). }} {{hc|$ gnunet-publish -k 'tragedy' 'Hardin, Garett (1968)_ Tragedy of the Commons.pdf'|2= Publishing `/srv/filesharing/gnunet/Hardin, Garett (1968)_ Tragedy of the Commons.pdf' done. URI is `gnunet://fs/chk/Y1FD... }} === VPN === GNUnet は VPN を提供しており、これを使用してインターネット接続を共有したり (これは Tor 出口ノードを実行するのと同じように危険な可能性があります)、ホスト上のサービスへのアクセスを提供したりできます (これらのサービスは安全です) GNUnet で VPN をセットアップする方法については、https://gnunet.org/en/use.html#vpn を参照してください。 === GNU ネームサービス (GNS) === GNU ネーム サービス (GNS) は、[[ドメイン名前解決]] (DNS) に代わる完全に分散化された代替手段であり、後者と同じ重大なセキュリティ上の欠陥に悩まされることはありません ([https://en.wikipedia.org/wiki/Domain_Name_System#Security_issues セキュリティの問題] を参照) GNS の使用方法については、https://gnunet.org/en/use.html#gns_cli および https://gnunet.org/en/use.html#gns_browser を参照してください。 === 他の GNUnet ユーザーとチャットする === GNUnet ユーザーとチャットするには、{{ic|gnunet-messenger}} ユーティリティを使用できます。"これには、{{ic|gnunet.service}} [[ユーザーユニット]] を [[起動]] する必要があります" (おそらく、{{ic|gnunet.service}} システムユニットと一緒に – [[GNUnet#マルチユーザー設定で現在のユーザーとしてデーモンを起動する|マルチユーザー設定で現在のユーザーとしてデーモンを起動する]] を参照してください) たとえば、"アリス" というニックネームを使用して "miscellanea" ルームに入るには、 {{hc|$ gnunet-messenger -e alice -r miscellanea| * Welcome to the messenger, 'alice'! * You try to open a room... * You joined the room. [EHDA8T] * 'anonymous' opened the room on: 2ABN944E16FTWFMOKTMQ5JMPQ233YSPBKC47XR2DHSPQCQ8GYK80 [EHDA8T] * 'anonymous' gets renamed to 'alice' █ }} == App ecosystem == === GNUnet GTK === GNUnet GTK is a collection of graphical interfaces for the GNUnet framework. It ships the following [[GTK]] applications: * {{ic|gnunet-conversation-gtk}} * {{ic|gnunet-fs-gtk}} * {{ic|gnunet-namestore-gtk}} * {{ic|gnunet-peerinfo-gtk}} * {{ic|gnunet-setup}} * {{ic|gnunet-statistics-gtk}} To install GNUnet GTK download the {{AUR|gnunet-gtk}} package. === Messenger GTK === Currently several graphical user interfaces for chatting on the GNUnet network are being developed. One of these is '''Messenger GTK''' ({{AUR|messenger-gtk}}, or {{AUR|messenger-gtk-git}} for the development version), a mobile-friendly [[GTK]] graphical user interface for chatting with GNUnet users. For chatting via command line, see '''Messenger CLI''' ({{AUR|messenger-cli}} or {{AUR|messenger-cli-git}} for the development version). === Web User Interface === A Web interface for GNUnet exists and is available as {{AUR|gnunet-webui-git}}. === re:claimID === [https://gnunet.org/en/reclaim/index.html re:claimID] is a decentralized Identity Provider (IdP) service built on top of the GNU Name System. It allows users to securely share personal information with websites using standardized protocols (OpenID Connect). For users ''re:claimID'' offers [https://addons.mozilla.org/addon/reclaimid/ an extension for Firefox] and [https://chrome.google.com/webstore/detail/reclaimid/jiogompmdejcnacmlnjhnaicgkefcfll an extension for Chromium] for managing ''re:claimID'' identities in the web browser (the {{AUR|gnunet}} package needs to be installed). After having installed the extension it will be possible to add a new identity to the local ''re:claimID'' instance and add some attributes to it by visiting https://ui.reclaim/ (the link will not work without the extension installed). For more information, please refer to [https://gnunet.org/en/reclaim/users.html the manual]. === GNU Taler === GNU Taler is a microtransaction and electronic payment system built on top of GNUnet. Differently than other distributed payment systems Taler is not based on a blockchain, but on blind signatures instead. For more information please consult [https://taler.net/en/docs.html the official documentation]. See also packages {{AUR|sync}}, {{AUR|taler-exchange}}, {{AUR|taler-mdb}}, {{AUR|taler-merchant}} and {{AUR|taler-twister}}. === GNU Anastasis === [https://www.gnu.org/software/anastasis/ GNU Anastasis] is a protocol and implementation that allows users to securely deposit core secrets with an open set of escrow providers and to recover these secrets if their original copies are lost. Anastasis is available on AUR ({{AUR|anastasis}} and {{AUR|anastasis-gtk}}). For more information please consult https://www.gnu.org/software/anastasis/ and https://anastasis.lu/. == Troubleshooting == === GNUnet fails to publish files === A common mistake for who does not understand how the GNUnet services work is that of trying to publish files located in the home directory (or in its subdirectories) when the file sharing service is not running for the current user. The problem is that the {{ic|gnunet}} system user (which runs the GNUnet system service) has normally no access to the home directories of other users. An easy solution is to create a shared directory, where only users that belong to the {{ic|gnunet}} group have write permissions, and use it to place the files that will be published. For instance, {{ic|/srv/filesharing/gnunet}} could be a good choice: # install -dm775 -g gnunet -o gnunet /srv/filesharing/gnunet Each user belonging to the {{ic|gnunet}} group can then create a link to it in their home directory, $ ln -s /srv/filesharing/gnunet ~/Publishing which can be dereferenced by {{ic|gnunet-publish}}: {{hc|1=$ (cd ~/Publishing && gnunet-publish -k commons ostrom.pdf) && gnunet-fs -i|2= /srv/filesharing/gnunet/ostrom.pdf }} If you prefer to run the file sharing service as current user, edit {{ic|/etc/gnunet.conf}} accordingly: [fs] ... RUN_PER_USER = YES ... UNIXPATH = $GNUNET_USER_RUNTIME_DIR/gnunet-service-fs.sock ... === Low bandwidth === It is recommended for file-sharing that you increase GNUnet's bandwidth restrictions from the actually pretty low defaults. The example below sets the WAN and LAN limits to {{ic|unlimited}}. {{bc| $ gnunet-config -s ats -o WAN_QUOTA_IN -V unlimited $ gnunet-config -s ats -o WAN_QUOTA_OUT -V unlimited $ gnunet-config -s ats -o LAN_QUOTA_IN -V unlimited $ gnunet-config -s ats -o LAN_QUOTA_OUT -V unlimited }} === /var/lib/gnunet/ grows too big === GNUnet's cache is kept finite and cannot grow forever. However the quota reserved for it by default is not small (currently 5 GB). To reduce this number, you must assign your preferred value to the {{ic|QUOTA}} key in the {{ic|datastore}} section of {{ic|/etc/gnunet.conf}}. {{hc|/etc/gnunet.conf|2= ... [datastore] ... QUOTA = 2 GB ... }} === /var/lib/gnunet/ is left after uninstall === The {{ic|/var/lib/gnunet/}} directory is the home directory of the {{ic|gnunet}} system user, which is left after uninstalling GNUnet. If you are sure that you are never going to use GNUnet ever again, launch: {{bc| # userdel -r gnunet # groupdel gnunetdns }} {{Warning|The identity and all the information about the network cumulatively stored by the current peer will be destroyed – this will not affect files explicitly downloaded in other paths.}} === The network is too static === By default GNUnet bootstraps itself using a {{ic|hostlist}} file downloaded from internet (plain {{ic|https}}) every time it connects to the network. If you want to instruct it to learn and memorize host lists provided by other peers you need to add the {{ic|-e}} option to the {{ic|OPTIONS}} key under {{ic|hostlist}} in {{ic|/etc/gnunet.conf}}. Further options are also available. {{hc|/etc/gnunet.conf|2= ... [hostlist] ... # Options: # -p : provide a hostlist as a hostlist servers # -b : bootstrap using configured hostlist servers # -e : enable learning advertised hostlists # -a : advertise hostlist to other servers OPTIONS = -b -e -a -p ...}} == Tips and tricks == === Launching the daemon as current user in a multi-user setup === After a fresh install the user configuration file is missing. In a multi-user setup this is almost only used (if needed) to [[start]] and [[stop]] the {{ic|gnunet.service}} [[user unit]] while the system daemon is running, hence it is generally enough to create a minimal configuration file containing only: {{hc|~/.config/gnunet.conf|2= [arm] START_SYSTEM_SERVICES = NO START_USER_SERVICES = YES }} Without setting {{ic|START_SYSTEM_SERVICES}} to {{ic|NO}}, launching the daemon as current user while the system daemon is running will result in duplicate processes. See [https://docs.gnunet.org/handbook/gnunet.html#The-Multi_002dUser-Setup The Multi-User Setup], in the manual for further insight. === A button for switching GNUnet on and off === If you use [[GNOME]] you might want to install the Systemd Manager shell extension ({{AUR|gnome-shell-extension-systemd-manager}}) and add GNUnet to it: $ dconf write /org/gnome/shell/extensions/systemd-manager/systemd \ <nowiki>'['\''{"name":"GNUnet system service","service":"gnunet.service","type":"system"}'\'', '\''{"name":"GNUnet user service","service":"gnunet.service","type":"user"}'\'']'</nowiki> (After installing the extension you might need to restart the session.) === Single-user setup === The GNUnet peer can be started also from the current user without running the {{ic|gnunet}} system service. For a single-user setup make sure that {{ic|START_SYSTEM_SERVICES}} and {{ic|START_USER_SERVICES}} are set to {{ic|YES}} in {{ic|~/.config/gnunet.conf}}: {{hc|~/.config/gnunet.conf|2= [arm] START_SYSTEM_SERVICES = YES START_USER_SERVICES = YES }} To start the peer as current user, [[start]] the {{ic|gnunet.service}} [[user unit]]. To stop a peer which is running as current user, [[stop]] the {{ic|gnunet.service}} user unit. For further information, please refer to [https://docs.gnunet.org/handbook/gnunet.html#The-Single_002dUser-Setup the chapter on the single-user setup in the handbook]. === Publishing updatable files === It is possible to publish "updatable" files (i.e., files for which you might want to release a different version in the future, advertising that it is the same file – just updated – and not a different one). To release an updatable file you need to create an ego and use it to sign the file. This is the only way to assure that a malicious party cannot supply counterfeited updates. To create an ego the {{ic|gnunet-identity}} utility is available, ''for which the {{ic|gnunet.service}} [[user unit]] needs to be [[start]]ed'' (possibly along with the {{ic|gnunet.service}} system unit – see [[#Launching the daemon as current user in a multi-user setup]]). For instance, to create an ego named "caroline", [[start]] the {{ic|gnunet}} user unit and launch: $ gnunet-identity -C caroline {{Note|If later you decide to erase this ego you can launch {{ic|gnunet-identity -D caroline}}.}} Now that you have created an ego, you need to specify a string that identifies the current release of the file (the {{ic|-t}} option), and ''already now the string that will identify your planned next version'' (the {{ic|-N}} option) – you will have to remember the latter. Any content is possible for both strings. {{hc|1= $ gnunet-publish -P caroline -t 'diary version 1' -N 'diary version 2' -k 'diary' until-2020/my_diary.md|2= Publishing `/srv/filesharing/gnunet/until-2020/my_diary.md' done. URI is `gnunet://fs/chk/AF26...'. Namespace URI is `gnunet://fs/sks/V3TK.../diary version 1'. }} When an update will be ready, you will have to use the same string that you had previously chosen for it ("diary version 2" in our example), possibly accompanying it with another name for a further update (if applicable): {{hc|1= $ gnunet-publish -P caroline -t 'diary version 2' -N 'diary version 3' -k 'diary' until-2021/my_diary.md|2= Publishing `/srv/filesharing/gnunet/until-2021/my_diary.md' done. URI is `gnunet://fs/chk/5Y7V...'. Namespace URI is `gnunet://fs/sks/V3TK.../diary version 2'. }} If you decide that an update will be the last one, omit the {{ic|-N}} option (will not allow any future updates). Note that an update with GNUnet will not make the old content unavailable, GNUnet merely allows the publisher to point users to more recent versions. === Launching and stopping GNUnet without systemd === GNUnet comes with an own daemon management system, the ''Automatic Restart Manager'' (limited to the GNUnet services). To start the system services manually without [[systemd]] launch the {{ic|gnunet-arm}} utility ''as {{ic|gnunet}} user'': $ sudo -u gnunet gnunet-arm -c /etc/gnunet.conf -s To end the system services manually without systemd, launch: $ sudo -u gnunet gnunet-arm -c /etc/gnunet.conf -e To start the user services manually without systemd, launch the {{ic|gnunet-arm}} utility ''as current user'': $ gnunet-arm -c ~/.config/gnunet.conf -s To end the user services manually without systemd, launch: $ gnunet-arm -c ~/.config/gnunet.conf -e
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Bc
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:META Related articles start
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Related
(
ソースを閲覧
)
テンプレート:Related articles end
(
ソースを閲覧
)
テンプレート:Related articles start
(
ソースを閲覧
)
テンプレート:Warning
(
ソースを閲覧
)
GNUnet
に戻る。
検索
検索
GNUnetのソースを表示
話題を追加