Closed OwnageIsMagic closed 7 years ago
у меня получился такой список файлов
префиксы (если в в имени не содержится /
, иначе /js/
)
['/js/', '/js/al/', '/js/lib/', '/js/cmodules/'] // для js
['/css/', '/css/al/'] // для css
из них 3 особые
[...].filter(x=> x.split('.')[1] == undefined)
--> [ "nav", "favicon", "lang" ]
[
"nav",
"fonts_cnt.css",
"common.js",
"common.css",
"pads.css",
"retina.css",
"uncommon.js",
"uncommon.css",
"filebutton.css",
"filebutton.js",
"lite.js",
"lite.css",
"ie6.css",
"ie7.css",
"rtl.css",
"pagination.js",
"blog.css",
"blog.js",
"html5audio.js",
"html5video.js",
"html5video.css",
"audioplayer.js",
"audioplayer.css",
"audio_html5.js",
"audio.js",
"audio.css",
"gifts.css",
"gifts.js",
"cc.js",
"indexer.js",
"graph.js",
"graph.css",
"boxes.css",
"box.js",
"rate.css",
"tooltips.js",
"tooltips.css",
"sorter.js",
"qsorter.js",
"usorter.js",
"phototag.js",
"phototag.css",
"photoview.js",
"photoview.css",
"fullscreen_pv.js",
"fullscreen_pv.css",
"spe.js",
"friends.js",
"friends.css",
"friends_search.js",
"friends_search.css",
"board.js",
"board.css",
"photos.css",
"photos.js",
"photos_add.css",
"photos_add.js",
"wkpoll.js",
"wkview.js",
"wkview.css",
"single_pv.css",
"single_pv.js",
"video.js",
"video.css",
"videocat.js",
"videocat.css",
"videoview.js",
"videoview.css",
"video_edit.js",
"video_edit.css",
"video_upload.js",
"video_youtube.js",
"video_youtube.css",
"videoplayer.js",
"videoplayer.css",
"translation.js",
"translation.css",
"reg.css",
"reg.js",
"invite.css",
"invite.js",
"prereg.js",
"index.css",
"index.js",
"join.css",
"join.js",
"intro.css",
"post.css",
"module.css",
"owner_photo.js",
"owner_photo.css",
"page.js",
"page.css",
"page_help.css",
"public.css",
"public.js",
"pages.css",
"pages.js",
"groups.css",
"groups.js",
"groups_list.js",
"groups_edit.css",
"groups_edit.js",
"profile.css",
"profile.js",
"calendar.css",
"calendar.js",
"wk.css",
"wk.js",
"pay.css",
"pay.js",
"tagger.js",
"tagger.css",
"qsearch.js",
"wall.css",
"wall.js",
"walledit.js",
"thumbs_edit.css",
"thumbs_edit.js",
"mail.css",
"mail.js",
"email.css",
"im.css",
"imn.js",
"im.js",
"emoji.js",
"wide_dd.css",
"wide_dd.js",
"writebox.css",
"writebox.js",
"sharebox.js",
"fansbox.js",
"postbox.css",
"postbox.js",
"feed.js",
"feed.css",
"privacy.js",
"privacy.css",
"apps.css",
"apps.js",
"apps_edit.js",
"apps_edit.css",
"apps_check.js",
"apps_check.css",
"settings.js",
"settings.css",
"profile_edit.js",
"profile_edit.css",
"profile_edit_edu.js",
"profile_edit_job.js",
"profile_edit_mil.js",
"search.js",
"search.css",
"grid_sorter.js",
"auto_list.js",
"suggester.js",
"datepicker.js",
"datepicker.css",
"oauth_popup.css",
"oauth_page.css",
"oauth_touch.css",
"notes.css",
"notes.js",
"wiki.css",
"fave.js",
"fave.css",
"widget_comments.css",
"widget_auth.css",
"widget_community.css",
"widget_contactus.css",
"widget_post.css",
"widget_allow_messages_from_community.css",
"api/widgets/al_comments.js",
"api/widgets/al_auth.js",
"api/widgets/al_poll.js",
"api/widgets/al_community.js",
"api/widgets/al_contactus.js",
"api/widgets/al_subscribe.js",
"api/widgets/al_like.js",
"api/widgets/al_post.js",
"api/widgets/al_allow_messages_from_community.js",
"api/widgets/al_add_community_app.js",
"widget_add_community_app.css",
"api/widgets/community_messages.js",
"widget_community_messages.css",
"al_poll.css",
"widget_recommended.css",
"widgets.css",
"common_light.js",
"developers.css",
"touch.css",
"notifier.js",
"notifier.css",
"earthday.js",
"earthday.css",
"restore.js",
"restore.css",
"recover.js",
"recover.css",
"docs.js",
"docs.css",
"tags_dd.js",
"tags_dd.css",
"tasks.js",
"tasks.css",
"helpdesk.js",
"helpdesk.css",
"tickets.js",
"tickets.css",
"faq.js",
"faq.css",
"talmud.js",
"agents.js",
"agents.css",
"achievements.js",
"achievements.css",
"sf.css",
"sal.css",
"members.css",
"meminfo.css",
"groupinfo.css",
"bugs.js",
"bugs.css",
"bugtracker.js",
"bugtracker.css",
"login.css",
"login.js",
"upload.js",
"graffiti.js",
"graffiti.css",
"graffiti_new.js",
"graffiti_new.css",
"abuse.js",
"abuse.css",
"verify.css",
"away.css",
"stats.css",
"payments.css",
"payments.js",
"offers.css",
"offers.js",
"call.js",
"call.css",
"aes_light.css",
"aes_light.js",
"ads.css",
"ads_bonus.css",
"ads.js",
"ads_payments.js",
"ads_edit.css",
"ads_edit.js",
"ads_edit_geo.js",
"ads_moder_common.css",
"ads_moder.css",
"ads_moder_common.js",
"ads_moder.js",
"ads_tagger.js",
"ads_web.css",
"ads_web.js",
"mrtarg.js",
"mrtarg.css",
"health.css",
"health.js",
"pinbar.js",
"sms_office.css",
"sms_office.js",
"help.css",
"help.js",
"claims.css",
"claims.js",
"video_embed.js",
"video_embed.css",
"site_stats.css",
"site_stats.js",
"blank.css",
"wk_editor.js",
"wk_editor.css",
"btagger.js",
"btagger.css",
"filters.js",
"filters_pe.js",
"pe.js",
"pe.css",
"dev.js",
"dev.css",
"share.css",
"stickers_office.css",
"stickers_office.js",
"mapbox.js",
"mapbox.css",
"jobs.js",
"jobs.css",
"print.js",
"print.css",
"qrcode.js",
"contests.css",
"ui.css",
"ui.js",
"ui_common.js",
"ui_common.css",
"ui_media_selector.js",
"ui_media_selector.css",
"ui_manual.css",
"admin.js",
"admin.css",
"duty_timetable.js",
"duty_timetable.css",
"paysupp_admin.js",
"paysupp_admin.css",
"exchange.css",
"exchange.js",
"exchange_moder.css",
"exchange_moder.js",
"ads_offers.css",
"ads_offers.js",
"ads_offers_moder.css",
"ads_offers_moder.js",
"landings/landings.css",
"landings/vk10_years.css",
"chronicle.css",
"market.css",
"market.js",
"vk2016.css",
"landings/common.css",
"landings/community_message.css",
"landings/wdsd.css",
"landings/smartfeed.css",
"landings/dota.css",
"dota_landing.js",
"landings/promo_post.css",
"landings/psb.css",
"landings/psb_context.css",
"landings/psb_mobile.css",
"landings/moneysend.css",
"landings/desktop_messenger.css",
"landings/vklive.css",
"landings/vk2017.css",
"landings/vkmusic.css",
"landings/vkmusic.js",
"landings/ads.css",
"landing_aes.js",
"vkme.css",
"ui_controls.js",
"highcharts.js",
"ui_controls.css",
"selects.js",
"mentions.js",
"apps_flash.js",
"maps.js",
"places.js",
"places.css",
"map2.js",
"map.css",
"sort.js",
"paginated_table.js",
"paginated_table.css",
"api/share.js",
"api/openapi.js",
"api/xdm.js",
"css_clean.js",
"hls.min.js",
"candy.min.js",
"q_frame.php",
"/swf/api_wrapper.swf",
"/swf/api_external.swf",
"/swf/api_wrapper2_0.swf",
"/swf/video_lite.swf",
"/swf/audio_lite.swf",
"/swf/uploader_lite.swf",
"/swf/photo_uploader_lite.swf",
"/swf/CaptureImg.swf",
"/swf/video.swf",
"/swf/vkvideochat.swf",
"/swf/vchatdevices.swf",
"snapster/style.css",
"snapster/page.js",
"snapster/mobile.css",
"snapster/common.js",
"snapster/main.js",
"snapster/snapster.js",
"snapster/modules.js",
"snapster/snapster.css",
"snapster/mob_templates.js",
"snapster/snapster_mobile.js",
"snapster/snapster_mobile.css",
"snapster/templates.js",
"snapster/snapster_ui.js",
"snapster/notifier.js",
"snapster/snapster_ui.css",
"top_logo.css",
"favicon",
"speech.js",
"voice_message_player.js",
"cmodules/web/speech_worker_mp3.js",
"cmodules/web/speech_worker_opus.js",
"stories.js",
"stories.css",
"cmodules/internal/meminfo.js",
"cmodules/internal/nospam.js",
"shortener.js",
"lang",
"fonts.css",
"md5.js",
"lang777_0.js",
"ace.js",
"common_002.css",
"streamsense.js"
]
Ты предлагаешь добавить в скрипт логику, которая бы скачивала только файлы из stVersions
? Мне кажется это не надежным, потому что они могут в любой момент поменять формат, имя файла, и всё пойдет не так. Плюс там могут быть не все файлы. Давай лучше ты пришлешь мне pull request с исправлением urls.txt
http://vk.com/js/lib/suggester.js --> 404 преехал в http://vk.com/js/al/suggester.js Нету
stories.js
и пр Да и вообще надо наладить стабильный способ получения файлов В'/js/loader_nav' + navVersion + '_' + vk.lang + '.js'
есть объектstVersions
, в котором перечислены почти все имена файлов Но существует какhttps://vk.com/js/cmodules/web/imn.js
так иhttp://vk.com/js/al/imn.js
предлагаю просто хранить все имена файлов и список префиксов https у них nginx, a http Apache