Commit graph

662 commits

Author SHA1 Message Date
wukko
1672901bad page: make html biblically correct 2024-01-14 22:40:41 +06:00
wukko
0c39102b3c page: remove broken unused element 2024-01-14 22:30:46 +06:00
busybox11
177fa3c150
cobalt.css: fix blurry text on modal contents 2024-01-08 01:23:45 +01:00
Max R
b5714bbd77
Add twitter test for mediaviewer 2024-01-07 16:43:17 -05:00
wukko
a41e50b533 loc: update SettingsCodecDescription 2024-01-07 14:43:12 +06:00
wukko
e1edecb859 twitter: fix parsing from /video/<index> links
error is no longer thrown if index is an unexpected value (such as 0 or negative)
2024-01-07 14:22:59 +06:00
wukko
678d6a56ca twitter: clean up 2024-01-07 13:48:30 +06:00
dumbmoron
678e00430b
twitter: add support for media[vV]iewer links 2024-01-05 21:11:14 +00:00
dumbmoron
ed2c63f9a4
twitter: downloading specific video if given index 2024-01-05 21:10:12 +00:00
dumbmoron
7b41dfef9e
twitter: cache token, get new one & retry on error 2024-01-04 16:59:55 +00:00
dumbmoron
02b67a3145
twitter: cleanup/decomposition 2024-01-04 16:59:33 +00:00
wukko
e06034c22f soundcloud: bump max artist name length to 255 2024-01-02 12:34:31 +06:00
wukko
987f2f76b9 localization: updated support text 2024-01-02 12:33:03 +06:00
wukko
6ad9827c1f support: removed link to mastodon account 2024-01-02 12:29:29 +06:00
wukko
58246dfcdb soundcloud: accommodate for longer usernames
closes #293
2023-12-29 08:19:15 +06:00
wukko
90f82ae36e tiktok: throw a proper error if no video was returned from api 2023-12-29 08:16:40 +06:00
wukko
a69497245b robots: added more paths to ignore 2023-12-26 18:28:47 +06:00
wukko
1360bf4f08
front: ignore shift+key combinations if url bar is focused
merge pull request #288 from dumbmoron/input-ignore-kb-shortcuts
2023-12-26 18:24:57 +06:00
wukko
c474f15d80 changelog: updated 7.8 list of changes 2023-12-26 18:23:29 +06:00
wukko
0b138264d4 page: remove autofocus from url input area 2023-12-26 18:23:08 +06:00
dumbmoron
798d0d7242
front: ignore shift+key combinations if url bar is focused
prevents shortcuts from getting triggered by accident when manually typing out url
2023-12-26 00:55:30 +00:00
wukko
c0c4ca167e changelog: 7.8
also replaced all mentions of full repo url (for some reason i never used {repo})
2023-12-26 01:37:47 +06:00
wukko
210ac86e3f elements: remove deprecated stuff 2023-12-26 01:10:40 +06:00
wukko
cc47f9fd8a update: add 7.8 update message and emoji 2023-12-26 00:08:58 +06:00
wukko
1fbd0a2c05 front: optimise ui (mostly address area)
- using :first-child and :last-child instead of classes for switchers
- improved scaling
- less mess in css
2023-12-25 23:57:33 +06:00
wukko
ca04acc468 tumblr: fix at.tumblr link handling 2023-12-25 22:45:04 +06:00
wukko
0dcd36c16f tumblr: formatting 2023-12-25 22:40:02 +06:00
wukko
197198ad79 soundcloud: fall back to mp3 when no opus found
also made match action decider readable
2023-12-25 22:21:06 +06:00
wukko
4b9d61b13f
clean up url handling
merge pull request #271 from dumbmoron/cleanup-url-handling
2023-12-25 18:36:18 +06:00
wukko
ddc87ca42b
api: clean url upon entry, not down the road 2023-12-25 12:34:20 +00:00
wukko
d6e4b5ac20
servicesConfig: www is unnecessary here too 2023-12-25 12:34:20 +00:00
wukko
88666eeeaa
servicesConfig: www was unnecessary... 2023-12-25 12:34:20 +00:00
wukko
509d24fd87
servicesConfig: add subdomains for twitter and youtube 2023-12-25 12:34:20 +00:00
wukko
aaa61cfee9
processing url: alt domains for services and fixvx support 2023-12-25 12:34:20 +00:00
dumbmoron
5928b21fee
tumblr: fix priority of subdomain/segment for username 2023-12-25 12:34:20 +00:00
dumbmoron
18a3c06a9e
url: always strip username, password, port, fragment 2023-12-25 12:34:20 +00:00
dumbmoron
e1fa32beb3
front: don't mangle and encode urls when sending to api 2023-12-25 12:34:20 +00:00
dumbmoron
3a00bc7f8d
url: remove tumblr aliasing
not quite sure what its purpose is/was anyways (tracking id removal? it's not used anyways)
2023-12-25 12:34:20 +00:00
dumbmoron
0244c40d0b
config: add "@" to allowed pattern symbols
needed for tiktok urls
2023-12-25 12:34:20 +00:00
dumbmoron
ba35ec923e
url: re-parse hostname after validating 2023-12-25 12:34:20 +00:00
dumbmoron
34d8333d72
tumblr: render error template for broken links 2023-12-25 12:34:20 +00:00
dumbmoron
81e68c37f5
processing: pass URL object instead of string 2023-12-25 12:34:20 +00:00
dumbmoron
30c9652b6e
url: typo 2023-12-25 12:34:20 +00:00
dumbmoron
662360509c
url: return host instead of bool for success 2023-12-25 12:34:20 +00:00
dumbmoron
3056624b3d
servicesConfig: set up subdomains 2023-12-25 12:34:20 +00:00
dumbmoron
c458423e03
match: light cleanup 2023-12-25 12:34:20 +00:00
dumbmoron
f9feaa41ce
tumblr: stricter subdomain parsing 2023-12-25 12:34:20 +00:00
dumbmoron
149c16abbb
url: make youtu.be alias rule more lax 2023-12-25 12:34:20 +00:00
dumbmoron
2e1eb1b864
api: rename hostOverrides to 'url'
it does a bit more than it did before now
2023-12-25 12:34:20 +00:00
dumbmoron
dd563eb752
api: rework url parsing
- tlds are now parsed and validated correctly (e.g. ".co.uk" works now)
- url patterns are pre-compiled instead of being compiled for every request
- aliases are computed in a safe manner using the URL object where possible
2023-12-25 12:34:20 +00:00
wukko
f500d8b5f9 better support section in about
- added status page to support section
- updated order of items
- clean up
2023-12-25 17:46:33 +06:00
wukko
a4349b4c41 throw a critical error when youtube api returns a stub 2023-12-25 12:59:00 +06:00
wukko
0014c8b9fb front: fixed quick ⌘+V pasting on mac
also rearranged list of crypto donation methods
2023-12-21 00:31:48 +06:00
wukko
e27c02c55e twitter & stream: formatting 2023-12-17 23:50:04 +06:00
wukko
4834f21554 twitter: use original media timestamp for fix check 2023-12-17 23:45:15 +06:00
wukko
8556a5fe2c twitter: fix videos only within affected time range 2023-12-17 23:05:43 +06:00
wukko
e00a3a4849 7.7.2: made terms and ethics more descriptive 2023-12-08 18:54:44 +06:00
wukko
e605a99d54 front: removed download popup auto closing 2023-12-05 15:50:01 +06:00
wukko
d34337370f changelog: minor spelling mistake 2023-12-03 00:23:07 +06:00
wukko
8c9cc21068 update 7.7 banner 2023-12-03 00:07:40 +06:00
wukko
760f55bdb4 7.7 changelog and banner 2023-12-02 23:47:34 +06:00
wukko
89c5067685 web: fix auto hiding of download popup 2023-12-02 23:10:19 +06:00
wukko
83d82f5da9 web: saving cobalt streams via action chooser 2023-12-02 22:51:08 +06:00
wukko
afab7f94a7 api & web: ports in env are no longer strictly required 2023-12-02 22:01:58 +06:00
wukko
3e8c059a3a vimeo: fix parsing and resolution in filename
- all videos/audios should now be downloadable
- proper resolution is now displayed in basic and pretty filename styles
2023-12-02 21:52:38 +06:00
wukko
5bd50fd55f twitter: remux all videos
- increased stream link lifespan to 90 seconds
- decreased max video duration back to 3 hours
2023-12-02 20:44:19 +06:00
wukko
aef9b390b0 7.6.8: minor updates
updated support and donation lists
2023-12-02 12:54:27 +06:00
wukko
abb3e15426 page: hide the urgent notice 2023-11-23 22:51:44 +06:00
wukko
24870c5dd7 pattern tester: less yapping 2023-11-23 22:18:49 +06:00
wukko
5d1d25a6dd
twitch: add filename attributes to twitch clips
merge pull request #233 from Snazzah/feat/twitch-pretty
2023-11-23 21:49:22 +06:00
wukko
19ba117838 twitch (oops): actually import cleanString 2023-11-23 21:45:23 +06:00
wukko
158361c95e twitch: sanitise video title 2023-11-23 21:43:35 +06:00
wukko
88b8a69f9c
fix handling of URLs containing utf-8 characters
Merge pull request #253 from dumbmoron/fix-utf8-urls
2023-11-23 21:40:24 +06:00
wukko
3ca65e0daf reddit: remove the rest of references to title 2023-11-23 21:35:02 +06:00
dumbmoron
7468b803fb
reddit: don't include title in API request path 2023-11-23 14:52:30 +00:00
dumbmoron
190a0131d4
api: url-encode UTF-8 characters in url
this encode-decode construct is ugly, but necessary to retain
backwards compatibility for weirdos that encode the URL when
passing it in via json ( like the frontend, for example. :/ )
2023-11-23 14:52:08 +00:00
dumbmoron
c26800ca2e
reddit: fix expiry check 2023-11-17 12:00:04 +00:00
dumbmoron
d936dd73fe
fix robots.txt
currently the robots.txt file is useless because
it's interpreted as one path "/icons/ /fonts/ *.js *.css"
(an example path that would be accepted -- and therefore disallowed
for robots) by this regex would be `https://cobalt.tools/icons/ /fonts/ bla.js .css`,
which is obviously nonsense & useless)
2023-11-10 17:41:51 +00:00
wukko
463ece02c7 7.6.6: refined twitter module, removed spaces 2023-11-07 22:37:47 +06:00
wukko
2de4688015
Merge branch 'current' into stream-close-handling-2 2023-11-06 07:55:50 +06:00
dumbmoron
7a3be8b981
stream: don't listen for close event for audio 2023-11-06 01:48:49 +00:00
wukko
4a9e4cd915
types: make streamVideoOnly more readable 2023-11-06 01:37:27 +00:00
wukko
b662f472dd
types: added comments 2023-11-06 01:37:27 +00:00
dumbmoron
fb69dbdb4f
stream: use strings for signals instead of number
hopefully a little more explanatory than "9"
2023-11-06 01:37:27 +00:00
dumbmoron
2bd8a0bccd
stream: use descriptive variables for i/o for better readability 2023-11-06 01:37:27 +00:00
dumbmoron
f66ed5c414
stream: generalize pipe event handling 2023-11-06 01:37:27 +00:00
dumbmoron
7c871b6b85
stream: wrap abort controller in try-catch 2023-11-06 01:37:27 +00:00
dumbmoron
dbd13bc8b6
stream: send SIGKILL after timeout
in case the ffmpeg process decides to hang when SIGTERM'd
2023-11-06 01:37:27 +00:00
dumbmoron
cae4a68aa4
stream: improve shutdown handling, minor clean up
- try to close as many things as possible when shutting down

