diff --git a/opsec/nextcloud/0.png b/opsec/nextcloud/0.png new file mode 100644 index 0000000..4fed8e1 Binary files /dev/null and b/opsec/nextcloud/0.png differ diff --git a/opsec/nextcloud/1.png b/opsec/nextcloud/1.png new file mode 100644 index 0000000..38a5bc6 Binary files /dev/null and b/opsec/nextcloud/1.png differ diff --git a/opsec/nextcloud/10.png b/opsec/nextcloud/10.png new file mode 100644 index 0000000..4e2a40a Binary files /dev/null and b/opsec/nextcloud/10.png differ diff --git a/opsec/nextcloud/2.png b/opsec/nextcloud/2.png new file mode 100644 index 0000000..05a8233 Binary files /dev/null and b/opsec/nextcloud/2.png differ diff --git a/opsec/nextcloud/20.png b/opsec/nextcloud/20.png new file mode 100644 index 0000000..5c58464 Binary files /dev/null and b/opsec/nextcloud/20.png differ diff --git a/opsec/nextcloud/21.png b/opsec/nextcloud/21.png new file mode 100644 index 0000000..673abb4 Binary files /dev/null and b/opsec/nextcloud/21.png differ diff --git a/opsec/nextcloud/22.png b/opsec/nextcloud/22.png new file mode 100644 index 0000000..fcf81d5 Binary files /dev/null and b/opsec/nextcloud/22.png differ diff --git a/opsec/nextcloud/23.png b/opsec/nextcloud/23.png new file mode 100644 index 0000000..da3381b Binary files /dev/null and b/opsec/nextcloud/23.png differ diff --git a/opsec/nextcloud/25.png b/opsec/nextcloud/25.png new file mode 100644 index 0000000..046aaf9 Binary files /dev/null and b/opsec/nextcloud/25.png differ diff --git a/opsec/nextcloud/26.png b/opsec/nextcloud/26.png new file mode 100644 index 0000000..dd137ea Binary files /dev/null and b/opsec/nextcloud/26.png differ diff --git a/opsec/nextcloud/27.png b/opsec/nextcloud/27.png new file mode 100644 index 0000000..fa96332 Binary files /dev/null and b/opsec/nextcloud/27.png differ diff --git a/opsec/nextcloud/28.png b/opsec/nextcloud/28.png new file mode 100644 index 0000000..298e79e Binary files /dev/null and b/opsec/nextcloud/28.png differ diff --git a/opsec/nextcloud/29.png b/opsec/nextcloud/29.png new file mode 100644 index 0000000..1802922 Binary files /dev/null and b/opsec/nextcloud/29.png differ diff --git a/opsec/nextcloud/3.png b/opsec/nextcloud/3.png new file mode 100644 index 0000000..3e45a76 Binary files /dev/null and b/opsec/nextcloud/3.png differ diff --git a/opsec/nextcloud/30.png b/opsec/nextcloud/30.png new file mode 100644 index 0000000..5c80530 Binary files /dev/null and b/opsec/nextcloud/30.png differ diff --git a/opsec/nextcloud/31.png b/opsec/nextcloud/31.png new file mode 100644 index 0000000..5c0918c Binary files /dev/null and b/opsec/nextcloud/31.png differ diff --git a/opsec/nextcloud/32.png b/opsec/nextcloud/32.png new file mode 100644 index 0000000..a190ad1 Binary files /dev/null and b/opsec/nextcloud/32.png differ diff --git a/opsec/nextcloud/4.png b/opsec/nextcloud/4.png new file mode 100644 index 0000000..560134e Binary files /dev/null and b/opsec/nextcloud/4.png differ diff --git a/opsec/nextcloud/41.png b/opsec/nextcloud/41.png new file mode 100644 index 0000000..bfbd13f Binary files /dev/null and b/opsec/nextcloud/41.png differ diff --git a/opsec/nextcloud/42.png b/opsec/nextcloud/42.png new file mode 100644 index 0000000..97c1a1c Binary files /dev/null and b/opsec/nextcloud/42.png differ diff --git a/opsec/nextcloud/43.png b/opsec/nextcloud/43.png new file mode 100644 index 0000000..1ce18a5 Binary files /dev/null and b/opsec/nextcloud/43.png differ diff --git a/opsec/nextcloud/44.png b/opsec/nextcloud/44.png new file mode 100644 index 0000000..dabfc73 Binary files /dev/null and b/opsec/nextcloud/44.png differ diff --git a/opsec/nextcloud/45.png b/opsec/nextcloud/45.png new file mode 100644 index 0000000..587d5eb Binary files /dev/null and b/opsec/nextcloud/45.png differ diff --git a/opsec/nextcloud/46.png b/opsec/nextcloud/46.png new file mode 100644 index 0000000..87dd9a8 Binary files /dev/null and b/opsec/nextcloud/46.png differ diff --git a/opsec/nextcloud/47.png b/opsec/nextcloud/47.png new file mode 100644 index 0000000..70404e3 Binary files /dev/null and b/opsec/nextcloud/47.png differ diff --git a/opsec/nextcloud/5.png b/opsec/nextcloud/5.png new file mode 100644 index 0000000..f63e5bd Binary files /dev/null and b/opsec/nextcloud/5.png differ diff --git a/opsec/nextcloud/6.png b/opsec/nextcloud/6.png new file mode 100644 index 0000000..b53f18f Binary files /dev/null and b/opsec/nextcloud/6.png differ diff --git a/opsec/nextcloud/7.png b/opsec/nextcloud/7.png new file mode 100644 index 0000000..4a03057 Binary files /dev/null and b/opsec/nextcloud/7.png differ diff --git a/opsec/nextcloud/8.png b/opsec/nextcloud/8.png new file mode 100644 index 0000000..8e03c6d Binary files /dev/null and b/opsec/nextcloud/8.png differ diff --git a/opsec/nextcloud/9.png b/opsec/nextcloud/9.png new file mode 100644 index 0000000..60d7f87 Binary files /dev/null and b/opsec/nextcloud/9.png differ diff --git a/opsec/nextcloud/dontreadthisthx.html b/opsec/nextcloud/dontreadthisthx.html new file mode 100644 index 0000000..8d93771 --- /dev/null +++ b/opsec/nextcloud/dontreadthisthx.html @@ -0,0 +1,332 @@ + + + + + + + + + + + Nextcloud .onion server + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ Previous Page

