lets go cowpokes

This commit is contained in:
punkfairie 2022-11-12 16:08:21 -08:00
commit ec7c20b7f2
1141 changed files with 2627 additions and 0 deletions

30
about.php Normal file
View file

@ -0,0 +1,30 @@
<h3>Domain</h3>
<p>Punkfairie.net was registered on February 24, 2022. The name <i>punkfairie</i> has been my
username for various online communities since high school (I first came up with it for my Tumblr
url).</p>
<p>The current layout was almost entirely coded by me, the only things I didn't code are the section
borders, and the mouse pointer trail script. Everything else was done by me. In addition, I also run
the server myself on a <a href="https://digitalocean.com" target="_blank">DigitalOcean droplet.</a>
The only thing preinstalled was Ubuntu 20.04, everything else was installed and configured by
me!</p>
<ul>
<li><b>text editor:</b> Sublime Text on Windows 10</li>
<li><b>languages used:</b> HTML, SCSS, PHP, and Javascript/jQuery</li>
<li><b>server:</b> Apache2 on Ubuntu 20.04</li>
</ul>
<h3>Webmiss</h3>
<p>Hello! My name is Marley. I've been tinkering with websites since grade school, mostly making
Petz fansites. I had a brief period of running fanlistings in high school as well. I have always
enjoyed the creativity of designing a website, and figuring out how to make things like custom hit
counters.</p>
<ul>
<li><b>age:</b> 24</li>
<li><b>pronouns:</b> she/they</li>
<li><b>favorite languages:</b> PHP, SCSS, Ruby & Rails</li>
</ul>

25
blinks.php Normal file
View file

@ -0,0 +1,25 @@
<div class="gallery">
<?php
$credits = array('cinni' => 'https://cinni.net/',
'key' => 'https://keysklubhouse.neocities.org/',
'fairytrash' => 'https://fairytrash.neocities.org/portal/oldweb.html',
'webcore-galore' => 'https://www.deviantart.com/webcore-galore',
'molly-stamps' => 'https://www.deviantart.com/molly-stamps',
'murderawrz' => 'https://www.deviantart.com/murderawrz',
'minecr-aft' => 'https://www.deviantart.com/minecr-aft',
'gaarumageddon' => 'https://www.deviantart.com/gaarumageddon',
'morecentipedes' => 'https://www.deviantart.com/morecentipedes/',
'gendercute' => 'https://www.deviantart.com/gendercute',
'uzkost' => 'https://www.deviantart.com/uzkost',
'fawntoy' => 'https://www.deviantart.com/fawntoy',
'antikrist' => 'https://antikrist.neocities.org/');
foreach ($credits as $author => $link) {
foreach (glob('img/blinks/' . $author . '/*.*') as $img) {
echo "<a href='" . $link . "' target='_blank'>";
echo "<img src='" . $img . "'>";
echo "</a>";
}
}
?>
</div>

14
buttons.php Normal file
View file

@ -0,0 +1,14 @@
<div class="gallery">
<?php
$credits = array('key' => 'https://keysklubhouse.neocities.org/',
'GIFCollection' => 'https://cyber.dabamos.de/88x31/');
foreach ($credits as $author => $link) {
foreach (glob('img/buttons/' . $author . '/*.*') as $img) {
echo "<a href='" . $link . "' target='_blank'>";
echo "<img src='" . $img . "'>";
echo "</a>";
}
}
?>
</div>

1
counter.txt Normal file
View file

@ -0,0 +1 @@
166

1
diary.php Normal file
View file

@ -0,0 +1 @@
<h3>Coming Soon!</h3>

0
h2-line.js Normal file
View file

47
home.php Normal file
View file