- remove redundant (e.g. `exit` on process when
  listening for `close`) and straight up useless
  (`disconnect`) event listeners
2023-11-06 01:37:24 +00:00
wukko
408f5e99f0
Revert "improve stream shutdown handling" 2023-11-06 07:17:44 +06:00
wukko
4f47a68c17
improve stream shutdown handling
merge pull request #225 from dumbmoron/stream-close-handling
2023-11-06 06:56:11 +06:00
wukko
b01c9f3e54 types: make streamVideoOnly more readable 2023-11-06 06:53:54 +06:00
wukko
758bb8fef7 types: added comments 2023-11-06 06:44:34 +06:00
dumbmoron
33072003bc
stream: use strings for signals instead of number
hopefully a little more explanatory than "9"
2023-11-06 00:31:44 +00:00
dumbmoron
58f7ed7827
stream: use descriptive variables for i/o for better readability 2023-11-05 22:27:28 +00:00
dumbmoron
aabde229ed
stream: generalize pipe event handling 2023-11-05 22:26:56 +00:00
dumbmoron
ed646b826d
stream: wrap abort controller in try-catch 2023-11-05 22:11:46 +00:00
dumbmoron
1508a0bff4
stream: send SIGKILL after timeout
in case the ffmpeg process decides to hang when SIGTERM'd
2023-11-05 22:10:29 +00:00
dumbmoron
9001d401da
stream: improve shutdown handling, minor clean up
- try to close as many things as possible when shutting down

