Compare commits

...

59 Commits

Author SHA1 Message Date
d4e60d0a46 Add uploads.github.com proxy 2024-11-25 17:26:22 +01:00
094918233d Update translation
Co-authored-by: Türk Dil Devrimi <bygenc19@gmail.com>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/tr/
Translation: DanWin/Main Website
2024-11-11 21:48:55 +00:00
40bb528b6e Update translation
Co-authored-by: Akira <kawaiisenpai@waifu.club>
2024-11-05 01:35:16 +00:00
cf834119af Simplify menu link generation - use relative links 2024-07-10 22:11:27 +02:00
3d62bc9d72 Update translation
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Weblate Admin <daniel@danwin1210.de>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/de/
Translation: DanWin/Main Website
2024-06-30 17:16:48 +00:00
7513f70ad2 Update pot 2024-06-30 19:15:07 +02:00
d8e441bdb3 Add IP address as potentially logged data 2024-06-30 19:12:05 +02:00
0f02d69341 Update links 2024-05-10 08:29:18 +02:00
f813e1ef85 Update translation
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/
Translation: DanWin/Main Website
2024-04-01 16:39:59 +00:00
c05367fccf Add cluster article 2024-04-01 18:38:44 +02:00
782806310c Merge branch 'main' of git.danwin1210.de:danwin1210/main-website 2024-02-22 13:17:42 +01:00
8f3495239c Update translation
Co-authored-by: Weblate Admin <daniel@danwin1210.de>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/de/
Translation: DanWin/Main Website
2024-02-22 12:17:12 +00:00
54dc5d22b6 Add blog post about email service learnings 2024-01-25 18:20:42 +01:00
0c3c716ce0 Update translation
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/
Translation: DanWin/Main Website
2024-01-08 16:36:05 +00:00
1d0076b4cc Update VPN list 2024-01-08 17:34:33 +01:00
5712235fe5 Update translation
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/
Translation: DanWin/Main Website
2024-01-03 21:15:57 +00:00
042d44e0c6 Add Hide.Me VPN 2024-01-03 21:40:31 +01:00
a092d1f34b Update translation
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/
Translation: DanWin/Main Website
2023-12-29 13:58:49 +00:00
c6ad0575bc Add VPN blog post 2023-12-29 14:37:44 +01:00
dbf4b62cdb Update translation
Co-authored-by: Weblate Admin <daniel@danwin1210.de>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/de/
Translation: DanWin/Main Website
2023-12-26 20:37:45 +00:00
60cf7f6e55 Add trust.txt and pinterest 2023-12-11 13:21:54 +01:00
8063583997 Add assetlinks.json 2023-12-11 12:27:45 +01:00
9977cb6f3a Update translation
Co-authored-by: Dai Duong Le <daiduonglebusiness@gmail.com>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/cs/
Translation: DanWin/Main Website
2023-12-04 22:48:01 +00:00
4ee038508c Update translation
Co-authored-by: Weblate Admin <daniel@danwin1210.de>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/de/
Translation: DanWin/Main Website
2023-12-04 20:46:09 +00:00
11ce3fbd7e Update translation
Co-authored-by: Weblate Admin <daniel@danwin1210.de>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/de/
Translation: DanWin/Main Website
2023-12-04 19:48:01 +00:00
95867a721e Update translation
Co-authored-by: Weblate Admin <daniel@danwin1210.de>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/de/
Translation: DanWin/Main Website
2023-12-04 18:48:01 +00:00
c67cadd928 Update translation
Co-authored-by: Weblate Admin <daniel@danwin1210.de>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/de/
Translation: DanWin/Main Website
2023-12-04 17:48:04 +00:00
86c5972824 Update translation
Co-authored-by: Weblate Admin <daniel@danwin1210.de>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/de/
Translation: DanWin/Main Website
2023-12-04 16:48:07 +00:00
6b64dd59f1 Update translation
Co-authored-by: Weblate Admin <daniel@danwin1210.de>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/de/
Translation: DanWin/Main Website
2023-12-04 10:40:33 +00:00
852f48de17 Update translation
Co-authored-by: Weblate Admin <daniel@danwin1210.de>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/de/
Translation: DanWin/Main Website
2023-12-04 09:40:33 +00:00
3b069b3f05 Update translation
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Weblate Admin <daniel@danwin1210.de>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/de/
Translation: DanWin/Main Website
2023-12-01 16:25:58 +00:00
8df33bd040 Fixed typo 2023-12-01 17:15:40 +01:00
9c40bfe75a Update translation
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Weblate Admin <daniel@danwin1210.de>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/de/
Translation: DanWin/Main Website
2023-12-01 16:13:26 +00:00
5985f0eb8d Fixed typo + dropped no longer valid referral code 2023-11-30 22:04:52 +01:00
7e0a04d162 Update translation
Co-authored-by: Weblate Admin <daniel@danwin1210.de>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/de/
Translation: DanWin/Main Website
2023-11-30 18:40:40 +00:00
54eb2b7489 Update translation
Co-authored-by: Dai Duong Le <daiduonglebusiness@gmail.com>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/cs/
Translation: DanWin/Main Website
2023-11-21 23:40:45 +00:00
d95879bf56 Update links 2023-11-06 10:35:08 +01:00
337109514f Update translation
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/
Translation: DanWin/Main Website
2023-10-29 10:14:33 +00:00
c913a69b07 Add blog post about DANE 2023-10-29 11:13:59 +01:00
838a603d2e Update translation
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/
Translation: DanWin/Main Website
2023-10-28 13:44:23 +00:00
f183d828fc Add blog post about DNSSEC 2023-10-28 15:43:39 +02:00
3714bc95b6 Update translation
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/
Translation: DanWin/Main Website
2023-10-28 09:57:49 +00:00
6250bd8449 Add blog post about IPv6 2023-10-28 11:57:18 +02:00
1f5d132bfe People mindlessly ask for all referral codes without intent to invest... 2023-10-20 18:42:55 +02:00
1781058d77 Update translation
Co-authored-by: Анонім <g2014test@yandex.com>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/uk/
Translation: DanWin/Main Website
2023-10-14 17:51:49 +00:00
452d102087 Add Ukrainian language 2023-10-13 15:56:27 +02:00
7357db23ea Update translation
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/
Translation: DanWin/Main Website
2023-10-13 13:34:46 +00:00
386128c892 Minor updates 2023-10-13 14:11:33 +02:00
5f2a4ebace Update translation
Co-authored-by: Анонім <g2014test@yandex.com>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/uk/
Translation: DanWin/Main Website
2023-10-12 21:51:38 +00:00
a4516208ed Update translation
Co-authored-by: Анонім <g2014test@yandex.com>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/uk/
Translation: DanWin/Main Website
2023-10-11 18:51:37 +00:00
ae232cf1fd Update translation
Co-authored-by: Анонім <g2014test@yandex.com>
2023-10-10 14:45:44 +00:00
0f155cd20a Update translation
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/
Translation: DanWin/Main Website
2023-10-09 15:01:32 +00:00
7f5ee168cd Fixed typo 2023-10-09 17:00:56 +02:00
3ceba8fe3c Update translation
Co-authored-by: Weblate Admin <daniel@danwin1210.de>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/de/
Translation: DanWin/Main Website
2023-10-09 14:57:42 +00:00
a6a94e6656 Update translation
Co-authored-by: Weblate Admin <daniel@danwin1210.de>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/de/
Translation: DanWin/Main Website
2023-10-08 21:08:56 +00:00
594d698989 fix schema.org FAQPage not linked with Questions 2023-10-08 14:38:34 +02:00
e65f8138ed Update translation
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/main-website/
Translation: DanWin/Main Website
2023-10-07 15:32:26 +00:00
225c57f4b9 Update translation template 2023-10-07 17:31:51 +02:00
37b6f6fd81 Add email field to contact form 2023-10-07 17:30:29 +02:00
34 changed files with 22453 additions and 2584 deletions

View File

@ -0,0 +1,11 @@
[
{
"relation": [
"delegate_permission/common.handle_all_urls"
],
"target": {
"namespace": "web",
"site": "https://danwin1210.de"
}
}
]

View File

@ -48,6 +48,9 @@ global $language, $dir, $locale;
<li><a href="https://www.upwork.com/freelancers/~01d4f8ae4e8fb1604c" target="_blank" rel="noopener noreferrer">Upwork</a></li>
<li><a href="https://www.freelance.de/Freiberufler/244201-Backend-Web-Entwickler-und-Systemadministrator" target="_blank" rel="noopener noreferrer">Freelance.de</a></li>
<li><a href="https://www.instagram.com/winzen.daniel/" target="_blank" rel="noopener noreferrer">Instagram</a></li>
<li><a href="https://www.linkedin.com/in/danwin1210/" target="_blank" rel="noopener noreferrer">Linkedin</a></li>
<li><a href="https://www.xing.com/profile/Daniel_Winzen" target="_blank" rel="noopener noreferrer">Xing</a></li>
<li><a href="https://www.pinterest.de/danwin1210/" target="_blank" rel="noopener noreferrer">Pinterest</a></li>
</ul>
<h2><?php echo htmlspecialchars(_('About this site')); ?></h2>
<p><?php echo htmlspecialchars(_('This is my site, that I develop in my free time. I started development of this site in August/September 2013 when I wanted to have a platform to host files on, to use at school.')); ?>
@ -62,6 +65,7 @@ global $language, $dir, $locale;
<li><?php printf(htmlspecialchars(_('%s - (Used for my clearnet gateway) - good and reliable')), '<a href="https://hetzner.cloud/?ref=OXqb8WQ8yeXu" target="_blank" rel="noopener noreferrer">Hetzner</a>'); ?></li>
<li><?php printf(htmlspecialchars(_('%s - (Used for my clearnet gateway + Domain registration) - good and reliable, hosted in my city')), '<a href="https://hosting.de/?partnerId=JZ0DZSUdrJUVJTKoHq7l" target="_blank" rel="noopener noreferrer">Hosting.de</a>'); ?></li>
<li><?php echo htmlspecialchars(_('Home hosted: 4 Raspberry Pi 4 with the main site and data')); ?></li>
<li><a href="https://clientarea.space-hosting.net/aff.php?aff=333" target="_blank" rel="noopener noreferrer">Space Hosting</a></li>
</ul>
<a href="assets/servers.jpg" target="_blank">
<picture>

71
blog/cluster/index.php Normal file
View File

