From abd82a56d21fa43a60bb87e58f5751ddf37cea5a Mon Sep 17 00:00:00 2001 From: Viktor Villainov Date: Tue, 30 Oct 2018 10:00:02 -0400 Subject: [PATCH] Add files --- i2pd-ldlibs.patch | 13 +++++ i2pd_qt_wrapper | 10 ++++ website.i2pd.i2pd.appdata.xml | 44 ++++++++++++++ website.i2pd.i2pd.desktop | 11 ++++ website.i2pd.i2pd.json | 107 ++++++++++++++++++++++++++++++++++ 5 files changed, 185 insertions(+) create mode 100644 i2pd-ldlibs.patch create mode 100755 i2pd_qt_wrapper create mode 100644 website.i2pd.i2pd.appdata.xml create mode 100644 website.i2pd.i2pd.desktop create mode 100644 website.i2pd.i2pd.json diff --git a/i2pd-ldlibs.patch b/i2pd-ldlibs.patch new file mode 100644 index 0000000..5958665 --- /dev/null +++ b/i2pd-ldlibs.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile.linux b/Makefile.linux +index cb376e77..4fe23c05 100644 +--- a/Makefile.linux ++++ b/Makefile.linux +@@ -46,7 +46,7 @@ ifeq ($(USE_STATIC),yes) + LDLIBS += -lpthread -static-libstdc++ -static-libgcc -lrt -ldl + USE_AESNI := no + else +- LDLIBS += -lcrypto -lssl -lz -lboost_system -lboost_date_time -lboost_filesystem -lboost_program_options -lpthread ++ LDLIBS += -L/app/lib -lcrypto -lssl -lz -lboost_system -lboost_date_time -lboost_filesystem -lboost_program_options -lpthread + endif + + # UPNP Support (miniupnpc 1.5 and higher) diff --git a/i2pd_qt_wrapper b/i2pd_qt_wrapper new file mode 100755 index 0000000..0587f8b --- /dev/null +++ b/i2pd_qt_wrapper @@ -0,0 +1,10 @@ +#!/bin/bash +if [ ! -d "$XDG_DATA_HOME/i2pd" ]; then + mkdir -p $XDG_DATA_HOME/.i2pd + cp /app/i2pd/i2pd.conf $XDG_DATA_HOME/.i2pd + cp /app/i2pd/tunnels.conf $XDG_DATA_HOME/.i2pd + ln -s /app/i2pd/certificates $XDG_DATA_HOME/.i2pd/certificates +fi + +ulimit -n 8192 +i2pd_qt --datadir=$XDG_DATA_HOME/.i2pd diff --git a/website.i2pd.i2pd.appdata.xml b/website.i2pd.i2pd.appdata.xml new file mode 100644 index 0000000..50f2410 --- /dev/null +++ b/website.i2pd.i2pd.appdata.xml @@ -0,0 +1,44 @@ + + + + i2pd.desktop + CC0-1.0 + BSD 3-Clause + i2pd + Invisible Internet + +

i2pd (I2P Daemon) is a full-featured C++ implementation of I2P client.

+

I2P (Invisible Internet Protocol) is a universal anonymous network layer. + All communications over I2P are anonymous and end-to-end encrypted, participants + don't reveal their real IP addresses.

+

I2P client is a software used for building and using anonymous I2P + networks. Such networks are commonly used for anonymous peer-to-peer + applications (filesharing, cryptocurrencies) and anonymous client-server + applications (websites, instant messengers, chat-servers).

+

I2P allows people from all around the world to communicate and share information + without restrictions.

+

Features

+
    +
  • Distributed anonymous networking framework
  • +
  • End-to-end encrypted communications
  • +
  • Small footprint, simple dependencies, fast performance
  • +
  • Rich set of APIs for developers of secure applications
  • +