- remove redundant (e.g. `exit` on process when
  listening for `close`) and straight up useless
  (`disconnect`) event listeners
2023-11-05 22:10:23 +00:00
Snazzah
d2e124c7cd
chore: small fix to ext 2023-10-30 12:41:53 -05:00
Snazzah
5d87b68f5b
chore: twitch cleanup 2023-10-30 12:40:15 -05:00
Snazzah
e2bcad79aa
feat: add filename attributes to twitch clips 2023-10-30 12:14:28 -05:00
wukko
e4c105f2a2 fix line duplication (due to skill issue) 2023-10-28 19:03:49 +06:00
wukko
31a2136c90 updated docs 2023-10-28 18:51:20 +06:00
dumbmoron
946bec68c1
youtube: slight cleanup & deduplication 2023-10-21 22:07:06 +00:00
dumbmoron
a4c7cc0d35
youtube: unify quality matching 2023-10-17 16:58:12 +00:00
wukko
73d84c09d3 fix for youtube dubs rare error 2023-10-15 22:13:01 +06:00
wukko
3a4f8ef31b updated the file name style order in desc 2023-10-15 20:41:02 +06:00
wukko
dfdf8580be fixed slash handling in file names 2023-10-15 15:11:39 +06:00
wukko
f1a35a0c6d fixed a typo in 7.6 changelog 2023-10-15 14:41:30 +06:00
wukko
b093bf33bd 7.6.1: fixed numbers in metadata and file names
also replaced the 7.6 banner with webp version
2023-10-15 14:39:17 +06:00
wukko
43bfa7cb5d fixed file name preview overflow 2023-10-15 11:50:56 +06:00
wukko
68d65dc0b9
7.6: file name customization 2023-10-15 11:06:48 +06:00
wukko
824177f026 updated changelog to include reddit fix 2023-10-15 11:05:13 +06:00
wukko
33daaaf936 Update reddit.js 2023-10-15 11:03:22 +06:00
wukko
6ed1487d8d change the date 2023-10-15 10:55:23 +06:00
dumbmoron
a45d500c3b
reddit: add support for authenticated requests 2023-10-14 22:49:28 +00:00
dumbmoron
035f5a7839
cookie: allow updating cookie values directly 2023-10-14 22:49:12 +00:00
wukko
d6f5f135b3 bump frontend version 2023-10-15 01:24:41 +06:00
wukko
1d3eb2fdae added a tiny testing script for file name presets 2023-10-15 00:03:55 +06:00
wukko
0520a85572 update changelog 2023-10-14 23:54:05 +06:00
wukko
676f0260a1 update changelog.json 2023-10-14 23:51:30 +06:00
wukko
f1152f4862
instagram: add stories support
merge pull request #194 from dumbmoron/instagram-stories
2023-10-14 23:49:43 +06:00
wukko
866792c8d5 spacing
no need for closest quality btw
2023-10-14 23:48:06 +06:00
wukko
6c5b4f9b32 added 7.6 update banner 2023-10-14 23:44:20 +06:00
wukko
1504a8bae9 Update instagram.js 2023-10-14 23:24:19 +06:00
wukko
81d37e9987 final file name style picker 2023-10-14 22:51:53 +06:00
wukko
d10a404f1f vk: added support for rich filenames 2023-10-13 21:52:15 +06:00
wukko
ff13ef7217 fix quality label for 720p yt videos 2023-10-12 23:19:36 +06:00
wukko
16f74094b9 filename pattern customization
- added metadata for rutube and vimeo.
- added a picker for preferred filename pattern.
- fixed content disposition header.
- mute and audio dub tags don't appear together in a file name anymore.
- youtube: dub file name tag doesn't appear anymore if audio track is default.
2023-10-12 23:14:54 +06:00
wukko
a57ee53b21 list of sponsors + fixes
- added list of sponsors, if you host an instance, it can be enabled with showSponsors.
- fixed download button thickness on ios.
- about button now opens about tab when no new changelog is available.
2023-10-12 17:33:26 +06:00
dumbmoron
840994ef71
fix "press & hold" not working on various picker 2023-10-11 07:09:24 +00:00
wukko
6c314a1a62 well that's just embarrassing 2023-10-08 18:31:04 +06:00
dumbmoron
f7e0871a8a
Merge branch 'current' into instagram-stories 2023-09-16 23:34:23 +02:00
dumbmoron
0bb84f0e98 fix soundcloud downloads when requested format is best 2023-09-16 21:25:36 +00:00
wukko
1b46015696 7.5 release 2023-09-17 00:30:15 +06:00
wukko
e721cf9878 support for rutube, fixes, accommodations for multi lang 2023-09-16 23:38:07 +06:00
wukko
05bb7bcd07
clean up 2023-09-16 18:20:29 +06:00
wukko
e0af5ef1cf one more fix 2023-09-16 18:00:07 +06:00
wukko
ad8a9c454d remove vods
there's no point in downloading entire streams. people can clip what they need and download that instead!
2023-09-16 17:58:43 +06:00
wukko
f7247b87f0 fix wording 2023-09-16 16:31:02 +06:00
wukko
ad9b6ebdd3 twitch clean up 2023-09-16 16:27:53 +06:00
wukko
ff9d48740d
Merge branch 'current' into feat/twitch 2023-09-16 15:40:09 +06:00
wukko
18610a2ee6 update russian loc 2023-09-12 19:28:17 +06:00
wukko
572dc20e41 7.4
- updated more files to be up-to-date with domain change.
- 7.4 changelog.
- updated docker compose example with watchtower and cobalt image.
2023-09-09 22:31:24 +06:00
wukko
5fb23dae65 data transfer fixes
- transfer data only if it wasn't transferred before, preventing unexpected changes.
- show popup every time a user is redirected.
- don't show an error if user's settings are equal to defaults.
2023-09-09 11:17:55 +06:00
wukko
04484f634f prepare for domain change, add settings migration 2023-09-09 03:10:43 +06:00
wukko
2b7f720189 change desktop identifier to d 2023-09-08 16:01:54 +06:00
wukko
941683c96b 7.3.1: padding fixes 2023-09-08 14:26:46 +06:00
wukko
0cfdf15cfa scroll to top on tab change in popups 2023-09-07 22:42:33 +06:00
wukko
d892b3526e fix a typo 2023-09-06 21:53:18 +06:00
wukko
b22a93a54d changelog update 2023-09-06 20:41:02 +06:00
wukko
6ae16bfd1d 7.3 release stuff
added changelog and bumped up the version
2023-09-06 20:32:52 +06:00
wukko
bfde9aab39
Merge branch 'current' into disable-metadata 2023-09-06 20:05:16 +06:00
wukko
83f496a625 solve merge conflict i think 2023-09-06 20:03:35 +06:00
wukko
6698ed3b46 fixes 2023-09-06 20:01:17 +06:00
wukko
e50f5eed34 loc update 2023-09-06 19:50:36 +06:00
wukko
7b9b2d3158
start speed improvement
import particular mode module only if needed