@ -0,0 +1,47 @@
<p>Hello! Welcome to <i>punkfairie.net</i>. This is my little home on the web, and also serves as a
directory for my other sites! I'm still building everything, so be patient while I do so :)</p>
<div id="update-box">
<div id="update-inner">
<h2 class="date">25 March 2022</h2>
<p>Moved fanlisting stuff to its own site.</p>
<h2 class="date">23 March 2022</h2>
<p>Fanlistings added under 'collections'.</p>
</div>
</div>
<div class="divide"></div>
<h3>cbox</h3>
<!-- BEGIN CBOX - www.cbox.ws - v4.3 -->
<div id="cboxdiv" style="position: relative; margin: 0 auto; width: 250px; font-size: 0;
line-height: 0;"> <div style="position: relative; height: 150px; overflow: auto; overflow-y: auto;
-webkit-overflow-scrolling: touch; border: 0px solid;"><iframe
src="https://www3.cbox.ws/box/?boxid=3514647&boxtag=MuJsN5&sec=main" marginheight="0"
marginwidth="0" frameborder="0" width="100%" height="100%" scrolling="auto" allowtransparency="yes"
name="cboxmain3-3514647" id="cboxmain3-3514647"></iframe></div> <div style="position: relative;
height: 100px; overflow: hidden; border: 0px solid; border-top: 0px;"><iframe
src="https://www3.cbox.ws/box/?boxid=3514647&boxtag=MuJsN5&sec=form" allow="autoplay"
marginheight="0" marginwidth="0" frameborder="0" width="100%" height="100%" scrolling="no"
allowtransparency="yes" name="cboxform3-3514647" id="cboxform3-3514647"></iframe></div> </div>
<!-- END CBOX -->
<div class="divide"></div>
<h3>Credits</h3>
<ul>
<li><a href="https://kawaiiness.net/cursors.php">cursor</a></li>
<li><a href="https://mf2fm.com/rv/dhtmltinkerbell.php">sparkle cursor</a></li>
<li><a href="https://foollovers.com/mat/menuframe.html">boxes</a></li>
<li><a href="https://archive.cinni.net/index.php">emoticons</a></li>
<li><a href="http://whimsical.heartette.net/material/counters">hit counter numbers</a></li>
<li><a href="http://whimsical.heartette.net/material/point">bow</a></li>
<li><a href="https://foollovers.com/mat/i-heart37.html">bullet</a></li>
<li><a href="http://jasminnie.weebly.com">favicon</a></li>
<li><a href="http://jasminnie.weebly.com/pixels1.html">background</a></li>
<li><a href="https://foollovers.com/mat/i-arrow24.html">nav arrow</a></li>
<li><a href="https://foollovers.com/mat/i-arrow27.html">webring arrow</a></li>
</ul>

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View file

@ -0,0 +1,66 @@
{{user}} & {{site}} can be the same, and probably should.
However, end user won't need to enter {{site}} anywhere, so if for some reason they can't match
exactly it's not a big deal.
Ask user for site name & {{password}}, then set {{user}} & {{site}} based on site name given.
If it can be exact, great, if there's weird punctuation then fix that.
**********************************
STEPS TO CREATE A NEW FTP USER:
==============================
sudo adduser {{user}} -g ftp-users
give {{password}} when prompted
sudo mkdir -p /var/www/{{user}}/html
sudo chmod 755 /var/www/{{user}}
sudo chown {{user}}:ftp-users /var/www/{{user}}/html
sudo nano /etc/ssh/sshd_config
| Match User {{user}}
| ForceCommand internal-sftp
| PasswordAuthentication yes
| ChrootDirectory /var/www/{{user}}
| PermitTunnel no
| AllowAgentForwarding no
| AllowTcpForwarding no
| X11Forwarding no
sudo systemctl restart sshd
********************************
STEPS TO CREATE A NEW SITE:
==========================
sudo nano /etc/apache2/sites-available/{{site}}.conf
| <VirtualHost *:80>
| ServerName {{site}}.punkfairie.net
| ServerAlias www.{{site}}.punkfairie.net
| ServerAdmin {{user email}}
| DocumentRoot /var/www/{{user}}/html
| ErrorLog ${APACHE_LOG_DIR}/error.log
| CustomLog ${APACHE_LOG_DIR}/access.log combined
| </VirtualHost>
sudo a2ensite {{site}}
sudo apache2ctl configtest
sudo systemctl reload apache2
- in digital ocean domain manager, create A records {{site}}.punkfairie.net and www.{{site}}.punkfairie.net
- point both to the punkfairie-sites droplet
sudo certbot --apache
follow prompts
********************************
FILEZILLA SETTINGS:
==================
protocol: SFTP
host: punkfairie.net
port: 22
logon type: Normal
user: {{user}}
password: {{password}}

