Тёмный

Make Money from your API Tutorial 

Fireship
Подписаться 3,1 млн
Просмотров 867 тыс.
50% 1

Learn how to collect payments from an API or SaaS product. In this tutorial, we build an Express.js API from scratch, then make money by integrating Stripe Metered Billing. fireship.io/lessons/api-monet...
#js #makemoney #code
🔗 Resources
Full Stripe JavaScript Course fireship.io/courses/stripe-js/
Stripe Billing stripe.com/docs/billing/subsc...
Source Code github.com/fireship-io/api-mo...
RapidAPI approach: ‪@aniakubow‬ • Build and sell your ow...
📚 Chapters
00:00 Intro
00:37 How API Monetization Works
01:59 Build an API with Express
04:17 Metered Billing Products
05:17 Stripe Checkout
06:41 Listen to Webhooks
08:33 Generate API Keys
11:05 Record Usage
🔥 Get More Content - Upgrade to PRO
Upgrade to Fireship PRO at fireship.io/pro
Use code lORhwXd2 for 25% off your first payment.
🎨 My Editor Settings
- Atom One Dark
- vscode-icons
- Fira Code Font
🔖 Topics Covered
- Create custom API keys in node
- Node hashing crypto
- Stripe webhooks
- Metered billing for API

Наука

Опубликовано:

 

