No description
Find a file
Henry Bergström 608e3a5892
Release 20250313 (#117)
* Support-from-NC29-to-NC31 (#115)

* Feature/sentry integration (#110)

* new setting page

* unit tests

* settings page

* Unit test

* chore: fix code style

* update settingscontroller

* chore: fix code style

* add: sentry to composer.json

* chore: fix code style

* fix: sending to sentry

* chore: fix code style

* update(settings): new explain text and service status link

* add sentry library in vendor-bin

* chore: fix code style

* adjusted autoload path for sentry

* chore: fix code style

* sentry ready

* chore: fix code style

* feat(sentry): remove vendor-bin from repo
- update: makefile to install composer in release and appstore
- update: move require of vendor-bin to register method
- add: gitignore entry for vendor-bin

* chore: fix code style

* chore(sentry): remove test exception

* style: better readability for settings page

* enable telemetry by default

* feat(docker): add install ocs api viewer app (#108)

* bugfix/correct-install-docker-windows (#106)

* - Correction to docker-compose for Windows installations.
- Added README for known issues

* Update README.md

bugfix(correct-install-docker-windows): add supporting images

* - add: formatting changes to README.md

---------

Co-authored-by: Take one <rontrevor@hotmail.com>

* Feature #1192 feedback form js (#111)

* Adding Feedback form

* Not working yet.
Probably need to change strategy and send request to nc first

* Feedback js working.
Something might be improved:
// TODO - Get API Url from beeswarmtrait or another place
// TODO - Improve layout with css
// TODO - Remove wiget when not is not in swarm folders

* chore: fix code style

* feat(env): upgrade get
- update: return null if key is not found

* feat(feedback): add api url
- add: app const
- add: env example

* feat(curl): add post and get methods
- update: swarm endpoints to use new methods

* feat(feedback): update feedback request

* refactor(curl): rename curl to request

* feat(curl): add accept headers to getLink
- refactor: use get for download instead of exec

* style(feedback): improve feedback from ui

* style(feedback): improve feedback from ui

* feat(feedback): use custom exception

* feat(feedback): add status code to exception

* feat(feedback): return correct status code

* feat(feedback): add feedback js as dependency
- remove: manual added js file
- add: npm package
- update: the code usage

---------

Co-authored-by: JoaoSRaposo <1598265+JoaoSRaposo@users.noreply.github.com>
Co-authored-by: Mahyar Iranibazaz <mahiarirani@pm.me>

* bugfix(feedback): remove the removed script load

* feat(curl): check url for protocol

* fix: ensure environment

* Feature #1192 feedback form js (#111)

* Adding Feedback form

* Not working yet.
Probably need to change strategy and send request to nc first

* Feedback js working.
Something might be improved:
// TODO - Get API Url from beeswarmtrait or another place
// TODO - Improve layout with css
// TODO - Remove wiget when not is not in swarm folders

* chore: fix code style

* feat(env): upgrade get
- update: return null if key is not found

* feat(feedback): add api url
- add: app const
- add: env example

* feat(curl): add post and get methods
- update: swarm endpoints to use new methods

* feat(feedback): update feedback request

* refactor(curl): rename curl to request

* feat(curl): add accept headers to getLink
- refactor: use get for download instead of exec

* style(feedback): improve feedback from ui

* style(feedback): improve feedback from ui

* feat(feedback): use custom exception

* feat(feedback): add status code to exception

* feat(feedback): return correct status code

* feat(feedback): add feedback js as dependency
- remove: manual added js file
- add: npm package
- update: the code usage

---------

Co-authored-by: JoaoSRaposo <1598265+JoaoSRaposo@users.noreply.github.com>
Co-authored-by: Mahyar Iranibazaz <mahiarirani@pm.me>

* bugfix(feedback): remove the removed script load

* feat(curl): check url for protocol

* feat(toast): add nextcloud dialogs (#112)

- add: library package
- update: fileactions.js usage
- update: swarm logo remove xml

* use .env to get environment

* chore: fix code style

* remove debug line

* fix: makefile include correct directories in vendor-bin

* fix: telemetry to be autoenabled

* chore: fix code style

* fix: exclude changelog.md in build

* chore: remove old admin page

* Support-from-NC29-to-NC31 (#115)

* Release 20250307 (#114)

* Improving github and NC app store documentation (#102)

* fix(curl): upload SSL verification (#105)

- remove: verify parameters to default to curl
- add: only in dev env

* feat(upload): add filename as meta param when uploading (#103)

* Improve settings information (#104)

* Improve settings information

* feat(settings): add server host URL as default value

* style(settings): remove extra wordings

---------

Co-authored-by: Mahyar Iranibazaz <mahiarirani@pm.me>

* Feature: secure API communication upgrade (#107)

* feat(exception): throw separate exceptions

* feat(api): separate token from api link
- update: merge getLink into a single function
- add: Dto for Links results
- pass: token in authorization header
- update: upload and download to use new api links
- refactor: remove extra isVersion input

* chore: fix code style

---------

Co-authored-by: mahiarirani <10583381+mahiarirani@users.noreply.github.com>

* bugfix: exception handling to ensure the response is handled correctly (#109)

* bugfix: correct exception handling to ensure the response is handled correclty by calling test() function.
- update: do not assume an array (json) response from the api. The response is not always json which cause the json_decode() to return null;
- add: use StorageNotAvailableException to ensure a user-friendly error message to be displayed on the front.end;
- update: return value can be a string

* chore: fix code style

* feat(api): check status
- update: response based on status code
- add: specific error for invalid code

* chore: fix code style

---------

Co-authored-by: Take one <rontrevor@hotmail.com>
Co-authored-by: Mahyar Iranibazaz <mahiarirani@pm.me>
Co-authored-by: mahiarirani <10583381+mahiarirani@users.noreply.github.com>

* feat(docker): add install ocs api viewer app (#108)

* bugfix/correct-install-docker-windows (#106)

* - Correction to docker-compose for Windows installations.
- Added README for known issues

* Update README.md

bugfix(correct-install-docker-windows): add supporting images

* - add: formatting changes to README.md

---------

Co-authored-by: Take one <rontrevor@hotmail.com>

* Feature #1192 feedback form js (#111)

* Adding Feedback form

* Not working yet.
Probably need to change strategy and send request to nc first

* Feedback js working.
Something might be improved:
// TODO - Get API Url from beeswarmtrait or another place
// TODO - Improve layout with css
// TODO - Remove wiget when not is not in swarm folders

* chore: fix code style

* feat(env): upgrade get
- update: return null if key is not found

* feat(feedback): add api url
- add: app const
- add: env example

* feat(curl): add post and get methods
- update: swarm endpoints to use new methods

* feat(feedback): update feedback request

* refactor(curl): rename curl to request

* feat(curl): add accept headers to getLink
- refactor: use get for download instead of exec

* style(feedback): improve feedback from ui

* style(feedback): improve feedback from ui

* feat(feedback): use custom exception

* feat(feedback): add status code to exception

* feat(feedback): return correct status code

* feat(feedback): add feedback js as dependency
- remove: manual added js file
- add: npm package
- update: the code usage

---------

Co-authored-by: JoaoSRaposo <1598265+JoaoSRaposo@users.noreply.github.com>
Co-authored-by: Mahyar Iranibazaz <mahiarirani@pm.me>

* feat(curl): check url for protocol

* bugfix(feedback): remove the removed script load

* feat(toast): add nextcloud dialogs (#112)

- add: library package
- update: fileactions.js usage
- update: swarm logo remove xml

* Fix/#1085  adding moodle to the documentation (#100)

* Adding moodle documentation

* FIxing link formating  error

---------

Co-authored-by: JoaoSRaposo <joaosraposo@gmail.com>
Co-authored-by: Mahyar Iranibazaz <mahiarirani@pm.me>
Co-authored-by: mahiarirani <10583381+mahiarirani@users.noreply.github.com>
Co-authored-by: retrevor <75954541+retrevor@users.noreply.github.com>
Co-authored-by: Take one <rontrevor@hotmail.com>
Co-authored-by: JoaoSRaposo <1598265+JoaoSRaposo@users.noreply.github.com>

---------

Co-authored-by: frozenbanana <3958329+frozenbanana@users.noreply.github.com>
Co-authored-by: Mahyar Iranibazaz <mahiarirani@pm.me>
Co-authored-by: mahiarirani <10583381+mahiarirani@users.noreply.github.com>
Co-authored-by: retrevor <75954541+retrevor@users.noreply.github.com>
Co-authored-by: Take one <rontrevor@hotmail.com>
Co-authored-by: JoaoSRaposo <joaosraposo@gmail.com>
Co-authored-by: JoaoSRaposo <1598265+JoaoSRaposo@users.noreply.github.com>

* update version deployed

* bump version

---------

Co-authored-by: JoaoSRaposo <joaosraposo@gmail.com>
Co-authored-by: frozenbanana <3958329+frozenbanana@users.noreply.github.com>
Co-authored-by: Mahyar Iranibazaz <mahiarirani@pm.me>
Co-authored-by: mahiarirani <10583381+mahiarirani@users.noreply.github.com>
Co-authored-by: retrevor <75954541+retrevor@users.noreply.github.com>
Co-authored-by: Take one <rontrevor@hotmail.com>
Co-authored-by: JoaoSRaposo <1598265+JoaoSRaposo@users.noreply.github.com>
2025-03-13 16:57:10 +01:00
.github Release 0.5.10: PRs #95, #96, #97, #98, #100 (#101) 2025-01-15 18:11:47 +01:00
.vscode 23 name change (#24) 2022-04-25 13:52:04 +02:00
appinfo Release 20250313 (#117) 2025-03-13 16:57:10 +01:00
assets/images 25 right click options on files stored in swarm to copy hash (#37) 2023-03-01 13:01:58 +01:00
cli Release 20250313 (#117) 2025-03-13 16:57:10 +01:00
css Release 20250307 (#114) 2025-03-07 16:44:03 +01:00
docker Release 20250307 (#114) 2025-03-07 16:44:03 +01:00
img Release 20250307 (#114) 2025-03-07 16:44:03 +01:00
js Release 20250313 (#117) 2025-03-13 16:57:10 +01:00
lib Release 20250313 (#117) 2025-03-13 16:57:10 +01:00
src Release 20250313 (#117) 2025-03-13 16:57:10 +01:00
templates Release 20250313 (#117) 2025-03-13 16:57:10 +01:00
tests Release 20250313 (#117) 2025-03-13 16:57:10 +01:00
vendor-bin Release 20250313 (#117) 2025-03-13 16:57:10 +01:00
.editorconfig Improve debug setup 2022-02-04 12:43:42 +01:00
.env.example Release 20250307 (#114) 2025-03-07 16:44:03 +01:00
.eslintrc.js Prep for release (#32) 2022-09-29 01:25:15 +02:00
.gitignore Release 0.5.10: PRs #95, #96, #97, #98, #100 (#101) 2025-01-15 18:11:47 +01:00
.php-cs-fixer.dist.php Release 0.5.10: PRs #95, #96, #97, #98, #100 (#101) 2025-01-15 18:11:47 +01:00
.phpactor.json pay-wall (#60) 2024-08-12 16:50:32 +02:00
.prettierignore Prep for release (#32) 2022-09-29 01:25:15 +02:00
.prettierrc.json Add devtools (#18) 2022-04-04 12:13:18 +02:00
babel.config.js Add devtools (#18) 2022-04-04 12:13:18 +02:00
CHANGELOG.md Update CHANGELOG.md 2024-04-16 13:39:50 +02:00
composer.json Release 20250313 (#117) 2025-03-13 16:57:10 +01:00
composer.lock Release 20250313 (#117) 2025-03-13 16:57:10 +01:00
docker-compose.yml Release 20250307 (#114) 2025-03-07 16:44:03 +01:00
LICENSE Initial commit 2021-09-25 17:09:27 +01:00
Makefile Release 20250313 (#117) 2025-03-13 16:57:10 +01:00
package-lock.json Release 20250313 (#117) 2025-03-13 16:57:10 +01:00
package.json Release 20250313 (#117) 2025-03-13 16:57:10 +01:00
README.md Release 20250313 (#117) 2025-03-13 16:57:10 +01:00
stylelint.config.js Prep for release (#32) 2022-09-29 01:25:15 +02:00
webpack.config.js Release 20250307 (#114) 2025-03-07 16:44:03 +01:00

Hejbit - Nextcloud Swarm Plugin

Bring decentralized, sovereign cloud storage to Nextcloud with the Hejbit Swarm plugin!

This plugin integrates Swarm (a decentralized, blockchain-connected file storage system) directly into your Nextcloud instance.

File view when using the plugin in Nextcloud

Table of Contents

Dependencies

Before using the plugin, ensure you have the following:

Setup and Installation

Follow these steps to configure Hejbit Swarm in Nextcloud:

  1. Ensure the "External Storage" plugin is enabled.
  2. Install the "External Storage: Hejbit Swarm" app from the Nextcloud App Store.
  3. Navigate to External Storage Administration: Profile menu -> Settings -> External Storage.
  4. Create a new external storage with a folder name of your choice and select 'hejbit-swarm' as the storage type. Then, enter the license key and URL configuration.

Usage

Once installed, Hejbit Swarm integrates directly with Nextclouds "Files" section, allowing seamless file operations:

  • Upload: Transfer files to decentralized storage.
  • Download: Retrieve and view files from decentralized storage.
  • Copy/Move: Shift files between any external storage and decentralized storage

View, download, and file view actions in Nextcloud

Settings

Users with administrative credentials can configure the plugin through the standard External Storage settings. Here, you can input your license key and URL for Hejbit Swarm.

Basic Hejbit Swarm setup in External Storage in Nextcloud administration

Usage

Once setup and configured, the Decentralized Storage is ready to use.

  • Access the Decentralized Storage folder under "All Files" or via the "Files" menu under "External Storage."
  • Upload files as you would in Nextcloud.

Upload file to swarm in Nextcloud

  • Once uploaded, it can be viewed internally or downloaded. It can also be copied to another storage.

View, download, and file view actions in Nextcloud

  • Files from another Nextcloud storage can also be copied/moved to the decentralized storage.. Choose the decentralized storage folder as the target Folder

Copying or moving files to decentralized storage folder

  • Right-click on a Swarm file to copy the Swarm reference (hash) to your clipboard. Alternatively, click the three dots in the Actions menu and select 'Copy Swarm Reference.' The Swarm reference is the unique address of the file on the Swarm network.

Copy swarm reference to clipboard

Additional Integration with Moodle

You can also enhance your experience by integrating the Hejbit Swarm plugin with the Moodle Nextcloud plugin. This integration allows users to access decentralized storage directly within the Moodle environment, providing a seamless experience for educational content management. For more information on how to set up this integration, visit the Moodle Nextcloud repository documentation.

For detailed guidance on using the integrated features, please refer to the Metaprovide Learning Platform.

Get Hejbit License

Experience the future of data storage with 5GB of free, decentralized storage on the Ethereum Swarm network. Our plugin seamlessly integrates with your existing Nextcloud interface, providing true data sovereignty without the complexity.

Get your free licence here! .

License

This program is licensed under the AGPLv3 or later.