+
+ + + https://i2pd.website/images/i2pd_qt.png + + + https://i2pd.website/ + https://github.com/PurpleI2P/i2pd/issues + https://i2pd.readthedocs.io/en/latest/ + supervillain@riseup.net + PurpleI2P Team + + + + + + +
diff --git a/website.i2pd.i2pd.desktop b/website.i2pd.i2pd.desktop new file mode 100644 index 0000000..6320825 --- /dev/null +++ b/website.i2pd.i2pd.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Categories=Network;P2P;Qt; +Exec=i2pd_qt_wrapper +GenericName=Invisible Internet +Comment=A universal anonymous network layer +Icon=website.i2pd.i2pd +Name=i2pd +Terminal=false +Type=Application +StartupNotify=false +Keywords=i2p;i2pd;vpn;p2p; diff --git a/website.i2pd.i2pd.json b/website.i2pd.i2pd.json new file mode 100644 index 0000000..e4f6bf9 --- /dev/null +++ b/website.i2pd.i2pd.json @@ -0,0 +1,107 @@ +{ + "app-id": "website.i2pd.i2pd", + "runtime": "org.kde.Platform", + "runtime-version": "5.11", + "sdk": "org.kde.Sdk", + "command": "i2pd_qt_wrapper", + "finish-args": [ + "--socket=x11", + "--socket=wayland", + "--share=ipc", + "--share=network", + "--device=dri"], + "cleanup": [ + "/cache", + "/share/doc", "/share/man", "/bin/openssl", "/bin/upnpc", "/bin/c_rehash", "/bin/external-ip", + "*.la", "*.a" + ], + "modules": [ + { + "name": "boost", + "buildsystem": "simple", + "build-commands": [ + "./bootstrap.sh --with-libraries=date_time,filesystem,program_options,system", + "./b2 -j $FLATPAK_BUILDER_N_JOBS install --prefix=/app" + ], + "sources": [ + { + "type": "archive", + "url": "https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.tar.bz2", + "sha256": "7f6130bc3cf65f56a618888ce9d5ea704fa10b462be126ad053e80e553d6d8b7" + } + ] + }, + { + "name": "openssl", + "buildsystem": "simple", + "build-commands": [ + "./config --prefix=/app --openssldir=/app/ssl shared zlib", + "make", + "make install" + ], + "sources": [ + { + "type": "archive", + "url": "https://www.openssl.org/source/openssl-1.1.1.tar.gz", + "sha256": "2836875a0f89c03d0fdf483941512613a50cfb421d6fd94b9f41d7279d586a3d" + } + ] + }, + { + "name": "miniupnpc", + "buildsystem": "simple", + "build-commands": [ + "make", + "INSTALLPREFIX=/app make install" + ], + "sources": [ + { + "type": "archive", + "url": "http://miniupnp.free.fr/files/download.php?file=miniupnpc-2.1.tar.gz", + "sha256": "e19fb5e01ea5a707e2a8cb96f537fbd9f3a913d53d804a3265e3aeab3d2064c6" + } + ] + }, + { + "name": "i2pd", + "buildsystem": "qmake", + "subdir": "qt/i2pd_qt", + "make-args": ["USE_UPNP=yes"], + "config-opts": ["QMAKE_LIBDIR=/app/lib"], + "no-make-install": true, + "sources": [ + { + "type": "archive", + "url": "https://github.com/PurpleI2P/i2pd/archive/2.21.1.zip", + "sha256": "c77ff7d06b95b24ad6ad5ccced27ed34da28be88a3f75af26d26e626b5364a8c" + }, + { + "type": "patch", + "path": "i2pd-ldlibs.patch" + }, + { + "type": "file", + "path": "i2pd_qt_wrapper" + }, + { + "type": "file", + "path": "website.i2pd.i2pd.appdata.xml" + }, + { + "type": "file", + "path": "website.i2pd.i2pd.desktop" + } + ], + "post-install": [ + "install -Dm777 i2pd_qt /app/bin/i2pd_qt", + "install -Dm777 ../../i2pd_qt_wrapper /app/bin/i2pd_qt_wrapper", + "install -Dm644 ../../contrib/i2pd.conf /app/i2pd/i2pd.conf", + "install -Dm644 ../../contrib/tunnels.conf /app/i2pd/tunnels.conf", + "cp -r ../../contrib/certificates /app/i2pd/certificates", + "install -Dm644 resources/images/icon.png /app/share/icons/hicolor/128x128/apps/website.i2pd.i2pd.png", + "install -Dm644 ../../website.i2pd.i2pd.appdata.xml /app/share/applications/website.i2pd.i2pd.appdata.xml", + "install -Dm644 ../../website.i2pd.i2pd.desktop /app/share/applications/website.i2pd.i2pd.desktop" + ] + } + ] +}