26
hosting-app-handler.php Normal file
View file

@ -0,0 +1,26 @@
<?php
// get input
$name = $_POST['name'];
$email = $_POST['email'];
$current_site = $_POST['current-site'];
$subdomain = $_POST['subdomain'];
$rules = $_POST['rules'];
$server = $_POST['server'];
// stick it all together
// write to end of file
$file = fopen('hosting-apps.txt', 'a');
$data = PHP_EOL .
'name: ' . $name . PHP_EOL .
'email: ' . $email . PHP_EOL .
'current site: ' . $current_site . PHP_EOL .
'subdomain: ' . $subdomain . PHP_EOL .
'read the rules? ' . $rules . PHP_EOL .
'understand the server? ' . $server . PHP_EOL .
PHP_EOL .
'***************************************';
fwrite($file, $data);

13
hosting-app-send.php Normal file
View file

@ -0,0 +1,13 @@
<div id="hosting-app-success">
<h3>Success!</h3>
<p>Thank you for applying! I'll get back to you as soon as I can.</p>
<p>If you haven't heard back from me after a few days, please check your spam folder or email me
at mar@m.punkfairie.net</p>
</div>
<div id="hosting-app-error">
<h3>Uh-oh!</h3>
<p>Something went wrong. Please try again, or email mar@m.punkfairie.net if the problem
continues.</p>
</div>

79
hosting-app.php Normal file
View file

@ -0,0 +1,79 @@
<h3>Hosting Application</h3>
<p>Please fill out the form below to apply for hosting! I will get back to you as soon as
possible. * means the field is required.</p>
<div class="divide"></div>
<form method="post" id="hosting-app">
<div class="form-item">
<label for="name">* Name:</label>
<input type="text" name="name" id="name" required>
</div>
<div class="form-item">
<label for="email">* Email:</label>
<input type="email" name="email" id="email" required>
</div>
<div class="form-item">
<label for="current-site">Current Site:</label>
<input type="url" name="current-site" id="current-site">
<p>If you don't have one, that's fine, instead please make a small sample page to demonstrate
you know basic html. I will email you asking for this.</p>
</div>
<div class="form-item">
<label for="subdomain">* Desired site name:</label>
<input type="text" name="subdomain" id="subdomain" required>
<p class="inline">.punkfairie.net</p>
</div>
<!-- <div class="form-item">
<label for="punk-email" class="check">Do you want a punkfairie.net email?</label>
<input type="checkbox" name="punk-email" id="punk-email" value="yes">
</div>
<div class="form-item">
<label for="punk-email-user">If yes, what do you want your email address to be?</label>
<input type="text" name="punk-email-user" id="punk-email-user">
<p class="inline">@m.punkfairie.net</p>
</div> -->
<div class="form-item">
<input type="checkbox" name="rules" id="rules" value="yes" required>
<label for="rules" class="check">* I acknowledge that I have read the "Hosting Info" page in
its entirety, and agree to follow the rules.</label>
</div>
<div class="form-item">
<input type="checkbox" name="server" id="server" value="yes" required>
<label for="server" class="check">* Additionally, I acknowledge that hosting is provided
free of charge, and that this server is run as a hobby project by an amateur. As such, there
are no guarentees that the server will work perfectly 24/7.</label>
</div>
<div class="form-item">
<input type="submit" name="submit" value="submit">
</div>
</form>
<script type="text/javascript">
$(document).ready(function(){
$('form#hosting-app').submit(function(){
event.preventDefault();
$.ajax({
type: "POST",
url: "hosting-app-handler.php",
data: $(this).serialize(),
processData: false,
success: function(){
$('#content').load('hosting-app-send.php #hosting-app-success');
},
error: function(){
$('#content').load('hosting-app-send.php #hosting-app-error');
}
});
});
});
</script>

0
hosting-apps.txt Normal file
View file

85
hosting-info.php Normal file
View file