merge pull request #197 from dumbmoron/dynamic-mode-import
2023-09-06 19:40:53 +06:00
wukko
be00900a49 fixes for poor rendering in chrome
- fixed blurry header
- fixed blurry tab bar
- fixed blurry switches
- fixed weirdly rounded corners in popups
- fixed 1px gap on edges of various elements in popup
- fixed overscrolling in other settings tab
- fixed unexpected button highlight effect in mobile version
- removed outdated fixed for tiny screens
2023-09-06 19:37:03 +06:00
dumbmoron
ac3998ddda import particular mode module only if needed
mostly relevant because frontend does not need an innertube session
2023-09-03 15:38:50 +00:00
wukko
055eff92da 7.2: small improvements
- increased video length to 5 hours from 3 hours.
- fixed clickable area for urgent notice.
- possibly fixed random 0kb files.
2023-08-29 23:24:00 +06:00
dumbmoron
395a59a8b1 add instagram stories support
+ some code cleanup and deduplication
2023-08-26 16:06:46 +00:00
dumbmoron
b54efb968f clean up posts/reels code 2023-08-26 06:35:13 +00:00
wukko
8dcb6d8ea7
a typo just broke everything 2023-08-26 00:53:05 +06:00
wukko
be21c86d89 youtube: added support for live links 2023-08-26 00:03:24 +06:00
dumbmoron
93aa1f4db4 add option to disable file metadata
closes #142
2023-08-25 17:57:03 +00:00
wukko
fc89cb566b clean up 2023-08-23 01:03:31 +06:00
wukko
749c00a691 soundcloud: got rid of html parsing 2023-08-23 00:49:02 +06:00
wukko
0ef2c70c66 add support for more vimeo links
closes #184
2023-08-22 12:46:13 +06:00
wukko
4a52fe632d
forgot this one 2023-08-22 01:15:07 +06:00
wukko
2c4efc5a25 fix for picker on ios & popup title line height 2023-08-21 23:40:37 +06:00
wukko
a1e08c0692 Update instagram.js 2023-08-21 22:03:18 +06:00
dumbmoron
40f8b3ee0c update cookies that have no expiration 2023-08-20 22:33:33 +00:00
dumbmoron
9eb6700399 set instagram specific headers 2023-08-20 22:33:30 +00:00
dumbmoron
ba7137ef62 send cookies as-is 2023-08-20 22:21:00 +00:00
wukko
b2501cc98d updated changelog 2023-08-20 23:27:06 +06:00
wukko
0a5fff32ae 7.1 release
added changelog and update notice
2023-08-20 23:25:02 +06:00
wukko
877148159d
use else-if instead of if for evaluating action
merge pull request #183 from dumbmoron/decider-elif
2023-08-20 22:46:13 +06:00
wukko
9d590a64dc fix the order 2023-08-20 22:30:26 +06:00
dumbmoron
a59ecd14e7 use else-if instead of if for evaluating action
sets a fixed order of actions
2023-08-20 16:20:18 +00:00
wukko
b441b494ef fix vk downloads 2023-08-20 22:12:09 +06:00
dumbmoron
a09b062f9d
Merge branch 'current' into undici 2023-08-20 17:03:22 +02:00
wukko
a6134c58d2 remove unused stuff 2023-08-20 21:02:20 +06:00
dumbmoron
d54655c6b0 passthrough content-type; content-length 2023-08-20 15:00:03 +00:00
dumbmoron
814bfa404a replace got with undici
might as well since it already comes with youtubei.js
2023-08-20 14:44:34 +00:00
wukko
244357820d update readme and services config 2023-08-20 19:59:34 +06:00
wukko
6be2c7344e
do not attempt to update nonexistent cookie
merge pull request #181 from dumbmoron/fix-cookie-update
2023-08-20 19:38:11 +06:00
wukko
cbb519d73e fix + test 2023-08-20 19:36:56 +06:00
dumbmoron
411938b460 do not attempt to update nonexistent cookie 2023-08-20 13:27:49 +00:00
dumbmoron
1f6c7c8ead instagram: add downloading of single image 2023-08-20 13:26:35 +00:00
wukko
dfdda06099 added support for instagram images
also improved various picker
2023-08-20 19:14:31 +06:00
wukko
a15558bc3f oh 2023-08-20 18:16:00 +06:00
wukko
2929b9535f added file metadata to videos & fixed youtube dubs 2023-08-20 18:14:15 +06:00
wukko
609bf26dd4
#177: add cookie support
merge pull request #177 from dumbmoron/cookie
2023-08-20 16:58:49 +06:00
wukko
c72d9b0ed1 change cookie path capitalization for consistency with other env stuff 2023-08-20 16:58:04 +06:00
wukko
fd0357e52d move cookies to processing
slight clean up and better example
2023-08-20 16:51:39 +06:00
wukko
a8cbebd240 vxtwitter support
- moved out host overrides to its own file
- added mastodon verification
2023-08-20 16:11:16 +06:00
wukko
8304499ce7 fixed streamable (the service) metadata 2023-08-20 15:45:03 +06:00
wukko
c870c03271
#178: always send something on stream failure
merge pull request #178 from dumbmoron/stream-error-handling
2023-08-20 15:43:28 +06:00
wukko
36622fc7ac collapsed two lines 2023-08-20 15:42:57 +06:00