Compare commits
35 Commits
b380449e7c
...
rewrite-st
| Author | SHA1 | Date | |
|---|---|---|---|
|
fff4004a72
|
|||
|
0a5cb1e850
|
|||
|
b58f06bced
|
|||
|
5e8b8fc2ee
|
|||
|
ff755af41e
|
|||
| 582c2c5b97 | |||
|
f7a1538c39
|
|||
|
c50ea67865
|
|||
|
f1c341d791
|
|||
|
fd72cd4445
|
|||
|
6470e8daa7
|
|||
|
a44530c49c
|
|||
|
81b8a8968a
|
|||
|
fdfd3ae003
|
|||
|
f28b1dee3d
|
|||
|
572c9ec925
|
|||
|
e175e01ef1
|
|||
|
0b44ee9ab3
|
|||
| fc55b5f5e4 | |||
| 1d8b50de83 | |||
|
d1f0f5a506
|
|||
| ea702c6eed | |||
| 2534cbcdf5 | |||
| b7083e5b42 | |||
| f178e718d7 | |||
|
fa80126d47
|
|||
|
cfed6c0dde
|
|||
|
7eaa623703
|
|||
|
eb82362a61
|
|||
|
4937f6c391
|
|||
|
22360d3904
|
|||
|
270450f248
|
|||
|
ec500ce89a
|
|||
|
e44fc8b08d
|
|||
|
60ac90124f
|
57
.gitea/workflows/deploy.yml
Normal file
57
.gitea/workflows/deploy.yml
Normal file
@@ -0,0 +1,57 @@
|
||||
name: Deploy
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- rewrite-static
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
name: Deploy website via rsync over SSH
|
||||
runs-on: [self-hosted, linux]
|
||||
|
||||
env:
|
||||
DEPLOY_KEY: ${{ secrets.DEPLOY_KEY }}
|
||||
DEPLOY_USER: ${{ secrets.DEPLOY_USER }}
|
||||
DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }}
|
||||
DEPLOY_PORT: ${{ secrets.DEPLOY_PORT }}
|
||||
DEPLOY_PATH: ${{ secrets.DEPLOY_PATH }}
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Check required secrets
|
||||
run: |
|
||||
echo "Checking secrets availability..."
|
||||
for var in DEPLOY_KEY DEPLOY_USER DEPLOY_HOST DEPLOY_PORT DEPLOY_PATH; do
|
||||
if [ -z "${!var}" ]; then
|
||||
echo "Error: Secret $var is empty or undefined!" && exit 1
|
||||
else
|
||||
echo "Found secret $var (length: ${#var})"
|
||||
fi
|
||||
done
|
||||
shell: bash
|
||||
|
||||
- name: Set up SSH key
|
||||
run: |
|
||||
echo "Setting up SSH environment..."
|
||||
mkdir -p ~/.ssh
|
||||
chmod 700 ~/.ssh
|
||||
|
||||
echo "$DEPLOY_KEY" > ~/.ssh/id_ed25519
|
||||
chmod 600 ~/.ssh/id_ed25519
|
||||
|
||||
ssh-keyscan -p "$DEPLOY_PORT" -H "$DEPLOY_HOST" >> ~/.ssh/known_hosts 2>/dev/null
|
||||
echo "SSH setup complete."
|
||||
shell: bash
|
||||
|
||||
- name: Deploy via rsync
|
||||
run: |
|
||||
echo "Starting rsync deployment..."
|
||||
rsync -avz \
|
||||
--delete \
|
||||
-e "ssh -i ~/.ssh/id_ed25519 -p $DEPLOY_PORT -o StrictHostKeyChecking=no -o ConnectTimeout=10" \
|
||||
./ "${DEPLOY_USER}@${DEPLOY_HOST}:${DEPLOY_PATH}"
|
||||
echo "Deployment finished successfully."
|
||||
shell: bash
|
||||
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
/.idea/
|
||||
52
0CB52690CD644413EF66A21CAEF2F9A8C0334670.asc
Executable file
52
0CB52690CD644413EF66A21CAEF2F9A8C0334670.asc
Executable file
@@ -0,0 +1,52 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
KyoBhwIfl1o=
|
||||
=qhIS
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
203
LICENSE
Normal file
203
LICENSE
Normal file
@@ -0,0 +1,203 @@
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [2023 - 2025] [Purplebored]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
21
README.md
Normal file
21
README.md
Normal file
@@ -0,0 +1,21 @@
|
||||
## purplebored.pl
|
||||
|
||||
Welcome to my personal website, located at https://purplebored.pl ! <br>
|
||||
This is a simple website that serves as my personal space on the internet. (Such fancy wording ik)
|
||||
|
||||
### License Information
|
||||
Licensed under the [Apache License, Version 2.0](LICENSE)
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License. For the full licene chcek out the LICENSE file
|
||||
(So much yap about a license)
|
||||
|
||||
### Contributing
|
||||
If you want to contribute something to my site please create a issue first, or if you know me, then just DM me about it first!
|
||||
@@ -1,140 +1,491 @@
|
||||
/*
|
||||
* Prefixed by:
|
||||
* PostCSS: v7.0.29,
|
||||
* Autoprefixer: v9.7.6
|
||||
* Browsers: last 4 version
|
||||
*/
|
||||
|
||||
@font-face {
|
||||
font-family: "Clockopia";
|
||||
src: url("../fonts/Clockopia.ttf") format("truetype");
|
||||
font-family: "Clockopia";
|
||||
src: url("../fonts/Clockopia.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "LuxiSans";
|
||||
src: url("../fonts/luxisr.ttf") format("truetype");
|
||||
font-family: "LuxiSans";
|
||||
src: url("../fonts/luxisr.ttf") format("truetype");
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
height: 100vh;
|
||||
overflow: hidden;
|
||||
background-color: #0e0016;
|
||||
color: white;
|
||||
font-family: "LuxiSans", sans-serif;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-height: 100vh;
|
||||
background-color: #0e0016;
|
||||
color: white;
|
||||
font-family: "system-ui", sans-serif;
|
||||
overflow-x: hidden;
|
||||
padding-right: 140px;
|
||||
}
|
||||
|
||||
/* === NAVBAR ON THE RIGHT === */
|
||||
.navbar {
|
||||
width: 100px;
|
||||
background-color: #3c1a4d;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
padding: 2rem 0;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
z-index: 20;
|
||||
width: 140px;
|
||||
background: rgba(60, 26, 77, 0.55);
|
||||
backdrop-filter: blur(10px);
|
||||
-webkit-backdrop-filter: blur(10px);
|
||||
border-left: 1px solid rgba(255, 255, 255, 0.05);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
padding-top: 2rem;
|
||||
padding-bottom: 2rem;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
z-index: 20;
|
||||
box-shadow: -2px 0 10px rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
|
||||
.navbar ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.navbar li {
|
||||
width: 100%;
|
||||
margin: 0.5rem 0;
|
||||
width: 100%;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.navbar a {
|
||||
display: block;
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
padding: 0.75rem 0;
|
||||
transition: background 0.2s ease;
|
||||
display: block;
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
padding: 0.75rem 0;
|
||||
position: relative;
|
||||
transition: background 0.2s ease, color 0.2s ease;
|
||||
}
|
||||
|
||||
.navbar a::before,
|
||||
.navbar a::after {
|
||||
content: "";
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
background-color: rgba(255, 255, 255, 0.25);
|
||||
transition: background-color 0.2s ease;
|
||||
}
|
||||
|
||||
.navbar a::before { top: 0; }
|
||||
.navbar a::after { bottom: 0; }
|
||||
|
||||
.navbar a:hover {
|
||||
background-color: #5e2b7a;
|
||||
background-color: #5e2b7a;
|
||||
color: #fff5a8;
|
||||
}
|
||||
|
||||
/* === MAIN CONTENT === */
|
||||
.navbar a:hover::before,
|
||||
.navbar a:hover::after {
|
||||
background-color: #fff5a8;
|
||||
}
|
||||
|
||||
.navbar-top-icons {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
gap: 16px;
|
||||
margin-bottom: 1.5rem;
|
||||
}
|
||||
|
||||
.icon-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.icon-item img {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
object-fit: contain;
|
||||
transition: transform 0.2s ease, opacity 0.2s ease;
|
||||
}
|
||||
|
||||
.icon-item img:hover {
|
||||
transform: scale(1.1);
|
||||
opacity: 0.85;
|
||||
}
|
||||
|
||||
.icon-label {
|
||||
font-family: "Clockopia", sans-serif;
|
||||
font-size: 0.8rem;
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.tor-label { color: #6e2b9e; }
|
||||
.ygg-label { color: #92ffb3; }
|
||||
|
||||
.mobile-nav-toggle {
|
||||
display: none;
|
||||
position: fixed;
|
||||
top: 12px;
|
||||
right: 12px;
|
||||
z-index: 50;
|
||||
background: rgba(60, 26, 77, 0.6);
|
||||
color: #fff;
|
||||
font-size: 1.8rem;
|
||||
border: 1px solid rgba(255, 255, 255, 0.3);
|
||||
border-radius: 6px;
|
||||
padding: 4px 10px;
|
||||
cursor: pointer;
|
||||
backdrop-filter: blur(6px);
|
||||
-webkit-backdrop-filter: blur(6px);
|
||||
}
|
||||
|
||||
.footer {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
padding: 1rem 0;
|
||||
text-align: center;
|
||||
font-family: IBMWeb, "Liberation Mono", monospace;
|
||||
color: #fff;
|
||||
background: transparent;
|
||||
margin-top: auto;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
a { text-decoration: none; color: #447fc6; }
|
||||
|
||||
::-moz-selection { color: #000000; background: #a57ae9; }
|
||||
::selection { color: #000000; background: #a57ae9; }
|
||||
a::-moz-selection { color: #000; background: #447fc6; }
|
||||
a::selection { color: #000; background: #447fc6; }
|
||||
a:not(:has(img)):hover { text-decoration: underline; }
|
||||
|
||||
.content {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex: 1;
|
||||
padding: 0 10% 0 10%;
|
||||
gap: 5%;
|
||||
z-index: 10;
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex: 1;
|
||||
padding: 4rem 10%;
|
||||
gap: 5%;
|
||||
z-index: 10;
|
||||
position: relative;
|
||||
box-sizing: border-box;
|
||||
flex-wrap: wrap;
|
||||
max-width: calc(100% - 140px);
|
||||
}
|
||||
|
||||
/* === LEFT SIDE (UZI IMAGE) === */
|
||||
.left {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex: 1;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.uzi {
|
||||
width: 90%;
|
||||
max-width: 650px;
|
||||
height: auto;
|
||||
pointer-events: none;
|
||||
width: 90%;
|
||||
max-width: 650px;
|
||||
height: auto;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* === MIDDLE SECTION (TEXT + BADGES) === */
|
||||
.middle {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
text-align: left;
|
||||
z-index: 10;
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
text-align: left;
|
||||
z-index: 10;
|
||||
max-width: 800px;
|
||||
}
|
||||
|
||||
.middle h1 {
|
||||
font-family: "Clockopia", sans-serif;
|
||||
font-size: 3.5rem;
|
||||
margin-bottom: 1rem;
|
||||
color: #fff5a8;
|
||||
font-family: "Clockopia", sans-serif;
|
||||
font-size: 3.5rem;
|
||||
margin-bottom: 1rem;
|
||||
color: #fff5a8;
|
||||
}
|
||||
|
||||
.middle p {
|
||||
font-size: 1.1rem;
|
||||
line-height: 1.7;
|
||||
margin-bottom: 1rem;
|
||||
max-width: 550px;
|
||||
font-size: 1.1rem;
|
||||
line-height: 1.7;
|
||||
margin-bottom: 1rem;
|
||||
max-width: 550px;
|
||||
}
|
||||
|
||||
.buttons {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 6px;
|
||||
margin-top: 1.5rem;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 6px;
|
||||
margin-top: 1.5rem;
|
||||
}
|
||||
|
||||
.buttons img {
|
||||
width: 88px;
|
||||
height: 31px;
|
||||
border: none;
|
||||
image-rendering: pixelated;
|
||||
width: 88px;
|
||||
height: 31px;
|
||||
border: none;
|
||||
image-rendering: pixelated;
|
||||
}
|
||||
|
||||
/* === BACKGROUND CANVAS === */
|
||||
#night {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: -9999;
|
||||
.services-page {
|
||||
max-width: 900px;
|
||||
margin: 0 auto;
|
||||
padding: 6rem 2rem 8rem 2rem;
|
||||
text-align: left;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.service-card {
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
border: 1px solid rgba(255, 255, 255, 0.08);
|
||||
padding: 1.5rem;
|
||||
margin: 1.5rem 0;
|
||||
border-radius: 6px;
|
||||
backdrop-filter: blur(6px);
|
||||
box-shadow: 0 0 12px rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
|
||||
.service-card h2 {
|
||||
font-family: "Clockopia", sans-serif;
|
||||
color: #fff5a8;
|
||||
margin-top: 0;
|
||||
margin-bottom: .75rem;
|
||||
}
|
||||
|
||||
.service-card ul {
|
||||
margin-left: 1.25rem;
|
||||
line-height: 1.7;
|
||||
color: #ddd;
|
||||
}
|
||||
|
||||
.service-card a {
|
||||
color: #fff5a8;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.service-card a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* === RESPONSIVE === */
|
||||
@media (max-width: 900px) {
|
||||
body
|
||||
.services-page {
|
||||
padding-left: 1.5rem;
|
||||
padding-right: 1.5rem;
|
||||
padding-top: 5rem;
|
||||
text-align: center;
|
||||
}
|
||||
.service-card ul {
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Background */
|
||||
#night {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: #0e0016;
|
||||
z-index: -9999;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.clouds {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
z-index: -5;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.clouds img {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
display: block;
|
||||
opacity: 0.5;
|
||||
filter: blur(1px);
|
||||
}
|
||||
|
||||
/* Project Page */
|
||||
.project-page {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
max-width: calc(100% - 140px);
|
||||
margin: 0 auto;
|
||||
padding: 5rem 2rem 8rem;
|
||||
}
|
||||
|
||||
.project-page h1,
|
||||
.project-page h2,
|
||||
.project-page h3 {
|
||||
font-family: "Clockopia", sans-serif;
|
||||
color: #fff5a8;
|
||||
}
|
||||
|
||||
.project-page a {
|
||||
color: #fff5a8;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.project-page a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.project-page ul {
|
||||
text-align: left;
|
||||
margin: auto;
|
||||
max-width: 600px;
|
||||
}
|
||||
|
||||
.project-page p {
|
||||
max-width: 700px;
|
||||
line-height: 1.5;
|
||||
margin-bottom: auto;
|
||||
}
|
||||
|
||||
/*Shit to make it not terrible for mobile users.*/
|
||||
@media (max-width: 1200px) {
|
||||
.content {
|
||||
flex-direction: column;
|
||||
text-align: center;
|
||||
padding: 3rem 2rem;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.left, .middle {
|
||||
flex: unset;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.uzi {
|
||||
width: 60%;
|
||||
max-width: 600px;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.middle {
|
||||
text-align: center;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
|
||||
/* Full mobile mode */
|
||||
@media (max-width: 900px) {
|
||||
body {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.navbar {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
padding: 0.5rem 0;
|
||||
border-left: none;
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
.navbar ul {
|
||||
display: flex;
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.content,
|
||||
.project-page {
|
||||
max-width: 100%;
|
||||
flex-direction: column;
|
||||
padding: 2rem 1.5rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.middle {
|
||||
text-align: center;
|
||||
align-items: center;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.uzi {
|
||||
width: 70%;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.footer {
|
||||
padding-bottom: 2rem;
|
||||
}
|
||||
|
||||
.navbar-top-icons {
|
||||
margin-bottom: 0.5rem;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.icon-item img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
.icon-label {
|
||||
font-size: 0.7rem;
|
||||
}
|
||||
}
|
||||
.mobile-nav-toggle {
|
||||
display: none;
|
||||
position: fixed;
|
||||
top: 12px;
|
||||
right: 12px;
|
||||
z-index: 50;
|
||||
background: rgba(60, 26, 77, 0.6);
|
||||
color: #fff;
|
||||
font-size: 1.8rem;
|
||||
border: 1px solid rgba(255, 255, 255, 0.3);
|
||||
border-radius: 6px;
|
||||
padding: 4px 10px;
|
||||
cursor: pointer;
|
||||
backdrop-filter: blur(6px);
|
||||
-webkit-backdrop-filter: blur(6px);
|
||||
}
|
||||
|
||||
@media (max-width: 900px) {
|
||||
.mobile-nav-toggle {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.navbar {
|
||||
position: fixed;
|
||||
right: -100%;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
width: 200px;
|
||||
padding-top: 3.5rem;
|
||||
flex-direction: column;
|
||||
height: 100vh;
|
||||
transition: right 0.3s ease;
|
||||
}
|
||||
|
||||
.navbar.open {
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.navbar ul {
|
||||
flex-direction: column;
|
||||
gap: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
padding-right: 0;
|
||||
}
|
||||
}
|
||||
BIN
assets/images/buttons/greatsword.png
Normal file
BIN
assets/images/buttons/greatsword.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.4 KiB |
BIN
assets/images/clouds.png
Normal file
BIN
assets/images/clouds.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 27 KiB |
BIN
assets/images/icons/tor.png
Normal file
BIN
assets/images/icons/tor.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.5 KiB |
BIN
assets/images/icons/ygg.png
Normal file
BIN
assets/images/icons/ygg.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.0 KiB |
BIN
assets/images/pfp.png
Normal file
BIN
assets/images/pfp.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 32 KiB |
@@ -161,4 +161,15 @@ function base_main() {
|
||||
}
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
base_main();
|
||||
});
|
||||
});
|
||||
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
const toggle = document.querySelector(".mobile-nav-toggle");
|
||||
const navbar = document.querySelector(".navbar");
|
||||
|
||||
if (toggle && navbar) {
|
||||
toggle.addEventListener("click", () => {
|
||||
navbar.classList.toggle("open");
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
151
index.html
151
index.html
@@ -1,97 +1,134 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="og:url" content="https://purplebored.pl/" />
|
||||
<meta name="og:title" content="Purplebored.pl" />
|
||||
<meta name="og:description" content="Just my personal website where I share cool stuff, the things I like, and the things I do :D" />
|
||||
<meta name="description" content="Just my personal website :-)" />
|
||||
<meta name="keywords" content="purplebored, poland, polish, personal website, website, buttons, niko, self-hosted, open source, foss, murder drones, tobacco, md, nicotine" />
|
||||
<meta name="color-scheme" content="dark" />
|
||||
<meta name="theme-color" content="#0e0016" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/style.css">
|
||||
<title>Purplebored</title>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<!-- Open Graph shit -->
|
||||
<meta name="og:url" content="https://purplebored.pl/" />
|
||||
<meta name="og:title" content="Purplebored.pl" />
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:image" content="/assets/images/pfp.png">
|
||||
<meta name="og:description" content="Just my personal website where I share cool stuff, the things I like, and the things I do :D" />
|
||||
|
||||
<meta name="description" content="Just my personal website where I share cool stuff, the things I like, and the things I do :D" />
|
||||
<meta name="keywords" content="purplebored, poland, polish, personal website, website, buttons, niko, self-hosted, open source, foss, murder drones, tobacco, md, nicotine" />
|
||||
<meta name="color-scheme" content="dark" />
|
||||
<meta name="theme-color" content="#0e0016" />
|
||||
<meta name="author" content="Purplebored">
|
||||
|
||||
<link rel="stylesheet" href="assets/css/style.css">
|
||||
<link rel="canonical" href="https://purplebored.pl/">
|
||||
<link rel="icon" href="/favicon.png" type="image/png" />
|
||||
|
||||
<title>Purplebored</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<div class="content">
|
||||
<div class="left">
|
||||
<img src="assets/images/uzi.png" alt="Uzi" class="uzi">
|
||||
<img src="assets/images/uzi.png" alt="Uzi" class="uzi">
|
||||
</div>
|
||||
|
||||
<div class="middle">
|
||||
<h1>Purplebored.pl</h1>
|
||||
<div class="middle">
|
||||
<h1>Purplebored.pl</h1>
|
||||
<p> Hi, I am a 17-year-old retard called Purplebored, also known as Niko o/. Right now you are on my own little website which I call my home on the World Wide Web! Nothing special, but I hope you like it :D</p>
|
||||
|
||||
<p>
|
||||
Hi, I am Purplebored, o/ also known as Niko. Right now you are on my own little website which I call my home on the World Wide Web!
|
||||
</p>
|
||||
|
||||
<p>
|
||||
I like making simple websites, and I am also a privacy advocate. I also love tobacco, and I am a big nicotine addict. I speak Polish and English, but I am also learning Russian. Regarding programming, I currently only know basic HTML. From other stuff, I also know some Linux and quite a lot about Windows — especially the older versions like Windows 7.
|
||||
</p>
|
||||
|
||||
<!-- Badges -->
|
||||
<div class="buttons">
|
||||
<a href="https://purplebored.pl/" target="_blank" rel="noopener noreferrer">
|
||||
<img src="assets/images/buttons/Purplebored_button.png" alt="Purplebored button" />
|
||||
<p> I like making simple websites, and I am also a privacy advocate. I also love tobacco, and I am a big nicotine addict. I speak Polish and English, but I am also learning Russian. Regarding programming, I currently only know basic HTML. From other stuff, I also know some Linux and quite a lot about Windows — especially the older versions like Windows 7.</p>
|
||||
|
||||
<!-- Badges -->
|
||||
<div class="buttons">
|
||||
<a href="https://purplebored.pl/" target="_blank" rel="noopener noreferrer">
|
||||
<img src="assets/images/buttons/Purplebored_button.png" alt="Purplebored button" />
|
||||
</a>
|
||||
<a href="https://unpato.neocities.org/" target="_blank" rel="noopener noreferrer">
|
||||
<img src="assets/images/buttons/unpato.png" alt="Unpato writing button" />
|
||||
</a>
|
||||
<a href="https://eclipse.cx" target="_blank" rel="noopener noreferrer">
|
||||
<img src="assets/images/buttons/eclipsecx.png" alt="Eclipse Community button" />
|
||||
<a href="https://eclipse.cx" target="_blank" rel="noopener noreferrer">
|
||||
<img src="assets/images/buttons/eclipsecx.png" alt="Eclipse Community button" />
|
||||
</a>
|
||||
<a href="https://aagaming.me/" target="_blank" rel="noopener noreferrer">
|
||||
<img src="assets/images/buttons/aagaming.png" alt="AAgaming button" />
|
||||
<img src="assets/images/buttons/aagaming.png" alt="AAgaming button" />
|
||||
</a>
|
||||
<a href="https://themcgovern.net" target="_blank" rel="noopener noreferrer">
|
||||
<img src="assets/images/buttons/mcneb10.gif" alt="Mcneb10 button" />
|
||||
<img src="assets/images/buttons/mcneb10.gif" alt="Mcneb10 button" />
|
||||
</a>
|
||||
<a href="https://moody.im/" target="_blank" rel="noopener noreferrer">
|
||||
<img src="assets/images/buttons/georgemoody.png" alt="Georgemoody button" />
|
||||
<img src="assets/images/buttons/georgemoody.png" alt="Georgemoody button" />
|
||||
</a>
|
||||
<a href="https://xameren.fsky.io" target="_blank" rel="noopener noreferrer">
|
||||
<img src="assets/images/buttons/xameren.png" alt="Xameren button" />
|
||||
<img src="assets/images/buttons/xameren.png" alt="Xameren button" />
|
||||
</a>
|
||||
<a href="https://fsky.io" target="_blank" rel="noopener noreferrer">
|
||||
<img src="assets/images/buttons/fsky_night.png" alt="FSKY.io button" />
|
||||
<img src="assets/images/buttons/fsky_night.png" alt="FSKY.io button" />
|
||||
</a>
|
||||
<a href="https://ari.lt/" title="ari-web badge" target="_blank" rel="noopener noreferrer">
|
||||
<img src="assets/images/buttons/ari.png" alt="ari-web badge" />
|
||||
<img src="assets/images/buttons/ari.png" alt="ari-web badge" />
|
||||
</a>
|
||||
<a href="https://telepath.im" target="_blank" rel="noopener noreferrer">
|
||||
<img src="assets/images/buttons/telepath.png" alt="Telepath.im button" />
|
||||
<img src="assets/images/buttons/telepath.png" alt="Telepath.im button" />
|
||||
</a>
|
||||
<a href="https://aleksey-kon-games.fsky.io/" target="_blank" rel="noopener noreferrer">
|
||||
<img src="assets/images/buttons/aleksey.png" alt="Aleksey Kon Games button" />
|
||||
<img src="assets/images/buttons/aleksey.png" alt="Aleksey Kon Games button" />
|
||||
</a>
|
||||
<a href="https://k327.eu/" target="_blank" rel="noopener noreferrer">
|
||||
<img src="assets/images/buttons/k327.png" alt="k327.eu button" />
|
||||
<img src="assets/images/buttons/k327.png" alt="k327.eu button" />
|
||||
</a>
|
||||
<a href="https://vaporwavefox.neocities.org" target="_blank" rel="noopener noreferrer">
|
||||
<img src="assets/images/buttons/trace.png" alt="Trace button" />
|
||||
<img src="assets/images/buttons/trace.png" alt="Trace button" />
|
||||
</a>
|
||||
<a href="https://authenyo.xyz" target="_blank" rel="noopener noreferrer">
|
||||
<img src="assets/images/buttons/authen.gif" alt="Authen button" />
|
||||
<img src="assets/images/buttons/authen.gif" alt="Authen button" />
|
||||
</a>
|
||||
<a href="https://greatsword.xyz" target="_blank" rel="noopener noreferrer">
|
||||
<img src="assets/images/buttons/greatsword.png" alt="Greatsword button" />
|
||||
</a>
|
||||
<a href="http://[300:5506:25eb:d0d9::]" target="_blank" rel="noopener noreferrer">
|
||||
<img src="assets/images/buttons/midgard.png" alt="Midgard button" />
|
||||
<img src="assets/images/buttons/midgard.png" alt="Midgard button" />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<nav class="navbar">
|
||||
<ul>
|
||||
<li><a href="index.html">Home</a></li>
|
||||
<li><a href="#">About</a></li>
|
||||
<li><a href="#">Projects</a></li>
|
||||
<li><a href="#">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<canvas id="night"></canvas>
|
||||
<script src="assets/js/script.js" defer></script>
|
||||
<button class="mobile-nav-toggle" aria-label="Toggle menu">
|
||||
☰
|
||||
</button>
|
||||
|
||||
<nav class="navbar">
|
||||
<div class="navbar-top-icons">
|
||||
<div class="icon-item">
|
||||
<a href="http://niko.fsky42e4xj4o4q7xiyxzodqvd75iwgztywxtbugdmixamrmui5l4vhid.onion/" target="_blank" rel="noopener noreferrer">
|
||||
<img src="/assets/images/icons/tor.png" alt="Tor Mirror">
|
||||
<span class="icon-label tor-label">Tor</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="icon-item">
|
||||
<a href="/pages/ygg.html" target="_blank" rel="noopener noreferrer">
|
||||
<img src="/assets/images/icons/ygg.png" alt="Information about Yggdrasil">
|
||||
<span class="icon-label ygg-label">Ygg</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<ul>
|
||||
<li><a href="/index.html">Home</a></li>
|
||||
<li><a href="/pages/about.html">About me</a></li>
|
||||
<li><a href="/pages/projects.html">Projects</a></li>
|
||||
<li><a href="/pages/contact.html">Contact</a></li>
|
||||
<li><a href="/pages/services.html">Services</a></li>
|
||||
<li><a href="/pages/terms.html">Terms of Service</a></li>
|
||||
<li><a href="/pages/other.html">Other</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="clouds">
|
||||
<img src="assets/images/clouds.png" alt="Clouds">
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
Purplebored © 2023-2025 |
|
||||
<a href="https://git.purplebored.pl/purplebored/purplebored.pl">Source code</a> |
|
||||
<a href="/pages/contact.html">Contact Me</a> |
|
||||
<a href="https://status.purplebored.pl"> Uptime / Status</a> |
|
||||
</div>
|
||||
|
||||
<canvas id="night"></canvas>
|
||||
<script src="assets/js/script.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
108
pages/about.html
Normal file
108
pages/about.html
Normal file
@@ -0,0 +1,108 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="color-scheme" content="dark">
|
||||
<meta name="theme-color" content="#0e0016">
|
||||
<title>About me</title>
|
||||
|
||||
|
||||
<meta name="og:url" content="https://purplebored.pl/pages/about.html" />
|
||||
<meta name="og:title" content="Purplebored - About me" />
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:image" content="/assets/images/pfp.png">
|
||||
<meta name="og:description" content="A little bit about me :D" />
|
||||
|
||||
<meta name="description" content="A little bit about me.">
|
||||
<link rel="icon" href="/favicon.png" type="image/png">
|
||||
<link rel="stylesheet" href="/assets/css/style.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!--Navbar related code-->
|
||||
<button class="mobile-nav-toggle" aria-label="Toggle menu">
|
||||
☰
|
||||
</button>
|
||||
|
||||
<nav class="navbar">
|
||||
<div class="navbar-top-icons">
|
||||
<div class="icon-item">
|
||||
<a href="http://niko.fsky42e4xj4o4q7xiyxzodqvd75iwgztywxtbugdmixamrmui5l4vhid.onion/" target="_blank" rel="noopener noreferrer">
|
||||
<img src="/assets/images/icons/tor.png" alt="Tor Mirror">
|
||||
<span class="icon-label tor-label">Tor</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="icon-item">
|
||||
<a href="/pages/ygg.html" target="_blank" rel="noopener noreferrer">
|
||||
<img src="/assets/images/icons/ygg.png" alt="Information about Yggdrasil">
|
||||
<span class="icon-label ygg-label">Ygg</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<ul>
|
||||
<li><a href="/index.html">Home</a></li>
|
||||
<li><a href="/pages/about.html">About me</a></li>
|
||||
<li><a href="/pages/projects.html">Projects</a></li>
|
||||
<li><a href="/pages/contact.html">Contact</a></li>
|
||||
<li><a href="/pages/services.html">Services</a></li>
|
||||
<li><a href="/pages/terms.html">Terms of Service</a></li>
|
||||
<li><a href="/pages/other.html">Other</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="content project-page">
|
||||
<div class="middle">
|
||||
<h1>About me</h1>
|
||||
<p>
|
||||
Hi, I’m <strong>Purplebored</strong>, also known as Niko. Welcome to my site and here are some information about me:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
I like making simple websites like this, and I love self-hosting stuff when I can. I try to avoid most of the modern bloat out there, so that's why I have my own personal website instead of a social media account, or I use XMPP instead of using Discord.
|
||||
I am also a privacy-minded person, so I try to avoid big tech shit as much as possible.
|
||||
<br />
|
||||
Oh, and the most important part I am Polish and I <strong>REALLY</strong> love my country. I am proud to be Polish, and if I had the chance to be born again I would choose Poland every day.
|
||||
</p>
|
||||
<h2>What I Do</h2>
|
||||
<ul>
|
||||
<li>Create small websites when I am bored (Like this one!)</li>
|
||||
<li>Self-host services I like and use for example Mumble, or XMPP.</li>
|
||||
<li>Create tiny shit from time to time like my Discord Userbot IRC bridge</li>
|
||||
<li>Experiment with Linux, servers, and general sysadmin things</li>
|
||||
<li>Fuck around with Windows (especially older versions like Windows 7)</li>
|
||||
</ul>
|
||||
<h2>Languages I Speak</h2>
|
||||
<ul>
|
||||
<li>Polish (native)</li>
|
||||
<li>English (fluent in writing terrible in speaking.)</li>
|
||||
<li>Russian (early stages of learning)</li>
|
||||
</ul>
|
||||
|
||||
<h2>Random Facts About Me</h2>
|
||||
<ul>
|
||||
<li>I love tobacco and yes, I'm definitely a nicotine fien</li>
|
||||
<li>I spend way too much time talking about nicotine and Poland</li>
|
||||
<li>My favorite music band is Кино(Kino)</li>
|
||||
</ul>
|
||||
<br />
|
||||
<a href="/">← Back to Home</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
Purplebored © 2023-2025 |
|
||||
<a href="https://git.purplebored.pl/purplebored/purplebored.pl">Source code</a> |
|
||||
<a href="/pages/contact.html">Contact Me</a> |
|
||||
<a href="https://status.purplebored.pl"> Uptime / Status</a> |
|
||||
</div>
|
||||
|
||||
<div class="clouds">
|
||||
<img src="/assets/images/clouds.png" alt="Clouds">
|
||||
</div>
|
||||
|
||||
<canvas id="night"></canvas>
|
||||
<script src="/assets/js/script.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
89
pages/contact.html
Executable file
89
pages/contact.html
Executable file
@@ -0,0 +1,89 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="color-scheme" content="dark">
|
||||
<meta name="theme-color" content="#0e0016">
|
||||
<title>Contact</title>
|
||||
|
||||
<meta name="og:url" content="https://purplebored.pl/pages/contact.html" />
|
||||
<meta name="og:title" content="Purplebored - Contact me" />
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:image" content="/assets/images/pfp.png">
|
||||
<meta name="og:description" content="How to contact purplebored via email, IRC, XMPP, etc." />
|
||||
|
||||
<meta name="description" content="How to contact purplebored via email, IRC, XMPP, etc.">
|
||||
<link rel="icon" href="/favicon.png" type="image/png">
|
||||
<link rel="stylesheet" href="/assets/css/style.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Navbar related code. -->
|
||||
<button class="mobile-nav-toggle" aria-label="Toggle menu">
|
||||
☰
|
||||
</button>
|
||||
<nav class="navbar">
|
||||
<div class="navbar-top-icons">
|
||||
<div class="icon-item">
|
||||
<a href="http://niko.fsky42e4xj4o4q7xiyxzodqvd75iwgztywxtbugdmixamrmui5l4vhid.onion/" target="_blank" rel="noopener noreferrer">
|
||||
<img src="/assets/images/icons/tor.png" alt="Tor Mirror">
|
||||
<span class="icon-label tor-label">Tor</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="icon-item">
|
||||
<a href="/pages/ygg.html" target="_blank" rel="noopener noreferrer">
|
||||
<img src="/assets/images/icons/ygg.png" alt="Information about Yggdrasil">
|
||||
<span class="icon-label ygg-label">Ygg</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<ul>
|
||||
<li><a href="/index.html">Home</a></li>
|
||||
<li><a href="/pages/about.html">About me</a></li>
|
||||
<li><a href="/pages/projects.html">Projects</a></li>
|
||||
<li><a href="/pages/contact.html">Contact</a></li>
|
||||
<li><a href="/pages/services.html">Services</a></li>
|
||||
<li><a href="/pages/terms.html">Terms of Service</a></li>
|
||||
<li><a href="/pages/other.html">Other</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="content project-page">
|
||||
<div class="middle">
|
||||
<h1>Contact Me</h1>
|
||||
<p>You can contact me using those ways, but I would preffer if you used XMPP, or Email.</p>
|
||||
<ul>
|
||||
<li><strong>Email:</strong> <a href="mailto:root@purplebored.pl">root(at)purplebored.pl</a></li>
|
||||
<li><strong>XMPP:</strong>pb@purplebored.pl</li>
|
||||
<li><strong>Matrix:</strong>@purplebored@telepath.im</li>
|
||||
<li><strong>IRC:</strong> <code>Purplebored</code> on <a href="https://telepath.im/irc" target="_blank">Telepath IRC</a></li>
|
||||
<li><strong>Discord:</strong> niko2077 (Please avoid this!! Only use this if <i>really</i> need to! Even using email without PGP would be better!)</li>
|
||||
</ul>
|
||||
<p>If you’re reporting a bug on this website, or one of my projects,
|
||||
you can email me about it, OR if you have an account on my git you can also use that to report the issue.</p>
|
||||
<p>
|
||||
When using email if you can please encrypt it with PGP. <a href="/0CB52690CD644413EF66A21CAEF2F9A8C0334670.asc" target="_blank">You can get my public key here.</a>
|
||||
</p>
|
||||
<p>Messages in both English or Polish are okay :D</p>
|
||||
<p>
|
||||
<a href="/">← Back to home page</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
Purplebored © 2023-2025 |
|
||||
<a href="https://git.purplebored.pl/purplebored/purplebored.pl">Source code</a> |
|
||||
<a href="/pages/contact.html">Contact Me</a> |
|
||||
<a href="https://status.purplebored.pl"> Uptime / Status</a> |
|
||||
</div>
|
||||
|
||||
<div class="clouds">
|
||||
<img src="/assets/images/clouds.png" alt="Clouds">
|
||||
</div>
|
||||
|
||||
<canvas id="night"></canvas>
|
||||
<script src="/assets/js/script.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
82
pages/other.html
Normal file
82
pages/other.html
Normal file
@@ -0,0 +1,82 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="color-scheme" content="dark">
|
||||
<meta name="theme-color" content="#0e0016">
|
||||
<title>Other</title>
|
||||
|
||||
<meta name="og:url" content="https://purplebored.pl/pages/other.html" />
|
||||
<meta name="og:title" content="Purplebored - Other" />
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:image" content="/assets/images/pfp.png">
|
||||
<meta name="og:description" content="Things which don't fit in anywhere else!" />
|
||||
|
||||
<meta name="description" content="Things which don't fit in anywhere else!">
|
||||
<link rel="icon" href="/favicon.png" type="image/png">
|
||||
<link rel="stylesheet" href="/assets/css/style.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Navbar related code. -->
|
||||
<button class="mobile-nav-toggle" aria-label="Toggle menu">
|
||||
☰
|
||||
</button>
|
||||
<nav class="navbar">
|
||||
<div class="navbar-top-icons">
|
||||
<div class="icon-item">
|
||||
<a href="http://niko.fsky42e4xj4o4q7xiyxzodqvd75iwgztywxtbugdmixamrmui5l4vhid.onion/" target="_blank" rel="noopener noreferrer">
|
||||
<img src="/assets/images/icons/tor.png" alt="Tor Mirror">
|
||||
<span class="icon-label tor-label">Tor</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="icon-item">
|
||||
<a href="/pages/ygg.html" target="_blank" rel="noopener noreferrer">
|
||||
<img src="/assets/images/icons/ygg.png" alt="Information about Yggdrasil">
|
||||
<span class="icon-label ygg-label">Ygg</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<ul>
|
||||
<li><a href="/index.html">Home</a></li>
|
||||
<li><a href="/pages/about.html">About me</a></li>
|
||||
<li><a href="/pages/projects.html">Projects</a></li>
|
||||
<li><a href="/pages/contact.html">Contact</a></li>
|
||||
<li><a href="/pages/services.html">Services</a></li>
|
||||
<li><a href="/pages/terms.html">Terms of Service</a></li>
|
||||
<li><a href="/pages/other.html">Other</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="content project-page">
|
||||
<div class="middle">
|
||||
<h1>Some other pages!</h1>
|
||||
<p>
|
||||
Here you can find some other pages which I did not want to put in the navbar, or link somewhere.
|
||||
</p>
|
||||
<ul>
|
||||
<li><a href="/pages/other/snuff.html">Nasal Snuff!</a></li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
<a href="/">← Back to home page</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
Purplebored © 2023-2025 |
|
||||
<a href="https://git.purplebored.pl/purplebored/purplebored.pl">Source code</a> |
|
||||
<a href="/pages/contact.html">Contact Me</a> |
|
||||
<a href="https://status.purplebored.pl"> Uptime / Status</a> |
|
||||
</div>
|
||||
|
||||
<div class="clouds">
|
||||
<img src="/assets/images/clouds.png" alt="Clouds">
|
||||
</div>
|
||||
|
||||
<canvas id="night"></canvas>
|
||||
<script src="/assets/js/script.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
115
pages/other/snuff.html
Normal file
115
pages/other/snuff.html
Normal file
@@ -0,0 +1,115 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="color-scheme" content="dark">
|
||||
<meta name="theme-color" content="#0e0016">
|
||||
<title>Nasal snuff</title>
|
||||
|
||||
<meta name="og:url" content="https://purplebored.pl/pages/other/snuff.html" />
|
||||
<meta name="og:title" content="Purplebored - Snuff" />
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:image" content="/assets/images/pfp.png">
|
||||
<meta name="og:description" content="A few words about nasal snuff." />
|
||||
|
||||
<meta name="description" content="A few words about nasal snuff.">
|
||||
<link rel="icon" href="/favicon.png" type="image/png">
|
||||
<link rel="stylesheet" href="/assets/css/style.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Navbar related code. -->
|
||||
<button class="mobile-nav-toggle" aria-label="Toggle menu">
|
||||
☰
|
||||
</button>
|
||||
<nav class="navbar">
|
||||
<div class="navbar-top-icons">
|
||||
<div class="icon-item">
|
||||
<a href="http://niko.fsky42e4xj4o4q7xiyxzodqvd75iwgztywxtbugdmixamrmui5l4vhid.onion/" target="_blank" rel="noopener noreferrer">
|
||||
<img src="/assets/images/icons/tor.png" alt="Tor Mirror">
|
||||
<span class="icon-label tor-label">Tor</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="icon-item">
|
||||
<a href="/pages/ygg.html" target="_blank" rel="noopener noreferrer">
|
||||
<img src="/assets/images/icons/ygg.png" alt="Information about Yggdrasil">
|
||||
<span class="icon-label ygg-label">Ygg</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<ul>
|
||||
<li><a href="/index.html">Home</a></li>
|
||||
<li><a href="/pages/about.html">About me</a></li>
|
||||
<li><a href="/pages/projects.html">Projects</a></li>
|
||||
<li><a href="/pages/contact.html">Contact</a></li>
|
||||
<li><a href="/pages/services.html">Services</a></li>
|
||||
<li><a href="/pages/terms.html">Terms of Service</a></li>
|
||||
<li><a href="/pages/other.html">Other</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="content project-page">
|
||||
<div class="middle">
|
||||
<h1>Snuff!</h1>
|
||||
|
||||
<h5>
|
||||
MINISTER ZDROWIA OSTRZEGA: UŻYWANIE TYTONIU SZKODZI ZDROWIU.
|
||||
<br />
|
||||
THE MINISTER OF HEALTH WARNS: USING TOBACCO IS HARMFUL TO YOUR HEALTH.
|
||||
<br />
|
||||
I do not condone snuff taking or any other nicotine use. Snuff is a tobacco based product and contains nicotine which is known to be highly addictive. The content on this page is purley informational.
|
||||
</h5>
|
||||
|
||||
<p>
|
||||
Hey I first should maybe explain what nasal snuff is for the people who don't know, so
|
||||
</p>
|
||||
|
||||
<h2>What's nasal snuff?</h2>
|
||||
<p>
|
||||
Snuff is a type of smokeless tobacco product made from finely ground or pulverized tobacco leaves. It is sniffed (also sometimes written as "snuffed".) into the nasal cavity, delivering nicotine and a flavored scent to the user.
|
||||
<br />
|
||||
Snuff is also <i>healthier</i> than normal smoking. BTW <strong>Healthier does not equal healthy!</strong>
|
||||
Snuff is still a tobacco products and still carriers risks with it.
|
||||
</p>
|
||||
|
||||
<h2>How did my journey with snuff start?</h2>
|
||||
<p>
|
||||
It started from pure curiosity, and from me being too poor to afford cigarettes. I saw a box of <code>Gletscher Prise</code> and decided to get it.
|
||||
And holy fuck was I blown away by how good it was. The first time felt like breathing in 8K or something like that.
|
||||
</p>
|
||||
|
||||
<h2>Why do I take snuff?</h2>
|
||||
<p>
|
||||
Mostly for the flavours it offers. Also, I just love the snuff culture I personally find it a lot more respectful and interesting then cigarette smoking.
|
||||
Also, sometimes when I don't smoke for some reason, I like to use it to get that nicotine hit.
|
||||
</p>
|
||||
|
||||
<h2>What's so interesting about snuff?</h2>
|
||||
<p>
|
||||
Snuff is weirdly fascinating because there are so many types fine, coarse, dry, menthol nukes, floral perfumes,
|
||||
and blends that smell like someone emptied a spice cabinet. Half the fun is just figuring out what strange scent
|
||||
you’ve opened this time and wondering who thought it was a good idea.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a href="/">← Back to home page</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
Purplebored © 2023-2025 |
|
||||
<a href="https://git.purplebored.pl/purplebored/purplebored.pl">Source code</a> |
|
||||
<a href="/pages/contact.html">Contact Me</a> |
|
||||
<a href="https://status.purplebored.pl"> Uptime / Status</a> |
|
||||
</div>
|
||||
|
||||
<div class="clouds">
|
||||
<img src="/assets/images/clouds.png" alt="Clouds">
|
||||
</div>
|
||||
|
||||
<canvas id="night"></canvas>
|
||||
<script src="/assets/js/script.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
114
pages/projects.html
Normal file
114
pages/projects.html
Normal file
@@ -0,0 +1,114 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="color-scheme" content="dark">
|
||||
<meta name="theme-color" content="#0e0016">
|
||||
|
||||
<title>Projects</title>
|
||||
|
||||
<meta name="description" content="Purplebored's projects :D">
|
||||
<meta name="keywords" content="purplebored, irc, discord, bridge, userbot, open source, purplebored.pl">
|
||||
<meta property="og:url" content="https://purplebored.pl/projects/projects.html">
|
||||
<meta property="og:title" content="Purplebored - Projects" />
|
||||
<meta property="og:description" content="Purplebored's projects :D">
|
||||
<meta property="og:image" content="/assets/images/pfp.png">
|
||||
|
||||
<meta name="description" content="Purplebored's projects :D">
|
||||
<link rel="icon" href="/favicon.png" type="image/png">
|
||||
<link rel="stylesheet" href="/assets/css/style.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Navbar related code. -->
|
||||
<button class="mobile-nav-toggle" aria-label="Toggle menu">
|
||||
☰
|
||||
</button>
|
||||
<nav class="navbar">
|
||||
<div class="navbar-top-icons">
|
||||
<div class="icon-item">
|
||||
<a href="http://niko.fsky42e4xj4o4q7xiyxzodqvd75iwgztywxtbugdmixamrmui5l4vhid.onion/" target="_blank" rel="noopener noreferrer">
|
||||
<img src="/assets/images/icons/tor.png" alt="Tor Mirror">
|
||||
<span class="icon-label tor-label">Tor</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="icon-item">
|
||||
<a href="/pages/ygg.html" target="_blank" rel="noopener noreferrer">
|
||||
<img src="/assets/images/icons/ygg.png" alt="Information about Yggdrasil">
|
||||
<span class="icon-label ygg-label">Ygg</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<ul>
|
||||
<li><a href="/index.html">Home</a></li>
|
||||
<li><a href="/pages/about.html">About me</a></li>
|
||||
<li><a href="/pages/projects.html">Projects</a></li>
|
||||
<li><a href="/pages/contact.html">Contact</a></li>
|
||||
<li><a href="/pages/services.html">Services</a></li>
|
||||
<li><a href="/pages/terms.html">Terms of Service</a></li>
|
||||
<li><a href="/pages/other.html">Other</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="content project-page">
|
||||
<div class="middle">
|
||||
<h1>My Projects:</h1>
|
||||
<p>
|
||||
Hi and welcome to my projects page! For now I only have one project, but I am planning on making more of them. You can read about my only project bellow :D
|
||||
</p>
|
||||
|
||||
<h2>= IRC to Discord Bridge =</h2>
|
||||
<p>
|
||||
A simple and modern IRC ↔ Discord userbot bridge written in Node.js, used to bridge Discord channels and group chats with IRC rooms.
|
||||
</p>
|
||||
<p> (Also worth explaining: a userbot sometimes called a selfbot is a bot that runs on a user account.) </p>
|
||||
<p>
|
||||
<a href="https://foundry.fsky.io/purplebored/Discord-userbot-to-irc" target="_blank">
|
||||
Source code and setup instructions →
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<h3>Features</h3>
|
||||
<ul>
|
||||
<li>Multi-Bridge Support — bridge multiple channels and rooms with one config.</li>
|
||||
<li>Reactions Bridging — sends a message when a message is reacted to.</li>
|
||||
<li>Attachments Bridging — automatically forwards images and files to IRC.</li>
|
||||
<li>TLS/Non-TLS IRC Support — works with both secure and standard IRC ports.</li>
|
||||
<li>Group Chat Bridges — supports Discord group chats via selfbot.</li>
|
||||
<li>YAML Configuration — simple and human readable config file.</li>
|
||||
</ul>
|
||||
|
||||
<h3>Why a Userbot Bridge?</h3>
|
||||
<p> I wanted to stop using Discord, but still chat in a group chat — no other bridge supported that, so I decided to build my own.
|
||||
It started as a small private project, but after making it stable enough and usefull enough for more people, I open sourced it for anyone who needs something similar. (Which I guess it's not a lot of people :P)</p>
|
||||
<h3>Project Info</h3>
|
||||
<ul>
|
||||
<li>License: <a href="https://foundry.fsky.io/purplebored/Discord-userbot-to-irc/raw/branch/main/LICENSE" target="_blank">Apache 2.0</a></li>
|
||||
<li>Language: Node.js</li>
|
||||
<li>Developer: Just me (updates might be slow!)</li>
|
||||
<li>Note: Using a userbot on Discord is against the ToS — though no bans have been reported so far, but still use at your own risk.</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
<a href="/">← Back to home page</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
Purplebored © 2023-2025 |
|
||||
<a href="https://git.purplebored.pl/purplebored/purplebored.pl">Source code</a> |
|
||||
<a href="/pages/contact.html">Contact Me</a> |
|
||||
<a href="https://status.purplebored.pl"> Uptime / Status</a> |
|
||||
</div>
|
||||
|
||||
<div class="clouds">
|
||||
<img src="/assets/images/clouds.png" alt="Clouds">
|
||||
</div>
|
||||
|
||||
<canvas id="night"></canvas>
|
||||
<script src="/assets/js/script.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
144
pages/services.html
Normal file
144
pages/services.html
Normal file
@@ -0,0 +1,144 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="color-scheme" content="dark">
|
||||
<meta name="theme-color" content="#0e0016">
|
||||
|
||||
<title>Services</title>
|
||||
|
||||
<meta name="description" content="Stuff Purplebored hosts">
|
||||
<meta name="keywords" content="purplebored, irc, open source, purplebored.pl, mumble, murmur, soju, dis4irc, irc, prosody, xmpp, gamja">
|
||||
<meta property="og:url" content="https://purplebored.pl/projects/projects.html">
|
||||
<meta property="og:title" content="Services | Purplebored.pl">
|
||||
<meta property="og:description" content="Stuff Purplebored hosts">
|
||||
<meta property="og:image" content="/assets/images/pfp.png">
|
||||
|
||||
<link rel="icon" href="/favicon.png" type="image/png">
|
||||
<link rel="stylesheet" href="/assets/css/style.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Navbar related code. -->
|
||||
<button class="mobile-nav-toggle" aria-label="Toggle menu">
|
||||
☰
|
||||
</button>
|
||||
<nav class="navbar">
|
||||
<div class="navbar-top-icons">
|
||||
<div class="icon-item">
|
||||
<a href="http://niko.fsky42e4xj4o4q7xiyxzodqvd75iwgztywxtbugdmixamrmui5l4vhid.onion/" target="_blank" rel="noopener noreferrer">
|
||||
<img src="/assets/images/icons/tor.png" alt="Tor Mirror">
|
||||
<span class="icon-label tor-label">Tor</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="icon-item">
|
||||
<a href="/pages/ygg.html" target="_blank" rel="noopener noreferrer">
|
||||
<img src="/assets/images/icons/ygg.png" alt="Information about Yggdrasil">
|
||||
<span class="icon-label ygg-label">Ygg</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<ul>
|
||||
<li><a href="/index.html">Home</a></li>
|
||||
<li><a href="/pages/about.html">About me</a></li>
|
||||
<li><a href="/pages/projects.html">Projects</a></li>
|
||||
<li><a href="/pages/contact.html">Contact</a></li>
|
||||
<li><a href="/pages/services.html">Services</a></li>
|
||||
<li><a href="/pages/terms.html">Terms of Service</a></li>
|
||||
<li><a href="/pages/other.html">Other</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="project-page services-page">
|
||||
<h1>Services I Host</h1>
|
||||
<p>Here are some public and semi-public stuff I run from my servers. I host my stuff from two servers. One named NL1 in the Netherlands and one named PL1 in Poland.
|
||||
Some require trust to get an account, some are open, and others are on a case-by-case basis.</p>
|
||||
|
||||
<div class="service-card">
|
||||
<h2>Mumble Server</h2>
|
||||
<p>A privacy-friendly VOIP. No accounts needed, low latency, works even on potato (Polish) connections.</p>
|
||||
<ul>
|
||||
<li><strong>Server:</strong> mumble.purplebored.pl</li>
|
||||
<li><strong>Port:</strong> 64738 (TLS)</li>
|
||||
<li><strong>Access:</strong> Public</li>
|
||||
<li><strong>Location:</strong>NL1</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="service-card">
|
||||
<h2>Soju IRC Bouncer</h2>
|
||||
<p>And pretty decent modern IRC bouncer. Only people I know quite a lot and who trust me, and I am them get an account.</p>
|
||||
<ul>
|
||||
<li><strong>Server:</strong> soju.purplebored.pl</li>
|
||||
<li><strong>Port:</strong> 6697 (TLS)</li>
|
||||
<li><strong>Access:</strong> Invite-only</li>
|
||||
<li><strong>Location:</strong>NL1</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="service-card">
|
||||
<h2>Gamja Web IRC Client</h2>
|
||||
<p>Web IRC client for the Soju IRC bouncer I host.</p>
|
||||
<ul>
|
||||
<li><a href="https://soju.purplebored.pl/gamja/" target="_blank">Open Gamja Web IRC</a></li>
|
||||
<li><strong>Location:</strong>NL1</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="service-card">
|
||||
<h2>Jabber Server</h2>
|
||||
<p>A federated chat protocol better than Discord IMO. Accounts available only to trusted friends. Until I get a second domain.</p>
|
||||
<ul>
|
||||
<li><strong>Server:</strong> purplebored.pl</li>
|
||||
<li><strong>Access:</strong> Invite-only</li>
|
||||
<li><strong>Software:</strong> Prosody 13.x</li>
|
||||
<li><strong>Location:</strong>NL1</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="service-card">
|
||||
<h2>Dis4IRC Bridge</h2>
|
||||
<p>A bridge written in java (Not my software) that links Discord chats to IRC channels — request access if needed. (Supports webhooks)</p>
|
||||
<ul>
|
||||
<li><strong>Access:</strong> Case-by-case</li>
|
||||
<li><strong>Location:</strong>NL1</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="service-card">
|
||||
<h2>PrivateBin</h2>
|
||||
<p>PrivateBin is a minimalist, online pastebin where the server has zero knowledge of stored data.</p>
|
||||
<ul>
|
||||
<li><strong>Access:</strong> Open to everyone</li>
|
||||
<li><a href="https://bin.purplebored.pl" target="_blank">Open PrivateBin</a></li>
|
||||
<li><strong>Location:</strong>PL1</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="service-card">
|
||||
<h2>Vaultwarden</h2>
|
||||
<p>An unofficial Bitwarden compatible server written in Rust</p>
|
||||
<ul>
|
||||
<li><strong>Access:</strong> Case-by-case</li>
|
||||
<li><a href="https://pass.purplebored.pl" target="_blank">Open Vaultwarden</a></li>
|
||||
<li><strong>Location:</strong>NL1</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<p style="margin-top: 2rem;">
|
||||
<a href="/">← Back to Home</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
Purplebored © 2023-2025 |
|
||||
<a href="https://git.purplebored.pl/purplebored/purplebored.pl">Source code</a> |
|
||||
<a href="/pages/contact.html">Contact Me</a> |
|
||||
<a href="https://status.purplebored.pl"> Uptime / Status</a> |
|
||||
</div>
|
||||
|
||||
<canvas id="night"></canvas>
|
||||
<script src="/assets/js/script.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
119
pages/terms.html
Normal file
119
pages/terms.html
Normal file
@@ -0,0 +1,119 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="color-scheme" content="dark">
|
||||
<meta name="theme-color" content="#0e0016">
|
||||
<title>Terms of Service</title>
|
||||
|
||||
<meta name="og:url" content="https://purplebored.pl/pages/terms.html" />
|
||||
<meta name="og:title" content="Purplebored - ToS" />
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:image" content="/assets/images/pfp.png">
|
||||
<meta name="og:description" content="Terms of service for everything purplebored.pl related." />
|
||||
|
||||
<meta name="description" content="Terms of service for everything purplebored.pl related.">
|
||||
<link rel="icon" href="/favicon.png" type="image/png">
|
||||
<link rel="stylesheet" href="/assets/css/style.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Navbar related code. -->
|
||||
<button class="mobile-nav-toggle" aria-label="Toggle menu">
|
||||
☰
|
||||
</button>
|
||||
<nav class="navbar">
|
||||
<div class="navbar-top-icons">
|
||||
<div class="icon-item">
|
||||
<a href="http://niko.fsky42e4xj4o4q7xiyxzodqvd75iwgztywxtbugdmixamrmui5l4vhid.onion/" target="_blank" rel="noopener noreferrer">
|
||||
<img src="/assets/images/icons/tor.png" alt="Tor Mirror">
|
||||
<span class="icon-label tor-label">Tor</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="icon-item">
|
||||
<a href="/pages/ygg.html" target="_blank" rel="noopener noreferrer">
|
||||
<img src="/assets/images/icons/ygg.png" alt="Information about Yggdrasil">
|
||||
<span class="icon-label ygg-label">Ygg</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<ul>
|
||||
<li><a href="/index.html">Home</a></li>
|
||||
<li><a href="/pages/about.html">About me</a></li>
|
||||
<li><a href="/pages/projects.html">Projects</a></li>
|
||||
<li><a href="/pages/contact.html">Contact</a></li>
|
||||
<li><a href="/pages/services.html">Services</a></li>
|
||||
<li><a href="/pages/terms.html">Terms of Service</a></li>
|
||||
<li><a href="/pages/other.html">Other</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="content project-page">
|
||||
<div class="middle">
|
||||
<h1>Terms of Service for purplebored.pl services</h1>
|
||||
<p>
|
||||
purplebored.pl is a personal project providing services to close friends and certain individuals.
|
||||
By using purplebored.pl and it's services you agree to abide to those Terms of Service.
|
||||
<br />
|
||||
<strong>Last update: 29.11.2025</strong>
|
||||
</p>
|
||||
<br />
|
||||
<h2>User Eligibility:</h2>
|
||||
<p>
|
||||
You are older than 16 years old (or the age of digital consent in your country of residence, if higher).
|
||||
If you are under that age please do not use anything purplebored.pl provides, and do not ask for any accounts.
|
||||
</p>
|
||||
|
||||
<h2>Community Standards</h2>
|
||||
<ol>
|
||||
<li>Abide by Polish and Dutch law.</li>
|
||||
<li>Do not harras, stalk, or abuse anyone.</li>
|
||||
<li>Distribute hate speech, extremist content, or call to violence</li>
|
||||
<li>Send spam</li>
|
||||
<li>Attempt to disrupt, attack, or intentionally overload the services</li>
|
||||
<li>Distribute malware or attempt unauthorized access to systems</li>
|
||||
<li>Possess, store, share, request, promote, or justify CSAM or child sexual exploitation in any form.</li>
|
||||
</ol>
|
||||
<strong>Violation of these terms may lead to account deletion. </strong>
|
||||
|
||||
<h2>User Responsibility</h2>
|
||||
<p>
|
||||
You and only you are responsible for keeping your login details confidential and must choose passwords that meet the highest security standards as allowed by the services and things I provide. I will never ask you to give me your password. Never give your passwords to anyone claiming to be me or someone from purplebored.pl.
|
||||
</p>
|
||||
<p>
|
||||
By registering an account, you agree to take full responsibility for all the activities under your username and password.
|
||||
You must immediately notify me using the contact details provided in this document if you believe that your account or login details may have been compromised, hacked, or stolen.
|
||||
</p>
|
||||
|
||||
<h2>Service availability and disclaimer</h2>
|
||||
<p>
|
||||
This is a personal, hobby-run service. I do not guarantee good uptime, data retention, message delivery, or security. Use everything I provide at your own risk.
|
||||
</p>
|
||||
|
||||
<h2>Account Termination</h2>
|
||||
<p>
|
||||
You can request deletion of your account at any time by contacting me with the relevant details.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a href="/">← Back to home page</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
Purplebored © 2023-2025 |
|
||||
<a href="https://git.purplebored.pl/purplebored/purplebored.pl">Source code</a> |
|
||||
<a href="/pages/contact.html">Contact Me</a> |
|
||||
<a href="https://status.purplebored.pl"> Uptime / Status</a> |
|
||||
</div>
|
||||
|
||||
<div class="clouds">
|
||||
<img src="/assets/images/clouds.png" alt="Clouds">
|
||||
</div>
|
||||
|
||||
<canvas id="night"></canvas>
|
||||
<script src="/assets/js/script.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
105
pages/ygg.html
Normal file
105
pages/ygg.html
Normal file
@@ -0,0 +1,105 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="color-scheme" content="dark">
|
||||
<meta name="theme-color" content="#0e0016">
|
||||
<title>Yggdrasil</title>
|
||||
|
||||
<meta name="og:url" content="https://purplebored.pl/pages/ygg.html" />
|
||||
<meta name="og:title" content="Purplebored - Yggdrasil" />
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:image" content="/assets/images/pfp.png">
|
||||
<meta name="og:description" content="Info about the Yggdrasil network protocol, and stuff I host there." />
|
||||
|
||||
<meta name="description" content="Info about the Yggdrasil network protocol, and stuff I host there.">
|
||||
<link rel="icon" href="/favicon.png" type="image/png">
|
||||
<link rel="stylesheet" href="/assets/css/style.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Navbar related code. -->
|
||||
<button class="mobile-nav-toggle" aria-label="Toggle menu">
|
||||
☰
|
||||
</button>
|
||||
<nav class="navbar">
|
||||
<div class="navbar-top-icons">
|
||||
<div class="icon-item">
|
||||
<a href="http://niko.fsky42e4xj4o4q7xiyxzodqvd75iwgztywxtbugdmixamrmui5l4vhid.onion/" target="_blank" rel="noopener noreferrer">
|
||||
<img src="/assets/images/icons/tor.png" alt="Tor Mirror">
|
||||
<span class="icon-label tor-label">Tor</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="icon-item">
|
||||
<a href="/pages/ygg.html" target="_blank" rel="noopener noreferrer">
|
||||
<img src="/assets/images/icons/ygg.png" alt="Information about Yggdrasil">
|
||||
<span class="icon-label ygg-label">Ygg</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<ul>
|
||||
<li><a href="/index.html">Home</a></li>
|
||||
<li><a href="/pages/about.html">About me</a></li>
|
||||
<li><a href="/pages/projects.html">Projects</a></li>
|
||||
<li><a href="/pages/contact.html">Contact</a></li>
|
||||
<li><a href="/pages/services.html">Services</a></li>
|
||||
<li><a href="/pages/terms.html">Terms of Service</a></li>
|
||||
<li><a href="#">Other</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="content project-page">
|
||||
<div class="middle">
|
||||
<h1>Yggdrasil</h1>
|
||||
<h2>What's Yggdrasil?</h2>
|
||||
<p>
|
||||
Citing from their website: "Yggdrasil is a new experimental compact routing scheme. It is designed to be a
|
||||
future-proof and decentralised alternative to the structured routing protocols commonly used today on the
|
||||
Internet, as well as an enabling technology for future large-scale mesh networks"
|
||||
</p>
|
||||
|
||||
<h2>Why use Yggdrasil?</h2>
|
||||
<p>
|
||||
Yggdrasil is a completely separate network from the “normal” internet. It works as a global, encrypted
|
||||
mesh network where every device becomes part of a huge, interconnected system. It doesn’t rely on ISPs,
|
||||
central servers, or big companies to function.
|
||||
</p>
|
||||
|
||||
<h2>How to join Yggdrasil?</h2>
|
||||
<p>
|
||||
Check out the official installation page <a href="https://yggdrasil-network.github.io/installation.html">here.</a>
|
||||
</p>
|
||||
|
||||
<h2>What I run on Yggdrasil</h2>
|
||||
<p>
|
||||
I host an Yggdrasil mirror of my website.
|
||||
If you’re on Ygg, you can reach ot using the link below:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>My website on Ygg: <a href="http://[200:38ad:e575:f3c1:aba7:9e86:ae1e:4922]/"><code>http://[200:38ad:e575:f3c1:aba7:9e86:ae1e:4922]/</code></a></li>
|
||||
<li>More stuff coming soon ;)</li>
|
||||
</ul>
|
||||
|
||||
<p style="margin-top: 2rem;">
|
||||
<a href="/">← Back to Home</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
Purplebored © 2023-2025 |
|
||||
<a href="https://git.purplebored.pl/purplebored/purplebored.pl">Source code</a> |
|
||||
<a href="/pages/contact.html">Contact Me</a> |
|
||||
<a href="https://status.purplebored.pl"> Uptime / Status</a> |
|
||||
</div>
|
||||
|
||||
<div class="clouds">
|
||||
<img src="/assets/images/clouds.png" alt="Clouds">
|
||||
</div>
|
||||
|
||||
<canvas id="night"></canvas>
|
||||
<script src="/assets/js/script.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
11
robots.txt
Normal file
11
robots.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
User-agent: *
|
||||
Allow: /
|
||||
Sitemap: https://purplebored.pl/sitemap.xml
|
||||
|
||||
Disallow: /assets/js/
|
||||
Disallow: /assets/fonts/
|
||||
Disallow: /assets/css/
|
||||
Disallow: /assets/images/temp/
|
||||
Disallow: /cgi-bin/
|
||||
|
||||
Sitemap: https://purplebored.pl/sitemap.xml
|
||||
9
sitemap.xml
Normal file
9
sitemap.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<url><loc>https://purplebored.pl/</loc><priority>1.0</priority></url>
|
||||
<url><loc>https://purplebored.pl/pages/contact.html/</loc><priority>0.9</priority></url>
|
||||
<url><loc>https://purplebored.pl/pages/services.html/</loc><priority>0.8</priority></url>
|
||||
<url><loc>https://purplebored.pl/pages/ygg.html/</loc><priority>0.8</priority></url>
|
||||
<url><loc>https://purplebored.pl/pages/terms.html</loc><priority>0.7</priority></url>
|
||||
<url><loc>https://purplebored.pl/pages/projects.html/</loc><priority>0.7</priority></url>
|
||||
</urlset>
|
||||
Reference in New Issue
Block a user