@ -0,0 +1,71 @@
<?php
require_once('../../common.php');
global $language, $dir, $locale;
?>
<!DOCTYPE html><html lang="<?php echo $language; ?>" dir="<?php echo $dir; ?>"><head>
<title><?php echo htmlspecialchars(_('Cluster setup')); ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="author" content="Daniel Winzen">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="<?php echo htmlspecialchars(_('Seting up a linux server cluster using Ceph and MariaDB Galera')); ?>">
<link rel="canonical" href="https://danwin1210.de/blog/cluster/">
<link rel="alternate" href="https://danwin1210.de/blog/cluster/" hreflang="x-default">
<?php alt_links(); ?>
<meta property="og:type" content="article">
<meta property="article:published_time" content="2024-04-01">
<meta property="article:modified_time" content="2024-04-01">
<meta property="article:tag" content="Ceph">
<meta property="article:tag" content="network">
<meta property="article:tag" content="storage">
<meta property="article:section" content="Technology">
<meta property="og:title" content="<?php echo htmlspecialchars(_('Cluster setup')); ?>">
<meta property="og:description" content="<?php echo htmlspecialchars(_('Seting up a linux server cluster using Ceph and MariaDB Galera')); ?>">
<meta property="og:image" content="https://danwin1210.de/assets/daniel.jpg">
<meta property="og:image:type" content="image/jpeg">
<meta property="og:image:height" content="1000">
<meta property="og:image:width" content="1000">
<meta property="og:image:alt" content="<?php echo htmlspecialchars(_('An avatar representing Daniel Winzen')); ?>">
<meta property="og:url" content="https://danwin1210.de/blog/cluster/">
<meta property="og:locale" content="<?php echo $locale; ?>">
<meta property="og:site_name" content="<?php echo htmlspecialchars(_('Daniel')); ?>">
<script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","name":"<?php echo htmlspecialchars(_('Cluster setup')); ?>", "datePublished": "2024-04-01", "author":{"@type":"Person", "image": "/assets/daniel.jpg", "name": "Daniel Winzen", "email": "daniel@danwin1210.de", "telephone": "+4917698819809", "url": "https://danwin1210.de"}}</script>
</head><body>
<?php menu(_('Cluster setup')); ?>
<p><?php echo htmlspecialchars(_('A cluster is a group of servers and other resources that act as a single system. Utilizing a cluster can increase data reliability, availability, and scalability. In this article, we will focus on Ceph, a distributed object storage and file system, and MariaDB Galera, a multi-master database solution, to achieve high availability and performance. This cluster setup is the basis for the website that you are currently reading.')); ?></p>
<h2><?php echo htmlspecialchars(_('Prerequisites')); ?></h2>
<p><?php echo htmlspecialchars(_('You will need a minimum of 3 servers set up running on a Linux OS. Having less than 3 servers is not recommended as it can break the cluster and could lead to split-brain issues.')); ?></p>
<h2><?php echo htmlspecialchars(_('Ceph')); ?></h2>
<p><?php echo htmlspecialchars(_('Ceph is a highly scalable, fault-tolerant, and highly available storage system.')); ?></p>
<h3><?php echo htmlspecialchars(_('How Ceph works')); ?></h3>
<p><?php echo htmlspecialchars(_('A Ceph Storage Cluster is based on several types of daemons:')); ?></p>
<ul>
<li><?php echo htmlspecialchars(_('Ceph OSD (Object Storage Daemon): These are the heart of Ceph because they handle data storage, data replication, recovery, rebalancing, and provide some monitoring statistics to Ceph monitors.')); ?></li>
<li><?php echo htmlspecialchars(_('Ceph MON (Monitor): They maintain the master copy of the cluster map. A cluster usually has an odd number of monitors running (e.g., 3, 5, 7).')); ?></li>
<li><?php echo htmlspecialchars(_('Ceph MDS (Metadata Server): These servers are optional and store metadata for the Ceph File System (not block devices or objects).')); ?></li>
<li><?php echo htmlspecialchars(_('Ceph MGR (Manager): This daemon is responsible for keeping track of runtime metrics, managing the cluster\'s state, and providing additional interfaces to external monitoring and management systems.')); ?></li>
</ul>
<p><?php echo htmlspecialchars(_('All these daemons are installed on multiple servers and interact with each other to form the cluster.')); ?></p>
<h3><?php echo htmlspecialchars(_('Use Cases of Ceph')); ?></h3>
<p><?php echo htmlspecialchars(_('Ceph is commonly used in clouds of all sizes and types due to its versatility, massive scalability, and robust data protection.')); ?></p>
<ul>
<li><?php echo htmlspecialchars(_('Object Storage: Ceph provides features such as replication and erasure coding, tiering, and the ability to set up watch/notify and object-level key-value mappings.')); ?></li>
<li><?php echo htmlspecialchars(_('Block Storage: Ceph\'s RADOS Block Device (RBD) supports snapshots, and replication, and can significantly improve read performance by utilizing the cache of the client and the Ceph OSD.')); ?></li>
<li><?php echo htmlspecialchars(_('File System: Ceph\'s file system (CephFS) ensures highly available and reliable storage, where all data gets written and read in/from the object store.')); ?></li>
</ul>
<h3><?php echo htmlspecialchars(_('Performance optimizations')); ?></h3>
<p><?php echo htmlspecialchars(_('The following optimizations resulted in 10 times faster read times of data stored on my cluster, which contains mostly websites and emails.')); ?></p>
<h4><?php echo htmlspecialchars(_('Tuning encrypted OSDs on SSDs')); ?></h5>
<p><?php echo htmlspecialchars(_('SSDs are typically faster than HDDs and have much lower latency. For historical reasons, the Linux kernel uses work queues in dm-crypt, which offloads encryption and disk read/write work to different threads in the kernel. This makes sense for slower HDDs, but for SSDs, it can harm performance due to the overhead of context switches.')); ?></p>
<p><?php printf(htmlspecialchars(_('To disable this behaviour, we first have to find the relevant device with the command %1$s. If you have an OSD running, the underlying device will show up in the list printed by dmsetup. To get only the relevant UUID of the ceph device, we can use %2$s. Now as a final step we can set persistent options for the device using %3$s.')), '<code>dmsetup ls --tree</code>', "<code>dmsetup ls | grep ceph | sed 's/.*osd--block--//' | sed 's/--/-/g' | awk '{print $1;}'</code>", '<code>cryptsetup --perf-no_read_workqueue --perf-no_write_workqueue --persistent refresh {$PARENT_DEVICE} -d <(ceph tell mon config-key get dm-crypt/osd/{$DEVICE_UUID}/luks)</code>'); ?></p>
<h4><?php echo htmlspecialchars(_('Tuning CephFS for many files in one directory')); ?></h5>
<p><?php printf(htmlspecialchars(_('CephFS performance suffers when many files are stored in the same directory, just like with every file system. Using the option %1$s it is however possible to split directory indexes in multiple parts to increase performance when operating in directories with many files. I have set this down to a value of %2$s.')), '<code>mds_bal_split_size</code>', '<code>5000</code>'); ?></p>
<h2><?php echo htmlspecialchars(_('MariaDB Galera Cluster')); ?></h2>
<p><?php echo htmlspecialchars(_('MariaDB Galera Cluster is an open-source database system focusing on high availability, failing over between servers seamlessly, and ensuring data consistency between those servers. It is a multi-master cluster that uses synchronous replication.')); ?></p>
<h3><?php echo htmlspecialchars(_('How Galera Works')); ?></h3>
<p><?php echo htmlspecialchars(_('In a Galera Cluster, every database instance (or "node") is a master, meaning data can be written or read from any node, with changes automatically replicated across all nodes. Using synchronous replication MariaDB Galera Cluster ensures all nodes have the same data simultaneously.')); ?></p>
<h3><?php echo htmlspecialchars(_('Use Cases for MariaDB Galera Cluster')); ?></h3>
<p><?php echo htmlspecialchars(_('MariaDB Galera Cluster is best suited for applications where data availability, consistency, and durability are critical across multiple nodes, such as when deploying a web application with multiple database servers to scale up a busy service, or when deploying a high-availability database with multiple nodes.')); ?></p>
<h2><?php echo htmlspecialchars(_('Hire an expert')); ?></h2>
<p><?php printf(htmlspecialchars(_('If you\'re considering implementing this for your business, don\'t hesitate to seek help from an expert. Please %s for assistance and consultation with your implementation.')), '<a href="/contact.php">'.htmlspecialchars(_('contact me')).'</a>'); ?></p>
</main>
</body></html>

76
blog/dane/index.php Normal file
View File

@ -0,0 +1,76 @@
<?php
require_once('../../common.php');
global $language, $dir, $locale;
?>
<!DOCTYPE html><html lang="<?php echo $language; ?>" dir="<?php echo $dir; ?>"><head>
<title><?php echo htmlspecialchars(_('Fortifying Digital Connections using DANE')); ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="author" content="Daniel Winzen">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="<?php echo htmlspecialchars(_('Discover the benefits of DANE for boosting online security. Learn how DANE increases trust in digital communications and strengthens email and web security. Protect yourself with DANE today.')); ?>">
<link rel="canonical" href="https://danwin1210.de/blog/dane/">
<link rel="alternate" href="https://danwin1210.de/blog/dane/" hreflang="x-default">
<?php alt_links(); ?>
<meta property="og:type" content="article">
<meta property="article:published_time" content="2023-10-28">
<meta property="article:modified_time" content="2023-10-28">
<meta property="article:tag" content="DNS">
<meta property="article:tag" content="network">
<meta property="article:section" content="Technology">
<meta property="og:title" content="<?php echo htmlspecialchars(_('Fortifying Digital Connections using DANE')); ?>">
<meta property="og:description" content="<?php echo htmlspecialchars(_('Discover the benefits of DANE for boosting online security. Learn how DANE increases trust in digital communications and strengthens email and web security. Protect yourself with DANE today.')); ?>">
<meta property="og:image" content="https://danwin1210.de/assets/daniel.jpg">
<meta property="og:image:type" content="image/jpeg">
<meta property="og:image:height" content="1000">
<meta property="og:image:width" content="1000">
<meta property="og:image:alt" content="<?php echo htmlspecialchars(_('An avatar representing Daniel Winzen')); ?>">
<meta property="og:url" content="https://danwin1210.de/blog/dane/">
<meta property="og:locale" content="<?php echo $locale; ?>">
<meta property="og:site_name" content="<?php echo htmlspecialchars(_('Daniel')); ?>">
<script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","name":"<?php echo htmlspecialchars(_('Fortifying Digital Connections using DANE')); ?>", "datePublished": "2023-10-28", "author":{"@type":"Person", "image": "/assets/daniel.jpg", "name": "Daniel Winzen", "email": "daniel@danwin1210.de", "telephone": "+4917698819809", "url": "https://danwin1210.de"}}</script>
</head><body>
<?php menu(_('Fortifying Digital Connections using DANE')); ?>
<p><?php printf(htmlspecialchars(_('In the expansive digital landscape where trust and security are paramount, a powerful technology known as DANE (DNS-Based Authentication of Named Entities) emerges as a beacon of protection. DANE, an innovative extension of %1$s, revolutionizes online security by enhancing the authenticity and integrity of digital communications. In this article, we delve into the transformative potential of DANE, exploring its functionalities, benefits, and the crucial role it plays in fortifying the trustworthiness of our digital connections.')), '<a href="/blog/dnssec/">'.htmlspecialchars(_('DNSSEC (Domain Name System Security Extensions)')).'</a>'); ?></p>
<h2><?php echo htmlspecialchars(_('Understanding DANE')); ?></h2>
<p><?php echo htmlspecialchars(_('DANE is a game-changing protocol that uses DNS records to associate digital certificates with domain names, ensuring encrypted communication channels, like TLS (Transport Layer Security), are legitimate and unaltered. By embedding certificates directly into DNS records, DANE provides an additional layer of validation, offering a secure handshake between servers and users. This cryptographic binding enhances the trustworthiness of websites, email servers, and other online services, mitigating the risks of man-in-the-middle attacks and unauthorized data interception.')); ?></p>
<h2><?php echo htmlspecialchars(_('The Importance of DANE Implementation')); ?></h2>
<h3><?php echo htmlspecialchars(_('Enhanced Trust and Security')); ?></h3>
<p><?php echo htmlspecialchars(_('DANE significantly strengthens digital trust and security by validating certificates through DNS records. However, it does introduce complexity into the certificate management process. Each certificate change requires meticulous coordination between certificate updates and DNS record changes, making the management process more complex.')); ?></p>
<h3><?php echo htmlspecialchars(_('Securing Email Communication')); ?></h3>
<p><?php echo htmlspecialchars(_('DANE secures email servers, ensuring that the certificates used for encrypting email exchanges are genuine and unaltered. Despite the added complexity, its contribution to securing sensitive email communication cannot be overstated.')); ?></p>
<h3><?php echo htmlspecialchars(_('Boosting Website Credibility')); ?></h3>
<p><?php echo htmlspecialchars(_('Websites employing DANE provide an additional layer of assurance to visitors. When combined with HTTPS, DANE guarantees that visitors are securely connected to the intended server, bolstering the overall security of online transactions and interactions.')); ?></p>
<h2><?php echo htmlspecialchars(_('The Consequences of Ignoring DANE')); ?></h2>
<p><?php echo htmlspecialchars(_('Neglecting DANE leaves digital communication channels susceptible to interception and tampering. Cybercriminals can exploit these vulnerabilities, compromising sensitive data, and damaging the reputation of businesses and organizations. Ignoring DANE not only risks user trust but also exposes entities to legal ramifications and financial losses in the event of data breaches.')); ?></p>
<h2><?php echo htmlspecialchars(_('Implementing DANE')); ?></h2>
<p><?php echo htmlspecialchars(_('Implementing DANE may seem complex, but with careful steps, it becomes a potent tool for enhancing digital security. Begin by generating a digital certificate from a trusted Certificate Authority (CA) for your server. Once obtained, publish this certificate in your domain\'s DNS records using DANE TLSA (Transport Layer Security Authentication) records. These records include cryptographic hashes of your certificate, specifying the encryption methods supported. Regularly update these records whenever your certificate changes. Its crucial to coordinate certificate updates with DNS record changes to maintain the integrity of your security setup. By meticulously following these steps and staying vigilant about updates, your organization can harness the full potential of DANE, strengthening your digital security and ensuring trustworthy online connections.')); ?></p>
<h3><?php echo htmlspecialchars(_('Building TLSA Records')); ?></h3>
<p><?php echo htmlspecialchars(_('TLSA records are constructed using three key parameters: Usage, Selector, and Matching Type in combination with the certificate\'s public key, service port, protocol, and domain name.')); ?></p>
<h4><?php echo htmlspecialchars(_('Usage')); ?></h4>
<p><?php echo htmlspecialchars(_('The Usage parameter specifies the intended use of the certificate.')); ?></p>
<ul>
<li><?php echo htmlspecialchars(_('0 - Certificate Authority Constraint (PKIX-TA)')); ?></li>
<li><?php echo htmlspecialchars(_('1 - Service Certificate Constraint (PKIX-EE)')); ?></li>
<li><?php echo htmlspecialchars(_('2 - Trust Anchor Assertion (DANE-TA)')); ?></li>
<li><?php echo htmlspecialchars(_('3 - Domain Issued Certificate (DANE-EE)')); ?></li>
</ul>
<h4><?php echo htmlspecialchars(_('Selector')); ?></h4>
<p><?php echo htmlspecialchars(_('The Selector parameter specifies the name of the entity that issued the certificate.')); ?></p>
<ul>
<li><?php echo htmlspecialchars(_('0 - Full certificate')); ?></li>
<li><?php echo htmlspecialchars(_('1 - Subject Public Key (SPKI)')); ?></li>
</ul>
<h4><?php echo htmlspecialchars(_('Matching Type')); ?></h4>
<p><?php echo htmlspecialchars(_('The Matching Type parameter specifies the type of cryptographic hash used to verify the certificate.')); ?></p>
<ul>
<li><?php echo htmlspecialchars(_('0 - SHA256')); ?></li>
<li><?php echo htmlspecialchars(_('1 - SHA384')); ?></li>
<li><?php echo htmlspecialchars(_('2 - SHA512')); ?></li>
</ul>
<p><?php printf(htmlspecialchars(_('A useful tool to generate TLSA records is the %s')), '<a href="https://ssl-tools.net/tlsa-generator">'.htmlspecialchars(_('TLSA Record Generator by SSL-Tools')).'</a>'); ?></p>
<h2><?php echo htmlspecialchars(_('Conclusion')); ?></h2>
<p><?php echo htmlspecialchars(_('In an era where cyber threats are prevalent, DANE emerges as a guardian of digital trust. Its implementation, while introducing complexity, is a strategic necessity for businesses and organizations aiming to fortify their online presence. By integrating DANE into digital infrastructure, we ensure that users can engage, transact, and communicate with confidence. Embracing DANE isnt just a choice but a commitment to a secure, trustworthy, and resilient digital future. Understanding the significance of DANE and integrating it into our digital practices is pivotal to safeguarding the integrity of our digital connections. Stay secure, stay trusted, and embrace DANE today.')); ?></p>
<h2><?php echo htmlspecialchars(_('Hire an expert')); ?></h2>
<p><?php printf(htmlspecialchars(_('If you\'re considering implementing this for your business, don\'t hesitate to seek help from an expert. Please %s for assistance and consultation with your implementation.')), '<a href="/contact.php">'.htmlspecialchars(_('contact me')).'</a>'); ?></p>
</main>
</body></html>