Optimist - 23 / 03 / 2025

+

Nextcloud .onion server

+ +

In this tutorial we're going to cover how you can install an .onion only Nextcloud instance, it is a FOSS software meant to replace popular websites like google drive, which can be ideal to make sure that your files are backed up somewhere, all while preserving anonymity.

+ +
+
+
+
+ + +
+
+
+
+

Serverside Setup

+ +

So for this tutorial we're going to go with a Debian server to install nextcloud via snap:

+

+su -
+apt update -y
+
+apt install snapd sudo curl mlocate nginx -y
+/sbin/usermod -aG sudo [NAME OF THE NON-PRIVILEGED USER]
+/sbin/ufw enable
+snap install core
+
+
+ +

Using snap, installing nextcloud is fairly simple:

+

+snap install nextcloud
+
+ip a | grep inet
+curl ifconfig.me
+
+
+

you can verify that the nextcloud server works by going at the ip adress of the server http://server_ip/ where you'll create the administrator account.

+ +

Once that's done you should have access to your nextcloud instance, but instead of accessing it through the ip address, we'll set it up in such a way that we can access it through an .onion domain name.

+

So we follow this tutorial to have our own custom .domain name:

+

+[ Wonderland ] [ /dev/pts/3 ] [~]
+→ cat /etc/tor/torrc
+
+HiddenServiceDir /var/lib/tor/onions/nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/
+HiddenServicePort 80 127.0.0.1:4443
+SocksPort 127.0.0.1:9050
+
+[ Wonderland ] [ /dev/pts/3 ] [~]
+→ systemctl restart tor@default
+
+
+

