name: onionshare base: core20 version: "2.6" summary: Securely and anonymously share files, host websites, and chat using Tor description: | OnionShare lets you securely and anonymously send and receive files. It works by starting a web server, making it accessible as a Tor onion service, and generating an unguessable web address so others can download files from you, or upload files to you. It does _not_ require setting up a separate server or using a third party file-sharing service. grade: stable # stable or devel confinement: strict architectures: - build-on: amd64 - build-on: arm64 - build-on: armhf apps: onionshare: common-id: org.onionshare.OnionShare command: bin/onionshare extensions: [gnome-3-38] plugs: - desktop - home - network - network-bind - removable-media environment: LANG: C.UTF-8 cli: common-id: org.onionshare.OnionShareCli command: bin/onionshare-cli plugs: - home - network - network-bind - removable-media environment: LANG: C.UTF-8 parts: onionshare: source: ./desktop plugin: python python-packages: - qrcode - pyside2 == 5.15.2.1 stage-packages: - libasound2 - libatk1.0-0 - libcairo2 - libcairo-gobject2 - libcups2 - libdrm2 - libegl1 - libfreetype6 - libgdk-pixbuf2.0-0 - libgl1 - libglvnd0 - libglx0 - libgtk-3-0 - libharfbuzz0b - libjpeg8 - liblcms2-2 - libnspr4 - libnss3 - libodbc1 - libpango-1.0-0 - libpangocairo-1.0-0 - libpng16-16 - libpq5 - libpulse-mainloop-glib0 - librsvg2-2 - libspeechd2 - libwayland-client0 - libwayland-cursor0 - libwayland-egl1 - libwayland-server0 - libx11-6 - libx11-xcb1 - libxau6 - libxcb1 - libxcb-glx0 - libxcb-icccm4 - libxcb-image0 - libxcb-keysyms1 - libxcb-render0 - libxcb-render-util0 - libxcb-shm0 - libxcb-sync1 - libxcb-xfixes0 - libxcb-xinerama0 - libxcb-xkb1 - libxcomposite1 - libxcursor1 - libxdamage1 - libxdmcp6 - libxext6 - libxfixes3 - libxi6 - libxkbcommon0 - libxkbcommon-x11-0 - libxml2 - libxrandr2 - libxrender1 - libxslt1.1 - libxtst6 - qtwayland5 override-build: | python3 setup.py install --prefix $SNAPCRAFT_PART_INSTALL after: [onionshare-cli] onionshare-cli: source: ./cli plugin: python build-packages: - build-essential - libssl-dev - libffi-dev - python3-dev - python3-pip override-build: | python3 -m pip install poetry python3 -m pip install setuptools python3 -m poetry install python3 -m poetry build python3 -m pip install $SNAPCRAFT_PART_BUILD/dist/onionshare_cli-*.whl --prefix $SNAPCRAFT_PART_INSTALL after: [tor, obfs4, snowflake-client, meek-client] tor: source: https://dist.torproject.org/tor-0.4.7.9.tar.gz source-checksum: sha256/d39d38598208f4d6201d7edc6ad573b3a898a932a5c68d3074016a9525519b22 source-type: tar plugin: autotools autotools-configure-parameters: # - "--with-libevent-dir=/build/onionshare/parts/libevent/install/usr/local" - "--with-libevent-dir=/root/parts/libevent/install/usr/local" build-packages: - libssl-dev - zlib1g-dev after: [libevent] libevent: source: https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz source-checksum: sha256/92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb source-type: tar plugin: autotools obfs4: plugin: go build-snaps: - go/latest/stable source: https://gitlab.com/yawning/obfs4.git source-type: git source-tag: obfs4proxy-0.0.13 snowflake-client: plugin: go build-snaps: - go/latest/stable source: https://git.torproject.org/pluggable-transports/snowflake.git source-type: git source-tag: v2.2.0 organize: bin/client: bin/snowflake-client meek-client: plugin: go build-snaps: - go/latest/stable source: https://git.torproject.org/pluggable-transports/meek.git source-type: git source-tag: v0.37.0 override-build: | cd meek-client mkdir -p /build/onionshare/meek-client/install/bin go build -o /build/onionshare/meek-client/install/bin/meek-client ./...