55
blog/dnssec/index.php Normal file
View File

@ -0,0 +1,55 @@
<?php
require_once('../../common.php');
global $language, $dir, $locale;
?>
<!DOCTYPE html><html lang="<?php echo $language; ?>" dir="<?php echo $dir; ?>"><head>
<title><?php echo htmlspecialchars(_('Securing the Web: Unraveling the Power of DNSSEC')); ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="author" content="Daniel Winzen">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="<?php echo htmlspecialchars(_('Explore the power of DNSSEC in fortifying online security. Learn how to implement DNSSEC and safeguard your digital presence against cyber threats. Secure your future in the digital landscape.')); ?>">
<link rel="canonical" href="https://danwin1210.de/blog/dnssec/">
<link rel="alternate" href="https://danwin1210.de/blog/dnssec/" hreflang="x-default">
<?php alt_links(); ?>
<meta property="og:type" content="article">
<meta property="article:published_time" content="2023-10-28">
<meta property="article:modified_time" content="2023-10-28">
<meta property="article:tag" content="DNS">
<meta property="article:tag" content="network">
<meta property="article:section" content="Technology">
<meta property="og:title" content="<?php echo htmlspecialchars(_('Securing the Web: Unraveling the Power of DNSSEC')); ?>">
<meta property="og:description" content="<?php echo htmlspecialchars(_('Explore the power of DNSSEC in fortifying online security. Learn how to implement DNSSEC and safeguard your digital presence against cyber threats. Secure your future in the digital landscape.')); ?>">
<meta property="og:image" content="https://danwin1210.de/assets/daniel.jpg">
<meta property="og:image:type" content="image/jpeg">
<meta property="og:image:height" content="1000">
<meta property="og:image:width" content="1000">
<meta property="og:image:alt" content="<?php echo htmlspecialchars(_('An avatar representing Daniel Winzen')); ?>">
<meta property="og:url" content="https://danwin1210.de/blog/dnssec/">
<meta property="og:locale" content="<?php echo $locale; ?>">
<meta property="og:site_name" content="<?php echo htmlspecialchars(_('Daniel')); ?>">
<script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","name":"<?php echo htmlspecialchars(_('Securing the Web: Unraveling the Power of DNSSEC')); ?>", "datePublished": "2023-10-28", "author":{"@type":"Person", "image": "/assets/daniel.jpg", "name": "Daniel Winzen", "email": "daniel@danwin1210.de", "telephone": "+4917698819809", "url": "https://danwin1210.de"}}</script>
</head><body>
<?php menu(_('Securing the Web: Unraveling the Power of DNSSEC')); ?>
<p><?php echo htmlspecialchars(_('Ensuring the security and integrity of data is paramount. Domain Name System Security Extensions (DNSSEC) stands as the stalwart guardian, fortifying the digital realm against malicious threats and ensuring that users can trust the information they receive. In this article, we embark on a journey to unravel the significance of DNSSEC, exploring its functionalities, benefits, and the imperative need for its widespread implementation.')); ?></p>
<h2><?php echo htmlspecialchars(_('Understanding DNSSEC')); ?></h2>
<p><?php echo htmlspecialchars(_('DNSSEC is a groundbreaking technology designed to protect internet users from various cyber threats, such as DNS spoofing and man-in-the-middle attacks. By adding a layer of security to the Domain Name System (DNS), DNSSEC ensures that the web addresses users visit are authentic and unaltered. It achieves this through cryptographic signatures, guaranteeing the legitimacy of the information users receive and enhancing their online trust.')); ?></p>
<h2><?php echo htmlspecialchars(_('The Importance of DNSSEC Implementation')); ?></h2>
<h3><?php echo htmlspecialchars(_('Enhanced Data Integrity')); ?></h3>
<p><?php echo htmlspecialchars(_('DNSSEC uses cryptographic signatures to verify the authenticity of DNS data, safeguarding users from malicious manipulations. This ensures that the websites they access are indeed what they claim to be, preventing phishing attacks and unauthorized domain redirections.')); ?></p>
<h3><?php echo htmlspecialchars(_('Protection Against Cache Poisoning')); ?></h3>
<p><?php echo htmlspecialchars(_('DNS cache poisoning is a common tactic used by hackers to redirect users to malicious websites. DNSSEC mitigates this risk by validating the authenticity of DNS responses, making it significantly harder for attackers to manipulate the DNS cache and redirect users unknowingly.')); ?></p>
<h3><?php echo htmlspecialchars(_('Securing Sensitive Transactions')); ?></h3>
<p><?php echo htmlspecialchars(_('For websites handling sensitive information, such as online banking platforms and e-commerce sites, DNSSEC is indispensable. It ensures that users are securely connected to the intended servers, reducing the risk of data breaches and ensuring confidential transactions remain private.')); ?></p>
<h3><?php echo htmlspecialchars(_('Building User Trust')); ?></h3>
<p><?php echo htmlspecialchars(_('In the age of digital scepticism, DNSSEC plays a pivotal role in building trust between users and online services. Services that have implemented DNSSEC demonstrate a commitment to online security, instilling confidence in users and encouraging them to engage more freely in online activities.')); ?></p>
<h2><?php echo htmlspecialchars(_('The Consequences of Ignoring DNSSEC')); ?></h2>
<p><?php echo htmlspecialchars(_('Failing to implement DNSSEC leaves websites and users susceptible to a myriad of cyber threats. From DNS spoofing attacks, where users are redirected to fraudulent websites, to man-in-the-middle attacks, where sensitive data is intercepted, the consequences of neglecting DNSSEC can be severe. Moreover, businesses risk tarnishing their online reputation and customer trust, leading to potential financial losses and legal ramifications in case of data breaches.')); ?></p>
<h2><?php echo htmlspecialchars(_('Conclusion')); ?></h2>
<p><?php echo htmlspecialchars(_('In an era where digital threats are abundant, DNSSEC serves as a beacon of security, guiding the internet towards a safer future. Its implementation is not just a technical upgrade but a strategic necessity, ensuring the sanctity of online interactions and bolstering the trust users place in the digital landscape. Embracing DNSSEC isn\'t merely a choice but a commitment to a secure, trustworthy, and resilient internet. As businesses and individuals, understanding its significance and integrating it into our digital practices is key to fortifying the web and securing a safer online experience for everyone.')); ?></p>
<h2><?php echo htmlspecialchars(_('Implementing DNSSEC')); ?></h2>
<p><?php echo htmlspecialchars(_('Enabling DNSSEC for your domain can be straightforward, especially with DNS management providers like Cloudflare, GoDaddy, or nameserver software like BIND. Begin by accessing your provider\'s dashboard or BIND configuration file. Look for DNSSEC settings, usually found under domain security or advanced options. Enable DNSSEC, generate key pairs, and sign your domain zone. Most providers offer user-friendly interfaces for these tasks.')); ?></p>
<p><?php echo htmlspecialchars(_('Next, update your domain registrar\'s DS (Delegation Signer) records. Providers often have dedicated sections for DNSSEC, allowing you to input your DS records. Periodically rolling DNSSEC keys enhances security. Regular maintenance and support from DNSSEC-friendly providers ensure a robust online presence.')); ?></p>
<h2><?php echo htmlspecialchars(_('Hire an expert')); ?></h2>
<p><?php printf(htmlspecialchars(_('If you\'re considering implementing this for your business, don\'t hesitate to seek help from an expert. Please %s for assistance and consultation with your implementation.')), '<a href="/contact.php">'.htmlspecialchars(_('contact me')).'</a>'); ?></p>
</main>
</body></html>

View File

@ -0,0 +1,44 @@
<?php
require_once('../../common.php');
global $language, $dir, $locale;
?>
<!DOCTYPE html><html lang="<?php echo $language; ?>" dir="<?php echo $dir; ?>"><head>
<title><?php echo htmlspecialchars(_('Learnings from running an email service')); ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="author" content="Daniel Winzen">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="<?php echo htmlspecialchars(_('My learnings from running a free, anonymous email servcie and what to expect when you run a service like mine')); ?>">
<link rel="canonical" href="https://danwin1210.de/blog/email-service-learnings/">
<link rel="alternate" href="https://danwin1210.de/blog/email-service-learnings/" hreflang="x-default">
<?php alt_links(); ?>
<meta property="og:type" content="article">
<meta property="og:title" content="<?php echo htmlspecialchars(_('Learnings from running an email service')); ?>">
<meta property="og:description" content="<?php echo htmlspecialchars(_('My learnings from running a free, anonymous email servcie and what to expect when you run a service like mine')); ?>">
<meta property="og:image" content="https://danwin1210.de/assets/daniel.jpg">
<meta property="og:image:type" content="image/jpeg">
<meta property="og:image:height" content="1000">
<meta property="og:image:width" content="1000">
<meta property="og:image:alt" content="<?php echo htmlspecialchars(_('An avatar representing Daniel Winzen')); ?>">
<meta property="og:url" content="https://danwin1210.de/blog/email-service-learnings/">
<meta property="og:locale" content="<?php echo $locale; ?>">
<meta property="og:site_name" content="<?php echo htmlspecialchars(_('Daniel')); ?>">
<script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","name":"<?php echo htmlspecialchars(_('Learnings from running an email service')); ?>", "author":{"@type":"Person", "image": "/assets/daniel.jpg", "name": "Daniel Winzen", "email": "daniel@danwin1210.de", "telephone": "+4917698819809", "url": "https://danwin1210.de"}}</script>
</head><body>
<?php menu(_('Learnings from running an email service')); ?>
<p><?php echo htmlspecialchars(_('Running a public email service can be challenging and frustrating at times. Nonetheless, I learned a lot from offering a free email service for the past few years. Here are some of the challenges I had to face and what I learned from them:')); ?></p>
<h2><?php echo htmlspecialchars(_('Spam and countermeasures')); ?></h2>
<p><?php echo htmlspecialchars(_('Spam is one of the most common issues when dealing with email. Making an email service completely spam-free is almost impossible. While many spam filters can filter out the majority of spam we receive daily, they aren\'t perfect either. The worst kind of spam is the outgoing kind because it will damage the reputation of the service and can have a significant long-term impact. Thus I have taken many steps to reduce the amount of spam my service will send out by using rate limiting, spam filters, blacklisting of specific addresses and manually shutting down sending for a couple of hours whenever a spam wave starts.')); ?></p>
<h2><?php echo htmlspecialchars(_('Reputational damages')); ?></h2>
<p><?php printf(htmlspecialchars(_('No matter how much you invest in anti-spam measures, at some point, there will be spam going out. Just five spam emails a day could be enough to get your service blacklisted if there aren\'t enough good emails to make up for them. For example, %s considers 0.1%% of spam already too much. At a rate of 0.3%%, you can say goodbye to reaching inboxes since all your emails will get marked as spam. Once your service reputation goes down, it can take several months to recover.')), '<a href="https://support.google.com/a/answer/81126?sjid=5222533572318461356-EU&visit_id=638417784910430941-259877275&rd=1#spam-rate" target="_blank" rel="noopener noreferrer">Google</a>'); ?></p>
<h2><?php echo htmlspecialchars(_('Hate and death threads')); ?></h2>
<p><?php printf(htmlspecialchars(_('Unlike some big providers, I never asked for personal details such as phone numbers or payment details, and it\'s also possible to use my service from a Tor hidden service. Unfortunately, this anonymity also attracts some people who are going to abuse the email service to send hate and death threads. This trend has been on the rise for the past few years, and there were times when I had to deal with such threats and their aftermath almost every month. That includes talking to scared victims, giving statements to the police and disabling abusive accounts. One of the cases I had to deal with was about violent death threads sent to %s and her employees. There were several similar cases, which didn\'t go public. Although it is unlikely that any of these threats would have been carried out, they can still have devastating and traumatic effects on the people who receive them.')), '<a href="https://en.wikipedia.org/wiki/Lisa-Maria_Kellermayr" target="_blank" rel="noopener noreferrer">Lisa-Maria Kellermayr</a>'); ?></p>
<h2><?php echo htmlspecialchars(_('Law enforcement visits')); ?></h2>
<p><?php echo htmlspecialchars(_('Internet crimes may be hard to combat, but law enforcement is trying to track down these kinds of crimes as well. That means whenever someone reports an incident to the police, they will investigate and reach out to the email provider to ask for information. While I don\'t have much data at hand, given that my service is anonymous, I still get contacted by law enforcement regularly, which includes being woken up in the middle of the night to answer some questions, or having my home searched.')); ?></p>
<h2><?php echo htmlspecialchars(_('Time consuming tasks')); ?></h2>
<p><?php echo htmlspecialchars(_('Time is one of the most valuable assets. We all have a limited quantity of it. You can\'t get back time you\'ve spent on something less enjoyable. While I understand that many people prefer wasting their time in front of the TV, instead of doing something productive with their life, I am building my own business and often have a busy schedule. That is why I no longer want to spend so much time running this public email service. It can ruin my entire day planning when I have to spend some hours dealing with spam before I can send an urgent email myself. In mid 2023 some very persistent spammers started abusing my service. I\'ve spent countless hours deleting accounts, and disabled registration for several months, but still couldn\'t find a solution to this problem. It\'s now 2024 and I still see an abnormal rate of abuse. Cleaning up after a spam wave can take hours and means halting outgoing mail for several hours until I have time to deal with it.')); ?></p>
<h2><?php echo htmlspecialchars(_('Closing registration for good')); ?></h2>
<p><?php echo htmlspecialchars(_('While I strongly believe in freedom of speech and want to continue offering the email service, it has become too much of a burden to keep this service clean. I\'m not earning money from it, and it\'s not worth continuing with the amount of abuse that I have seen in recent months. I\'ve closed registration temporarily several times in the past few months, but now I will close it for good. Existing accounts will continue working, and I do not intend to shut down this service. I use this email service myself and depend on it. That is why I also need to take these steps since I am potentially losing clients whenever my emails land in spam because someone else ruined my email service reputation (again).')); ?></p>
<h2><?php echo htmlspecialchars(_('Making use of my experience')); ?></h2>
<p><?php printf(htmlspecialchars(_('With many years of experience running email services, I can also help you fix any problems you might encounter with your email service, such as restoring your sending reputation, authentication issues with DKIM, SPF and DMARC, or email security issues. If you are interested, you can %s. ')), '<a href="/contact.php">'.htmlspecialchars(_('hire me')).'</a>'); ?></p>
</main>
</body></html>

