├── config.rb ├── download.rb └── config.json /config.rb: -------------------------------------------------------------------------------- 1 | #!/bin/ruby 2 | # frozen_string_literal: true 3 | 4 | require 'json' 5 | 6 | def notfound(list, id) 7 | !list.to_json.include? id.strip 8 | end 9 | 10 | PATH = '/media/drive/b/Scripts/tiktok/config.json' 11 | 12 | list = JSON.parse(File.read(PATH)) 13 | 14 | if notfound(list, ARGV[0]) 15 | list.unshift( 16 | fullname: ARGV[2].strip, 17 | id: ARGV[0].strip, 18 | username: ARGV[1].strip 19 | ) 20 | 21 | out = File.open(PATH, 'w') 22 | out.puts JSON.pretty_generate(list) 23 | out.close 24 | end 25 | -------------------------------------------------------------------------------- /download.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/ruby 2 | # frozen_string_literal: true 3 | 4 | require 'net/http' 5 | require 'uri' 6 | require 'json' 7 | 8 | def request(path, data) 9 | uri = URI.parse('http://127.0.0.1:3232') 10 | 11 | http = Net::HTTP.new(uri.host, uri.port) 12 | 13 | request = Net::HTTP::Post.new(path) 14 | request.add_field('Content-Type', 'application/json; charset=utf-8') 15 | request.body = data.to_json 16 | 17 | response = http.request(request) 18 | 19 | JSON.parse(response.body) 20 | end 21 | 22 | users = JSON.parse(File.read('config.json')) 23 | 24 | length = users.length 25 | users.each_with_index do |user, index| 26 | next if !user['download'].nil? && !user['download'] 27 | 28 | status = "[#{index}/#{length}]" 29 | userinfo = "#{user['username']}, #{user['fullname']}" 30 | puts "Downloading User => #{status} #{userinfo}" 31 | request('/api/v2/tiktok/download', 32 | 'id' => user['id'], 33 | 'download_all' => user['download_all'], 34 | 'url' => "https://www.tiktok.com/#{user['username']}") 35 | sleep(120) 36 | end 37 | -------------------------------------------------------------------------------- /config.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "fullname": "🍀 Tiêu Linh 🍀", 4 | "id": "6532788606560485378", 5 | "username": "@girl.plus" 6 | }, 7 | { 8 | "fullname": "simu", 9 | "id": "221685153021165568", 10 | "username": "@simratkaur_1629" 11 | }, 12 | { 13 | "fullname": "Hazal Kaya ( Feriha)", 14 | "id": "6648958061904658438", 15 | "username": "@seemasihag1" 16 | }, 17 | { 18 | "fullname": "Ruhani Sharma", 19 | "id": "6591113678044151814", 20 | "username": "@imruhanisharma" 21 | }, 22 | { 23 | "fullname": "Tasha", 24 | "id": "6655655292862971910", 25 | "username": "@tashaaachan" 26 | }, 27 | { 28 | "fullname": "mister wee wee", 29 | "id": "6690162465345651717", 30 | "username": "@misterweewee" 31 | }, 32 | { 33 | "fullname": "Saanvid", 34 | "id": "6615716990575919110", 35 | "username": "@saanvid9" 36 | }, 37 | { 38 | "fullname": "Eni Aksoy", 39 | "id": "6653415457444298757", 40 | "username": "@eniaksoy" 41 | }, 42 | { 43 | "fullname": "kaitlynreynolds88", 44 | "id": "6776270998612427782", 45 | "username": "@kaitlynreynolds88" 46 | }, 47 | { 48 | "fullname": "hannahtawfeek", 49 | "id": "6601754650959970309", 50 | "username": "@hannahtawfeek" 51 | }, 52 | { 53 | "fullname": "Daniellecohn", 54 | "id": "893865", 55 | "username": "@daniellecohn" 56 | }, 57 | { 58 | "fullname": "Angel Rai", 59 | "id": "6585104611370565638", 60 | "username": "@angelrai07" 61 | }, 62 | { 63 | "fullname": "Grace Germer", 64 | "id": "6691974793002828805", 65 | "username": "@gracegermer11" 66 | }, 67 | { 68 | "fullname": "HANA", 69 | "id": "15461602", 70 | "username": "@cookiebatter_" 71 | }, 72 | { 73 | "fullname": "A L I N A", 74 | "id": "6599641669488934917", 75 | "username": "@thebedoo" 76 | }, 77 | { 78 | "fullname": "Sydney Vézina", 79 | "id": "6685390137092375557", 80 | "username": "@sydneyvmay" 81 | }, 82 | { 83 | "fullname": "Bianca", 84 | "id": "21700200", 85 | "username": "@biancamols" 86 | }, 87 | { 88 | "fullname": "Khushboo", 89 | "id": "6616470247375896582", 90 | "username": "@khushboonee23" 91 | }, 92 | { 93 | "fullname": "Prastuti", 94 | "id": "157216381770268672", 95 | "username": "@its_prastuti" 96 | }, 97 | { 98 | "fullname": "Sweet like candy", 99 | "id": "6582582061210255366", 100 | "username": "@soulsuckerr" 101 | }, 102 | { 103 | "fullname": "PAOLA-OFFICIAL", 104 | "id": "6631332497329651717", 105 | "username": "@MS4wLjABAAAAygrBrF9nQ-oFOAmOIy0XTrPFjQxSM-pCrWT_OsysKh02FZ6eSLuMM6oeiyx_M9Vj" 106 | }, 107 | { 108 | "fullname": "Inbar Katzenelson", 109 | "id": "6688758814982439941", 110 | "username": "@hegao_self" 111 | }, 112 | { 113 | "fullname": "Aviva", 114 | "id": "6671262051363864581", 115 | "username": "@avivasofia", 116 | "download": true 117 | }, 118 | { 119 | "fullname": "Hitomi", 120 | "id": "6615828239791161349", 121 | "username": "@cchelseameow" 122 | }, 123 | { 124 | "fullname": "Mahhi Chaudhari", 125 | "id": "6634830765286801414", 126 | "username": "@drama__queen__24" 127 | }, 128 | { 129 | "fullname": "👑Pai gajjar👑", 130 | "id": "6566141824284213254", 131 | "username": "@paimandaviya" 132 | }, 133 | { 134 | "fullname": "Meji.D❤️💋", 135 | "id": "305424773575286784", 136 | "username": "@mejidiwan" 137 | }, 138 | { 139 | "fullname": "💫shru💫", 140 | "id": "6604254836869939205", 141 | "username": "@shrutiii__03" 142 | }, 143 | { 144 | "fullname": "Luca Gallone", 145 | "id": "286722046674259968", 146 | "username": "@lucagallone" 147 | }, 148 | { 149 | "fullname": "shital_suthar", 150 | "id": "6708346878306845702", 151 | "username": "@shital_suthar" 152 | }, 153 | { 154 | "fullname": "Kim Anh", 155 | "id": "6527634755290300417", 156 | "username": "@kimanh8398" 157 | }, 158 | { 159 | "fullname": "Sulli ♥️ ", 160 | "id": "6618087616712491010", 161 | "username": "@min_cutiee" 162 | }, 163 | { 164 | "fullname": "R2Dqueen👑", 165 | "id": "6568952281940328454", 166 | "username": "@r2d_queen" 167 | }, 168 | { 169 | "fullname": "Unzana'x Xti", 170 | "id": "6657033646329282566", 171 | "username": "@MS4wLjABAAAANNKeqy4vxdjTA6cPxaYpup0fLAv0WlPWv5Z7JardcDtRh_y8ev_4a4I1iNSWBWu4" 172 | }, 173 | { 174 | "fullname": "Luca Gallone", 175 | "id": "6542379313851798528", 176 | "username": "@durgagiri2" 177 | }, 178 | { 179 | "fullname": "long neck boi", 180 | "id": "224642762392866816", 181 | "username": "@long_neck_boi" 182 | }, 183 | { 184 | "fullname": "HUI", 185 | "id": "6585218667443847174", 186 | "username": "@vivichow2018" 187 | }, 188 | { 189 | "fullname": "玲爺", 190 | "id": "6634307583975391234", 191 | "username": "@179ling" 192 | }, 193 | { 194 | "fullname": "Sristi", 195 | "id": "6559647414620585989", 196 | "username": "@_sristi321" 197 | }, 198 | { 199 | "fullname": "MeoCathyna🌹", 200 | "id": "6620502221799325698", 201 | "username": "@meo_meo_" 202 | }, 203 | { 204 | "fullname": "vidisha_mali_25", 205 | "id": "250315147469000704", 206 | "username": "@vidisha.mali.8" 207 | }, 208 | { 209 | "fullname": "羽衣(うい)", 210 | "id": "75096673026", 211 | "username": "@0922_17" 212 | }, 213 | { 214 | "fullname": "Unavailable", 215 | "id": "265613255182827520", 216 | "username": "@angie_23.8" 217 | }, 218 | { 219 | "fullname": "maya magar", 220 | "id": "6659765863481491462", 221 | "username": "@maya5693magar" 222 | }, 223 | { 224 | "fullname": "她街拍", 225 | "id": "6615828347739979781", 226 | "username": "@shestreetshooting" 227 | }, 228 | { 229 | "fullname": "❤Sanjana❤", 230 | "id": "6537678113143280655", 231 | "username": "@sanju.99" 232 | }, 233 | { 234 | "fullname": "เบลล์ นิภาดา🦄🦄🦄", 235 | "id": "6530885812409532418", 236 | "username": "@nipada2003" 237 | }, 238 | { 239 | "fullname": "kiki_8_", 240 | "id": "6618053920165298181", 241 | "username": "@kiki_8_" 242 | }, 243 | { 244 | "fullname": "릴리🐹", 245 | "id": "6537573016485068802", 246 | "username": "@li_ly_0" 247 | }, 248 | { 249 | "fullname": "撒琳", 250 | "id": "6524927629539360769", 251 | "username": "@loveceline123" 252 | }, 253 | { 254 | "fullname": "tenlhatse", 255 | "id": "146390040733040640", 256 | "username": "@tenlhatse" 257 | }, 258 | { 259 | "fullname": "ら み か", 260 | "id": "6504906190072561666", 261 | "username": "@rnif" 262 | }, 263 | { 264 | "fullname": "New Y-Kid", 265 | "id": "6531491175650557954", 266 | "username": "@newykid" 267 | }, 268 | { 269 | "fullname": "Lisa", 270 | "id": "6590064452560863237", 271 | "username": "@lisa_snowlilly" 272 | }, 273 | { 274 | "fullname": "Kaykai", 275 | "id": "67543463857", 276 | "username": "@kaykai_ntch" 277 | }, 278 | { 279 | "fullname": "αuy (อุ้ย)", 280 | "id": "74193919419", 281 | "referer": "https://www.tiktok.com/@MS4wLjABAAAAtrhhNcozINVf0RWEwi5l_M5oM56SdSiu5x3ZiByx-X0", 282 | "username": "@MS4wLjABAAAAtrhhNcozINVf0RWEwi5l_M5oM56SdSiu5x3ZiByx-X0" 283 | }, 284 | { 285 | "fullname": "BAM BAM ♥︎", 286 | "id": "73335860254", 287 | "username": "@bambam_ka" 288 | }, 289 | { 290 | "fullname": "Meijimill", 291 | "id": "76205128141", 292 | "referer": "https://www.tiktok.com/@MS4wLjABAAAA6q9jc4AONHmM_4WgqHyHWzomxkB6rIdpSsLBoA1CVd0", 293 | "username": "@MS4wLjABAAAA6q9jc4AONHmM_4WgqHyHWzomxkB6rIdpSsLBoA1CVd0" 294 | }, 295 | { 296 | "fullname": "MonhomYeekham", 297 | "id": "75372109146", 298 | "username": "@ploy_5511" 299 | }, 300 | { 301 | "fullname": "นัทฐมล บุญหนุนเทศ", 302 | "id": "6518323173716295681", 303 | "referer": "https://www.tiktok.com/@MS4wLjABAAAArZNypNWya857wQw-OarRWkadLZBb7k59dqSRnVnz9Kt1c4hzyDA1eJVIKxv8To4k?enter_from=h5_t", 304 | "username": "@MS4wLjABAAAArZNypNWya857wQw-OarRWkadLZBb7k59dqSRnVnz9Kt1c4hzyDA1eJVIKxv8To4k" 305 | }, 306 | { 307 | "fullname": "Luca Gallone", 308 | "id": "269413865300549632", 309 | "username": "@ploy_5511" 310 | }, 311 | { 312 | "fullname": "Nhữ thuần 2001", 313 | "id": "6567928551340408833", 314 | "username": "@0399308491thuan" 315 | }, 316 | { 317 | "fullname": "Jenna_Fleita", 318 | "id": "6632430409371353093", 319 | "username": "@jenna_fleita" 320 | }, 321 | { 322 | "fullname": "Anu 🌸", 323 | "id": "6599204867083517958", 324 | "username": "@its_anu19" 325 | }, 326 | { 327 | "fullname": "Dancer_青青", 328 | "id": "6615832459411980294", 329 | "username": "@brittanycruz627" 330 | }, 331 | { 332 | "fullname": "lhadorje", 333 | "id": "6171987", 334 | "username": "@lhadorje" 335 | }, 336 | { 337 | "fullname": "Kingkamol Chookawiro", 338 | "id": "6548314611485032449", 339 | "referer": "https://www.tiktok.com/@MS4wLjABAAAAhuENiPelUq_xq6j6WJqXKdcFyW1ECSYZztP-jZiEchCWuhF5vtukKwhSAGNr_s_C?enter_from=h5_t", 340 | "username": "@MS4wLjABAAAAhuENiPelUq_xq6j6WJqXKdcFyW1ECSYZztP-jZiEchCWuhF5vtukKwhSAGNr_s_C" 341 | }, 342 | { 343 | "fullname": "Divya Chauhan", 344 | "id": "6521188290954007552", 345 | "username": "@stylista_10" 346 | }, 347 | { 348 | "fullname": "余 旻 旻(。・ω・。)🌻", 349 | "id": "6516360574120673282", 350 | "username": "@_chinun1004" 351 | }, 352 | { 353 | "fullname": "Anjuzz", 354 | "id": "6527224209377072143", 355 | "username": "@anjana.k.r" 356 | }, 357 | { 358 | "fullname": "Aakash Gajjar", 359 | "id": "6573125246566678529", 360 | "username": "@skyme5" 361 | } 362 | ] 363 | --------------------------------------------------------------------------------