Then we setup a reverse nginx proxy to make sure that the onion requests get redirected to the correct IP:

+

+[ Wonderland ] [ /dev/pts/3 ] [~]
+→ rm /etc/nginx/sites-*/default
+
+[ Wonderland ] [ /dev/pts/3 ] [~]
+→ cat /etc/nginx/sites-available/cloud.conf
+upstream cloudbackend {
+        server 192.168.100.130:80;
+}
+
+server {
+        ######## TOR WEBSITE ########
+        listen 4443;
+        listen [::]:4443;
+        server_name cloud.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion;
+
+        location / {
+                proxy_pass http://cloudbackend;
+                proxy_http_version 1.1;
+                proxy_set_header Upgrade $http_upgrade;
+                proxy_set_header Connection "Upgrade";
+                client_max_body_size 20G;
+        }
+}
+
+[ Wonderland ] [ /dev/pts/3 ] [~]
+→ ln -s /etc/nginx/sites-available/cloud.conf /etc/nginx/sites-enabled/
+
+[ Wonderland ] [ /dev/pts/3 ] [~]
+→ nginx -s reload
+ 
+
+ +
+
+
+
+ +
+
+
+
+

Configuring Nextcloud



+

Now that we have the domain name pointing to the public ip address of the nextcloud server, we can setup the https certificate using let'sencrypt, just + ssh into your server once more and run the following commands:

+

+[ Wonderland ] [ /dev/pts/3 ] [~]
+→ /var/snap/nextcloud/common/nextcloud/data# PATH=$PATH:/snap/bin/
+
+[ Wonderland ] [ /dev/pts/3 ] [~]
+→ /var/snap/nextcloud/common/nextcloud/data# which nextcloud.occ
+
+[ Wonderland ] [ /dev/pts/3 ] [~]
+→ /snap/bin/nextcloud.occ
+
+
+[ Wonderland ] [ /dev/pts/3 ] [~]
+→ /snap/bin/nextcloud.disable-https
+
+[ Wonderland ] [ /dev/pts/3 ] [~]
+→ /snap/bin/nextcloud.occ config:system:set trusted_domains 1 --value=cloud.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion
+
+[ Wonderland ] [ /dev/pts/3 ] [~]
+→ /snap/bin/nextcloud.occ config:system:set overwritehost --value="cloud.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion"
+
+[ Wonderland ] [ /dev/pts/3 ] [~]
+→ /snap/bin/nextcloud.occ config:system:set overwriteprotocol --value="http"
+
+
+

And once that's done, you can access your nextcloud instance from your onion domain:

+ +

In order to upgrade your nextcloud, you can run the following, and also add it to cron to run automatically every day at midnight:

+