View File

@ -28,6 +28,12 @@ global $language, $dir, $locale;
<p><?php echo htmlspecialchars(_('Blog posts and news related to my services will be posted here.')); ?></p>
<div class="table">
<div class="headerrow"><div class="cell"><?php echo htmlspecialchars(_('Date')); ?></div><div class="cell"><?php echo htmlspecialchars(_('Title')); ?></div></div>
<div class="row"><div class="cell"><?php echo htmlspecialchars(_('April 2024')); ?></div><div class="cell"><a href="/blog/cluster/"><?php echo htmlspecialchars(_('Cluster setup')); ?></a></div></div>
<div class="row"><div class="cell"><?php echo htmlspecialchars(_('January 2024')); ?></div><div class="cell"><a href="/blog/email-service-learnings/"><?php echo htmlspecialchars(_('Learnings from running an email service')); ?></a></div></div>
<div class="row"><div class="cell"><?php echo htmlspecialchars(_('December 2023')); ?></div><div class="cell"><a href="/blog/vpn/"><?php echo htmlspecialchars(_('Securing your communication with a VPN')); ?></a></div></div>
<div class="row"><div class="cell"><?php echo htmlspecialchars(_('October 2023')); ?></div><div class="cell"><a href="/blog/dane/"><?php echo htmlspecialchars(_('Fortifying Digital Connections using DANE')); ?></a></div></div>
<div class="row"><div class="cell"><?php echo htmlspecialchars(_('October 2023')); ?></div><div class="cell"><a href="/blog/dnssec/"><?php echo htmlspecialchars(_('Securing the Web: Unraveling the Power of DNSSEC')); ?></a></div></div>
<div class="row"><div class="cell"><?php echo htmlspecialchars(_('October 2023')); ?></div><div class="cell"><a href="/blog/ipv6/"><?php echo htmlspecialchars(_('Embracing IPv6: The Key to a Future-Proof Internet')); ?></a></div></div>
<div class="row"><div class="cell"><?php echo htmlspecialchars(_('August 2023')); ?></div><div class="cell"><a href="/blog/onion-link-list-shutdown/"><?php echo htmlspecialchars(_('Onion link list shutdown')); ?></a></div></div>
<div class="row"><div class="cell"><?php echo htmlspecialchars(_('December 2022')); ?></div><div class="cell"><a href="/chat/"><?php echo htmlspecialchars(_('Daniel\'s Chat shutdown')); ?></a></div></div>
<div class="row"><div class="cell"><?php echo htmlspecialchars(_('December 2021')); ?></div><div class="cell"><a href="/new-domain.php"><?php echo htmlspecialchars(_('New domain - DanWin1210.Me is now DanWin1210.De')); ?></a></div></div>

56
blog/ipv6/index.php Normal file
View File

@ -0,0 +1,56 @@
<?php
require_once('../../common.php');
global $language, $dir, $locale;
?>
<!DOCTYPE html><html lang="<?php echo $language; ?>" dir="<?php echo $dir; ?>"><head>
<title><?php echo htmlspecialchars(_('Embracing IPv6: The Key to a Future-Proof Internet')); ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="author" content="Daniel Winzen">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="<?php echo htmlspecialchars(_('Discover why implementing IPv6 is crucial for internet-facing services. Explore the benefits, consequences of not adopting IPv6, and practical insights on future-proofing your online presence.')); ?>">
<link rel="canonical" href="https://danwin1210.de/blog/ipv6/">
<link rel="alternate" href="https://danwin1210.de/blog/ipv6/" hreflang="x-default">
<?php alt_links(); ?>
<meta property="og:type" content="article">
<meta property="article:published_time" content="2023-10-28">
<meta property="article:modified_time" content="2023-10-28">
<meta property="article:tag" content="IPv6">
<meta property="article:tag" content="network">
<meta property="article:section" content="Technology">
<meta property="og:title" content="<?php echo htmlspecialchars(_('Embracing IPv6: The Key to a Future-Proof Internet')); ?>">
<meta property="og:description" content="<?php echo htmlspecialchars(_('Discover why implementing IPv6 is crucial for internet-facing services. Explore the benefits, consequences of not adopting IPv6, and practical insights on future-proofing your online presence.')); ?>">
<meta property="og:image" content="https://danwin1210.de/assets/daniel.jpg">
<meta property="og:image:type" content="image/jpeg">
<meta property="og:image:height" content="1000">
<meta property="og:image:width" content="1000">
<meta property="og:image:alt" content="<?php echo htmlspecialchars(_('An avatar representing Daniel Winzen')); ?>">
<meta property="og:url" content="https://danwin1210.de/blog/ipv6/">
<meta property="og:locale" content="<?php echo $locale; ?>">
<meta property="og:site_name" content="<?php echo htmlspecialchars(_('Daniel')); ?>">
<script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","name":"<?php echo htmlspecialchars(_('Embracing IPv6: The Key to a Future-Proof Internet')); ?>", "datePublished": "2023-10-28", "author":{"@type":"Person", "image": "/assets/daniel.jpg", "name": "Daniel Winzen", "email": "daniel@danwin1210.de", "telephone": "+4917698819809", "url": "https://danwin1210.de"}}</script>
</head><body>
<?php menu(_('Embracing IPv6: The Key to a Future-Proof Internet')); ?>
<p><?php echo htmlspecialchars(_('In the vast realm of the internet, where connectivity is the lifeblood of modern society, ensuring a seamless and secure data flow is paramount. Internet Protocol (IP) addresses serve as digital coordinates, allowing data packets to find their way across the global network. For decades, IPv4 (Internet Protocol version 4) has been the backbone of Internet communication. However, with the internet\'s exponential growth, IPv4 addresses are depleting rapidly. That is where IPv6, the next-generation internet protocol, steps in. In this article, we will explore IPv6 and delve into why its implementation is vital for internet-facing services.')); ?></p>
<h2><?php echo htmlspecialchars(_('Understanding IPv6')); ?></h2>
<p><?php echo htmlspecialchars(_('IPv6, the sixth revision of the Internet Protocol, was developed to succeed IPv4. Unlike IPv4, which uses 32-bit addresses, IPv6 employs 128-bit addresses, providing an astronomical number of unique combinations—approximately 3.4 × 10^38 addresses. To put this into perspective, thats enough to assign a unique IP address to every atom on the surface of the Earth and still have addresses left to spare.')); ?></p>
<h2><?php echo htmlspecialchars(_('The Importance of IPv6 Implementation')); ?></h2>
<h3><?php echo htmlspecialchars(_('Address Space Exhaustion')); ?></h3>
<p><?php echo htmlspecialchars(_('The most immediate problem IPv6 addresses is the exhaustion of IPv4 addresses. With the proliferation of internet-connected devices, from smartphones to IoT devices, the demand for IP addresses has surged. IPv6 offers an almost limitless supply of addresses, guaranteeing that every device can be assigned a unique identifier. This facilitates the growth of the Internet of Things (IoT) and other interconnected technologies.')); ?></p>
<h3><?php echo htmlspecialchars(_('Enhanced Security')); ?></h3>
<p><?php echo htmlspecialchars(_('IPv6 incorporates features like IPsec (Internet Protocol Security) as standard, providing a robust framework for securing data traffic. With IPv6, encryption and authentication are seamlessly integrated, offering a more secure communication environment. This is especially crucial for internet-facing services, where sensitive data transmission is the norm.')); ?></p>
<h3><?php echo htmlspecialchars(_('Improved Performance')); ?></h3>
<p><?php echo htmlspecialchars(_('IPv6 is designed with efficiency in mind. It reduces the complexity of packet headers, streamlining the routing process and leading to improved network performance. Internet-facing services leveraging IPv6 can offer faster and more responsive user experiences, essential for applications requiring real-time data transmission.')); ?></p>
<h3><?php echo htmlspecialchars(_('Future-Proofing Networks')); ?></h3>
<p><?php echo htmlspecialchars(_('As the adoption of IPv6 grows, internet-facing services that embrace this protocol future-proof their networks. IPv6 readiness ensures that these services remain accessible and functional as IPv4 addresses become scarcer and more expensive. Its a strategic investment in the longevity of digital infrastructure.')); ?></p>
<h3><?php echo htmlspecialchars(_('SEO and Online Visibility')); ?></h3>
<p><?php echo htmlspecialchars(_('Search engines, like Google, recognize IPv6-enabled websites and provide a slight ranking boost to encourage adoption. IPv6 implementation can, therefore, positively impact a websites visibility, making it a valuable asset for businesses and organizations aiming to reach a broader online audience.')); ?></p>
<h2><?php echo htmlspecialchars(_('Consequences of not implementing IPv6')); ?></h2>
<p><?php echo htmlspecialchars(_('One of the primary repercussions is the service\'s inaccessibility to users on IPv6-only networks. As more internet service providers and mobile networks transition to IPv6, users relying solely on IPv6 addresses would find themselves unable to connect to websites and applications that have not adopted this protocol. Consequently, businesses risk alienating a growing segment of their audience, leading to diminished user engagement and potential revenue loss. Furthermore, such services may experience degraded online visibility and SEO rankings, as search engines increasingly prioritize IPv6-enabled websites. In essence, the failure to implement IPv6 not only hampers inclusivity but also impedes the service\'s ability to thrive in a diverse, interconnected digital landscape, ultimately limiting its reach and relevance.')); ?></p>
<p><?php printf(htmlspecialchars(_('One example of a service that is not IPv6-compatible is %1$s, a widely used platform for hosting code. This means that users on IPv6-only networks are unable to access it. As someone who has encountered this problem multiple times, I\'ve had to search for alternative solutions to download code on IPv6-only networks. For this reason, I have created a %2$s to address this issue.')), '<a href="https://github.com/orgs/community/discussions/10539" target="_blank" rel="noopener noreferrer">GitHub</a>', '<a href="/github-ipv6-proxy.php">'.htmlspecialchars(_('GitHub IPv6 proxy')).'</a>'); ?></p>
<h2><?php echo htmlspecialchars(_('Challenges and Considerations')); ?></h2>
<p><?php echo htmlspecialchars(_('While the benefits of IPv6 implementation are clear, there are challenges, such as the need for network upgrades and the requirement for IPv4-IPv6 coexistence during the transition period. However, these challenges are outweighed by the advantages and long-term sustainability that IPv6 offers.')); ?></p>
<p><?php echo htmlspecialchars(_('It is essential to understand that IPv6 is not just a technical upgrade but a necessity. Organizations that transition their internet-facing services to IPv6 are positioning themselves at the forefront of the digital landscape that demands scalability, security, and innovation. Adapting to IPv6 is not just about embracing change; it is about shaping the future of the internet. By doing so, we can create a resilient, secure, and interconnected network - one step at a time.')); ?></p>
<h2><?php echo htmlspecialchars(_('Hire an expert')); ?></h2>
<p><?php printf(htmlspecialchars(_('If you\'re considering implementing this for your business, don\'t hesitate to seek help from an expert. Please %s for assistance and consultation with your implementation.')), '<a href="/contact.php">'.htmlspecialchars(_('contact me')).'</a>'); ?></p>
</main>
</body></html>

108
blog/vpn/index.php Normal file
View File

