Search
PBKDF2_Generator
@rozek
This is a simple generator for PBKDF2 password hashes. It can be used to manually generate these hashes and store it in a password file if no other mechanism for doing so is available. There is no specific required format for the password. For the number of iterations, values from 100000 up to 999999 are accepted - in these days, values of 600000 or higher are recommended. The final output has the format "{PBKDF2}<iterations>$<salt>$<hash>" where salt and hash are Base64-encoded. You may copy it directly or use salt and hash separately if you need a different format. The applet uses WebCrypto and runs entirely within the browser.
HTTP
const TrackingTable = 'PBKDF2_Generator'
const Granularity = 15*60*1000
export default async function (Request:Request):Promise<Response> {
if (Request.method !== 'GET') {
return new Response('Method Not Allowed', { status:405 })

ghIssueFromNodeId
@augustohp
An interactive, runnable TypeScript val by augustohp
Script
export async function ghIssueFromNodeId(nodeId: string, token: string): Promise<{
id: string;
number: number;
math
@ezg
@jsxImportSource https://esm.sh/react@18.2.0
HTTP
* Allows evaluating math expressions
function App() {
const [expression, setExpression] = useState("");
* Renders the React application
function client() {
createRoot(document.getElementById("root")).render(<App />);
* Server-side handler for evaluating math expressions using math.js
export default async function server(request: Request): Promise<Response> {
const url = new URL(request.url);
perseveringAmaranthChipmunk
@dnakhooda
// Fetches a random joke.
Script
import { email } from "https://esm.town/v/std/email?v=9";
// Fetches a random joke.
async function fetchRandomJoke() {
const response = await fetch(
"https://official-joke-api.appspot.com/random_joke",
valle_tmp_2350503646544852617117329959463667
@janpaul123
// This val responds with an HTML greeting of "Hello world"
HTTP
// This val responds with an HTML greeting of "Hello world"
export default async function(req: Request): Promise<Response> {
const htmlResponse = "<h1>Hello world</h1>";
return new Response(htmlResponse, {

emilrdle
@stevekrouse
Emilrdle A word game I made to propose to my then-girlfriend Emily
HTTP
function Modal({ isOpen, onClose, children }) {
function WinModal({ isOpen, onPlay }) {
function ProposalModal({ isOpen }) {
function App() {
function GameBoard(
function Keyboard({ usedLetters, onKeyPress, disabled }) {
function client() {
export default async function server(request: Request): Promise<Response> {
0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(0.8, 0, 1, 1); }
50% { transform: translateY(0); animation-timing-function: cubic-bezier(0, 0, 0.2, 1); }
updateValByID
@nbbaier
An interactive, runnable TypeScript val by nbbaier
Script
readme?: string;
privacy?: "public" | "unlisted" | "private"; // Added privacy option
export function updateValByID({ token, valId, code, name, readme, privacy }: UpdateValArgs): Promise<any> {
const body: Record<string, unknown> = {
token,
readabilityHTTPProxy
@nbbaier
An interactive, runnable TypeScript val by nbbaier
HTTP
</body>
</html>
export default async function(req: Request): Promise<Response> {
const JSDOM = jsdom.JSDOM;
const url = new URL(req.url);
</form>
<script>
document.getElementById('nameForm').onsubmit = function(event) {
event.preventDefault();
const targetURL = document.getElementById("name").value
blitheTealAnteater
@Nabby
An interactive, runnable TypeScript val by Nabby
Cron
export default async function (interval: Interval) {
jobBoardApp
@Kababa
An interactive, runnable TypeScript val by Kababa
HTTP
export default function readme() {
return `# 🚀 Job Opportunities Community Board
## Overview
3. Browse current job listings
4. Chat with other community members
## 🔑 Key Functionality
- Job Posting: Users can submit job titles, companies, and descriptions
- Chat Room: Requires username, supports real-time messaging
add
@benjiwheeler
An interactive, runnable TypeScript val by benjiwheeler
Script
export function add(a: number, b: number) {
return a + b;
export const MEANING_OF_LIFE = 42;

isValTownTeam
@stevekrouse
An interactive, runnable TypeScript val by stevekrouse
Script
import { valTownTeam } from "https://esm.town/v/stevekrouse/valTownTeam";
export function isValTownTeam(handle) {
return valTownTeam.includes(handle.replace("@", ""));

discordEventReceiver
@neverstew
An interactive, runnable TypeScript val by neverstew
HTTP
export default async function handler(req: Request) {
console.log(await req.json());
return Response.json({ ok: true });
whoNext
@thedavis
The cruddiest CRUD app for my @me.roundRobin private val. maintains a round-robin schedule for who should go next in a meeting. This should probably not be accessed manually, but thru a yet-to-be-designed slack bot.
Script
import { roundRobin } from "https://esm.town/v/thedavis/roundRobin";
export function whoNext(query, arg) {
const m = {
"help": () =>

notUberAccount
@vawogbemi
@jsxImportSource https://esm.sh/react@18.2.0
Script
import React from "https://esm.sh/react@18.2.0";
import { INSTANTDB_APP_ID } from "https://esm.town/v/vawogbemi/notUberConsts";
export function Account() {
const db = init({ appId: INSTANTDB_APP_ID });
const { signOut } = useAuth();