xhynk.com
Open in
urlscan Pro
2a06:98c1:3120::3
Public Scan
Submitted URL: http://xhynk.com/
Effective URL: https://xhynk.com/
Submission: On January 24 via api from US — Scanned from NL
Effective URL: https://xhynk.com/
Submission: On January 24 via api from US — Scanned from NL
Form analysis
16 forms found in the DOM<form>
<h3 class="flex space-between full">Clickjacking Test:</h3>
<p style="margin-top: 0;">Make sure that your website is safe from <a href="https://en.wikipedia.org/wiki/Clickjacking">Clickjacking</a> attacks. Type in your URL below and click "Test URL", the test should take only a few seconds.</p>
<div class="flex nowrap align-center">
<input type="url" id="cj-url" onkeydown="(function(event){ if(event.keyCode == 13) { event.preventDefault(); var start = document.querySelector('#start-cj-test'); simulateClick(start); } })(event);"><span id="start-cj-test"
class="button primary small" style="top:0;margin-left:1em;" onclick="startCJTest(this, event);">Test URL</span>
</div>
</form>
<form>
<h3 class="flex space-between">Character Count: <span class="count-display">0</span></h3>
<textarea id="character-count" onkeyup="this.previousElementSibling.querySelector('.count-display').innerText = this.value.length;"></textarea>
</form>
<form>
<h3 class="flex space-between">Click Counter: <span class="count-display">0</span></h3>
<div class="grid columns-3 small-gap clickers">
<span class="button" onclick="var cd = this.closest('form').querySelector('.count-display'); cd.innerText = parseInt(cd.innerText) + 1; ">Increase</span>
<span class="button" onclick="var cd = this.closest('form').querySelector('.count-display'); cd.innerText = parseInt(cd.innerText) - 1; ">Decrease</span>
<span class="button" onclick="var cd = this.closest('form').querySelector('.count-display'); cd.innerText = 0;">Reset</span>
</div>
</form>
<form>
<h3>Base 64 Encode</h3>
<input type="text" onkeyup="this.nextElementSibling.innerText = btoa(this.value);">
<div class="result break-all"></div>
</form>
<form>
<h3>Base 64 Decode</h3>
<input type="text" onkeyup="this.nextElementSibling.innerText = atob(this.value);">
<div class="result break-all"></div>
</form>
<form>
<h3 class="flex space-between">
<span>URL Encode</span>
<label class="toggle" style="font-size: 12px;">
<input type="checkbox" onclick="var input = this.closest('form').querySelector('[type=\'text\']'); this.closest('form').querySelector('.result').innerText = (this.checked) ? encodeURI(input.value) : encodeURIComponent(input.value); ">
<span>Ignore Components</span>
</label>
</h3>
<input type="text" onkeyup="this.nextElementSibling.innerText = (this.previousElementSibling.querySelector('input').checked) ? encodeURI(this.value) : encodeURIComponent(this.value);">
<div class="result break-all"></div>
</form>
<form>
<h3 class="flex space-between">
<span>URL Decode</span>
<label class="toggle" style="font-size: 12px;">
<input type="checkbox" onclick="var input = this.closest('form').querySelector('[type=\'text\']'); this.closest('form').querySelector('.result').innerText = (this.checked) ? decodeURI(input.value) : decodeURIComponent(input.value); ">
<span>Ignore Components</span>
</label>
</h3>
<input type="text" onkeyup="this.nextElementSibling.innerText = (this.previousElementSibling.querySelector('input').checked) ? decodeURI(this.value) : decodeURIComponent(this.value);">
<div class="result break-all"></div>
</form>
<form>
<h3>Unserialize</h3>
<input type="text" onkeyup="this.nextElementSibling.innerText = read_unserialize(unserialize(this.value));">
<div class="result break-all"></div>
</form>
<form>
<h3>HTML Entities: Encode</h3>
<input type="text" onkeyup="this.nextElementSibling.innerText = html_entity_encode(this.value);">
<div class="result break-all"></div>
</form>
<form>
<h3>HTML Entities: Decode</h3>
<input type="text" onkeyup="this.nextElementSibling.innerText = html_entity_decode(this.value);">
<div class="result break-all"></div>
</form>
<form>
<h3 class="flex space-between">
<span>MD5 Hash</span>
</h3>
<input type="text" onkeyup="getMD5(this,event);">
<div class="result break-all"></div>
</form>
<form>
<h3 class="flex space-between">
<span>Spin-2-Win</span>
</h3>
<input type="text">
<span class="button primary small"
onclick="var text = this.previousElementSibling.value; if( text ){ var span = document.createElement('span'); span.onclick = function(){ this.remove() }; span.innerText = text; this.nextElementSibling.insertBefore(span, this.nextElementSibling.querySelector('.special')); this.previousElementSibling.value = ''; var labsDiv = document.getElementById('labs'); labsDiv.scrollTop = labsDiv.scrollHeight; this.previousElementSibling.focus(); }">Add</span>
<div class="result break-all">
<button class="button special" onclick="spin2win(event);">Spin-2-Win!</button>
</div>
</form>
POST https://xhynk.com/
<form id="contact-form" method="POST" action="https://xhynk.com/" onsubmit="ajaxSubmit(this,event);">
<div class="field flex-col-reverse">
<input required="" type="text" name="name" id="name" tab-index="-1" value="">
<input class="hidden" style="padding: 0; overflow: hidden;" type="text" name="your_last_name" id="your_last_name" tab-index="-1" autocomplete="nope" value="">
<label for="name">Name</label>
</div>
<div class="field flex-col-reverse">
<input style="display: none;" type="email" name="email" id="email" autocomplete="nope" value="">
<input required="" type="email" name="email" id="email" value="">
<label for="email">Email</label>
</div>
<div class="field flex-col-reverse">
<textarea required="" name="message" id="message" rows="4"></textarea>
<label for="message">Message</label>
</div>
<div class="field">
<div class="g-recaptcha" data-sitekey="6LfIOFgUAAAAANQ5vb6gmMGQuZoNlr_JCeU8-an-">
<div style="width: 304px; height: 78px;">
<div><iframe title="reCAPTCHA" width="304" height="78" role="presentation" name="a-fbzqzof6z8k4" frameborder="0" scrolling="no"
sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-top-navigation allow-modals allow-popups-to-escape-sandbox allow-storage-access-by-user-activation"
src="https://www.google.com/recaptcha/api2/anchor?ar=1&k=6LfIOFgUAAAAANQ5vb6gmMGQuZoNlr_JCeU8-an-&co=aHR0cHM6Ly94aHluay5jb206NDQz&hl=nl&v=Ya-Cd6PbRI5ktAHEhm9JuKEu&size=normal&cb=o0b4k7o9tctn"></iframe></div>
<textarea id="g-recaptcha-response" name="g-recaptcha-response" class="g-recaptcha-response" style="width: 250px; height: 40px; border: 1px solid rgb(193, 193, 193); margin: 10px 25px; padding: 0px; resize: none; display: none;"></textarea>
</div><iframe style="display: none;"></iframe>
</div>
</div>
<div class="actions">
<button name="submit" value="true" class="full">Send Message</button>
</div>
</form>
<form>
<h3>Step 1: Authorize Xhynk.com</h3>
<span>This part is <strong>easy</strong>, just click the button! A new page will open up, click the "Authorize App" button, and you'll come back here.</span>
<span class="button primary" onclick="requestTwitterToken(this,event);">Authorize Xhynk.com</span>
</form>
<form>
<h3>Step 2: Get an Access Token</h3>
<span>This part is <strong>also easy</strong>, again, just click the button! With xhynk.com authorized, we now need to get our access tokens.</span>
<span class="button primary" onclick="accessToken(this,event);" data-oauth-token="" data-oauth-verifier="">Get Access Token</span>
</form>
<form>
<h3>Step 3: Get Your Hat</h3>
<span><strong>Huzzah!</strong> All of the boring technical <strong>magic</strong> and hullabaloo is done! Now just click the button below to put on your Holiday Hat!</span>
<span class="primary button" onclick="putOnHat(this,event);">Put On Your Hat!</span>
</form>
Text Content
About Projects Labs Resources Reviews Contact Donate 1971 ALEXANDER DEMCHAK @Xhynk Lead Software Developer TikTok Discord 13,5810833698700519 Support Me Contact ABOUT I did my first Terrarium Building Stream on Saturday, March 26th, 2022! You can check out the replay on Twitch! A huge thank you to everyone who came and hung out! Howdy! I'm Alexander Demchak. I'm known colloquially online as Xhynk (pronounced "zinc"), and more recently: Stinky. I've been a web developer since 2010, and now work mainly with PHP and its associated languages. I've spent much of 2020 and 2021 helping cultivate positive, inclusive, non-toxic communities online - and have made some wonderful friends across the world since! Age:33 Years Freelance:Available Location:Salem, Oregon - USA Language:English EXPERTISE Web Development Whether you need a simple website, help integrating a WordPress theme, or a fully customized solution - I can help! Debugging Having issues with a PHP implementation, WordPress website (theme, plugin, dashboard), database, or DNS? Fear not! (check out my Stack Overflow profile for some reassurance!) Web Presence Analysis I can help you find critical usablitity errors on your website, consult about your online presence, and more. Teaching Stuck on a project, want to learn WordPress, have a PHP or JavaScript bug, or want to learn to empower your marketing? TERRARIUM MATERIALS If anybody would like to follow along, I've got a buy list! The minimum basics are: * Glass Container * Gravel/Rocks * Activated Charcoal * Sterile Potting Mix * and of course: Plants! There's a few other things that are helpful and or nice to have: * Tools: Wooden dowel/stick and long tweezers, spray bottle * Different sizes/colors of gravel * Sand * "Aeration Medium" (pumice, perlite, leca balls, etc) * Decorative elements (crystals, figures, etc - non bio-degradable!!)! Glass Container: Just about anything will work, with or without a lid. I prefer a loose fitting lid. You can use a mason jar too (just poke a hole in the lid). Any clear glass will work, however. Fish bowls, terrarium specific glass, hollow glass lamps, cookie jars, etc. Just make sure it's clear and not tinted! https://www.amazon.com/CYS-EXCEL-Glass-Container/dp/B08H3MY9V4/ https://www.amazon.com/Anchor-Hocking-2-Gallon-Heritage-Hill/dp/B000KKI7GY/ Gravel/Rocks: Having some nice river rocks and aquarium gravel is two-fold. It prevents stagnant stinky water in the base, and gives you some aesthetic elements on the top. No links - just get some rocks/gravel you like! Activated Charcoal: Useful for drainage, soil aeration, and most importantly - plant health! https://www.amazon.com/TerraGreen-Creations-Horticultural-Activated-Conditioning/dp/B095J8FG4P/ Potting Mix: Some will have activated charcoal and perlite in them, but they're still good to have separately as well. Make sure whatever mix you get does not have fertilizer additives in it. https://www.amazon.com/Terrarium-Soil-Terrariums-Filtering-Charcoal/dp/B091S7SFX9/ PLANTS: Most any ground plants that are not succulents will work great! Thinks like Nerve Plants, Polka Dot Plants, Goldfish Plants, Spidermoss, Creeping Fig, Clubmoss, Ferns, African Mask, etc - all do really well. A local nursery probably has a great selection for cheap (~$2-$5 per plant), but you may be able to get some from "the big box store" garden center too. https://www.amazon.com/Terrarium-Plants-Garden-Assorted-Varieties/dp/B07GBBZN8D/ ---- Optional/Helpful Things ---- Tools: Long tweezers are great. A long dowel is great for digging holes. Curved long-handle scissors for trimming is great. There's a million kits out there but something like this is great: https://www.amazon.com/dp/B07BBFZB4F/ - Also a spray bottle will make watering it much easier Sand: Basically, even smaller gravel. This is mostly an aesthetic element to help fill in some bare dirt spots on the top, I just like the way it looks! Aeration Medium: Many soils will have one in them, but having some extra for underneath and or breaking up soil is nice. Either pumice, perlite, or LECA balls work really well. Decorations!! These are purely aesthetic! Find something you think is cute/cool and stick it in there! Just make sure it's not biodegradable, otherwise it will rot and cause damage. Things like shells, crystals, or figurines are great! ------- If you want to be super prepared, be sure to boil any solid things you get and plan to put in. (Rocks, gravel, crystals, figures, etc) - Since these are semi-closed and semi-self sustaining, any yuckies you introduce will thrive (mold spores, fungal spores, etc) Side note, you can "get along" with, at a minimum: * a Mason Jar * Terrarium Soil * Plants * Some rocks from the backyard REVIEWS Write a Review THANKS SO MUCH!! Thanks so much for replying, and quickly too - really wasn’t expecting it to be honest. So yes, I have given the iframe approach a go. The settings I had come up with were a little janky but I implemented yours and they are much better! I’ll keep playing around with a few other solutions, but I just wanted to say thanks again for helping me out with this, and all the best with your future endeavours. Read Review GREAT PLUGIN Thanks for your rapid response. Fixed the problem. Read Review AMAZING! This is an amazingly effective and easy to use plugin. I went out searching for some code to adapt to my pages to do this same thing. Even about to hire someone on Fiverr. And then I came across the Content Mask plugin. It does exactly what I need in two steps. Thank you! Read Review WOW! YOU'RE MOVING FAST! VERY MUCH APPRECIATED! I’ve upgraded the module and there are quite a lot of changes. I think I’ve got it, after a few quick tests! Cheers and cold beers from Romania! PS – If I found something that’s not quite right, I let you know! I salute you, be safe! Read Review BRILLIANT APP I'm currently using the content masking plugin with a iFrame Read Review A WONDERFUL CONCEPT! I have a hard time articulating what's swirling around in my head, and Alex took the time to really extract and *understand* what I wanted. I'm super greatful for his time and effort!! Read Review OUTSTANDING TIME SAVER! This plug is wonderful! It works efficiently and saved me from custom coding, subdirectories, DNS changes, and more. I’m usually reluctant donate to plugins, but for this one I was more than happy to do so! Read Review MUST DOWNLOAD This works seamlessly and the developer is extremely responsive. You can tell he cares about his products. Read Review I JUST TESTED IT AND IT WORKS BEAUTIFULLY! Thank you so much for pushing this upgrade out! It helps me more than you can even imagine with the way some of my affiliate funnel is set up right now. Have a phenomenal rest of your week! I deeply appreciate your work! Read Review GREAT PLUGIN AND EVEN BETTER SUPPORT! I just got the plugin and it does all that I was looking for! I tried to find a solution to my problem for hours, and then I stumbled upon this plugin. Amazing. Also, the support is awesome! I noticed a small bug, and he quickly updated it. Most definitely recommend it. Thank you! Read Review LABS Super-Duper Top Secret Labs CLICKJACKING TEST: Make sure that your website is safe from Clickjacking attacks. Type in your URL below and click "Test URL", the test should take only a few seconds. Test URL CHARACTER COUNT: 0 CLICK COUNTER: 0 Increase Decrease Reset BASE 64 ENCODE BASE 64 DECODE URL ENCODE IGNORE COMPONENTS URL DECODE IGNORE COMPONENTS UNSERIALIZE HTML ENTITIES: ENCODE HTML ENTITIES: DECODE MD5 HASH SPIN-2-WIN Add Spin-2-Win! BLOG EMOTES View All Emotes Ever since I've been trying to cultivate a fun, positive, non-toxic atmosphere online (largely around programming and gaming communities) - making emotes for Twitch and Discord has been enormously fun! AdamBruh.gif CinderNope.gif CleoBox.png CleoBoxButt.gif CleoSadWantHug.png CleoUppies.gif Cleowo.png CrispBan.gif CrispBonk.png CrispBully.png CrispDarude.gif CrispDerp.png CrispDerp2.png CrispDerp2b.png CrispDickbutt.gif CrispFire.gif CrispGlow.png CrispGlowBlack.png CrispHeartHug.png CrispHug.png CrispHydrate.png CrispIceCreamDerp.png CrispJamAnim.gif CrispJamDerp.png CrispLol.png CrispNoBully.gif CrispNoLol.png CrispNote.gif CrispOctopus.png CrispPat.png CrispRainbowBleh.png CrispRainbowBleh2.png CrispSaber.gif CrispSaberBlack.gif CrispShake.gif CrispSlam.gif CrispWeinerAnim.gif CrispWeinerAnimZoom.gif CrispWigglyOctopus.gif CrispYesLol.png FarmerCrisp.png IsrafelWiggle.gif NORTH.png RIP-128.png SuperSayaCroc.png SuperSayaLOL.png SuperSayaSad.png SuperSayaSmug.png UNNORTH.png WigglyOctopus.gif WigglyOctopus2.gif WigglyOctopusX.gif blank.png cranberry.png cranberrybig.png crispdab.png crisphi.png crispspin.gif ib7.png ibBonk.png ibBonk2.png ibBooster.png ibBop.png ibBopChop.png ibBopChop2.png ibBopFish.png ibBopFish_A.gif ibBopHelm.png ibBopSpoon.png ibBopSword.png ibBopTreat.png ibBopUwU.png ibBruh.png ibBuffL.png ibBuffR.png ibBuster.png ibCake.png ibCharge.png ibCheeks.png ibCheeks2.png ibCircleThingy.png ibComfee.png ibComfy.png ibGasm.png ibGasp.png ibGlow.png ibGoth.png ibHeart.png ibHi.png ibHi_A.gif ibHornyJail.png ibHornyJailRGB.png ibHungJury.png ibIkelosSMG.png ibKEK.png ibKEKW.png ibKek.png ibLament.png ibLick.png ibLickyLicky.png ibLol.png ibLurkA.png ibLurkB.png ibLurkyLurky_anim.gif ibMask.png ibMeatBop.png ibMote.png ibNorth.png ibNoseBleed.png ibNotes.png ibOhnyo.png ibOoOoOoOo.gif ibOoo.png ibPain.png ibPatPat.gif ibPersonality.png ibSadWantHug-l.png ibSadWantHug.png ibSarcasm.png ibSlam.gif ibSlamNecrotic.gif ibSmoke.png ibSquee.png ibSqueeArt.png ibSqueeBear.png ibSqueePup.png ibSqueeVex.png ibStank.png ibSus.gif ibTeehee.png ibUrk.png ibWAT.png ibYeet.png xhynkTraumaCrux.png xhynkTraumaDorito.png xhynkTraumaIlluminati.png PROJECTS All DIY/Woodwork Programming OAK & LEATHER BOUND BOOKS For my Secret Santas this year, I handmade some Oak & Leather bound books, one "Short Stories of Overwatch" and one Fellowship of the Ring. Contact for Details UNDER THE WILLOW TREE VR My sweet Willow passed away during the eclipse in 2017. I'm making a VR game as a sentimental legacy project in honor of her. Slow & steady progress 💜 Video Contact WHIRLOCAL.IO WhirLocal is an easy-to-use automated "Neighborhood Marketing Platform" that makes it easy to get more ideal customers. Learn More CONTENT MASK A robust WordPress plugin that eliminates the need for complex domain masks and forwarders. Learn More DOGECARDS A silly project that uses PHP and Ajax to generate "Dogecards" on the fly. MySQL Database driven. Learn More KARMABOT A sentiment detecting, database driveno allow our Slack team to award "Karma" to users. Learn More PHIZSPA A website redesign for a client who underwent large-scale internal rebranding for her new location. Learn More PRIVACY & CONSENT ASSISTANT A plugin that inserts Form Consent to all forms on the site and a Tracking Consent bar. Learn More CUSTOM REPUTATION ENGINE REST API A custom API to allow easy access to local businesses' reputation and to embed their reviews. Learn More DONATE Donate via PayPal.me LIKE WHAT I'M DOING? I love making sure my discord and twitch bots, plugins, tutorials, and code samples are chugging along merrily - and donations help me keep doing what I'm doing. I have a couple ways to accept donations, and I'm sincerely thankful for each and every donation I get! DONATE VIA STREAMELEMENTS If you support me while I'm streaming, I'd love for you to do it here so I can thank you properly! BUY ME A KO-FI I drink so much coffee, it's only fitting! Support Me on Ko-fi DONATE DIRECTLY Venmo CashApp PayPal.me SUPPORT WITH CRYPTO I'm a crypto enthusiast, and these are just a few wallet addresses. I'm also available on Coinbase Wallet as @xhynk. 0x13d62F37eccf13aE0d266a54dBC9fA6DFb87FCcD 3LUzAsHe6v9rPNjtkGYHVdfPTb2kpAMrWc MFJQPCiAsG5ioQG2mT1XyQHhYx2bA6qksR 0x2B5bF1Ed8e22d99888DED7d3FCEf5c1865017b9C GDQP2KPQGKIHYJGXNUIYOMHARUARCA7DJT5FO2FFOOKY3B2WSQHG4W37 Memo: 1710883615 RESOURCES Request a Resource I've been starting to try and publicize resources when I end up helping someone, whether that's with a walk-through video, or StackOverflow answer. GOOGLE SHEETS AS TIMESHEET We used tedious paper timesheets, and then clunky or expensive software. We use Sheets for everything, why not our timesheet? A simple Apps Script validates/emails it to our CFO, while formulas in the sheet assist in maintenance. Apps Script Timesheet USING GITHUB I had someone ask me how to get started with GitHub, so I made this impromptu walk-through video. It covers the basics of using GitHub Desktop, committing changes, pushing and pulling, and a few other basics. View on Loom HOW I MADE XHYNK.COM MOVE Somebody asked me for a tutorial on how I made this website animated. I made this quick walkthrough showing a process to create some simple translation/rotation animation with JavaScript to make it look like it has depth. View on Loom BOX SHADOW BASICS I made this as I see more people joining #100DaysOfCode and learning the basics. Box Shadows are great, but most people make them way too stark for the elements they're on. View on CodePen CONTACT info@xhynk.com If you have any questions or want to get in touch, feel free to contact me below. (Note: Do not send me credentials through this form! If you need to send me any login credentials, please use the form located here: xhynk.com/keygen/) Name Email Message Send Message * Oregon * info@xhynk.com * Stack Overflow * Pluralsight logo icon PluralSight * GitHub * CodePen.io * WordPress.org * Twitter * TikTok TikTok * Twitch * Discord Discord * Facebook * Instagram * WhirLocal * LinkTr.ee WANT A HAT? Lol, we all want a hat Is your Twitter profile picture boring? Is it a picture of your face without a hat? Let me fix that for you! Using Google's Cloud Vision API, Twitter's Profile API, and PHP's ImageMagick Class Library, we can find your face, add a cool hat to your hat-less head, and then automatically upload it back to Twitter! STEP 1: AUTHORIZE XHYNK.COM This part is easy, just click the button! A new page will open up, click the "Authorize App" button, and you'll come back here. Authorize Xhynk.com STEP 2: GET AN ACCESS TOKEN This part is also easy, again, just click the button! With xhynk.com authorized, we now need to get our access tokens. Get Access Token STEP 3: GET YOUR HAT Huzzah! All of the boring technical magic and hullabaloo is done! Now just click the button below to put on your Holiday Hat! Put On Your Hat!