@ -0,0 +1,108 @@
<?php
require_once('../../common.php');
global $language, $dir, $locale;
?>
<!DOCTYPE html><html lang="<?php echo $language; ?>" dir="<?php echo $dir; ?>"><head>
<title><?php echo htmlspecialchars(_('Securing your communication with a VPN')); ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="author" content="Daniel Winzen">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="<?php echo htmlspecialchars(_('Explore VPN essentials, protocols, and top providers for enhanced online privacy and security. Stay informed, stay protected.')); ?>">
<link rel="canonical" href="https://danwin1210.de/blog/vpn/">
<link rel="alternate" href="https://danwin1210.de/blog/vpn/" hreflang="x-default">
<?php alt_links(); ?>
<meta property="og:type" content="article">
<meta property="article:published_time" content="2023-12-29">
<meta property="article:modified_time" content="2023-12-29">
<meta property="article:tag" content="VPN">
<meta property="article:tag" content="network">
<meta property="article:section" content="Technology">
<meta property="og:title" content="<?php echo htmlspecialchars(_('Securing your communication with a VPN')); ?>">
<meta property="og:description" content="<?php echo htmlspecialchars(_('Explore VPN essentials, protocols, and top providers for enhanced online privacy and security. Stay informed, stay protected.')); ?>">
<meta property="og:image" content="https://danwin1210.de/assets/daniel.jpg">
<meta property="og:image:type" content="image/jpeg">
<meta property="og:image:height" content="1000">
<meta property="og:image:width" content="1000">
<meta property="og:image:alt" content="<?php echo htmlspecialchars(_('An avatar representing Daniel Winzen')); ?>">
<meta property="og:url" content="https://danwin1210.de/blog/vpn/">
<meta property="og:locale" content="<?php echo $locale; ?>">
<meta property="og:site_name" content="<?php echo htmlspecialchars(_('Daniel')); ?>">
<script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","name":"<?php echo htmlspecialchars(_('Securing your communication with a VPN')); ?>", "datePublished": "2023-12-29", "author":{"@type":"Person", "image": "/assets/daniel.jpg", "name": "Daniel Winzen", "email": "daniel@danwin1210.de", "telephone": "+4917698819809", "url": "https://danwin1210.de"}}</script>
</head><body>
<?php menu(_('Securing your communication with a VPN')); ?>
<p><?php printf(htmlspecialchars(_('A %s is a tool that helps ensure your online privacy and safety. It creates an encrypted tunnel for your data, protects your online identity, lets you access private networks, and can provide additional perks such as unlocking geo-restricted content. This article will guide you through the basics of using a VPN.')), '<abbr title="'.htmlspecialchars(_('Virtual Private Network')).'">'.htmlspecialchars(_('VPN')).'</abbr>'); ?></p>
<h2><?php echo htmlspecialchars(_('Why use a VPN?')); ?></h2>
<p><?php echo htmlspecialchars(_('In today\'s era of surveillance and data tracking, it is crucial to maintain internet privacy. A VPN allows you to:')); ?></p>
<ul>
<li><?php echo htmlspecialchars(_('Maintain privacy: A VPN transmits your data via an encrypted tunnel, making it unreadable for anyone trying to intercept it.')); ?></li>
<li><?php echo htmlspecialchars(_('Bypass geographical restrictions: This is one of the most popular uses of VPNs. VPNs can mask your location, allowing you to access geographically restricted content.')); ?></li>
<li><?php echo htmlspecialchars(_('Protection over public Wi-Fi: Public Wi-Fi networks may not be secure and can expose your data to possible intrusions. A VPN can shield you from such risks.')); ?></li>
<li><?php echo htmlspecialchars(_('Avoid throttling: ISPs sometimes throttle bandwidth for certain online services. A VPN can hide your online activity and thus prevent throttling.')); ?></li>
<li><?php echo htmlspecialchars(_('Remote Access: With a VPN, businesses can provide their employees with secure access to company resources anywhere in the world.')); ?></li>
</ul>
<h2><?php echo htmlspecialchars(_('Choosing a VPN')); ?></h2>
<p><?php echo htmlspecialchars(_('When selecting a VPN service, consider the following factors:')); ?></p>
<ul>
<li><?php echo htmlspecialchars(_('Security: Make sure your VPN provider uses high standards of encryption.')); ?></li>
<li><?php echo htmlspecialchars(_('No-log policy: Your VPN provider should have a no-log policy, meaning they do not store any details about your online activity.')); ?></li>
<li><?php echo htmlspecialchars(_('Speed: The VPN should not significantly reduce your internet speed.')); ?></li>
<li><?php echo htmlspecialchars(_('Server Locations: More server locations give you more options to choose from, especially if you plan to bypass geographical restrictions.')); ?></li>
<li><?php echo htmlspecialchars(_('Price: While free VPNs exist, they often come with limitations and might compromise on security.')); ?></li>
<li><?php echo htmlspecialchars(_('Reputation: Check the reputation of your VPN provider online, before buying a plan.')); ?></li>
</ul>
<h2><?php echo htmlspecialchars(_('VPN Protocols')); ?></h2>
<p><?php echo htmlspecialchars(_('When delving into the world of VPNs, understanding the underlying protocols is paramount. These protocols play a crucial role in determining the security and performance of your VPN connection.')); ?></p>
<ul>
<li>
<h3><?php echo htmlspecialchars(_('WireGuard')); ?></h3>
<p><?php echo htmlspecialchars(_('Advantages: WireGuard is a popular and efficient VPN known for its speed and strong security. It achieves this by keeping the codebase minimal and easy to use.')); ?></p>
<p><?php echo htmlspecialchars(_('Considerations: Although WireGuard has a modern design and operates efficiently, it is not yet universally supported.')); ?></p>
</li>
<li>
<h3><?php echo htmlspecialchars(_('OpenVPN')); ?></h3>
<p><?php echo htmlspecialchars(_('Advantages: OpenVPN is an open-source protocol that supports strong encryption, making it reliable and flexible for diverse applications.')); ?></p>
<p><?php echo htmlspecialchars(_('Considerations: Although highly secure, setting up this protocol may be slightly complex for some users.')); ?></p>
</li>
<li>
<h3><abbr title="Internet Key Exchange version 2 with IPsec"><?php echo htmlspecialchars(_('IKEv2/IPsec')); ?></abbr></h3>
<p><?php echo htmlspecialchars(_('Advantages: Known for its speed and efficiency in re-establishing connections, especially in mobile devices that frequently switch networks, it offers robust security features and is often preferred for mobile applications.')); ?></p>
<p><?php echo htmlspecialchars(_('Considerations: While reliable, it may not be as universally supported as some other protocols.')); ?></p>
</li>
<li>
<h3><abbr title="Secure Socket Tunneling Protocol"><?php echo htmlspecialchars(_('SSTP')); ?></abbr></h3>
<p><?php echo htmlspecialchars(_('Advantages: Microsoft developed SSTP for easy firewall traversal. It uses SSL/TLS encryption for strong security.')); ?></p>
<p><?php echo htmlspecialchars(_('Considerations: Limited cross-platform support could be a disadvantage for users who do not use Windows devices.')); ?></p>
</li>
<li>
<h3><abbr title="Layer 2 Tunneling Protocol with IPsec"><?php echo htmlspecialchars(_('L2TP/IPsec')); ?></abbr></h3>
<p><?php echo htmlspecialchars(_('Advantages: Combining the best of both L2TP and IPsec, this protocol offers strong security and is natively supported on a wide range of devices. It provides a good balance between speed and security.')); ?></p>
<p><?php echo htmlspecialchars(_('Considerations: L2TP/IPsec may not be the quickest option, and if not configured properly, its security can be compromised.')); ?></p>
</li>
<li>
<h3><abbr title="Point-to-Point Tunneling Protocol"><?php echo htmlspecialchars(_('PPTP')); ?></abbr></h3>
<p><?php echo htmlspecialchars(_('Advantages: PPTP is easy to set up and generally offers faster connection speeds than some other protocols.')); ?></p>
<p><?php echo htmlspecialchars(_('Considerations: Unfortunately, PPTP has several security weaknesses. The encryption it uses is outdated and vulnerable, making it unsuitable for ensuring the confidentiality and integrity of sensitive data.')); ?></p>
</li>
</ul>
<p><?php echo htmlspecialchars(_('Understanding these protocols empowers users to make informed decisions when selecting a VPN service. The choice of a protocol depends on factors such as security needs, ease of use, and compatibility with devices. Each protocol has its strengths, and selecting the right one ensures a secure and reliable VPN experience.')); ?></p>
<h2><?php echo htmlspecialchars(_('Combining VPN and the Tor darknet')); ?></h2>
<p><?php echo htmlspecialchars(_('When using darknets such as Tor, there\'s always a risk of being targeted by your government or ISP in countries where their use is limited or prohibited. By combining VPN and Tor, you can add another layer of online privacy and safety, since your ISP will not be able to see that you are using darknets. In case of an exploit against TorBrowser, the IP leaked would not be your real IP, but the VPN\'s IP. Connecting to a VPN via Tor is also possible, but makes much less sense because your identity is typically known to your VPN provider. For anonymity reasons, it\'s best to connect to the VPN first and connect to Tor via it.')); ?></p>
<h2><?php echo htmlspecialchars(_('Recommendations')); ?></h2>
<p><?php echo htmlspecialchars(_('If you are considering running your own VPN for business or remote home network access, I would recommend using WireGuard or OpenVPN.')); ?></p>
<p><?php echo htmlspecialchars(_('For everyone else, here are some recommended VPN providers:')); ?></p>
<ul>
<li><a href="https://nordvpn.sjv.io/5g0akn" target="_blank" rel="noopener noreferrer"><?php echo htmlspecialchars(_('NordVPN')); ?></a></li>
<li><a href="https://go.getproton.me/aff_c?offer_id=26&aff_id=6815" target="_blank" rel="noopener noreferrer"><?php echo htmlspecialchars(_('Proton VPN')); ?></a></li>
<li><a href="https://hide.me/" target="_blank" rel="noopener noreferrer"><?php echo htmlspecialchars(_('Hide.Me VPN')); ?></a></li>
<li><a href="https://www.mozilla.org/en-US/products/vpn/" target="_blank" rel="noopener noreferrer"><?php echo htmlspecialchars(_('Mozilla VPN')); ?></a></li>
<li><a href="https://mullvad.net" target="_blank" rel="noopener noreferrer"><?php echo htmlspecialchars(_('Mullvad VPN')); ?></a></li>
<li><a href="https://www.expressvpn.com" target="_blank" rel="noopener noreferrer"><?php echo htmlspecialchars(_('ExpressVPN')); ?></a></li>
<li><a href="https://surfshark.com" target="_blank" rel="noopener noreferrer"><?php echo htmlspecialchars(_('Surfshark')); ?></a></li>
<li><a href="https://www.cyberghostvpn.com" target="_blank" rel="noopener noreferrer"><?php echo htmlspecialchars(_('CyberGhost VPN')); ?></a></li>
<li><a href="https://windscribe.com" target="_blank" rel="noopener noreferrer"><?php echo htmlspecialchars(_('Windscribe VPN')); ?></a></li>
<li><a href="https://www.ivpn.net" target="_blank" rel="noopener noreferrer"><?php echo htmlspecialchars(_('IVPN')); ?></a></li>
<li><a href="https://calyxinstitute.org/projects/digital-services/vpn" target="_blank" rel="noopener noreferrer"><?php echo htmlspecialchars(_('CalyxVPN')); ?></a></li>
<li><a href="https://one.one.one.one/" target="_blank" rel="noopener noreferrer"><?php echo htmlspecialchars(_('CloudFlare WARP')); ?></a></li>
</ul>
</main>
</body></html>

View File

