diff --git a/README.md b/README.md index d0a78b3..de9a829 100644 --- a/README.md +++ b/README.md @@ -1,49 +1,41 @@

- Project + i2pd
- [Project] + i2pd - Invisible Internet Protocol Daemon

-

This is the snap for [Project], "Single-line elevator pitch for your amazing snap". It works on Ubuntu, Fedora, Debian, and other major Linux +

This is the snap for [i2pd], "Invisible Internet Protocol Daemon". It works on Ubuntu, Fedora, Debian, and other major Linux distributions.

- ## Install sudo apt install snapd-xdg-open - sudo snap install my-snap-name + sudo snap install i2pd ([Don't have snapd installed?](https://snapcraft.io/docs/core/install)) - -

Published for with :gift_heart: by Snapcrafters

+

Published for :penguin: with :gift_heart: by Snapcrafters

## Remaining tasks Snapcrafters ([join us](https://forum.snapcraft.io/t/join-snapcrafters/1325)) are working to land snap install documentation and the [snapcraft.yaml](https://github.com/snapcrafters/fork-and-rename-me/blob/master/snap/snapcraft.yaml) -upstream so [Project] can authoritatively publish future releases. +upstream so [i2pd] can authoritatively publish future releases. - [x] Fork the [Snapcrafters template](https://github.com/snapcrafters/fork-and-rename-me) repository to your own GitHub account. - If you have already forked the Snapcrafter template to your account and want to create another snap, you'll need to use GitHub's [Import repository](https://github.com/new/import) feature because you can only fork a repository once. - - [ ] Rename the forked Snapcrafters template repository - - [ ] Update logos and references to `[Project]` and `[my-snap-name]` + - [x] Rename the forked Snapcrafters template repository + - [x] Update logos and references to `[Project]` and `[my-snap-name]` - [ ] Create a snap that runs in `devmode` - [ ] Register the snap in the store, **using the preferred upstream name** - - [ ] Add a screenshot to this `README.md` + - [x] Add a screenshot to this `README.md` - [ ] Publish the `devmode` snap in the Snap store edge channel - [ ] Add install instructions to this `README.md` - [ ] Update snap store metadata, icons and screenshots - - [ ] Convert the snap to `strict` confinement, or `classic` confinement if it qualifies + - [x] Convert the snap to `strict` confinement, or `classic` confinement if it qualifies - [ ] Publish the confined snap in the Snap store beta channel - [ ] Update the install instructions in this `README.md` - [ ] Post a call for testing on the [Snapcraft Forum](https://forum.snapcraft.io) - [link]() @@ -64,14 +56,5 @@ If you have any questions, [post in the Snapcraft forum](https://forum.snapcraft ## The Snapcrafters -| [![Your Name](http://gravatar.com/avatar/bc0bced65e963eb5c3a16cab8b004431/?s=128)](https://github.com/yourname/) | -| :---: | -| [Your Name](https://github.com/yourname/) | +[l-n-s](https://github.com/l-n-s/) - diff --git a/i2pd-logo.png b/i2pd-logo.png new file mode 100644 index 0000000..9a2f740 Binary files /dev/null and b/i2pd-logo.png differ diff --git a/snap/i2pd-wrapper b/snap/i2pd-wrapper new file mode 100755 index 0000000..d8cd2e6 --- /dev/null +++ b/snap/i2pd-wrapper @@ -0,0 +1,9 @@ +#!/bin/sh + +if [ ! -d "$SNAP_USER_DATA/.i2pd" ]; then + mkdir $SNAP_USER_DATA/.i2pd/ + cp -R $SNAP/certificates $SNAP_USER_DATA/.i2pd/ + cp -R $SNAP/i2pd.conf $SNAP_USER_DATA/.i2pd/ +fi + +exec "$SNAP/bin/i2pd" "$@" diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 0527b79..3479c27 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1,15 +1,52 @@ -name: my-snap-name # you probably want to 'snapcraft register ' -version: '0.1' # just for humans, typically '1.2+git' or '1.3.2' -summary: Single-line elevator pitch for your amazing snap # 79 char long summary -description: | - This is my-snap's description. You have a paragraph or two to tell the - most important story about your snap. Keep it under 100 words though, - we live in tweetspace and your description wants to look good in the snap - store. +# +## Easiest way to work with this file, from an updated Ubuntu 16.04 LTS image +## 1. create a non-root user with sudo priv and perform following steps as non-root +## 2. `sudo apt-get update` +## 3. `sudo apt-get install snapcraft python build-essential` +## 4. `snapcraft stage` +## 5. `snapcraft snap` -confinement: devmode # use 'strict' once you have the right plugs and slots +name: i2pd +version: 2.15.0 +summary: Distributed anonymous networking framework +description: | + 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. + +grade: devel +confinement: strict + +apps: + i2pd: + command: i2pd-wrapper + daemon: simple + plugs: [network,network-bind] parts: - my-part: - # See 'snapcraft plugins' - plugin: nil + i2pd: + source: https://github.com/PurpleI2P/i2pd.git + source-type: git + source-tag: 2.15.0 + plugin: make + build-packages: + - build-essential + - libboost-date-time-dev + - libboost-filesystem-dev + - libboost-program-options-dev + - libboost-system-dev + - libssl-dev + - zlib1g-dev + - libminiupnpc-dev + artifacts: + - i2pd + - contrib/certificates + - contrib/i2pd.conf + organize: + i2pd: bin/ + contrib/*: . + wrapper: + plugin: dump + source: snap/ + stage: [i2pd-wrapper]