@ -0,0 +1,85 @@
<div class="center">
<a href="#get">what you get</a> /
<a href="#rules">rules</a> /
<a href="#server">about the server</a>
</div>
<div class="divide"></div>
<h3 id="get">What you Get</h3>
<ul>
<li>A subdomain like this: <b>yoursitename</b>.punkfairie.net</li>
<li>Space to upload your website files</li>
<li>FTP login and instructions for setting up FileZilla</li>
</ul>
<p>The server has PHP installed as well if you like to use that!</p>
<p>Space is unlimited but <i>please don't abuse this!!</i> Having lots of images and files for
download is ok, but please do what you can to compress things (not making images bigger than they
need to be, zipping files, etc). If you need help with this please let me know, I'm happy to
assist!</p>
<p>If my hosting costs jump up by a lot and I see that you have loads of unneccesary giant images or
unzipped files, I will warn you and remove them. If it continues I will kick you off if neccesary.
Please don't make me do so! I much prefer to be nice. <i class="smile"></i></p>
<p>Each person only gets one subdomain at first, requests for second subdomains will be on a
case-by-case basis and not considered until you've had your first one at least two months. This is
to keep things simple for me, and so I can make sure you won't abuse my generosity <i
class="love"></i></p>
<div class="divide"></div>
<h3 id="rules">Rules & Requirements</h3>
<ul>
<li><i>RULES:</i></li>
<li><b>No sites with adult media.</b> I don't care if you post erotic fiction or talk about your
life as a sex worker (psst I'm one ;) ). But unfortunately thanks to <a
href="https://stopsesta.org/" target="_blank">SESTA/FOSTA</a> and the risk of accidentally
hosting illegal content, I can't allow adult media on sites I host. Sorry!</li>
<li>Please do your best to make sure <b>downloads are virus free.</b></li>
<li><b>Don't abuse the unlimited hosting space</b> - zip downloads and don't make images bigger
than they need to be.</li>
<li><b>All sites must be personal and ad-free</b> -- basically, nothing that is intended solely
to make you money. This means that art portfolios you show to potential clients are fine (the
site doesn't directly generate income by itself) but webshops and ad-filled SEO blogs are
not.</li>
</ul>
<ul>
<li><i>REQUIREMENTS:</i></li>
<li><b>You must know at least basic html.</b> There is no website builder, you will be uploading
website files from your computer. You don't need to be a pro web designer! I just need to know
you understand the basics of making a website. <a href="https://www.w3schools.com/"
target="_blank">W3Schools</a> is a great place to learn if you don't know anything!</li>
</ul>
<div class="divide"></div>
<h3 id="server">About the Server</h3>
<ul>
<li>OS: Ubuntu 20.04</li>
<li>Webserver: Apache2</li>
<li>PHP: 8.1.3</li>
<li>Hosting: DigitalOcean</li>
<li>Domain: NameSilo</li>
</ul>
<p>punkfairie.net is hosted on a <a href="https://digitalocean.com" target="_blank">DigitalOcean
droplet.</a> Which means I installed and configured the webserver myself! All DO does is provide the
space and a fresh Ubuntu install. I've spent a lot of time learning about running webservers, and
have been tinkering with my own little servers for close to 10 years, but I am NOT anywhere close to
an expert.</p>
<p>The point of this is, I've done what I can to make sure everything is working correctly, but at
the end of the day I'm still an amateur and have no support team. It's very possible something may
break and it may take me a while to fix it. *knock on wood* that shouldn't happen, but <b>by choosing
to keep your site here you acknowledge that I do not guarentee everything working perfectly.</b></p>
<p>Since you'll just be uploading html or php files and not running any crazy web apps or something,
the chance that something will break is very, very tiny, bar me going crazy and attempting a server
overhaul without a backup lol :p I just put this info here as a disclaimer!</p>

BIN
img/badges/handcoded.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
img/badges/linklane.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 383 B

BIN
img/badges/nerdlistings.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 B

BIN
img/blinks/antikrist/01.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
img/blinks/antikrist/03.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

BIN
img/blinks/antikrist/05.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
img/blinks/antikrist/06.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 550 B

BIN
img/blinks/antikrist/09.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,014 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 682 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 841 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 976 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 732 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 768 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 680 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 905 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
img/blinks/antikrist/28.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 758 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 450 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,000 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Some files were not shown because too many files have changed in this diff Show more