@ -21,6 +21,7 @@ $global_style .= 'nav a:hover{color:#000;background-color:#fff}';
$global_style .= 'nav a:active{color:#fff;background-color:#888}';
$global_style .= '#menu summary{top:11px;left:2px;position:absolute}#menu summary,#language summary{display:block;width:50px;cursor:pointer}#menu summary::-webkit-details-marker,#language summary::-webkit-details-marker{display: none}';
$global_style .= '#language{top:11px;right:0;position:absolute;font-size:2em}#language a{text-decoration:none}';
$global_style .= 'abbr:hover{cursor:help}';
$global_style .= '.row{display:flex;flex-wrap:wrap}.cell{border: 1px solid #999999;flex:1;padding:3px 3px}.headerrow{display:flex;font-weight:bold}.col{display:flex;flex:1;padding:3px 3px;flex-direction:column;min-width:5em}';
$global_style .= '.form_limit{max-width:1024px}.red{color:red}.green{color:green}';
$global_style .= '.burger_nav .bar1,.burger_nav .bar2,.burger_nav .bar3{display:block;width:35px;height:5px;background-color:#fff;margin:6px 6px}';
@ -57,6 +58,7 @@ const LANGUAGES = [
'pt-BR' => ['name' => 'Brazilian Portuguese', 'locale' => 'pt_BR', 'flag' => '🇧🇷', 'show_in_menu' => true, 'dir' => 'ltr'],
'ru' => ['name' => 'Русский', 'locale' => 'ru_RU', 'flag' => '🇷🇺', 'show_in_menu' => true, 'dir' => 'ltr'],
'tr' => ['name' => 'Türkçe', 'locale' => 'tr_TR', 'flag' => '🇹🇷', 'show_in_menu' => true, 'dir' => 'ltr'],
'uk' => ['name' => 'Українська', 'locale' => 'uk_UA', 'flag' => '🇺🇦', 'show_in_menu' => true, 'dir' => 'ltr'],
'zh-Hans' => ['name' => '简体中文', 'locale' => 'zh_CN', 'flag' => '🇨🇳', 'show_in_menu' => true, 'dir' => 'ltr'],
];
$language = 'en';
@ -107,25 +109,16 @@ function menu(string $title = ''): void
echo '<details id="menu">';
echo '<summary class="burger_nav" aria-label="'.htmlspecialchars(_('Toggle navigation')).'" tabindex="0"><span class="bar1"></span><span class="bar2"></span><span class="bar3"></span></summary>';
echo '<nav>';
if(isset($_SERVER['HTTP_HOST']) && preg_match('/danwin1210\.de$/', $_SERVER['HTTP_HOST'])){
$host='https://danwin1210.de';
}elseif(isset($_SERVER['HTTP_HOST']) && preg_match('/\.onion$/', $_SERVER['HTTP_HOST'])){
$host='http://danielas3rtn54uwmofdo3x2bsdifr47huasnmbgqzfrec5ubupvtpid.onion';
}elseif(isset($_SERVER['HTTP_HOST']) && preg_match('/danwin1210\.i2p$/', $_SERVER['HTTP_HOST'])){
$host='http://danwin1210.i2p';
}else{
$host='http://edk3pz64esvpy6bqpjtlqat3h7unwzxmvrrhjeg2ab43d6zfkzpa.b32.i2p';
}
echo "<a href=\"$host/\">".htmlspecialchars(_('Home')).'</a>';
echo "<a href=\"$host/blog/\">".htmlspecialchars(_('Blog and news')).'</a>';
echo "<a href=\"$host/mail/\">".htmlspecialchars(_('E-Mail + XMPP')).'</a>';
echo "<a href=\"$host/tutorials/\">".htmlspecialchars(_('Tutorials')).'</a>';
echo "<a href=\"$host/github-ipv6-proxy.php\">".htmlspecialchars(_('GitHub IPv6 proxy')).'</a>';
echo "<a href=\"$host/faq.php\">".htmlspecialchars(_('FAQ')).'</a>';
echo "<a href=\"$host/about.php\">".htmlspecialchars(_('About')).'</a>';
echo "<a href=\"$host/contact.php\">".htmlspecialchars(_('Contact')).'</a>';
echo "<a href=\"$host/privacy.php\">".htmlspecialchars(_('Privacy')).'</a>';
echo "<a href=\"$host/imprint.php\">".htmlspecialchars(_('Imprint')).'</a>';
echo "<a href=\"/\">".htmlspecialchars(_('Home')).'</a>';
echo "<a href=\"/blog/\">".htmlspecialchars(_('Blog and news')).'</a>';
echo "<a href=\"/mail/\">".htmlspecialchars(_('E-Mail + XMPP')).'</a>';
echo "<a href=\"/tutorials/\">".htmlspecialchars(_('Tutorials')).'</a>';
echo "<a href=\"/github-ipv6-proxy.php\">".htmlspecialchars(_('GitHub IPv6 proxy')).'</a>';
echo "<a href=\"/faq.php\">".htmlspecialchars(_('FAQ')).'</a>';
echo "<a href=\"/about.php\">".htmlspecialchars(_('About')).'</a>';
echo "<a href=\"/contact.php\">".htmlspecialchars(_('Contact')).'</a>';
echo "<a href=\"/privacy.php\">".htmlspecialchars(_('Privacy')).'</a>';
echo "<a href=\"/imprint.php\">".htmlspecialchars(_('Imprint')).'</a>';
echo '</nav>';
echo '</details>';
echo '<details id="language">';

View File

@ -31,6 +31,9 @@ global $language, $dir, $locale;
echo htmlspecialchars($_POST['name'] ?? '');
?>" autofocus></label><br>
<div <?php echo empty($_POST['subject']) ? 'hidden' : ''; ?>><label><?php echo htmlspecialchars(_('Honeypot (do not fill anything):')); ?> <input type="text" name="subject" value="<?php echo htmlspecialchars($_POST['subject'] ?? ''); ?>"></label><br></div>
<label><?php echo htmlspecialchars(_('Your email:')); ?> <br><input name="your_email" type="email" size="30" value="<?php
echo htmlspecialchars($_POST['your_email'] ?? '');
?>"></label><br>
<label><?php echo htmlspecialchars(_('Subject:')); ?> <br><input name="real_subj" size="30" value="<?php
echo htmlspecialchars($_POST['real_subj'] ?? '');
?>"></label><br>
@ -61,6 +64,9 @@ if($_SERVER['REQUEST_METHOD']==='POST'){
$message.= _('You haven\'t entered a message yet.').'<br>';
$ok=false;
}
if(!empty($_POST['your_email'])){
$headers .= "Reply-To: $name <".filter_var($_POST['your_email'], FILTER_SANITIZE_EMAIL).">\r\n";
}
if(!empty($_POST['real_subj'])){
$subject="$_POST[real_subj]";
}

43
faq.php
View File

@ -21,8 +21,7 @@ global $language, $dir, $locale;
<meta property="og:url" content="https://danwin1210.de/faq.php">
<meta property="og:locale" content="<?php echo $locale; ?>">
<meta property="og:site_name" content="<?php echo htmlspecialchars(_('Daniel')); ?>">
<script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","name":"<?php echo htmlspecialchars(_('Daniel - FAQ - Frequently Asked Questions')); ?>", "author":{"@type":"Person", "image": "/assets/daniel.jpg", "name": "Daniel Winzen", "email": "daniel@danwin1210.de", "telephone": "+4917698819809", "url": "https://danwin1210.de"}}</script>
</head><body>
</head><body itemscope itemtype="https://schema.org/FAQPage">
<?php menu(_('FAQ - Frequently Asked Questions')); ?>
<p><?php echo htmlspecialchars(_('Here you have a list of frequently asked questions regarding the services I provide and their answers.')); ?></p>
<div class="table">
@ -30,75 +29,75 @@ global $language, $dir, $locale;
<div class="cell"><?php echo htmlspecialchars(_('Question')); ?></div>
<div class="cell"><?php echo htmlspecialchars(_('Answer')); ?></div>
</div>
<div itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="mainEntity" itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="name" class="cell"><?php echo htmlspecialchars(_('What is PGP?')); ?></div>
<div itemprop="acceptedAnswer" itemscope itemtype="https://schema.org/Answer" class="cell"><div itemprop="text"><?php echo htmlspecialchars(_('PGP is an encryption program, that can be used to encrypt or sign emails and files.')) . ' <a href="https://en.wikipedia.org/wiki/Pretty_Good_Privacy" target="_blank" rel="noopener noreferrer">'.htmlspecialchars(_('More info in this Wikipedia article')).'</a>.'; ?></div></div>
</div>
<div itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="mainEntity" itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="name" class="cell"><?php echo htmlspecialchars(_('I have an idea how to make your site better, can you add feature xyz?')); ?></div>
<div itemprop="acceptedAnswer" itemscope itemtype="https://schema.org/Answer" class="cell"><div itemprop="text"><?php printf(htmlspecialchars(_('Yes, please %s and I may add it on my ToDo list. It might take a while until your feature gets added though.')), '<a href="contact.php">'.htmlspecialchars(_('contact me')).'</a>'); ?></div></div>
</div>
<div itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="mainEntity" itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="name" class="cell"><?php echo htmlspecialchars(_('I want to translate your site and services into another language, how can I do this?')); ?></div>
<div itemprop="acceptedAnswer" itemscope itemtype="https://schema.org/Answer" class="cell"><div itemprop="text"><?php printf(htmlspecialchars(_('Please see my %s and check out the individual projects you would like to translate.')), '<a href="https://github.com/DanWin/" target="_blank" rel="noopener noreferrer">'.htmlspecialchars(_('GitHub repositories')).'</a>'); ?></div></div>
</div>
<div itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="mainEntity" itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="name" class="cell"><?php echo htmlspecialchars(_('I heard of red rooms, live murder streams or similar. Are they real?')); ?></div>
<div itemprop="acceptedAnswer" itemscope itemtype="https://schema.org/Answer" class="cell"><div itemprop="text"><?php echo htmlspecialchars(_('No, they are just horror stories people commonly tell you. Many people make YouTube videos about the "deep web" and claim there were sites like these. However, many scammers jump on the train and create a site where they tell you to pay bitcoins to gain access. Don\'t pay, because they simply do not exist.')); ?></div></div>
</div>
<div itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="mainEntity" itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="name" class="cell"><?php echo htmlspecialchars(_('I heard of the shadow web, marianas web or closed shell network. How can I access them?')); ?></div>
<div itemprop="acceptedAnswer" itemscope itemtype="https://schema.org/Answer" class="cell"><div itemprop="text"><?php echo htmlspecialchars(_('You can\'t, because they do not exist. Some scammers want to sell it to you though. Don\'t pay because you won\'t get anything in return for your money.')); ?></div></div>
</div>
<div itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="mainEntity" itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="name" class="cell"><?php echo htmlspecialchars(_('Isn\'t the dark net supposed to be scary and full of creepy shit? Why can\'t I find any interesting sites?')); ?></div>
<div itemprop="acceptedAnswer" itemscope itemtype="https://schema.org/Answer" class="cell"><div itemprop="text"><?php echo htmlspecialchars(_('No, the Tor darknet was created to be able to anonymously browse the internet, circumvent censorship and anonymously host websites. Of course, it\'s not only used for a good cause. There are many phishing sites, scammers and child porn sites. But apart from the fact that you are anonymous, there isn\'t that much of a difference to the clearnet (normal internet). So most horror stories you have heard about Tor are just that, stories.')); ?></div></div>
</div>
<div itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="mainEntity" itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="name" class="cell"><?php echo htmlspecialchars(_('What\'s the difference between deep web and darknet?')); ?></div>
<div itemprop="acceptedAnswer" itemscope itemtype="https://schema.org/Answer" class="cell"><div itemprop="text"><?php echo htmlspecialchars(_('The deep web is any site that can\'t be indexed by a search engine, so basically any site where you have to log in or be part of a private network. To access a darknet, it requires special software like Tor, I2P or Freenet. The darknet is a small part of the deep web.')); ?></div></div>
</div>
<div itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="mainEntity" itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="name" class="cell"><?php echo htmlspecialchars(_('Can you hold my hands and teach me programming or hacking step by step?')); ?></div>
<div itemprop="acceptedAnswer" itemscope itemtype="https://schema.org/Answer" class="cell"><div itemprop="text"><?php printf(htmlspecialchars(_('Teaching you programming or hacking is a task that will take a long time (years). I\'ve been learning for 10 years and still learn new things all the time. But for the beginning I would recommend reading a beginners introduction book, which can guide you with some simple programs you build yourself and examples. If you prefer watching videos, there are a lot of tutorials on YouTube too. But most importantly you will have to take your keyboard and start typing some programs. Start with something simple and keep yourself challenged with new tasks. You may also enrol in a professional course on a platform like %s or %s. Good places to start learning about hacking are %s, %s or %s.')), '<a href="https://www.coursera.org/" target="_blank" rel="noopener noreferrer">'.htmlspecialchars(_('Coursera')).'</a>', '<a href="https://www.udemy.com/" target="_blank" rel="noopener noreferrer">'.htmlspecialchars(_('Udemy')).'</a>', '<a href="https://www.hacker101.com/" target="_blank" rel="noopener noreferrer">'.htmlspecialchars(_('Hacker101')).'</a>', '<a href="https://academy.hackthebox.com/" target="_blank" rel="noopener noreferrer">'.htmlspecialchars(_('HackTheBox')).'</a>', '<a href="https://www.hackthissite.org/" target="_blank" rel="noopener noreferrer">'.htmlspecialchars(_('Hack This Site')).'</a>'); ?></div></div>
<div itemprop="acceptedAnswer" itemscope itemtype="https://schema.org/Answer" class="cell"><div itemprop="text"><?php printf(htmlspecialchars(_('Teaching you programming or hacking is a task that will take a long time (years). I\'ve been learning for 10 years and still learn new things all the time. But for the beginning I would recommend reading a beginners introduction book, which can guide you with some simple programs you build yourself and examples. If you prefer watching videos, there are a lot of tutorials on YouTube too. But most importantly you will have to take your keyboard and start typing some programs. Start with something simple and keep yourself challenged with new tasks. You may also enroll in a professional course on a platform like %s or %s. Good places to start learning about hacking are %s, %s or %s.')), '<a href="https://www.coursera.org/" target="_blank" rel="noopener noreferrer">'.htmlspecialchars(_('Coursera')).'</a>', '<a href="https://www.udemy.com/" target="_blank" rel="noopener noreferrer">'.htmlspecialchars(_('Udemy')).'</a>', '<a href="https://www.hacker101.com/" target="_blank" rel="noopener noreferrer">'.htmlspecialchars(_('Hacker101')).'</a>', '<a href="https://academy.hackthebox.com/" target="_blank" rel="noopener noreferrer">'.htmlspecialchars(_('HackTheBox')).'</a>', '<a href="https://www.hackthissite.org/" target="_blank" rel="noopener noreferrer">'.htmlspecialchars(_('Hack This Site')).'</a>'); ?></div></div>
</div>
<div itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="mainEntity" itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="name" class="cell"><?php echo htmlspecialchars(_('Can you hack my school or university and change my grades, or find someone who would do that?')); ?></div>
<div itemprop="acceptedAnswer" itemscope itemtype="https://schema.org/Answer" class="cell"><div itemprop="text"><?php echo htmlspecialchars(_('Yes, I would love to go to prison for you! - Ehm, or rather not. Sorry, can\'t help you with that.')); ?></div></div>
</div>
<div itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="mainEntity" itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="name" class="cell"><?php echo htmlspecialchars(_('Can you give me, or tell me where to reliably get stolen PayPal accounts or credit cards?')); ?></div>
<div itemprop="acceptedAnswer" itemscope itemtype="https://schema.org/Answer" class="cell"><div itemprop="text"><?php echo htmlspecialchars(_('Yes, I would love to go to prison for you! - Ehm, or rather not. Sorry, can\'t help you with that.')); ?></div></div>
</div>
<div itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="mainEntity" itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="name" class="cell"><?php echo htmlspecialchars(_('Can you do some other illegal things for me?')); ?></div>
<div itemprop="acceptedAnswer" itemscope itemtype="https://schema.org/Answer" class="cell"><div itemprop="text"><?php echo htmlspecialchars(_('Yes, I would love to go to prison for you! - Ehm, or rather not. Sorry, can\'t help you with that.')); ?></div></div>
</div>
<div itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="mainEntity" itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="name" class="cell"><?php echo htmlspecialchars(_('Can you hack my girlfriend? I think she\'s cheating.')); ?></div>
<div itemprop="acceptedAnswer" itemscope itemtype="https://schema.org/Answer" class="cell"><div itemprop="text"><?php echo htmlspecialchars(_('Yes, I could try, but I won\'t. Don\'t trust the any sites that claim to give you that, because they are all scams. This is ethically just wrong and is more likely going to hurt your relationship than helping you. Talk to her, it\'s the best you can do. If you are at the point of thinking to hire a hacker, you should definitely think about breaking up, because relationships are based on trust, but obviously you can\'t trust anymore.')); ?></div></div>
<div itemprop="acceptedAnswer" itemscope itemtype="https://schema.org/Answer" class="cell"><div itemprop="text"><?php echo htmlspecialchars(_('Yes, I could try, but I won\'t. Don\'t trust the many sites that claim to give you that, because they are all scams. This is ethically just wrong and is more likely going to hurt your relationship than helping you. Talk to her, it\'s the best you can do. If you are at the point of thinking to hire a hacker, you should definitely think about breaking up, because relationships are based on trust, but obviously you can\'t trust anymore.')); ?></div></div>
</div>
<div itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="mainEntity" itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="name" class="cell"><?php echo htmlspecialchars(_('My email doesn\'t get sent. I\'m getting an error about TLS')); ?></div>
<div itemprop="acceptedAnswer" itemscope itemtype="https://schema.org/Answer" class="cell"><div itemprop="text"><?php printf(htmlspecialchars(_('You\'ve tried sending an email to a mail server that doesn\'t accept emails via encrypted transfer, or is using insecure protocols. This is very unfortunate, because it would leak your email content to anyone on the internet, who can intercept your email before it reaches the destination. You can disable mandatory encryption in your %s, if you still need to send this email.')), '<a href="/mail/manage_account.php">'.htmlspecialchars(_('account settings')).'</a>'); ?></div></div>
</div>
<div itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="mainEntity" itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="name" class="cell"><?php echo _('I can\'t receive email, the sender gets an error about TLS'); ?></div>
<div itemprop="acceptedAnswer" itemscope itemtype="https://schema.org/Answer" class="cell"><div itemprop="text"><?php printf(htmlspecialchars(_('Someone tried emailing you from a mail server that doesn\'t support sending emails via encrypted transfer, or is using insecure protocols. This is very unfortunate, because it would leak your email content to anyone on the internet, who can intercept your email before it reaches the destination. You can disable mandatory encryption in your %s, if you still need to receive this email.')), '<a href="/mail/manage_account.php">'.htmlspecialchars(_('account settings')).'</a>'); ?></div></div>
</div>
<div itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="mainEntity" itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="name" class="cell"><?php echo htmlspecialchars(_('I\'m in debt and I need to get money fast. How can I quickly make some money?')); ?></div>
<div itemprop="acceptedAnswer" itemscope itemtype="https://schema.org/Answer" class="cell"><div itemprop="text"><?php printf(htmlspecialchars(_('Becoming rich and clearing your debts is a process that starts in your head. Chances of becoming rich overnight are extremely low, you should rather focus on long term goals. It may take you a few years to become financially free, but everyone can get there, if you are willing to learn and educate yourself. I made an in-depth tutorial about some steps you can take: %s.')), '<a href="/tutorials/get-rich-fast/">'.htmlspecialchars(_('How to get rich (fast)')).'</a>'); ?></div></div>
</div>
<div itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="mainEntity" itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="name" class="cell"><?php echo htmlspecialchars(_('I want to sell my kidney, can you help me?')); ?></div>
<div itemprop="acceptedAnswer" itemscope itemtype="https://schema.org/Answer" class="cell"><div itemprop="text"><?php printf(htmlspecialchars(_('In most countries, selling organs is illegal. So if you succeed in finding a doctor that would agree to take out your organs, and have a buyer, then both of them are risking several years of prison time. For them, it is much safer and easier to kill you while taking your organs, to prevent you from telling anyone, and of course not having to pay you. Your motive is most likely financial gain. However, when you sell your kidney, you can expect to be paid only a fraction of its worth. For a more detailed answer, you may want to read %s.')), '<a href="https://en.wikipedia.org/wiki/Organ_trade" target="_blank" rel="noopener noreferrer">'.htmlspecialchars(_('this Wikipedia article')).'</a>'); ?></div></div>
</div>
<div itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="mainEntity" itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="name" class="cell"><?php echo htmlspecialchars(_('How can I veryify that you are still in control of your server?')); ?></div>
<div itemprop="acceptedAnswer" itemscope itemtype="https://schema.org/Answer" class="cell"><div itemprop="text"><?php printf(htmlspecialchars(_('To make sure your data is safe and I am still in controll of my server, you can verify my %1$s with my %2$s.')), '<a href="/canary.txt" target="_blank">'.htmlspecialchars(_('warrant canary')).'</a>', '<a href="/pgp.txt" target="_blank">'.htmlspecialchars(_('PGP key')).'</a>'); ?></div></div>
</div>
<div itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="mainEntity" itemscope itemtype="https://schema.org/Question" class="row">
<div itemprop="name" class="cell"><?php echo htmlspecialchars(_('I have more Questions.')); ?></div>
<div itemprop="acceptedAnswer" itemscope itemtype="https://schema.org/Answer" class="cell"><div itemprop="text"><?php echo '<a href="contact.php">'.htmlspecialchars(_('Contact me')).'</a>.'; ?></div></div>
</div>

