Skip to content

Instantly share code, notes, and snippets.

View maitrungduc1410's full-sized avatar
πŸ’ͺ
Keep chasing your dreams!

Duc Trung Mai maitrungduc1410

πŸ’ͺ
Keep chasing your dreams!
View GitHub Profile
@maitrungduc1410
maitrungduc1410 / index.js
Last active May 8, 2026 10:59
TT video chunk
/**
*
* - TαΊ£i chunk Δ‘αΊ§u tiΓͺn, đọc header Content-Range tα»« server để biαΊΏt tα»•ng dung lượng
* - Sau Δ‘Γ³ tαΊ£i tiαΊΏp cΓ‘c chunk cΓ²n lαΊ‘i (nαΊΏu cΓ³)
* - Cuα»‘i cΓΉng nα»‘i lαΊ‘i thΓ nh 1 file video hoΓ n chỉnh
*
* YΓͺu cαΊ§u: Node.js >= 18 (vΓ¬ dΓΉng fetch)
*/
import fs from "fs";
@maitrungduc1410
maitrungduc1410 / .env
Last active April 8, 2026 00:13
Docker compose HEALTHCHECK for MongoDB with authentication (Mongo V4,5,6 supported)
DB_HOST=db
DB_PORT=27017
DB_ROOT_USER=root
DB_ROOT_PASS=rootpass
DB_USER=user
DB_PASSWORD=userpass
DB_NAME=mydb
@maitrungduc1410
maitrungduc1410 / create-vod-hls-gpu.sh
Last active December 21, 2025 20:22
Bash scripts to create VOD HLS stream with ffmpeg using GPU
#!/usr/bin/env bash
START_TIME=$SECONDS
set -e
echo "-----START GENERATING HLS STREAM-----"
# Usage create-vod-hls-gpu.sh SOURCE_FILE [OUTPUT_NAME]
[[ ! "${1}" ]] && echo "Usage: create-vod-hls.sh SOURCE_FILE [OUTPUT_NAME]" && exit 1
# comment/add lines here to control which renditions would be created
renditions=(
@maitrungduc1410
maitrungduc1410 / index.html
Created September 7, 2025 15:32
Smooth video progress bar
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Smooth Video Progress Bar</title>
<style>
body {
font-family: sans-serif;
padding: 20px;
background: #f8f8f8;
@maitrungduc1410
maitrungduc1410 / create-vod-hls.sh
Last active April 12, 2025 01:00
Bash scripts to create VOD HLS stream with ffmpeg (Extended version)
#!/usr/bin/env bash
START_TIME=$SECONDS
set -e
echo "-----START GENERATING HLS STREAM-----"
# Usage create-vod-hls.sh SOURCE_FILE [OUTPUT_NAME]
[[ ! "${1}" ]] && echo "Usage: create-vod-hls.sh SOURCE_FILE [OUTPUT_NAME]" && exit 1
# comment/add lines here to control which renditions would be created
renditions=(
@maitrungduc1410
maitrungduc1410 / App.js
Last active November 24, 2024 14:43
React-native-sound. Play audio from URL
import React, {Component} from 'react';
import {SafeAreaView, Text, View, Alert, Button, Switch} from 'react-native';
import Sound from 'react-native-sound';
class App extends Component {
constructor(props) {
super(props);
Sound.setCategory('Playback', true); // true = mixWithOthers
@maitrungduc1410
maitrungduc1410 / ChatItem.vue
Last active October 28, 2023 08:20
ChatLayout and ChatItem, chat.blade.php
<template>
<div class="message">
<div class="message-item user-name">
MTD
</div>
<div class="message-item timestamp">
| 11:21:32:
</div>
<div class="message-item text-message">
Hello how are you
@maitrungduc1410
maitrungduc1410 / Dockerfile
Created October 22, 2023 03:38
Docker Centos Nginx JWT
FROM quay.io/sclorg/nginx-120-c8s as base
FROM base as builder
USER root
ARG JWT_MODULE_PATH=/usr/local/lib/ngx-http-auth-jwt-module
ARG LIBJWT_VERSION=1.13.1
ARG NGINX_VERSION=1.20.0
@maitrungduc1410
maitrungduc1410 / docker-compose.yml
Created November 4, 2020 03:00
Docker PHP Nginx without mouting source code to Nginx
version: '3.4'
services:
app:
image: php:7.2-fpm-alpine
restart: unless-stopped
volumes:
- ./:/var/www/html
- ./www.conf:/usr/local/etc/php-fpm.d/www.conf
webserver:
@maitrungduc1410
maitrungduc1410 / middleware.ts
Created July 8, 2023 03:40
Sync session between Next Auth and Keycloak
import { withAuth } from "next-auth/middleware";
export default withAuth(
{
pages: {
signIn: "/auth/signin",
},
callbacks: {
authorized: async ({ token }) => {
if (!(token as any)?.id_token) return false;