Skip to content
/ tikmeh Public

An executable to download videos, profiles, sync your collection with authors in one command with the best quality available. No installation required, you don't have to use Terminal.

License

Notifications You must be signed in to change notification settings

mehanon/tikmeh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tikmeh

0.2.3 (Jan 8, 2023)

Single executable to download videos, profiles, sync your collection with authors in one command with the best quality available. No installation required, you don't have to use Terminal.

I was asked to add conversion to h.264, so now Tikmeh could access user-provided ffmpeg, by default the system's one.

  • tikmeh.exe – download Windows (amd64) executable ( compatible even with Win7)
  • tikmeh – download Linux (amd64) executable

Examples:

  • tikmeh – interactive mode (more on that later)
  • tikmeh tiktok.com/@shrimpydimpy/video/7133412834960018730 – simply download the video
  • tikmeh --convert --directory goddess 7133412834960018730 – download to ./goddess and convert to h.264
  • tikmeh profile shrimpydimpy losertron – download all their videos to ./shrimpydimpy & ./losertron accordingly
  • tikmeh --directory ./mp4 profile @shrimpydimpy – download all @shrimpydimpy videos to ./mp4 videos to ./shrimpydimpy, ./losertron accordingly
  • tikmeh -d . -c profile --all losertron – download all losertron videos to current directory, convert to h.264

Sync?

Yes, literally synchronization. Just download a profile once in full and Tikmeh wouldn't re-upload already downloaded videos.

Note: by default Tikmeh loads the profile until it meets already downloaded video, to ensure nothing is skipped, use check-all flag. By default, directory named after the profile username is created.

Interactive mode

Exists mainly for Windows users, which usually don't like to use Terminal, so they could just start in this simple python-like environment.

Tikmeh (0.2.0 (Nov 4, 2022)) [sources and up-to-date executables: https://github.com/mehanon/tikmeh]
Enter 'help' to get help message.
>>> --directory mp4 tiktok.com/@shrimpydimpy/video/7133412834960018730
mp4/shrimpydimpy_2022-08-19_7133412834960018730.mp4
>>> profile @losertron
loading `@losertron` profile...
losertron/losertron_2022-09-14_7143063253696908586.mp4
losertron/losertron_2022-08-25_7135799462227660075.mp4
done.
>>> exit

Installing on Linux in one command

wget -q https://github.com/mehanon/tikmeh/releases/download/v0.2.3/tikmeh && chmod +x tikmeh && sudo mv tikmeh /usr/bin/ && tikmeh help

Building from sources

Note: requires Golang 1.19+

git clone https://github.com/mehanon/tikmeh
cd tikmeh
go build

Using Tikwm utilities in your own project

Simply add submodule import "github.com/mehanon/tikmeh/tikwm"

package main

import (
	"fmt"
	"github.com/mehanon/tikmeh/tikwm"
	"log"
	"strings"
)

func main() {
	files, err := tikwm.NewProfileDownloader("kaycoree").Download()
	if err != nil {
		log.Fatal(err)
	}
	fmt.Print(strings.Join(files, "\n"))
}

Caveats

  1. The name is fucking retarded. Let's pretend it's after Tikmeh (iranian village)
  2. Windows anti-malware may not allow tikmeh.exe to access the internet, in this case administrator rights might help (idk how Windows work). You don't have to trust me, building from sources is always an option.
  3. Tikmeh depends on tikwm.com/api, which is the main bottleneck (1 request/10 sec is cringe)

TODO:

  • – become independent of tikwm to improve performance multiple times.
  • – embed ffmpeg a way that don't require the user to download ffmpeg somewhere separately (is somewhat realised, but ffmpeg has to be provided by user)

Special thanks to 2ch.hk/media community for suggesting tikwm.com

About

An executable to download videos, profiles, sync your collection with authors in one command with the best quality available. No installation required, you don't have to use Terminal.

Resources

License

Stars

Watchers

Forks

Packages

No packages published