View File

@ -12,7 +12,7 @@ global $language, $dir, $locale;
<link rel="alternate" href="https://danwin1210.de/github-ipv6-proxy.php" hreflang="x-default">
<meta property="og:type" content="article">
<meta property="article:published_time" content="2022-08-20">
<meta property="article:modified_time" content="2022-11-04">
<meta property="article:modified_time" content="2024-11-25">
<meta property="article:tag" content="IPv6">
<meta property="article:tag" content="GitHub">
<meta property="article:tag" content="proxy">
@ -27,7 +27,7 @@ global $language, $dir, $locale;
<meta property="og:url" content="https://danwin1210.de/github-ipv6-proxy.php">
<meta property="og:locale" content="<?php echo $locale; ?>">
<meta property="og:site_name" content="<?php echo htmlspecialchars(_('Daniel')); ?>">
<script type="application/ld+json">{"@context":"https://schema.org","@type":"Article ","headline":"<?php echo htmlspecialchars(_('GitHub IPv6 proxy')); ?>", "datePublished": "2022-08-20", "dateModified": "2022-11-04", "discussionUrl": "https://github.com/orgs/community/discussions/10539", "author":{"@type":"Person", "image": "/assets/daniel.jpg", "name": "Daniel Winzen", "email": "daniel@danwin1210.de", "telephone": "+4917698819809", "url": "https://danwin1210.de"}}</script>
<script type="application/ld+json">{"@context":"https://schema.org","@type":"Article ","headline":"<?php echo htmlspecialchars(_('GitHub IPv6 proxy')); ?>", "datePublished": "2022-08-20", "dateModified": "2024-11-25", "discussionUrl": "https://github.com/orgs/community/discussions/10539", "author":{"@type":"Person", "image": "/assets/daniel.jpg", "name": "Daniel Winzen", "email": "daniel@danwin1210.de", "telephone": "+4917698819809", "url": "https://danwin1210.de"}}</script>
<?php alt_links(); ?>
</head><body>
<?php menu(_('GitHub IPv6 proxy')); ?>
@ -49,6 +49,7 @@ global $language, $dir, $locale;
2a01:4f8:c010:d56::5 objects.githubusercontent.com
2a01:4f8:c010:d56::6 ghcr.io
2a01:4f8:c010:d56::7 pkg.github.com npm.pkg.github.com maven.pkg.github.com nuget.pkg.github.com rubygems.pkg.github.com
2a01:4f8:c010:d56::8 uploads.github.com
</pre>
<p><?php echo htmlspecialchars(_('Once added, you can clone as usual, without any changes:')); ?></p>
<code>git clone https://github.com/DanWin/le-chat-php</code>
@ -97,6 +98,10 @@ stream {
listen [2a01:4f8:c010:d56::7]:443 fastopen=100 ipv6only=on;
proxy_pass pkg.github.com:443;
}
server {
listen [2a01:4f8:c010:d56::8]:443 fastopen=100 ipv6only=on;
proxy_pass uploads.github.com:443;
}
}
</pre>
<p><?php printf(htmlspecialchars(_('If there are any further questions, %s.')), '<a href="/contact.php">'.htmlspecialchars(_('contact me')).'</a>'); ?></p>

View File

@ -26,6 +26,6 @@ global $language, $dir, $locale;
</head><body>
<?php menu(_('Daniel\'s Hosting shutdown after hack')); ?>
<p><?php printf(htmlspecialchars(_('In March 2020 a hacker deleted all databases related to my hosting, thus I was forced to shut down my hosting service. If you want to contribute or setup your own hosting, check out my open source project at %s.')), '<a href="https://github.com/DanWin/hosting" target="_blank" rel="noopener">https://github.com/DanWin/hosting</a>'); ?></p>
<p><?php printf(htmlspecialchars(_('Being a darknet hoster has taught me many things. However, this was a free time project I did next to my full time job and it\'s very time-consuming to try and keep the server clean from illegal and scammy sites. I\'ve spent 10 times more time on deleting accounts than I could find time to continue development. At this time I do not plan on continuing the hosting project, but this doesn\'t have to be the end. There are other hosting providers like %1$s, %2$s, %3$s or a clearnet proxy service %4$s and my project is %5$s, which should enable anyone willing to become the next darknet shared hosting provider to start where I left of.')), '<a href="http://hzwjmjimhr7bdmfv2doll4upibt5ojjmpo3pbp5ctwcg37n3hyk7qzid.onion/" target="_blank" rel="noopener">Ablative Hosting</a>', '<a href="http://q3lgwxinynjxkor6wghr6hrhlix7fquja3t25phbagqizkpju36fwdyd.onion/" target="_blank" rel="noopener">OneHost</a>', '<a href="http://dwebkjkovsjobzrb45dz6prnlifnapiyp2dba33vcmcsaikr2re4d5qd.onion" target="_blank" rel="noopener">OnionLand Hosting</a>', '<a href="https://clearnetonion.eu.org/" target="_blank" rel="noopener">Clearnet Onion | Easy clearnet relay</a>', '<a href="https://github.com/DanWin/hosting/" target="_blank" rel="noopener">'.htmlspecialchars(_('available for download')).'</a>'); ?></p>
<p><?php printf(htmlspecialchars(_('Being a darknet hoster has taught me many things. However, this was a free time project I did next to my full time job and it\'s very time-consuming to try and keep the server clean from illegal and scammy sites. I\'ve spent 10 times more time on deleting accounts than I could find time to continue development. At this time I do not plan on continuing the hosting project, but this doesn\'t have to be the end. There are other hosting providers like %1$s, %2$s, %3$s or a clearnet proxy service %4$s and my project is %5$s, which should enable anyone willing to become the next darknet shared hosting provider to start where I left of.')), '<a href="https://hzwjmjimhr7bdmfv2doll4upibt5ojjmpo3pbp5ctwcg37n3hyk7qzid.onion/" target="_blank" rel="noopener">Ablative Hosting</a>', '<a href="http://fhostingineiwjg6cppciac2bemu42nwsupvvisihnczinok362qfrqd.onion/" target="_blank" rel="noopener">Freedom Hosting Reloaded</a>', '<a href="http://dwebkjkovsjobzrb45dz6prnlifnapiyp2dba33vcmcsaikr2re4d5qd.onion" target="_blank" rel="noopener">OnionLand Hosting</a>', '<a href="https://clearnetonion.eu.org/" target="_blank" rel="noopener">Clearnet Onion | Easy clearnet relay</a>', '<a href="https://github.com/DanWin/hosting/" target="_blank" rel="noopener">'.htmlspecialchars(_('available for download')).'</a>'); ?></p>
</main>
</body></html>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -43,7 +43,7 @@ global $language, $dir, $locale;
<p><?php echo htmlspecialchars(_('This site makes only use of technically necessary session cookies and does not use any form of tracking cookies.')); ?></p>
<p><?php echo htmlspecialchars(_('The data subject may, at any time, prevent the setting of cookies through my website by means of a corresponding setting of the Internet browser used, and may thus permanently deny the setting of cookies. Furthermore, already set cookies may be deleted at any time via an Internet browser or other software programs. This is possible in all popular Internet browsers. If the data subject deactivates the setting of cookies in the Internet browser used, not all functions of my website may be entirely usable.')); ?></p>
<h2><?php echo htmlspecialchars(_('3. Collection of general data and information')); ?></h2>
<p><?php echo htmlspecialchars(_('The server of Daniel Winzen collects a series of general data and information when a data subject or automated system calls up the website or other provided services. This general data and information is stored in the server log files. Collected may be (1) the browser types and versions used, (2) the operating system used by the accessing system, (3) the website from which an accessing system reaches my website (so-called referrers), (4) the sub-websites, (5) the date and time of access to the Internet site / email transmission, (6) sender and recipient of an email, and (7) any other similar data and information that may be used in the event of attacks on my information technology systems.')); ?></p>
<p><?php echo htmlspecialchars(_('The server of Daniel Winzen collects a series of general data and information when a data subject or automated system calls up the website or other provided services. This general data and information is stored in the server log files. Collected may be (1) the browser types and versions used, (2) the operating system used by the accessing system, (3) the website from which an accessing system reaches my website (so-called referrers), (4) the sub-websites, (5) the date and time of access to the Internet site / email transmission, (6) sender and recipient of an email, (7) IP address, and (8) any other similar data and information that may be used in the event of attacks on my information technology systems.')); ?></p>
<p><?php echo htmlspecialchars(_('When using these general data and information, Daniel Winzen does not draw any conclusions about the data subject. Rather, this information is needed to (1) deliver the content of my website and services correctly, (2) optimize my services, (3) ensure the long-term viability of my information technology systems and website technology. Therefore, I may analyze anonymously collected data and information statistically, with the aim of increasing the data protection and data security of my services, and to ensure an optimal level of protection for the personal data I process. The general data of the server log files are stored separately from all personal data provided by a data subject for up to 48 hours and are then permanently deleted.')); ?></p>
<h2><?php echo htmlspecialchars(_('4. Routine erasure and blocking of personal data')); ?></h2>
<p><?php echo htmlspecialchars(_('The data controller shall process and store the personal data of the data subject only for the period necessary to achieve the purpose of storage, or as far as this is granted by the European legislator or other legislators in laws or regulations to which the controller is subject to.')); ?></p>