+root@cloud:~# sudo snap refresh nextcloud
+snap "nextcloud" has no updates available
+
+root@cloud:~# crontab -e
+
+[...]
+
+0 0 * * * /usr/bin/snap refresh nextcloud
+
+:wq
+
+
+--2022-12-17 20:34:07--  https://github.com/cronitorio/cronitor-cli/releases/download/28.8/linux_amd64.tar.gz
+Resolving github.com (github.com)... 140.82.121.3
+Connecting to github.com (github.com)|140.82.121.3|:443... connected.
+HTTP request sent, awaiting response... 302 Found
+Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/274548350/682877d8-1d52-4029-9777-425f3da0f77c?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20221217%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221217T193407Z&X-Amz-Expires=300&X-Amz-Signature=1bf21514b0120917047558bc2d6de9d2f900d34dba04cfd3d30838b59ae4701e&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=274548350&response-content-disposition=attachment%3B%20filename%3Dlinux_amd64.tar.gz&response-content-type=application%2Foctet-stream [following]
+--2022-12-17 20:34:07--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/274548350/682877d8-1d52-4029-9777-425f3da0f77c?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20221217%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221217T193407Z&X-Amz-Expires=300&X-Amz-Signature=1bf21514b0120917047558bc2d6de9d2f900d34dba04cfd3d30838b59ae4701e&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=274548350&response-content-disposition=attachment%3B%20filename%3Dlinux_amd64.tar.gz&response-content-type=application%2Foctet-stream
+Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.110.133, 185.199.108.133, 185.199.109.133, ...
+Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.110.133|:443... connected.
+HTTP request sent, awaiting response... 200 OK
+Length: 6326130 (6.0M) [application/octet-stream]
+Saving to: ‘linux_amd64.tar.gz’
+
+linux_amd64.tar.gz                                           100%[===========================================================================================================================================>]   6.03M  6.47MB/s    in 0.9s
+
+2022-12-17 20:34:09 (6.47 MB/s) - ‘linux_amd64.tar.gz’ saved [6326130/6326130]
+
+root@cloud:~# sudo tar xvf linux_amd64.tar.gz -C /usr/bin/
+cronitor
+root@cloud:~# sudo cronitor configure --api-key 1234567890
+
+Configuration File:
+/etc/cronitor/cronitor.json
+
+Version:
+28.8
+
+API Key:
+1234567890
+
+Ping API Key:
+Not Set
+
+Environment:
+Not Set
+
+Hostname:
+cloud
+
+Timezone Location:
+{Europe/Paris}
+
+Debug Log:
+Off
+root@cloud:~# cronitor select
+
+✔ /usr/bin/snap refresh nextcloud
+----► Running command: /usr/bin/snap refresh nextcloud
+
+snap "nextcloud" has no updates available
+
+----► ✔ Command successful    Elapsed time 0.451s
+
+
+
+
+
+ + + +
+
+
+
+

Clientside Setup



+ +

Now you can install the official nextcloud client here

+

+[ cloud ] [ /dev/pts/1 ] [/snap/bin]
+→ apt install tor nextcloud-desktop -y
+
+
+ +

Here as you try to login you'll first see that it can't resolve the .onion domain, which is normal as you need to tell nextcloud to use the local tor socks5 proxy, available on 127.0.01:9050

+ +

Afterward, you need to copy the authorization link into the tor browser to validate the request:

+ + + +

Once you have granted access, you can start to sync your nextcloud instance files locally:

+ + +

Once logged in you can check the progress in the system tray:

+ +

Then let it sync, it can take a while due to the low bandwidth of Tor.

+ +

And that's it ! You now have a local folder that is synchronized with your nextcloud instance.

+
+
+
+
+ + + +
+
+
+
+

Nihilism

+

+ Until there is Nothing left.



Creative Commons Zero: No Rights Reserved
+ +

+
+ +
+

My Links

+

+ + RSS Feed
SimpleX Chat
+ +

+
+ +
+

About nihilist

+

Donate XMR: 8AUYjhQeG3D5aodJDtqG499N5jXXM71gYKD8LgSsFB9BUV1o7muLv3DXHoydRTK4SZaaUBq4EAUqpZHLrX2VZLH71Jrd9k8


Contact: nihilist@contact.nowhere.moe (PGP)

+
+ +
+ +
+
+ + + + + + + diff --git a/opsec/nextcloud/index.html b/opsec/nextcloud/index.html new file mode 100644 index 0000000..20968d0 --- /dev/null +++ b/opsec/nextcloud/index.html @@ -0,0 +1,213 @@ + + + + + + + + + + + Nextcloud .onion server + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ Previous Page

Optimist - 23 / 03 / 2025

+

Nextcloud .onion server

+ +

In this tutorial we're going to cover how you can install an .onion only Nextcloud instance, it is a FOSS software meant to replace popular websites like google drive, which can be ideal to make sure that your files are backed up somewhere, all while preserving anonymity.

+ +
+
+
+
+ + +
+
+
+
+

Serverside Setup

+

follow the other tutorial that talks about how to setup a .onion domain here: http://blog.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/opsec/torwebsite/index.html

+

Then just install nextcloud... wait a bit, and then check if it worked

+ +

Boom that worked!

+ +
+
+
+
+ +
+
+
+
+

Configuring Nextcloud



+

