fixes nextcloud tutorial, should be good now
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 23 KiB |
BIN
opsec/nextcloud/48.png
Normal file
After Width: | Height: | Size: 242 KiB |
BIN
opsec/nextcloud/49.png
Normal file
After Width: | Height: | Size: 278 KiB |
BIN
opsec/nextcloud/50.png
Normal file
After Width: | Height: | Size: 284 KiB |
BIN
opsec/nextcloud/51.png
Normal file
After Width: | Height: | Size: 315 KiB |
BIN
opsec/nextcloud/52.png
Normal file
After Width: | Height: | Size: 105 KiB |
BIN
opsec/nextcloud/53.png
Normal file
After Width: | Height: | Size: 154 KiB |
BIN
opsec/nextcloud/54.png
Normal file
After Width: | Height: | Size: 108 KiB |
BIN
opsec/nextcloud/55.png
Normal file
After Width: | Height: | Size: 293 KiB |
BIN
opsec/nextcloud/56.png
Normal file
After Width: | Height: | Size: 464 KiB |
BIN
opsec/nextcloud/57.png
Normal file
After Width: | Height: | Size: 4.3 MiB |
BIN
opsec/nextcloud/58.png
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
opsec/nextcloud/59.png
Normal file
After Width: | Height: | Size: 674 KiB |
BIN
opsec/nextcloud/60.png
Normal file
After Width: | Height: | Size: 1,023 KiB |
BIN
opsec/nextcloud/61.png
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
opsec/nextcloud/62.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
opsec/nextcloud/63.png
Normal file
After Width: | Height: | Size: 811 KiB |
BIN
opsec/nextcloud/64.png
Normal file
After Width: | Height: | Size: 218 KiB |
BIN
opsec/nextcloud/65.png
Normal file
After Width: | Height: | Size: 241 KiB |
|
@ -1,332 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
<link rel="shortcut icon" href="../../../../../../assets/img/favicon.png">
|
||||
|
||||
<title>Nextcloud .onion server</title>
|
||||
|
||||
<!-- Bootstrap core CSS -->
|
||||
<link href="../../assets/css/bootstrap.css" rel="stylesheet">
|
||||
<link href="../../assets/css/xt256.css" rel="stylesheet">
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Custom styles for this template -->
|
||||
<link href="../../assets/css/main.css" rel="stylesheet">
|
||||
|
||||
|
||||
|
||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<!-- Static navbar -->
|
||||
<div class="navbar navbar-inverse-anon navbar-static-top">
|
||||
<div class="container">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand-anon" href="\index.html">The Nihilism Blog</a>
|
||||
</div>
|
||||
<div class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
|
||||
<li><a href="/about.html">About</a></li>
|
||||
<li><a href="/blog.html">Categories</a></li>
|
||||
<li><a href="https://blog.nowhere.moe/donate.html">Donate</a></li>
|
||||
<li><a href="/contact.html">Contact</a></li>
|
||||
</ul>
|
||||
</div><!--/.nav-collapse -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- +++++ Posts Lists +++++ -->
|
||||
<!-- +++++ First Post +++++ -->
|
||||
<div id="anon2">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 col-lg-offset-2">
|
||||
<a href="../index.html">Previous Page</a></br></br><p><img src="../../assets/img/user.png" width="50px" height="50px"> <ba>Optimist - 23 / 03 / 2025</ba></p>
|
||||
<h1>Nextcloud .onion server</h1>
|
||||
<img src="../nextcloud/logo.png" class="imgRz">
|
||||
<p> 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. </p>
|
||||
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
</div> <!-- /container -->
|
||||
</div><!-- /grey -->
|
||||
|
||||
<!-- +++++ Second Post +++++ -->
|
||||
<div id="anon3">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 col-lg-offset-2">
|
||||
<h2><b>Serverside Setup </b></h2>
|
||||
|
||||
<p>So for this tutorial we're going to go with a Debian server to install nextcloud via snap: </p>
|
||||
<pre><code>
|
||||
su -
|
||||
apt update -y
|
||||
<!--apt install snapd sudo ufw fuse squashfuse -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
|
||||
|
||||
</code></pre>
|
||||
|
||||
<p>Using snap, installing nextcloud is fairly simple:</p>
|
||||
<pre><code>
|
||||
snap install nextcloud
|
||||
|
||||
ip a | grep inet
|
||||
curl ifconfig.me
|
||||
|
||||
</code></pre>
|
||||
<p> 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.</p>
|
||||
<img src="41.png" class="imgRz">
|
||||
<p>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. </p>
|
||||
<p>So we follow <a href="../torwebsite/index.html">this tutorial</a> to have our own custom .domain name:</p>
|
||||
<pre><code class="nim">
|
||||
[ 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
|
||||
|
||||
</pre></code>
|
||||
<p>Then we setup a reverse nginx proxy to make sure that the onion requests get redirected to the correct IP: </p>
|
||||
<pre><code class="nim">
|
||||
[ 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
|
||||
|
||||
</pre></code>
|
||||
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
</div> <!-- /container -->
|
||||
</div><!-- /white -->
|
||||
|
||||
<div id="anon2">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 col-lg-offset-2">
|
||||
<h2><b>Configuring Nextcloud</b></h2> </br> </br>
|
||||
<p>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: </p>
|
||||
<pre><code>
|
||||
[ 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"
|
||||
|
||||
</code></pre>
|
||||
<p> And once that's done, you can access your nextcloud instance from your onion domain:</p>
|
||||
<img src="42.png" class="imgRz">
|
||||
<p>In order to upgrade your nextcloud, you can run the following, and also add it to cron to run automatically every day at midnight: </p>
|
||||
<pre><code class="nim">
|
||||
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
|
||||
</pre></code>
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
</div> <!-- /container -->
|
||||
</div><!-- /white -->
|
||||
|
||||
|
||||
<!-- +++++ Second Post +++++ -->
|
||||
<div id="anon1">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 col-lg-offset-2">
|
||||
<h2><b>Clientside Setup</b></h2> </br> </br>
|
||||
|
||||
<p>Now you can install the official nextcloud client <a href="https://nextcloud.com/install/#install-clients">here</a></p>
|
||||
<pre><code class="nim">
|
||||
[ cloud ] [ /dev/pts/1 ] [/snap/bin]
|
||||
→ apt install tor nextcloud-desktop -y
|
||||
|
||||
</pre></code>
|
||||
<img src="25.png" class="imgRz">
|
||||
<p>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</p>
|
||||
<img src="43.png" class="imgRz">
|
||||
<p>Afterward, you need to copy the authorization link into the tor browser to validate the request:</p>
|
||||
<img src="44.png" class="imgRz">
|
||||
<img src="45.png" class="imgRz">
|
||||
<img src="46.png" class="imgRz">
|
||||
<p>Once you have granted access, you can start to sync your nextcloud instance files locally:</p>
|
||||
<img src="47.png" class="imgRz">
|
||||
|
||||
<p>Once logged in you can check the progress in the system tray:</p>
|
||||
<img src="31.png" class="imgRz">
|
||||
<p>Then let it sync, it can take a while due to the low bandwidth of Tor.</p>
|
||||
<img src="32.png" class="imgRz">
|
||||
<p>And that's it ! You now have a local folder that is synchronized with your nextcloud instance.</p>
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
</div> <!-- /container -->
|
||||
</div><!-- /white -->
|
||||
|
||||
<!-- +++++ Footer Section +++++ -->
|
||||
|
||||
<div id="anonb">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-4">
|
||||
<h4>Nihilism</h4>
|
||||
<p>
|
||||
Until there is Nothing left.</p></br></br><p>Creative Commons Zero: <a href="../../../../opsec/runtheblog/index.html">No Rights Reserved</a></br><img src="\CC0.png">
|
||||
|
||||
</p>
|
||||
</div><!-- /col-lg-4 -->
|
||||
|
||||
<div class="col-lg-4">
|
||||
<h4>My Links</h4>
|
||||
<p>
|
||||
|
||||
<a target="_blank" rel="noopener noreferrer" href="http://blog.nowhere.moe/rss/feed.xml">RSS Feed</a><br/><a target="_blank" rel="noopener noreferrer" href="https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2FBD4qkVq8lJUgjHt0kUaxeQBYsKaxDejeecxm6-2vOwI%3D%40b6geeakpwskovltbesvy3b6ah3ewxfmnhnshojndmpp7wcv2df7bnead.onion%2FpyfV2wlxrcepw8g2OHINsMNuVmpsZsAo%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAgePBM9B_duSC7yFaBWI8Dp_jJO62NpTwJN2wsAXeQis%253D&data=%7B%22groupLinkId%22%3A%22rrxS6sZIQHHjO9RUJsjrVA%3D%3D%22%7D">SimpleX Chat</a><br/>
|
||||
|
||||
</p>
|
||||
</div><!-- /col-lg-4 -->
|
||||
|
||||
<div class="col-lg-4">
|
||||
<h4>About nihilist</h4>
|
||||
<p style="word-wrap: break-word;"><u>Donate XMR:</u> 8AUYjhQeG3D5aodJDtqG499N5jXXM71gYKD8LgSsFB9BUV1o7muLv3DXHoydRTK4SZaaUBq4EAUqpZHLrX2VZLH71Jrd9k8</p></br><p><u>Contact:</u> nihilist@contact.nowhere.moe (<a href="https://nowhere.moe/nihilist.pubkey">PGP</a>)</p>
|
||||
</div><!-- /col-lg-4 -->
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Bootstrap core JavaScript
|
||||
================================================== -->
|
||||
<!-- Placed at the end of the document so the pages load faster -->
|
||||
|
||||
</body>
|
||||
</html>
|
BIN
opsec/nextcloud/graph.png
Normal file
After Width: | Height: | Size: 587 KiB |
|
@ -63,8 +63,11 @@
|
|||
<div class="col-lg-8 col-lg-offset-2">
|
||||
<a href="../index.html">Previous Page</a></br></br><p><img src="../../assets/img/user.png" width="50px" height="50px"> <ba>Optimist - 23 / 03 / 2025</ba></p>
|
||||
<h1>Nextcloud .onion server</h1>
|
||||
<img src="../nextcloud/logo.png" style="height:1000px; width:599px;">
|
||||
<p> 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. </p>
|
||||
<img src="../nextcloud/logo.png" class="imgRz">
|
||||
<p> In this tutorial we're going to cover how you can install an .onion only Nextcloud instance, Nextcloud is a FOSS alternative to replace popular file hosting websites like google cloud or onedrive, which can be ideal to make sure that your files are backed up somewhere, all while preserving anonymity. I recommend self-hosting this service at home, that way you make sure that your personal data stays at your home, rather than making it readable by an adversary on a remote server.</p>
|
||||
<p>Nextcloud is an indispensable tool for productivity, as you're going to see:</p>
|
||||
<img src="graph.png" class="imgRz">
|
||||
<p>What we are trying to achieve here, is <b>a setup where we can have a single folder synchronized on multiple devices,</b> so that any change done from any of those devices, to that same folder, gets to be automatically shared and synchronized accross all of the other devices aswell. And of course, we're going to achieve that while maintaining our anonymity, by routing all traffic through Tor. </p>
|
||||
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
|
@ -77,11 +80,162 @@
|
|||
<div class="row">
|
||||
<div class="col-lg-8 col-lg-offset-2">
|
||||
<h2><b>Serverside Setup </b></h2>
|
||||
<p>follow the other tutorial that talks about how to setup a .onion domain here: <a href="http://blog.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/opsec/torwebsite/index.html">http://blog.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/opsec/torwebsite/index.html</a></p>
|
||||
<p>Then just install nextcloud... wait a bit, and then check if it worked</p>
|
||||
<img src="41.png" class="imgRz">
|
||||
<p>Boom that worked!</p>
|
||||
|
||||
<p>So to install nextcloud we're going to use docker-compose as follows:</p>
|
||||
<pre><code class="nim">
|
||||
[ Wonderland ] [ /dev/pts/9 ] [/srv/nextcloud]
|
||||
→ apt install docker.io docker-compose -y
|
||||
|
||||
[ Wonderland ] [ /dev/pts/9 ] [/srv/nextcloud]
|
||||
→ vim docker-compose.yml
|
||||
|
||||
[ Wonderland ] [ /dev/pts/9 ] [/srv/nextcloud]
|
||||
→ cat docker-compose.yml
|
||||
services:
|
||||
db:
|
||||
image: mariadb:latest
|
||||
restart: always
|
||||
command: --transaction-isolation=READ-COMMITTED
|
||||
volumes:
|
||||
- db:/var/lib/mysql
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=P@SSW0RD
|
||||
- MYSQL_PASSWORD=P@SSW0RD
|
||||
- MYSQL_DATABASE=nextcloud
|
||||
- MYSQL_USER=nextcloud
|
||||
|
||||
redis:
|
||||
image: redis:alpine
|
||||
restart: always
|
||||
|
||||
app:
|
||||
image: nextcloud:latest
|
||||
restart: always
|
||||
ports:
|
||||
- 127.0.0.1:9639:80
|
||||
depends_on:
|
||||
- redis
|
||||
- db
|
||||
volumes:
|
||||
- nextcloud:/var/www/html
|
||||
environment:
|
||||
- MYSQL_PASSWORD=P@SSW0RD
|
||||
- MYSQL_DATABASE=nextcloud
|
||||
- MYSQL_USER=nextcloud
|
||||
- MYSQL_HOST=db
|
||||
- NEXTCLOUD_TRUSTED_DOMAINS=nxtcloud.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion
|
||||
- OVERWRITEHOSTPROTOCOL=http
|
||||
- OVERWRITEHOST=nxtcloud.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion
|
||||
|
||||
volumes:
|
||||
nextcloud:
|
||||
db:
|
||||
|
||||
</pre></code>
|
||||
<p>Don't forget to replace the "P@SSW0RD" with a password of your own, and that docker-compose.yaml will expose the nextcloud service on local port 9639, so let's run docker-compose up -d to run the service:</p>
|
||||
<p></p>
|
||||
<pre><code class="nim">
|
||||
[ Wonderland ] [ /dev/pts/9 ] [/srv/nextcloud]
|
||||
→ docker-compose up -d
|
||||
Starting nextcloud_redis_1 ... done
|
||||
Starting nextcloud_db_1 ... done
|
||||
Starting nextcloud_app_1 ... done
|
||||
</pre></code>
|
||||
|
||||
<p>Then we also setup the torrc config to make sure that our nextcloud instance also goes through tor for every external connections it has to make:</p>
|
||||
<pre><code class="nim">
|
||||
[ Wonderland ] [ /dev/pts/10 ] [/srv/nextcloud]
|
||||
→ cd tor-data
|
||||
|
||||
[ Wonderland ] [ /dev/pts/10 ] [/srv/nextcloud/tor-data]
|
||||
→ ls
|
||||
torrc
|
||||
|
||||
[ Wonderland ] [ /dev/pts/10 ] [/srv/nextcloud/tor-data]
|
||||
→ vim torrc/torrc
|
||||
|
||||
[ Wonderland ] [ /dev/pts/10 ] [/srv/nextcloud/tor-data]
|
||||
→ cat torrc/torrc
|
||||
SOCKSPort 0.0.0.0:9050
|
||||
|
||||
</pre></code>
|
||||
<p>Then we setup the nginx config to be able to access the nextcloud service accordingly:</p>
|
||||
<pre><code class="nim">
|
||||
[ Wonderland ] [ /dev/pts/9 ] [/srv/nextcloud]
|
||||
→ vim /etc/nginx/sites-available/nxtcloud.conf
|
||||
|
||||
[ Wonderland ] [ /dev/pts/10 ] [/srv/nextcloud/tor-data]
|
||||
→ cat /etc/nginx/sites-available/nxtcloud.conf
|
||||
upstream nxtcloudbackend {
|
||||
server 127.0.0.1:9639;
|
||||
}
|
||||
|
||||
server {
|
||||
######## TOR WEBSITE ########
|
||||
listen 4443;
|
||||
listen [::]:4443;
|
||||
server_name nxtcloud.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion;
|
||||
|
||||
location / {
|
||||
proxy_pass http://nxtcloudbackend;
|
||||
proxy_headers_hash_max_size 512;
|
||||
proxy_headers_hash_bucket_size 64;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
|
||||
#proxy_http_version 1.1;
|
||||
#proxy_set_header Upgrade $http_upgrade;
|
||||
#proxy_set_header Connection "Upgrade";
|
||||
client_max_body_size 20G;
|
||||
}
|
||||
}
|
||||
|
||||
[ Wonderland ] [ /dev/pts/9 ] [/srv/nextcloud]
|
||||
→ ln -s /etc/nginx/sites-available/nxtcloud.conf /etc/nginx/sites-enabled
|
||||
|
||||
[ Wonderland ] [ /dev/pts/9 ] [/srv/nextcloud]
|
||||
→ nginx -t
|
||||
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
|
||||
nginx: configuration file /etc/nginx/nginx.conf test is successful
|
||||
|
||||
[ Wonderland ] [ /dev/pts/9 ] [/srv/nextcloud]
|
||||
→ nginx -s reload
|
||||
2025/03/26 09:46:30 [notice] 2097639#2097639: signal process started
|
||||
|
||||
</pre></code>
|
||||
<p>Make sure that you follow <a href="../torwebsite/index.html">this tutorial</a> to know how to have your own custom onion domain name:</p>
|
||||
|
||||
<pre><code class="nim">
|
||||
[ 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
|
||||
|
||||
</pre></code>
|
||||
|
||||
|
||||
<p> then you can proceed with accessing your nextcloud instance:</p>
|
||||
<img src="48.png" class="imgRz">
|
||||
<img src="49.png" class="imgRz">
|
||||
<img src="51.png" class="imgRz">
|
||||
<img src="52.png" class="imgRz">
|
||||
<img src="53.png" class="imgRz">
|
||||
<img src="54.png" class="imgRz">
|
||||
<p>Then here we can edit the nextcloud appearance aswell:</p>
|
||||
<img src="55.png" class="imgRz">
|
||||
<img src="56.png" class="imgRz">
|
||||
<p>So when you want to login, it'll look like that:</p>
|
||||
<img src="57.png" class="imgRz">
|
||||
<p>Once logged in, you can drag and drop files from your computer directly into the nextcloud web interface:</p>
|
||||
<img src="58.png" class="imgRz">
|
||||
<p>And that's it! You now have a nextcloud instance working via .onion to easily save your files remotely.</p>
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
</div> <!-- /container -->
|
||||
|
@ -91,65 +245,29 @@
|
|||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 col-lg-offset-2">
|
||||
<h2><b>Configuring Nextcloud</b></h2> </br> </br>
|
||||
<p>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</p>
|
||||
<pre><code>
|
||||
[ 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"
|
||||
|
||||
</code></pre>
|
||||
<h2><b>Keeping Nextcloud Updated</b></h2>
|
||||
<p>In order to upgrade your nextcloud, you can run the following docker-compose commands, and also add it to cron to run automatically every day at midnight: </p>
|
||||
<pre><code class="nim">
|
||||
root@cloud:~# sudo snap refresh nextcloud
|
||||
snap "nextcloud" has no updates available
|
||||
[ Wonderland ] [ /dev/pts/9 ] [/srv/nextcloud]
|
||||
→ docker-compose -f /srv/nextcloud/docker-compose.yml pull ; docker-compose -f /srv/nextcloud/docker-compose.yml restart
|
||||
|
||||
root@cloud:~# crontab -e
|
||||
Pulling db ... done
|
||||
Pulling redis ... done
|
||||
Pulling app ... done
|
||||
Pulling tor-nxtcld ... done
|
||||
Restarting tor-nxtcld ... done
|
||||
Restarting nextcloud_app_1 ... done
|
||||
Restarting nextcloud_redis_1 ... done
|
||||
Restarting nextcloud_db_1 ... done
|
||||
|
||||
[...]
|
||||
[ Wonderland ] [ /dev/pts/9 ] [/srv/nextcloud]
|
||||
→ crontab -e
|
||||
|
||||
0 0 * * * /usr/bin/snap refresh nextcloud
|
||||
#nextcloud
|
||||
@daily docker-compose -f /srv/nextcloud/docker-compose.yml pull ; docker-compose -f /srv/nextcloud/docker-compose.yml restart
|
||||
|
||||
: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
|
||||
</pre></code>
|
||||
BLAM no need ot check, i know it worked.
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
</div> <!-- /container -->
|
||||
|
@ -163,10 +281,53 @@ BLAM no need ot check, i know it worked.
|
|||
<div class="col-lg-8 col-lg-offset-2">
|
||||
<h2><b>Clientside Setup</b></h2> </br> </br>
|
||||
|
||||
<p>Now you can install the official nextcloud client <a href="https://nextcloud.com/install/#install-clients">here</a></p>
|
||||
<img src="32.png" style="height:3000px; width:90px;">
|
||||
<p>And that's it ! You now have a local folder that is synchronized with your nextcloud instance.</p>
|
||||
<p>cya next time</p>
|
||||
<p>Now to avoid having to always open the web browser to send and download files from your nextcloud instance, you can use the nextcloud desktop application, which will synchronize the nextcloud folders you want locally, as you'll see this is VERY convenient:</p>
|
||||
<pre><code class="nim">
|
||||
[ cloud ] [ /dev/pts/1 ] [/snap/bin]
|
||||
→ apt install tor nextcloud-desktop -y
|
||||
|
||||
</pre></code>
|
||||
<img src="25.png" class="imgRz">
|
||||
<p>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</p>
|
||||
<img src="59.png" class="imgRz">
|
||||
<p>Afterward, you need to copy the authorization link into the tor browser to validate the request:</p>
|
||||
<img src="60.png" class="imgRz">
|
||||
<img src="61.png" class="imgRz">
|
||||
<p>Once you have granted access, you can start to sync your nextcloud instance files locally:</p>
|
||||
<img src="62.png" class="imgRz">
|
||||
|
||||
<p>Once logged in you can check the progress in the system tray:</p>
|
||||
<img src="63.png" class="imgRz">
|
||||
<p>Then let it sync, it can take a while due to the low bandwidth of Tor.</p>
|
||||
<img src="32.png" class="imgRz">
|
||||
<p>And that's it ! You now have a local folder that is synchronized with your nextcloud instance, that you can browse locally to find the files we uploaded earlier:</p>
|
||||
<pre><code class="nim">
|
||||
[ Mainpc-PrivateVM-Debian12 ] [ /dev/pts/32 ] [~]
|
||||
→ ls -lash ~/NXTCLOUDTEST
|
||||
total 7.3M
|
||||
4.0K drwxr-xr-x 5 nihilist nihilist 4.0K Mar 26 11:05 .
|
||||
4.0K drwx------ 51 nihilist nihilist 4.0K Mar 26 11:08 ..
|
||||
1.7M -rw-r--r-- 1 nihilist nihilist 1.7M Feb 11 2024 1636794560654-0.jpg
|
||||
324K -rw-r--r-- 1 nihilist nihilist 324K Feb 11 2024 1637121021316-0.jpg
|
||||
772K -rw-r--r-- 1 nihilist nihilist 772K Feb 11 2024 1637722778473-0.jpg
|
||||
476K -rw-r--r-- 1 nihilist nihilist 473K Feb 11 2024 1637722778473-1.jpg
|
||||
112K -rw-r--r-- 1 nihilist nihilist 111K Jul 13 2024 alice.jpg
|
||||
444K -rw-r--r-- 1 nihilist nihilist 444K Feb 6 18:22 appart.png
|
||||
836K -rw-r--r-- 1 nihilist nihilist 833K Aug 9 2024 bitcoinispartofthesystemneo.png
|
||||
100K -rw-r--r-- 1 nihilist nihilist 99K Dec 15 10:19 bunker.jpg
|
||||
88K -rw-r--r-- 1 nihilist nihilist 87K Jul 13 2024 catclock.gif
|
||||
0 -rw-r--r-- 1 nihilist nihilist 0 Mar 26 11:04 .nextcloudsync.log
|
||||
4.0K drwxr-xr-x 3 nihilist nihilist 4.0K Mar 26 10:51 nowhere-logos
|
||||
4.0K drwxr-xr-x 2 nihilist nihilist 4.0K Mar 26 10:52 PAPES
|
||||
4.0K -rw-r--r-- 1 nihilist nihilist 4.0K Mar 26 11:04 .sync_9855fab54d67.db
|
||||
2.5M -rw-r--r-- 1 nihilist nihilist 2.5M Mar 26 11:05 .sync_9855fab54d67.db-wal
|
||||
4.0K drwxr-xr-x 2 nihilist nihilist 4.0K Mar 26 10:52 xmrbazaar
|
||||
|
||||
</pre></code>
|
||||
<img src="64.png" class="imgRz">
|
||||
<p>Productivity-wise this is a perfect tool to keep updating files on the same place, from multiple devices. To showcase a basic change, we're going to copy another folder in there:</p>
|
||||
<img src="65.png" class="imgRz">
|
||||
<p>And here as you can see the changes are automatically getting picked up by the nextcloud desktop client, and synchronized to the nextcloud server automatically aswell.</p>
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
</div> <!-- /container -->
|
||||
|
@ -178,9 +339,9 @@ BLAM no need ot check, i know it worked.
|
|||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-4">
|
||||
<h4>Optimism</h4>
|
||||
<h4>Nihilism</h4>
|
||||
<p>
|
||||
Until there is something more.</p></br></br><p>COPYRIGHT <a href="../../../../opsec/runtheblog/index.html">ALL RIGHTS RESERVED</a> I AINT WORKING FOR FREE!</br><img src="\CC0.png">
|
||||
Until there is Nothing left.</p></br></br><p>Creative Commons Zero: <a href="../../../../opsec/runtheblog/index.html">No Rights Reserved</a></br><img src="\CC0.png">
|
||||
|
||||
</p>
|
||||
</div><!-- /col-lg-4 -->
|
||||
|
@ -195,7 +356,7 @@ BLAM no need ot check, i know it worked.
|
|||
</div><!-- /col-lg-4 -->
|
||||
|
||||
<div class="col-lg-4">
|
||||
<h4>About optimist</h4>
|
||||
<h4>About nihilist</h4>
|
||||
<p style="word-wrap: break-word;"><u>Donate XMR:</u> 8AUYjhQeG3D5aodJDtqG499N5jXXM71gYKD8LgSsFB9BUV1o7muLv3DXHoydRTK4SZaaUBq4EAUqpZHLrX2VZLH71Jrd9k8</p></br><p><u>Contact:</u> nihilist@contact.nowhere.moe (<a href="https://nowhere.moe/nihilist.pubkey">PGP</a>)</p>
|
||||
</div><!-- /col-lg-4 -->
|
||||
|
||||
|
|
Before Width: | Height: | Size: 357 KiB After Width: | Height: | Size: 384 KiB |