29 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 834   
@aniakubow
@aniakubow 2 года назад
Thanks for the mention Fireship! You are the best!!!
@naveenkr5992
@naveenkr5992 2 года назад
Hmm I just watched your video lol
@mekes8541
@mekes8541 2 года назад
He is
@manan5
@manan5 2 года назад
As soon as I saw fireships video I remembered that I am having a deja vu lol. I saw your video first. It was awesome
@laudijksterhuis
@laudijksterhuis 2 года назад
I have this amazing API idea in my head for weeks now, with your videos it is one step closer to reality :D
@fairytailnaruto7693
@fairytailnaruto7693 2 года назад
I’ve watched your video too. Very good work !
@mdridoy-ef2pw
@mdridoy-ef2pw 2 года назад
building the API is the easy part. coming up with an idea that actually solves a problem is the hard part.
@alb12345672
@alb12345672 2 года назад
It is pretty saturated too.
@ShivamJha00
@ShivamJha00 2 года назад
Exactly
@ivanjermakov
@ivanjermakov 2 года назад
And it should solve it better than existing solutions
@AvenDonn
@AvenDonn 2 года назад
I'd say the hard part is actually providing a useful solution. A service that tells you what someone else is thinking about is a trillion dollar idea. Now implement it
@MrMudbill
@MrMudbill 2 года назад
Just remember that ideas are cheap. Often times it doesn't matter if you're original if you can implement it better than others.
@griffin955
@griffin955 2 года назад
As others have said, it isn't too hard to create a simple API. It doesn't need to be complex or comprehensive. The best thing to do is to wait for a new trend to integrate an API into, and then the demand for your API will come naturally. There's no point competing, just be relevant.
@thomasrobertson9835
@thomasrobertson9835 2 года назад
You are dead on, but do you realize what you're saying? These "trends" are here. Think of an idea that the news can't stop talking about, think of the vast amount and what type of data that's required for these people to pursue their (nefarious) plans... now serve it to them, if you don't someone else will. and hope history remembers you as the messenger and not the facilitator. I can think of several trends that fit this but there's particularly one that absolutely dominates the others and it's not going to be talked about by anyone making APIs already.
@Hacking-NASSA-with-HTML
@Hacking-NASSA-with-HTML Год назад
@Thomas Robertson why nefarious only 🤷???? Are there no more good ones 🤔????
@blasttrash
@blasttrash 7 месяцев назад
@@thomasrobertson9835which trends are you referring to?
@Khoi_Huynh
@Khoi_Huynh 2 года назад
I used to be an Android developer, but switched to Product management shortly after since coding wasn't really for me, so i haven't coded in years. It's always great watching your videos to have a high-level understanding of how things should work. It makes talking with the developers much easier.
@marusdod3685
@marusdod3685 2 года назад
you got promoted to your level of incompetence
@ayushmoudgil9345
@ayushmoudgil9345 2 года назад
Hi, I feel the same way that coding isn't for me although i am trying really hard, could you please suggest me how did you make the switch to Product Management?
@weshuiz1325
@weshuiz1325 2 года назад
a dollar for a bunch of fire emoji's sounds *LIT*
@engageintellect
@engageintellect Год назад
This is hands down the best dev channel on YT. Straight to the point, clear, and easy to follow. Always great content.
@uziboozy4540
@uziboozy4540 2 года назад
You're fucking awesome man! Even though I'm not learning anything new, it's always a pleasure to watch your damn well made videos.
@lmtr0
@lmtr0 2 года назад
It's worth pointing out that md5 is not a great hashing function for sensible data, in general argon2 and bycrypt are much more secure
@dynamicdanymo8343
@dynamicdanymo8343 2 года назад
Bcrypt is commonly used now (I think not sure at least that's what I've used before)
@lmtr0
@lmtr0 2 года назад
@@dynamicdanymo8343 yes, but argon2 won the competition, if you have the option to choose which one to use, my recommendation is argon2
@liesdamnlies3372
@liesdamnlies3372 2 года назад
@@lmtr0 With 10+ passes. Though that’s getting into “hey actually read the documentation” territory, which no one does even if it’s important.
@liesdamnlies3372
@liesdamnlies3372 2 года назад
I am getting _really_ tired of web developers using MD5 as an example for cryptographic purposes. No mention of salt and pepper either. Oh well. At least I won’t be out of a job I guess.
@lmtr0
@lmtr0 2 года назад
@@liesdamnlies3372 Now I'm getting offended, I really read the documentation. LMAO
@uziboozy4540
@uziboozy4540 2 года назад
I'd love to see some videos on the following topics: Gitlab Auto DevOps Chaos Engineering (Litmus) Policy as Code (Open Policy Agent) Compliance as Code In general just more topics on security, DevOps & Site Reliability
@heroe1486
@heroe1486 2 года назад
Just read the front page of any projects or notable ressources regarding the subject and you'll have the same amount of infos, his videos are nice for discovering things but otherwise it's just the basic exemples from the READMEs
@uziboozy4540
@uziboozy4540 2 года назад
@@heroe1486 @Heroe / you obviously don't know the amount of research required. You can't just "read the front page" rofl. There's a big difference between reading something, understanding it and using it in practice.
@rz2374
@rz2374 2 года назад
@@uziboozy4540 No, they mean reading the front page (and some docs and stuff) will provide the same level of info as Fireship's videos. However, there are various small but helpful or important things you might learn from Fireship as he is an experienced dev.
@hargunbeersingh8918
@hargunbeersingh8918 2 года назад
@@uziboozy4540 you need to learn "how to ask questions", if you wanna learn about these concepts read wikis, there is just a lot of content out there on the internet
@uziboozy4540
@uziboozy4540 2 года назад
@@hargunbeersingh8918 bruh, when did I ever state that I specifically needed videos for these topics? It was a simple suggestion, moron.
@calitts4708
@calitts4708 2 года назад
Love this videos about API's! Great work as always!
@theocrob
@theocrob 2 года назад
Oh my god dude, your visuals and graphics are some of the best in the game. Keep it up!
@yagedygag
@yagedygag 2 года назад
and his jokes too
@marinajordan8939
@marinajordan8939 2 года назад
this was great, very helpful. it's crazy how much information you cover in such a short video.
@JamesQQuick
@JamesQQuick 2 года назад
this was awesome!!
@disk38
@disk38 2 года назад
just wow, you're every tech enthusiastics dream to be as great as you
@farhansangaji5029
@farhansangaji5029 2 года назад
If i can sell my API for dollar a request then i will make Elon Musk be a second richest man
@Fireship
@Fireship 2 года назад
Gotta keep up with that inflation
@rafflezs
@rafflezs 2 года назад
@@klicer3068 just preach bad code and watch people making more requests than needed.
@jaiv
@jaiv 2 года назад
@@rafflezs Genius
@user-ir2fu4cx6p
@user-ir2fu4cx6p 2 года назад
@@rafflezs you are my hero.
@ivanjermakov
@ivanjermakov 2 года назад
@@rafflezs That is literally illegal
@xenialxerous2441
@xenialxerous2441 2 года назад
A million thanks for yet another gem of a work!!
@abrahamugbeshe1990
@abrahamugbeshe1990 2 года назад
This is really what I wanted. Nice one Jeff 🔥
@andreasdevjs298
@andreasdevjs298 2 года назад
It is simply amazing that this content is free. Thank you ❤
@TheNamesJT
@TheNamesJT 2 года назад
plain and simple we need a full course of this
@markemerson98
@markemerson98 2 года назад
bravo - succinct, no fuss and on point.
@TayDex_
@TayDex_ 2 года назад
I love your channel, all the stuff you need in 1 video
@adygombos4469
@adygombos4469 2 года назад
That's exactly what I needed. Now all I have to do is find an idea for an API that anyone would want to pay for.
@njabulophiri4583
@njabulophiri4583 2 года назад
Exactly my thoughts.
@418im_a_teapot4
@418im_a_teapot4 2 года назад
that's the hard part.
@CodeWithAndrea
@CodeWithAndrea 2 года назад
As usual, outstanding video!!
@shimronalakkal523
@shimronalakkal523 2 года назад
Seriously, your videos are like the best. These are just awesome. Keep up the great work man.
@wealthmaster69
@wealthmaster69 2 года назад
Indiano?
@brandonsayring
@brandonsayring 2 года назад
The charging $1 for an emoji data response bit had me in tears 😂
@mahmoudalaskalany
@mahmoudalaskalany 2 года назад
am not doing each video you make but you make the one watch the video just for pleasure and fun thanks for your great work
@janelain8611
@janelain8611 2 года назад
Love this channel and newly subscribed to Ania! Hadn’t come across her channel before now but it looks great
@s0ulweaver
@s0ulweaver 2 года назад
Well in my case, I "nearly" subscribed to Ania, but found this channel instead 😂
@mjohnson2807
@mjohnson2807 2 года назад
How do you come up with ideas so fast? Such well rounded content, thank you
@JunreyBeduya
@JunreyBeduya 2 года назад
Amazing work! You just got a new sub.
@RafaelCorreaGomes
@RafaelCorreaGomes Год назад
Amazing, thanks for sharing it!
@Harbinger835
@Harbinger835 2 года назад
Ania Kubow
@alkanedust3848
@alkanedust3848 2 года назад
@@naurapuspita5073 wtf girl?
@zinx6809
@zinx6809 2 года назад
@@alkanedust3848 he's talking about the other RU-vidr he mentioned in this video. Timestamp is 1:48
@pedromartindelcampogonzale9613
@pedromartindelcampogonzale9613 2 года назад
beautiful video as always, thanks :D
@ericsigne6575
@ericsigne6575 2 года назад
Man you're golden. I've been building an API with node and express to receive payments in my country(Cameroon) with our local payment methods and with my cofounder, just yesterday I was literally talking about using stripe for international payments. Thanks for the tutorial🔥
@outofboundsbro
@outofboundsbro 2 года назад
Yoooo its so cool you mentioned Stripe's prebuilt checkout I remember writing a tutorial article in how to implement it on Laravel once I got it to work. I struggled to implement it because in the documentation it uses a different PHP framework.
@cozybeatz5096
@cozybeatz5096 2 года назад
You deserve everything good my guy!
@zakyvids6566
@zakyvids6566 2 года назад
This is awesome we need more vids like this thanks a lot
@JavierGarcia-se3vi
@JavierGarcia-se3vi 2 года назад
Very good explanation, congratulations! 👍
@chemamaldonado2876
@chemamaldonado2876 2 года назад
Simply amazing!
@paras.developer
@paras.developer 2 года назад
Such a great content brother!
@rayanfernandes2631
@rayanfernandes2631 2 года назад
woww, 2 videos in a day , Crazy efforts man 😱
@CardinalHijack
@CardinalHijack 2 года назад
Epic video for getting started on this sort of thing
@donblack1571
@donblack1571 2 года назад
Perfect timing. ✌️💯🔥
@selvakumars6487
@selvakumars6487 Год назад
Awesome content, Thank you. This video deserves 30 mins, you might have elaborated this a little more :-), love your work.
@sahil2pradhan
@sahil2pradhan Год назад
billion dollar api with your basement . loved this line thanks for teaching us in simpler way
@IshanKesharwani
@IshanKesharwani 2 года назад
Gotta try this and I am all for this. Not for money but for authentication and generate keys
@BrendenVogt
@BrendenVogt 2 года назад
Are you reading my mind? I was literally looking for this last night.
@aroncanapa5796
@aroncanapa5796 Год назад
I just finished a web dev bootcamp a few months ago, this was the greatest tutorial I’ve ever seen
@cryptostorm2109
@cryptostorm2109 2 года назад
Awesome video man ^^
@coderamrin
@coderamrin 2 года назад
this is great. thanks for the tutorial :)
@asterginete3812
@asterginete3812 2 года назад
This is awesome! Thanks!
@irfanbabar8424
@irfanbabar8424 2 года назад
Awesome video. Very informative
@themarksmith
@themarksmith 2 года назад
Your content is excellent!
@beyondcatastrophe_
@beyondcatastrophe_ 2 года назад
"The API key is now save to store" It's not. MD5 is not secure AT ALL and should NEVER be used to store sensitive data!
@badbunnyfreaky
@badbunnyfreaky 2 года назад
so what should you use?
@prowhiskey2678
@prowhiskey2678 2 года назад
Also, a salt should always be used, regardles of the hashing algorithm. Some hashing algorithms have this build in
@Fireship
@Fireship 2 года назад
Good call, that was an oversight. The main point was to not store the raw password, but hash it, but MD5 is not an ideal algorithm
@travispettry3025
@travispettry3025 2 года назад
@@badbunnyfreaky SHA 256 works well (for general hashing)
@uziboozy4540
@uziboozy4540 2 года назад
@@travispettry3025 no it doesn't.
@austinfenne428
@austinfenne428 Год назад
this was a great tutorial thank you !
@stokbrood
@stokbrood 2 года назад
8:51 My man put the MongoDB logo upside down :(
@Fireship
@Fireship 2 года назад
🤦‍♂️
@AtomicCodeX
@AtomicCodeX 2 года назад
😂 proof he’s not a robot
@softwarelivre2389
@softwarelivre2389 2 года назад
@@AtomicCodeX That's what a robot would say
@naveennamani2
@naveennamani2 2 года назад
😂 I've figured out all other database names and then struggled with upside down mongo, i finally remembered it was mongodb, but totally neglected that it was upside down until I see this comment
@darshandev1754
@darshandev1754 2 года назад
@@twitchizle sounds really inappropriate🤣😂
@muskreality
@muskreality 2 года назад
You're a gift for the 21st century
@hugh-martinrouxhughy7419
@hugh-martinrouxhughy7419 Год назад
People please don't use MD5 for your hashing... if you're asking yourself "Why?" then you have a lot more to learn before you should be messing around with anything related to payments. Also note that depending on where you are in the world, your country (or each country you're going to be operating in) may have different fiscal and certification requirements for these things, so DON'T just go and publish some random payment app. Also take into account that you might want to get some professional help with setting up some Ts&Cs for your users which they have to accept. Coding is and should be fun! But code responsibly :)
@pooyaestakhry
@pooyaestakhry Год назад
In case of not using MD5 i totally agree with you in the end just don't use it, but hashing api keys with MD5 is more secure than hashing passwords for two reasons 1) API keys are long and it's harder to break them compared to an 8 character passwords. 2)in many cases of breaking MD5 a dictionary of hashes is being used to test against for most popular passwords but this won't be the case with random bytes
@hugh-martinrouxhughy7419
@hugh-martinrouxhughy7419 Год назад
@@pooyaestakhry Interesting thought🤔 but are there drawbacks to just using something like SHA-256 for your API keys? I mean surely its much more secure?
@pooyaestakhry
@pooyaestakhry Год назад
@@hugh-martinrouxhughy7419 practically ? no. as i said in the end i wont use MD5 either
@hariacharya2050
@hariacharya2050 9 месяцев назад
One thing I wanna say, stripe is a payment provider and essentially the global users will be buying products from the country that you're operating from. Don't worry abt international laws, just abide by the country that you're operating from, Stripe is good on it's T&C and you may not need to worry about other countries, if you think you should be worried about rules of countries I'll be operating on, you'd have to write T&C for each country, this is bullshit. Do you need to worry about laws of each country while using western union? I hope this helps somebody.
@0xf172
@0xf172 2 года назад
Congrats 888K Subs 🚀🚀
@panosangel2883
@panosangel2883 2 года назад
Great content!!
@szymonowczarek5971
@szymonowczarek5971 2 года назад
Great explenation and editing is on point! Been loving those videos for some time now. I just have one difference with fireship - I prefer react :P
@ChrisTian-ox5nr
@ChrisTian-ox5nr 2 года назад
This is amazing thanks!
@BGSlimBG
@BGSlimBG 2 года назад
- "You got a deal, take my money"! Said no customer ever. 😅 Jokes aside. This is a very helpful video! Thank you!
@testchannel4695
@testchannel4695 2 года назад
This guy is amazing!!
@Christopher-ew7jw
@Christopher-ew7jw 2 года назад
Jeff... you’re the best.
@seifeddinebenomar4959
@seifeddinebenomar4959 2 года назад
Thanks for these videos
@royalfire70
@royalfire70 2 года назад
This guy doesn’t miss
@waffle8364
@waffle8364 Год назад
there's a lot more nuances to developing a scalable, maintainable, secure API than this video offers. but it at least gets you on your feet to building one 😎
@murjoshua
@murjoshua 2 года назад
So informative! All this information in just 13min, it's just impressive! Thanks for putting this out.
@rohanmanchanda5250
@rohanmanchanda5250 2 года назад
Building an API is super-easy, barely an inconvenience
@Qwetzxl
@Qwetzxl 2 года назад
Omg the editing is cleaner than the soap🧼
@AtomicCodeX
@AtomicCodeX 2 года назад
That’s cuz it’s REST ;)
@Nico-qq7xl
@Nico-qq7xl 2 года назад
thanks for making this video
@balajeebala7810
@balajeebala7810 2 года назад
You are awesome 🔥🔥
@aybak3k
@aybak3k 2 года назад
so it all about - an awesome API idea - little marketing
@pwan3971
@pwan3971 2 года назад
this is soo good
@teodorchirileanu
@teodorchirileanu 2 года назад
Well done Jeff
@BharadwajGiridhar
@BharadwajGiridhar 2 года назад
He's so good I want to cry
@mrnabby4178
@mrnabby4178 Год назад
Fireship the god of programming. AniaKubow the goddess of programming. My teacher who works in Amazon is the legend of Programming.
@JGBSolutions
@JGBSolutions 2 года назад
man that's cool! can you make a video about cron jobs and background queues for node/next.js
@nicky-hajal
@nicky-hajal 2 года назад
Would enjoy this as well!
@RandomShowerThoughts
@RandomShowerThoughts Год назад
damn this was amazing information
@dynamicdanymo8343
@dynamicdanymo8343 2 года назад
I rarely comment, but your videos are just straight NUTTY so much deep fucking value
@megapixel23
@megapixel23 2 года назад
Great stuff. Although the most challenging part is to actually register the Stripe business account being a regular developer and knowing nothing about registering a company 😅
@wadefletcher8928
@wadefletcher8928 2 года назад
Don't need a company or anything (at least in the US). Just make a Stripe account!
@ziwer1
@ziwer1 2 года назад
@@wadefletcher8928 One would still need a U.S. bank account at the very least.
@mehdismaeili3743
@mehdismaeili3743 3 месяца назад
Excellent.
@TimMattison
@TimMattison 2 года назад
Excellent video. Thanks for making it! As a hardcore, paranoid nerd I'd recommend something other than MD5 like SHA1 or SHA256 but that's a simple change.
@rogervanbommel1086
@rogervanbommel1086 2 года назад
NO NO NO NO NO, pbkdf2, s/bcrypt or argon2id
@n8guy
@n8guy 2 года назад
@@rogervanbommel1086 And SALT!
@rogervanbommel1086
@rogervanbommel1086 2 года назад
@@n8guy salting api keys doesn’t matter, passwords should be, api keys are random and salt prevents checking duplicates and rainbow tables
@n8guy
@n8guy 2 года назад
@@rogervanbommel1086 that's a good point - I was thinking of the two as analogous, but that is an important distinction. I suppose it still doesn't hurt, but you're right, it's probably unnecessary.
@rogervanbommel1086
@rogervanbommel1086 2 года назад
@@n8guy yea, i mean it even CAN hurt because it’s more data to store and the more complicated the easier to screw up
@NIKLAU5MIKAELS0N
@NIKLAU5MIKAELS0N 2 года назад
You should do another three js course.
@timhuang2501
@timhuang2501 2 года назад
Wtf, I’m literally creating my own api atm. Just struggled with the stripe integration. This was so fucking good.
@NilesBlackX
@NilesBlackX 2 года назад
I don't understand how he does it, it's like every single time
@sammygitongar9262
@sammygitongar9262 6 месяцев назад
Fireship rocks🔥🔥
@yassin_eldeeb
@yassin_eldeeb 2 года назад
that's pretty cool
@Spec_0
@Spec_0 2 года назад
I am learning front end to take over my dads business website so he can save some money. I've still got a lot of learning ahead but im starting to understand the syntax a bit more each time i study. I know watching this is probably way ahead of what im learning but its still very interesting to see what I can start working with later. Thanks for the tips Fireship :D
@Spec_0
@Spec_0 2 года назад
@Erich yes but those sites are usually pretty slow I’ve noticed, it’s also better I learn for a career later on
@sangbeom6245
@sangbeom6245 Год назад
You don't study this..u get good by doing it
@Smiley957
@Smiley957 Год назад
@@sangbeom6245 speak for yourself
@sangbeom6245
@sangbeom6245 Год назад
@MsPitufo2012 Coding is something you do in application practicing not memorizing it firsr
@thepatoto5321
@thepatoto5321 2 года назад
posts weather data like a chad
@DenisTRUFFAUT
@DenisTRUFFAUT 2 года назад
I didn't know about metered billing :)
@durcodavid
@durcodavid 2 года назад
The title should probably be like this "Make Money from your API - Tutorial". I was like, how can I make money from my API tutorial? :D
@tommyo2172
@tommyo2172 2 года назад
yo fireship can you do a video teaching us how you learn new technologies, cuz you obviously don't know everything but anytime you make a video you have some grounded knowledge about it. could you like do a walkthrough maybe a live or something. That would be awesome.
@illuminated2438
@illuminated2438 2 года назад
I find it’s always great to insult people when you ask them for a favor
@tommyo2172
@tommyo2172 2 года назад
@@illuminated2438 what was the insult??
@benperlmutter5801
@benperlmutter5801 2 года назад
Thanks!
@FabianVilersBe
@FabianVilersBe 2 года назад
You should use a middleware to validate the API key and a second one the report API usage in order to keep your API implementation cleaner.
@iloos7457
@iloos7457 Год назад
What do you recommend?
@viinz6139
@viinz6139 2 года назад
I love your videos, they have thought me so much! The only issue I have is that I seem to have Misophonia which is triggered by the way you pronounce the "s" sound. Which makes me pause the video regularly to compose myself and refocus. I would be curious if maybe adding a de-esser effect on your voice might help 🤔 Greetings from Germany, keep up the good work!
@josephgitahi2090
@josephgitahi2090 Год назад
Great gig
@paulorodriguez6288
@paulorodriguez6288 2 года назад
my mom is finally gonna be proud now
@giordanobruno6476
@giordanobruno6476 2 года назад
FREE Python tutorials on RU-vid (Playlist): ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-6omQ-t9L9Ak.html
@MercyFromOverwatch2
@MercyFromOverwatch2 2 года назад
Jeff is still my favourite tech youtuber
@lukcycookie3839
@lukcycookie3839 2 года назад
Cool!
Далее
Is "edge" computing really faster?
8:14
Просмотров 567 тыс.
40 APIs Every Developer Should Use (in 12 minutes)
12:23
I built a JavaScript framework
10:11
Просмотров 486 тыс.
Node.js Ultimate Beginner’s Guide in 7 Easy Steps
16:20
How To Accept Payments With Stripe
23:05
Просмотров 263 тыс.
How programmers flex on each other
6:20
Просмотров 2,2 млн
Why you're addicted to cloud computing
5:25
Просмотров 855 тыс.
This is Why Programming Is Hard For you
10:48
Просмотров 655 тыс.
10 Programmer Stereotypes
5:08
Просмотров 3,1 млн
10 regrets of experienced programmers
8:16
Просмотров 1,1 млн
Mac Studio из Китая 😈
0:34
Просмотров 130 тыс.
💅🏻Айфон vs Андроид🤮
0:20
Просмотров 739 тыс.
iPhone 16 - КРУТЕЙШИЕ ИННОВАЦИИ
4:50