7
trust.txt Normal file
View File

@ -0,0 +1,7 @@
social=https://www.youtube.com/@danwin1210
social=https://www.instagram.com/winzen.daniel/
social=https://www.xing.com/profile/Daniel_Winzen
social=https://www.linkedin.com/in/danwin1210
social=https://www.pinterest.de/danwin1210/
contact=https://danwin1210.de/contact.php
contact=mailto:daniel@danwin1210.de

View File

@ -63,7 +63,16 @@ global $language, $dir, $locale;
<h3><?php echo htmlspecialchars(_('Becoming a service provider')); ?></h3>
<p><?php printf(htmlspecialchars(_('Becoming a service provider is another viable way to earn money as an online content creator. This path involves leveraging your skills and expertise to provide services for clients. For instance, if you excel in graphic design, writing, video editing, or digital marketing, you can offer these as services to individuals or businesses that require them. Platforms like %1$s or %2$s serve as great marketplaces to connect with potential clients. As a service provider, it\'s crucial to showcase a strong portfolio of your work, maintain clear communication with clients, and deliver high-quality results consistently. This not only helps you build a solid reputation but also increases the likelihood of securing more projects and earning a stable income. Additionally, this approach allows you to work flexibly from anywhere, set your rates, and choose projects that align with your interests and skills.')), '<a href="https://www.fiverr.com/pe/yL5x55" target="_blank" rel="noopener noreferrer">'.htmlspecialchars(_('Fiverr')).'</a>', '<a href="https://www.upwork.com/" target="_blank" rel="noopener noreferrer">'.htmlspecialchars(_('Upwork')).'</a>'); ?></p>
<h3><?php echo htmlspecialchars(_('Offering exclusive content')); ?></h3>
<p><?php printf(htmlspecialchars(_('Offering exclusive content is an effective way to monetize your online presence and foster a dedicated community of supporters. As a content creator, you can provide exclusive content on platforms like %1$s, %2$s, %3$s or %4$s, where subscribers pay a fee for access to premium materials. This could include behind-the-scenes footage, early access to new work, personal updates, or any other content that adds unique value beyond what you offer for free. By offering exclusive content, you create a more intimate space for your most engaged followers, encouraging a stronger connection and fostering a sense of exclusivity. This strategy not only helps generate consistent income but also allows you to reward your most loyal fans with unique experiences or insights.')), '<a href="https://onlyfans.com/?ref=29866117" target="_blank" rel="noopener noreferrer">'.htmlspecialchars(_('OnlyFans')).'</a>', '<a href="https://fans.ly/application/form?r=danwin1210" target="_blank" rel="noopener noreferrer">'.htmlspecialchars(_('Fansly')).'</a>', '<a href="https://ton.place/feed?utm_source=user_935032&utm_campaign=link_1068" target="_blank" rel="noopener noreferrer">'.htmlspecialchars(_('TonPlace')).'</a>', '<a href="https://www.patreon.com/" target="_blank" rel="noopener noreferrer">'.htmlspecialchars(_('Patreon')).'</a>'); ?></p>
<p><?php printf(htmlspecialchars(_('Offering exclusive content is an effective way to monetize your online presence and foster a dedicated community of supporters. As a content creator, you can provide exclusive content on platforms like %1$s, %2$s or %3$s, where subscribers pay a fee for access to premium materials. This could include behind-the-scenes footage, early access to new work, personal updates, or any other content that adds unique value beyond what you offer for free. By offering exclusive content, you create a more intimate space for your most engaged followers, encouraging a stronger connection and fostering a sense of exclusivity. This strategy not only helps generate consistent income but also allows you to reward your most loyal fans with unique experiences or insights.')), '<a href="https://onlyfans.com/?ref=29866117" target="_blank" rel="noopener noreferrer">'.htmlspecialchars(_('OnlyFans')).'</a>', '<a href="https://fans.ly/application/form?r=danwin1210" target="_blank" rel="noopener noreferrer">'.htmlspecialchars(_('Fansly')).'</a>', '<a href="https://www.patreon.com/" target="_blank" rel="noopener noreferrer">'.htmlspecialchars(_('Patreon')).'</a>'); ?></p>
<p><?php echo htmlspecialchars(_('Popular platforms for exclusive content are:')); ?></p>
<ul>
<li><a href="https://onlyfans.com/?ref=29866117" target="_blank" rel="noopener noreferrer">OnlyFans</a></li>
<li><a href="https://fans.ly/application/form?r=danwin1210" target="_blank" rel="noopener noreferrer">Fansly</a></li>
<li><a href="https://ton.place/feed?utm_source=user_935032&utm_campaign=link_1068" target="_blank" rel="noopener noreferrer">TonPlace</a></li>
<li><a href="https://4based.com/login?ext_id=danwin1210" target="_blank" rel="noopener noreferrer">4based</a></li>
<li><a href="https://mym.link/m10533" target="_blank" rel="noopener noreferrer">MYM</a></li>
<li><a href="https://www.patreon.com/" target="_blank" rel="noopener noreferrer">Patreon</a></li>
</ul>
<h3><?php echo htmlspecialchars(_('Selling stock photos')); ?></h3>
<p><?php printf(htmlspecialchars(_('Selling stock photos is a potentially lucrative way for photographers to monetize their passion. This involves capturing high-quality images and selling them on stock photo platforms such as %1$s, %2$s or %3$s. These websites act as a marketplace where creators can upload their photos and customers can purchase them for use in their projects, like marketing campaigns, websites, or blog posts. The key to success in selling stock photos lies in understanding what kind of imagery buyers are looking for, such as business-related photos, lifestyle images, or nature shots. It\'s also crucial to ensure your photos are well-composed, sharply focused, and properly lit to meet the high standards of these platforms. Each time a customer purchases your photo, you earn a commission. Over time, with a diverse portfolio of quality images, selling stock photos can provide a steady stream of passive income.')), '<a href="https://www.shutterstock.com/" target="_blank" rel="noopener noreferrer">'.htmlspecialchars(_('Shutterstock')).'</a>', '<a href="https://stock.adobe.com/" target="_blank" rel="noopener noreferrer">'.htmlspecialchars(_('Adobe Stock')).'</a>', '<a href="https://www.gettyimages.co.uk/" target="_blank" rel="noopener noreferrer">'.htmlspecialchars(_('Getty Images')).'</a>'); ?></p>
<h3><?php echo htmlspecialchars(_('Publishing an eBook')); ?></h3>

View File

@ -42,7 +42,7 @@ global $language, $dir, $locale;
<h2><?php echo htmlspecialchars(_('How to live in a healthy findom relationship?')); ?></h2>
<p><?php echo htmlspecialchars(_('Everyone is unique, so your specific needs need to be discussed with your findom partner. It is important that both of you are happy with it. While some subs and doms favour a fast one-time transaction, it is usually best for both parties, if a long-term relationship can be established. To maintain a healthy relationship, the dom needs to know a subs financial situation, including income, expenses and spending habits. This knowledge allows the dom to help the sub reduce expenses, increase income and ultimately hand over more cash to the dom, without risking serious debt problems. While it is an entertaining thought to some subs, ending up homeless is not beneficial to anyone.')); ?></p>
<h2><?php echo htmlspecialchars(_('Where do I find a findom partner?')); ?></h2>
<p><?php printf(htmlspecialchars(_('If you are curious to try this fetish out or would like to thank me, you can donate or buy me an item from my %s. For a more long-term experience, see the links below.')), '<a href="https://www.amazon.de/hz/wishlist/ls/1JDS4872IYJGW/" target="_blank" rel="noreferrer noopener">'.htmlspecialchars(_('Amazon wishlist')).'</a>'); ?></p>
<p><?php printf(htmlspecialchars(_('If you are curious to try this fetish out or would like to thank me, you can donate or buy me an item from my %s. For a more long-term experience, see the links below.')), '<a href="https://amzn.to/4aSXhBj" target="_blank" rel="noreferrer noopener">'.htmlspecialchars(_('Amazon wishlist')).'</a>'); ?></p>
<p><?php echo htmlspecialchars(_('Popular dating sites used for findom:')); ?></p>
<ul>
<li><a href="https://www.rpf00trk.com/42BSGDP/6JHXF/" target="_blank" rel="noreferrer noopener">Seeking</a></li>
@ -55,7 +55,6 @@ global $language, $dir, $locale;
</ul>
<p><?php echo htmlspecialchars(_('Popular findom sites:')); ?></p>
<ul>
<li><a href="https://casualstar.uk/" target="_blank" rel="noreferrer noopener">Casualstar</a></li>
<li><a href="https://findomapp.com" target="_blank" rel="noreferrer noopener">FindomApp</a></li>
<li><a href="https://www.dommelink.com/" target="_blank" rel="noreferrer noopener">DomeLink</a></li>
<li><a href="https://moneydomdirectory.com/" target="_blank" rel="noreferrer noopener">MoneyDomDirectory</a></li>

View File

@ -76,13 +76,13 @@ global $language, $dir, $locale;
<li><a href="https://estateguru.co/en/investor-referral/?switch=en&userPromotionCode=EGU033931" target="_blank" rel="noreferrer noopener">Estateguru</a></li>
<li><a href="https://www.invesdor.de/?partner=kap-a&kaid=234967&aid=pd01" target="_blank" rel="noreferrer noopener">Invesdor</a></li>
<li><a href="https://crowdpear.com/ref/9RCX9L" target="_blank" rel="noreferrer noopener">Crowdpear</a></li>
<li><a href="https://wiwin.de" target="_blank" rel="noreferrer noopener">WiWin</a><small> <?php printf(htmlspecialchars(_('(Save 50€ on your first investment with the code "%s")')), 'AVW749Z3Q7P0'); ?></small></li>
<li><a href="https://wiwin.de" target="_blank" rel="noreferrer noopener">WiWin</a></li>
<li><a href="https://www.mintos.com/en/" target="_blank" rel="noreferrer noopener">Mintos</a></li>
<li><a href="https://peerberry.com/" target="_blank" rel="noreferrer noopener">PeerBerry</a></li>
<li><a href="https://www.companisto.com" target="_blank" rel="noreferrer noopener">Companisto</a></li>
<li><a href="https://www.fundernation.eu" target="_blank" rel="noreferrer noopener">FunderNation</a></li>
<li><a href="https://exporo.de" target="_blank" rel="noreferrer noopener">Exporo</a></li>
<li><a href="https://ecoligo.investments" target="_blank" rel="noreferrer noopener">Ecoligo</a></li>
<li><a href="https://ecoligo.com/?network_id=cd71ebcf-9530-41ca-b1c5-e029cb4e9511&utm_source=freunde-werben" target="_blank" rel="noreferrer noopener">Ecoligo</a></li>
<li><a href="https://www.dagobertinvest.com" target="_blank" rel="noreferrer noopener">Dagobertinvest</a></li>
<li><a href="https://ecozins.de" target="_blank" rel="noreferrer noopener">ecozins</a></li>
<li><a href="https://www.greenvesting.com" target="_blank" rel="noreferrer noopener">GreenVesting</a></li>
@ -91,7 +91,6 @@ global $language, $dir, $locale;
<li><a href="https://econeers.de" target="_blank" rel="noreferrer noopener">Econeers</a></li>
<li><a href="https://seedmatch.de" target="_blank" rel="noreferrer noopener">Seedmatch</a></li>
</ul>
<p><?php printf(htmlspecialchars(_('I have a referral code available for most of these platforms, but cannot share them in public. If you are really intered and want to save a little on your first investment, %s.')), '<a href="/contact.php">'.htmlspecialchars(_('ask me for a referral')).'</a>'); ?></p>
<h3><?php echo htmlspecialchars(_('Passive income')); ?></h3>
<p><?php echo htmlspecialchars(_('After you\'ve made your first investments, you will receive a small percentage of your investment as a dividend. It varies with each investment. To keep it simple, let\'s assume that you earn 10% interest on average, and you invest 10% of your income, and 1/6 of investments fail. This would mean that after one year of investing every month, you would already have saved an entire month of your salary and get 10% in dividend payments that year, which you can directly re-invest along with your regular investments. Keep doing this for a few years until you can live only from your passive income streams.')); ?></p>
</main>