Now that we have the domain name pointing to the public ip address of the nextcloud server,just + ssh into your server once more and run the following commands: do some stuff to make it work, idk man

+

+[ Wonderland ] [ /dev/pts/3 ] [~]
+→ /var/snap/nextcloud/common/nextcloud/data# PATH=$PATH:/snap/bin/
+
+derland ] [ /dev/pts/3 ] [~]
+r/snap/nextcloud/common/nextcloud/data# which ne
+derland ] [ /dev/pts/3 ] [~]
+ap/bin/nextcloud.occ config:system:set overwritep"
+
+
+

+root@cloud:~# sudo snap refresh nextcloud
+snap "nextcloud" has no updates available
+
+root@cloud:~# crontab -e
+
+[...]
+
+0 0 * * * /usr/bin/snap refresh nextcloud
+
+:wq
+
+
+--2022-12-17 20:34:07--  https://github.com/cronitorio/cronitor-cli/releases/download/28.8/linux_amd64.tar.gz
+Resolving github.com (github.com)... 140.82.121.3
+Connecting to github.com (github.com)|140.82.121.3|:443... connected.
+HTTP request sent, awaiting response... 302 Found
+Location: https://objects.githu1217%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221217T193407Z&X-Amz-Expires=300&X-Amz-Signature=1bf21514b0120917047558bc2d6de9d2f900d34dba04cfd3d30838b59ae4701e&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=274548350&response-content-disposition=attachment%3B%20filename%3Dlinux_amd64.tar.gz&response-content-type=application%2Foctet-stream [following]
+--2022-12-17 20:34:07--  https:CSVEH53A%2F20221217%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221217T193407Z&X-Amz-Expires=300&X-Amz-Signature=1bf21514b0120917047558bc2d6de9d2f900d34dba04cfd3d30838b59ae4701e&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=274548350&response-content-disposition=attachment%3B%20filename%3Dlinux_amd64.tar.gz&response-content-type=application%2Foctet-stream
+Resolving objects.githubusercon
+Connecting to objects.githubuse
+HTTP request sent, awaiting res
+Length: 6326130 (6.0M) [applica
+Saving to: ‘linux_amd64.tar.gz’
+
+linux_amd64.tar.gz                                           100%[===========================================================================================================================================>]   6.03M  6.47MB/s    in 0.9s
+
+2022-12-17 20:34:09 (6.47 MB/s) - ‘linux_amd64.tar.gz’ saved [6326130/6326130]
+
+root@cloud:~# sudo tar xvf linux_amd64.tar.gz -C /usr/bin/
+cronitor
+root@cloud:~# sudo cronitor configure --api-key 1234567890
+
+Configuration File:
+/etc/cronitor/cronitor.json
+Off
+root@cloud:~# cronitor select
+
+✔ /usr/bin/snap refresh nextcloud
+extcloud
+
+
+
+51s
+
+BLAM no need ot check, i know it worked. +
+
+
+
+ + + +
+
+
+
+

Clientside Setup



+ +

Now you can install the official nextcloud client here

+ +

And that's it ! You now have a local folder that is synchronized with your nextcloud instance.

+

cya next time

+
+
+
+
+ + + +
+
+
+
+

Optimism

+

+ Until there is something more.



COPYRIGHT ALL RIGHTS RESERVED I AINT WORKING FOR FREE!
+ +

+
+ +
+

My Links

+

+ + RSS Feed
SimpleX Chat
+ +

+
+ +
+

About optimist

+

Donate XMR: 8AUYjhQeG3D5aodJDtqG499N5jXXM71gYKD8LgSsFB9BUV1o7muLv3DXHoydRTK4SZaaUBq4EAUqpZHLrX2VZLH71Jrd9k8


Contact: nihilist@contact.nowhere.moe (PGP)

+
+ +
+ +
+
+ + + + + + + diff --git a/opsec/nextcloud/logo.png b/opsec/nextcloud/logo.png new file mode 100644 index 0000000..8791e44 Binary files /dev/null and b/opsec/nextcloud/logo.png differ