আমি কীভাবে খোলা ক্রোম ট্যাবগুলির তালিকা রফতানি করতে পারি?


44

ক্রোমের সিঙ্ক বৈশিষ্ট্যটি আমার অ্যান্ড্রয়েড ফোনে খোলা সমস্ত ট্যাব তুলে ধরছে না।

আমি যে অ্যাক্সেস করতে পারি তাতে কোনও ট্যাবে কি এমন কোনও ফাইল সঞ্চিত থাকে?

আমার উদ্দেশ্য হল ট্যাবগুলির তালিকাটি রফতানি করা যাতে আমি ডিভাইসে ফ্যাক্টরি রিসেট চালাতে পারি।

অ্যান্ড্রয়েড ৪.৩ চালানো


আমি আশা করি যে উদ্দেশ্যে একটি অ্যাড-অন ছিল।
neverMind9

এটি করার জন্য একটি স্বতন্ত্র রুটবিহীন উপায় থাকা উচিত। কারণ বুটলোডার মোছা। যে কেউ বুটলোডার মুছা মাথাব্যথা আবিষ্কার করেছিল তাকে তাত্ক্ষণিকভাবে বরখাস্ত করা উচিত। বুটলোডার একটি ফাঁদ। এটি আনলক করা একজনকে পুরো ডেটাটি বিলোপ করতে বাধ্য করে এবং কিছু অংশ প্রথম স্থানে আনলক না করে ব্যাক আপ করা যায় না। দুষ্ট চক্র. এবং তারপরে এনক্রিপশন এবং এআরএম ট্রাস্টজোন মাথাব্যথাও রয়েছে।
কখনই মন 9

উত্তর:


35

আপনি ডিভাইসে ক্রোমের সাথে সংযোগ রাখতে এবং ট্যাবগুলিতে অ্যাক্সেস করতে Chrome ডিবাগারে রিমোট ডিভাইস বৈশিষ্ট্যটি ব্যবহার করতে পারেন। সম্পূর্ণ তালিকা পেতে দৃশ্যমান ট্যাবগুলির তালিকাটি প্রসারিত করুন এবং তারপরে প্রদর্শিত সমস্ত কিছু (URL গুলি সহ) ক্লিপবোর্ডে হাইলাইট করুন এবং অনুলিপি করুন: https://developers.google.com/web/tools/chrome-devtools/remote-debugging/

আমি স্রেফ এইভাবে 400 ডলার ট্যাব রফতানি করতে পেরেছি।


3
ক্রোম ডিবাগার তালিকাটি খুব দীর্ঘ হলে ইউআরএলগুলি সংক্ষিপ্ত করে দেবে বলে উল্লেখ করতে চেয়েছিলেন, তাই কপি-পেস্ট করার পরিবর্তে আপনি লুই
ম্যাডডক্সের

@ woojoo666: দেখে মনে হচ্ছে ক্রোমের জিনিসগুলি পরিবর্তিত হয়েছে এবং এখন লুইয়ের উত্তরটিও অনেকগুলি ইউআরএল শেষ করে দেয়। 100 টিরও বেশি অক্ষরের চেয়ে বেশি কোনও URL- মনে হচ্ছে - যা আমার ক্ষেত্রে এটি আমার সমস্ত উন্মুক্ত ট্যাবগুলির প্রায় 50% - এর সমাপ্তি মিস করবে।
পিটারফ্লিন

@ পেটারফ্লিন এখনও আমার পক্ষে কাজ করে। সবেমাত্র একটি url রফতানি করা হয়েছে যা 432 অক্ষর দীর্ঘ characters কেবলমাত্র নিশ্চিত করার জন্য, আপনি পপ-আউট উইন্ডোতে দেব সরঞ্জামগুলি খুলছেন, "দূরবর্তী ডিভাইসগুলি" ফলকে যাচ্ছেন, তারপরে দ্বিতীয় ডিভাইস উইন্ডো খুলতে ctrl-shift-J ব্যবহার করে, এবং তারপরে প্রদত্ত স্ক্রিপ্টটি ব্যবহার করুন এখানে , সঠিক?
woojoo666

এটি করার জন্য সর্বনিম্ন প্রয়োজনীয় অ্যান্ড্রয়েড সংস্করণটি কী?
কখনই মাইন্ড 9

আমি চাই এটি করার একক উপায় ছিল । বাহ্যিক পদ্ধতির উপর নির্ভর না করে। আমি জানি, রুট ট্যাব তালিকা রয়েছে, তবে আমার মোবাইল ফোন মূলযুক্ত নয় কারণ লোকেরা বলেছে যে কিছুটা ত্রুটি হওয়ার ঝুঁকি রয়েছে।
never9ind9

25

উপরে জেরেমির উত্তরের জন্য কিছু প্রশংসা দেখানোর জন্য কেবল এই স্ট্যাকএক্সচেঞ্জারে যোগ দিয়েছি এবং ট্যাব তালিকাটি রফতানি করতে আমি ব্যবহার করা জেএসের কয়েকটি লাইন যুক্ত করেছি (যেহেতু কার্সারের সাথে অনুলিপিটি আদর্শ নয়!)

হিসাবে জেরেমি বললেন, নির্বাচন Remote devicesঅধীনে More toolsChrome DevTools উপর আইকন (প্যানেলের উপরের ডান):

  • আপনার ফোনে USB ডিবাগিং সেট আপ (অধীনে SettingsDeveloper options, রুট প্রয়োজন হয় না)
    • নোট করুন যে আপনাকে Developer optionsমেনুটি সক্ষম করতে হবে , এটি ব্যবহারকারীদের সুরক্ষার জন্য এটি ডিফল্টরূপে লুকানো আছে
    • আমার ফোনে এটির জন্য number এর অধীনে বিল্ড নম্বরটিতে একাধিকবার আলতো চাপতে হবে SettingsAbout Device
  • এটি হয়ে গেলে আপনার ইউএসবি প্লাগ ইন করুন এবং এমটিপি সংযোগের অনুমতি দিন
  • যখন ক্রোম ডেভোলস রিমোট ডিভাইস প্যানেলটি খোলা থাকে, তখন ফোনটি ইউএসবি ডিবাগিংয়ের অনুমতি দেওয়ার জন্য অনুরোধ করবে
    • আপনি সর্বদা কম্পিউটারকে বিশ্বাস করতে পারেন

এখন ডিভাইস সংযুক্ত হয়েছে,

  • আপনি Remote devicesজাভাস্ক্রিপ্ট ব্যবহার করে ট্যাবগুলির তালিকা পুনরুদ্ধার করতে সক্ষম হতে নির্বাচিত ডিভলটুল ভিউতে ২ য় ডিভলটুল ভিউ খুলুন
    • নোট করুন যে আপনার এটি পপ-আউট মোডে ডেভলগুলি থাকতে হবে (প্যানেলের উপরে ডানদিকে উল্লম্ব উপবৃত্তাকার চিহ্নটি ব্যবহার করুন), অন্যথায় কমান্ড + অপশন + জে (ম্যাক) Ctrl+ Shift+ J(উইন্ডো) কেবলমাত্র বন্ধ হবে প্রথম দেবতুল প্যানেল
  • 'আরও দেখান' ক্লিক করে প্রথম কয়েকটি আইটেম থেকে সমস্ত ট্যাবগুলিতে তালিকাটি প্রসারিত করুন
  • তালিকার বিপরীতে স্ক্রিপ্ট করতে, নিম্নলিখিত কয়েকটি লাইন কোড ব্যবহার করুন [২ য় দেবতুল উইন্ডোর কনসোলে প্রবেশ করা হয়েছে]
    • NB /deep/হ'ল #shadow-rootDOM উপাদানগুলি প্রবেশের জন্য সিএসএস নির্বাচক

অ্যান্ড্রয়েডের জন্য ক্রোমে খোলা সমস্ত ইউআরএলের একটি তালিকা রফতানি করতে, আমি কেবল তালিকাটিকে একটি মার্কডাউন ফর্ম্যাটযুক্ত পাঠ্য স্ট্রিংয়ে তৈরি করে ক্লিপবোর্ডে অনুলিপি করতে বেছে নিয়েছি

tabs = Array.from(document.querySelectorAll('div /deep/ div /deep/ div /deep/ div /deep/ div /deep/ .device-page-list .vbox'), s => ({name: s.querySelector('.device-page-title').textContent, url: s.querySelector('.device-page-url .devtools-link').href}))
str = '';
for (i=0;i<tabs.length;i++){
  str += '['+tabs[i]['name']+']('+tabs[i]['url']+')\n'
}
copy(str)

তারপরে আপনার ক্লিপবোর্ডে এমন একটি তালিকা পাবেন:

[How can I export the list of open Chrome tabs? - Android Enthusiasts Stack Exchange](https://android.stackexchange.com/questions/56635/how-can-i-export-the-list-of-open-chrome-tabs)
[Get Started with Remote Debugging Android Devices  |  Tools for Web Developers  |  Google Developers](https://developers.google.com/web/tools/chrome-devtools/remote-debugging/)
[How To Enable USB Debugging On Your Android Phone](https://www.groovypost.com/howto/mobile/how-to-enable-usb-debugging-android-phone/)
[Configure On-Device Developer Options | Android Studio](https://developer.android.com/studio/debug/dev-options.html)
...

হালনাগাদ

কোনও কারণে আমি কিছু সময় একটি ত্রুটি পেয়েছি , এটি বলে যে এটি hrefকোনও nullআইটেমের বৈশিষ্ট্য পেতে ব্যর্থ হয়েছে (যখন আমি এটি পরিদর্শন করি এটি এটি একটি অদৃশ্য নোড, কে জানে)। এটির পদক্ষেপ নিতে, পরিবর্তে এই সংস্করণটি ব্যবহার করুন:

tabs = document.querySelectorAll('div /deep/ div /deep/ div /deep/ div /deep/ div /deep/ .device-page-list .vbox')
str = '';
for (i=0;i<tabs.length;i++){
  if (tabs[i].querySelector('.device-page-url .devtools-link') != null){
    str += '- ['+tabs[i].querySelector('.device-page-title').textContent + '](' + tabs[i].querySelector('.device-page-url .devtools-link').getAttribute('href') +')\n'
  } else {
    console.log(tabs[i])
  }
}
copy(str)

1
ক্রোম পরিবর্তিত হয়েছে, tabs = Array.from(document.querySelectorAll('div /deep/ div /deep/ div /deep/ div /deep/ div /deep/ .device-page-list .vbox'), s => ({name: s.querySelector('.device-page-title').textContent, url: s.querySelector('.devtools-link')._href}))এখনই কাজ করবে
ক্লাস করা হয়েছে

মনে রাখবেন যে এই কৌশলটি ব্যবহার করে, 100 টিরও বেশি অক্ষরের বেশি যে কোনও ইউআরএল এর সমাপ্তি কেটে যাবে।
পিটারফ্লিন

@ পেটারফ্লিন এখনও আমার পক্ষে কাজ করে। আমি সবেমাত্র একটি url রফতানি করেছি যা 432 অক্ষর ছিল cha নিশ্চিত করুন যে আপনি যে স্ক্রিপ্টটি ডায়মোট সরবরাহ করেছেন তা ব্যবহার করছেন
woojoo666

1
এটি আবার পরিবর্তন হয়েছে। ক্রোম সংস্করণ "73.0.3683.75 (অফিসিয়াল বিল্ড) (-৪-বিট)" এর জন্য: tabs = Array.from(document.querySelector('div /deep/ div /deep/ div /deep/ div /deep/ div /deep/ div /deep/ div.vbox.flex-auto').shadowRoot.querySelectorAll('.devices-view .device-page-list .vbox'), s => ({name: s.querySelector('.device-page-title').textContent, url: s.querySelector('.device-page-url .devtools-link').getAttribute('href')}))(আমি কোনও নির্বাচকের মাধ্যমে চূড়ান্ত ছায়া-রুট অ্যাক্সেস করতে পারিনি, তবে এর .shadowRootপরিবর্তে এর হোস্ট উপাদানটির সম্পত্তি ব্যবহার করতে হয়েছিল why কেন ঠিক তা নিশ্চিত নয়, তবে হেই, অসমর্থিত।
আদ্রিয়ান

1
অন্য কারও যদি সমস্যা হয় তবে আমি এই স্ক্রিপ্টগুলির কয়েকটি চালাতে সমস্যা করছিলাম (এটি বন্ধ করার আগে 10+ মিনিটেরও বেশি সময় 100% ব্যবহারের সাথে এটি কার্নেলের USB স্ট্যাকের হাতুড়ি দিয়েছিল)। আমি খুঁজে পাওয়ার সেরা উপায়টি ছিল ক্রোম দেব সরঞ্জাম পরিদর্শকের পিতামাতার এইচটিএমএল উপাদানটি নির্বাচন করা (তালিকায় একটি এলোমেলো আইটেম নির্বাচন করতে নেস্টেড ডিভাইস উইন্ডোটির উপরের বামে কার্সার বোতামটি ব্যবহার করুন এবং তারপরে প্যারেন্ট উপাদানটি নির্বাচন করুন) এবং তারপরে ডান ক্লিক করুন -> "এইচটিএমএল হিসাবে সম্পাদনা করুন" -> অন্য পাঠ্য ফাইলে অনুলিপি করুন। তারপরে উপরের স্ক্রিপ্টগুলি সেই স্থানীয় এইচটিএমএল অনুলিপি (বা
বেস

13

আমার ব্রাউজারের ক্র্যাশ হওয়ার পরে একদিন স্থায়ীভাবে বন্ধ হওয়া ট্যাবগুলি পুনরুদ্ধার করতে গিয়ে আমি এই সমাধানটি পেয়েছিলাম। আপনার প্রয়োজনীয় তথ্য অ্যাক্সেস করতে আপনার ডিভাইসটি রুট করা দরকার যাতে আপনি নিজের ডিভাইসে ইনস্টল থাকা রুট ফাইলগুলিতে অ্যাক্সেস সহ কোনও ফাইল এক্সপ্লোরার অ্যাপ চালাতে পারেন। ইএস ফাইল এক্সপ্লোরার বা রুট এক্সপ্লোরার আমার প্রস্তাবনা recommendations

  1. আপনার ডিভাইসের মূল ফোল্ডারে নেভিগেট করুন (সুরক্ষিত সিস্টেম পার্টিশন) → নির্বাচন করুন DATA→ নির্বাচন করুন com.android.chrome

  2. এমন বেশ কয়েকটি জায়গা রয়েছে যেখানে আপনি আপনার বর্তমান ট্যাবগুলি সম্পর্কে তথ্য পেতে পারেন।

    1. চেক প্রথম ফোল্ডার app_tabsতারপর 0। এই ফোল্ডারে একটি ফাইল বলা উচিত যাতে tab_stateআপনার বর্তমান ট্যাবগুলির একটি তালিকা রয়েছে।
    2. এছাড়া এই ফোল্ডারে অন্যান্য ফাইল বলা হয় tab3, tab4ইত্যাদি যা বর্তমান ট্যাব সম্পর্কে তথ্য ধারণ করে।
    3. আইএমও, এনকোডিং আলাদা হওয়ায় এই কয়েকটি ফাইলের বিষয়বস্তু পড়তে আপনার একটি বিশেষ "টেক্সট সম্পাদক / এসকিএল এডিটর" দরকার।
  3. দেখার পরের জায়গাটি /data/com.android.chrome/app_chrome/Default/। এই ফোল্ডারে আপনি একটি ফাইল খুঁজে পাবেন History। আপনার পরিস্থিতির উপর নির্ভর করে আপনি এখানে সাম্প্রতিক সাইট ভিজিটের একটি ভাল তালিকা পেতে পারেন।

  4. শেষ পর্যন্ত, নেভিগেট করুন Sync Data folder। এখানে, আপনি গুগলে সিঙ্ক করা হচ্ছে এমন তথ্য পাবেন (এবং এটিতে আপনি অন্যান্য ডিভাইসে সিঙ্ক করেছেন এমন সমস্ত ট্যাব অন্তর্ভুক্ত করা উচিত)।

    • ফাইলে SyncData.sqlite3, আপনি আপনার সমস্ত গুগল অনুসন্ধানের ইতিহাসও খুঁজে পাবেন (যা আমি মাঝে মাঝে একটি আকর্ষণীয় পঠন বলে মনে করি)।
    • এই ফাইলটি পড়তে আপনার পিসিতে একটি স্ক্লাইট 3 ডেটা ব্রাউজার প্রোগ্রামের প্রয়োজন হবে। অ্যাপ্লিকেশনটি আপনাকে এমএস এক্সেলে খুলতে পারে এমন একটি অত্যন্ত ব্যবহারযোগ্য .CSVবা .XLSফাইলটিতে রফতানি করতে সক্ষম হওয়া উচিত ।

আমি অনুমান করি এমন কারও পক্ষে এটি সহায়ক হতে পারে।


5

আপনার যদি বিকাশ মেশিনে অ্যান্ড্রয়েড কমান্ড লাইন সরঞ্জাম ইনস্টল থাকে এবং আপনার অ্যান্ড্রয়েড ডিভাইসে ইউএসবি ডিবাগ সক্ষম করে থাকে তবে আপনি নিম্নলিখিতটি করতে পারেন:

  • সম্পাদন adb forward tcp:9222 localabstract:chrome_devtools_remoteআপনার উন্নয়ন মেশিনে।

    অ্যাবস্ট্রাক্ট ঠিকানার সাথে ইউনিক্স ডোমেন সকেটের মাধ্যমে ক্রোম উদাহরণগুলি একটি ডিবাগিং প্রোটোকলের অ্যাক্সেস উন্মুক্ত করে " chrome_devtools_remote" - উপরের অ্যাডবি কমান্ড সেই সকেটে 9222 পোর্ট করার জন্য অনুরোধ প্রেরণ করে। (আপনি টাইপ করে অ্যান্ড্রয়েড ডিভাইসে সমস্ত ইউনিক্স ডোমেন সকেটের একটি তালিকা পেতে পারেন adb shell cat /proc/net/unix))

  • ডিবাগিং প্রোটোকলটি HTTP- র মাধ্যমে ক্রোম দৃষ্টান্ত সম্পর্কিত JSON ডেটা প্রকাশ করে। একটি JSON ফাইল খোলা ট্যাব তালিকা নির্বাহ দ্বারা পাওয়া যেতে পারে wget -O tabs.json http://localhost:9222/json/list

    (এপিআই এর অন্যান্য শেষ পয়েন্টগুলি https://github.com/buggerjs/bugger-daemon/blob/master/README.md#api এ পাওয়া যাবে ))

দেখুন এখানে USB ডিবাগিং সক্রিয়, এবং আরও বিশদের জন্য এখানে কিভাবে এটি কাজ করে একটি ওভারভিউ জন্য।


2

এই কর্মপরিকল্পনা আপনাকে অ্যান্ড্রয়েডের জন্য Chrome এ খোলা সমস্ত ট্যাবগুলির জন্য স্বতন্ত্র URL গুলি সহ একটি পাঠ্য ফাইল দেবে।

  1. যেহেতু এই উল্লেখিত উত্তর দ্বারা মাইকেল , আপনি যে ফাইলটি বর্তমান ট্যাব রয়েছে দখল আছে। ডিভাইসে রুট এক্সপ্লোরার ব্যবহার করে, এই ফাইলটি ধরুন এবং আপনার উইন্ডোতে ফোল্ডারের পছন্দমতো স্থানান্তর করুন:/data/data/com.android.chrome/app_tabs/0/tab_state

  2. উইন্ডোজের জন্য জিএনইউ সরঞ্জাম ইনস্টল করুন

  3. কখনও কখনও ফাইলটিতে একটি অদ্ভুত তীর-চরিত্র থাকে যা স্ক্রিপ্টটিকে স্ক্রু করে দেয়। আপনি যদি স্ক্রিপ্টটি চালনা করেন এবং এটি ফাইলের কিছু অংশ ছাঁটাই করে ফেলেছে তবে শেষ চরিত্রটি দেখুন এবং এটি সম্ভবত সেই অদ্ভুত তীরচিহ্ন হবে। মূল ফাইলটিতে এটি সন্ধান করুন / প্রতিস্থাপন করুন। এটি শেষ হয়ে গেলে স্ক্রিপ্টটি ঠিকঠাক চলবে। দেখে মনে হচ্ছে:-->

  4. কমান্ড লাইন প্রম্পটে যান ("রান" বা Win+ এ যান Rএবং টাইপ করুন cmd) এবং এতে যে ফোল্ডার রয়েছে sed.exe(যেখানেই আপনি এটি ধাপ ২ এ ইনস্টল করেছেন সেখানে ) ফোল্ডারে যান to

  5. আপনি সম্ভবত মূল ফাইলটি ( tab_state) সমেত একই ফোল্ডারে নিয়ে যেতে চাইবেন sed.exe। এটি সবকিছু সহজ করে দেবে। এটি হয়ে গেলে, এই স্ক্রিপ্টটি চালান:

    sed -i "s/.\{6\}http/\r\n\r\nhttp/g" tab_state
    
  6. এটি সমস্ত URL টি সঠিকভাবে ফর্ম্যাট করে ফাইলটি পরিবর্তন করবে। পাঠ্য ফাইল হিসাবে ফাইলটি খুলুন এবং তারপরে সামগ্রীটি একটি ওয়ার্ড ডকুমেন্ট বা অন্য কোনও স্থানে অনুলিপি করুন এবং আটকান। কোনও কারণে, আপনি যদি ডেটা অনুলিপি করে আটকান না, আপনি ফাইলটি সংরক্ষণ করেন তখন সমস্ত লাইন ব্রেক / ক্যারেজ রিটার্ন মুছে দেয়। যদি জিনিসগুলি স্ক্রু হয় তবে কেবল আবার শুরু করুন এবং এটি আবার করুন। যখন এটি সব বলা এবং শেষ হয়ে যায়, আপনার এমন একটি ফাইল থাকা উচিত যা আপনি আগে খুলে থাকা সমস্ত ট্যাবগুলির লিঙ্কের একটি তালিকা সহ।


2

আপনি লুই ম্যাডডক্সের কাছ থেকে কোডটি এইটির সাথে প্রতিস্থাপন করতে পারেন , এটি আজকের মতো কাজ করছে Version 0.66.99 Chromium: 75.0.3770.100। মন্তব্য: আপনি যদি রিমোট ডিভাইস উইন্ডোটি সক্রিয় করেন এবং টিপেন তবে আপনি রিমোট ডিভাইস উইন্ডোর একটি নতুন কনসোল উইন্ডো খুলতে পারেনCtrl+Shift+J

tabs = Array.from(document.querySelector('div /deep/ div /deep/ div /deep/ div /deep/ div /deep/ div /deep/ div.vbox.flex-auto').shadowRoot.querySelectorAll('.devices-view .device-page-list .vbox'), s => ({name: s.querySelector('.device-page-title').textContent, url: s.querySelector('.device-page-url .devtools-link').getAttribute('href')}))

str = ' ';

tabs.forEach(e => {
    str += '- ['+ e.name + '](' + e.url +')\n';
})
copy(str)

তারপরে আপনি আপনার সমস্ত ট্যাব একটি পাঠ্যফাইলে পেস্ট করতে পারেন।

আপনি যদি আপনার প্রকৃত ডিভাইসে সমস্ত ট্যাব খুলতে চান তবে- tabs.forEachপার্টটি প্রতিস্থাপন করুন

tabs.forEach(e => {
    window.open(e.url, '_blank');
})

যদিও আপনার ডিভাইসে অনেক বেশি খোলা ট্যাব ব্যবহার করে চেষ্টা করবেন না।

tabsখোলার ট্যাবগুলিকে ম্যানুয়ালি সিঙ্ক্রোনাইজ করার জন্য অংশটির পরে আমি এটি যুক্ত করেছি (সাহসী এখনও এই বৈশিষ্ট্যটি অনুপস্থিত এবং আমার মোবাইল ডিভাইসে 650 টি খোলা ট্যাব ছিল) 50 টি ট্যাব চার্জে:

i=0;
j=0;
tabs.forEach(e => {
  if(i<50){
    i++;
    window.open(e.url, '_blank');
  }
  j++;
})
console.log("Tabs overall:"+j);

এটি খোলা ব্রাউজার উইন্ডোতে আপনার ডিভাইস থেকে 50 টি ট্যাবগুলির একটি ব্যাচ খুলবে। এটি সামগ্রিক ট্যাব গণনাও দেখায়। যদিও আপনি অন্য ব্যাচটি খুলতে চান তবে সেই বিকাশকারী সরঞ্জাম এবং রিমোট ডিভাইসের জন্য অবশিষ্ট 'খালি'-ট্যাবটি বন্ধ করবেন না। Ctrl + TABআপনি ট্যাবগুলি স্যুইচ করার সাথে সাথে Ctrl +Dসেগুলিকে বুকমার্ক করতে এবং Ctrl+Wসক্রিয় ট্যাবটি বন্ধ করতে। আমি ম্যানুয়ালি এটি এইভাবেই করেছি, প্রত্যেকের জীবনকে আরও সহজ করার জন্য এই কোডটিতে পরিবর্তনের প্রস্তাব দিতে নির্দ্বিধায়।


1

মাইকেল ট্যাব_স্টেট ফাইলটি সনাক্ত করেছে, এটি এটিকে ডিকোড করার মতো রয়েছে। নিম্নলিখিত লিপিটি আমার জন্য কাজ করেছে (কিটকাট কেএসএইচ_ভার্সন = '@ (#) এমআইআরবিএসডি কেএসএইচ আর 43 2013/02/19' বা জেনিয়াল BASH_VERSION = '4.3.46 (1) -রেইল' ক্রোম 49.0.2623.105 এর একটি ট্যাব_স্টেট ফাইলটিতে, এটি প্রথমে শেষ ইউআরএল প্রিন্ট করে, ইউআরএলগুলির মধ্যে এটি যে কোনও অপ্রিন্টযোগ্য বাইট এবং সমস্ত নিম্নলিখিত বাইটগুলি সরিয়ে দেয় এবং আরও প্রয়োজনে কমপক্ষে 2 বাইট অপসারণ করা হয়। প্রতিটি ইউআরএল অনুসরণ করে এটি একটি স্পেস মুদ্রণ করে, তারপরে মুছে ফেলা সমান্তরাল মুদ্রণযোগ্য বাইটগুলি যদি থাকে তবে একটি কমা, তারপরে অপসারণ করা অন্যান্য বাইটের সংখ্যা (এবং বন্ধনীগুলির মধ্যে বাইটস বলে)। ইউআরএলগুলি মুদ্রণ করতে কেবল পরিবর্তে মন্তব্য করা ইকো কমান্ড ব্যবহার করুন।

tab_state=/data/data/com.android.chrome/app_tabs/0/tab_state
[[ $KSH_VERSION ]]||shopt -s extglob       #set if bash
(cat $tab_state;echo)|while read -r r;do b=
   while
      q=${r%http?(s)://*}          #chip off a URL
      [[ $q = *url= ]]&&{
         p=${r%http?(s)://*url=*}  #special case URL within URL
         [[ $p = "$r" ]]||q=$p;}
      h=${r:${#q}}                 #the chip
      h=${h%%[! -~]*}              #remove unprintable&following bytes
      u=$((${#r}-${#q}-${#h}))     #no of said bytes removed
      p=$((u<b?b-u:0))             #no of more bytes to remove
      [[ $h ]];do
         echo "${h::${#h}-p} ${h:${#h}-p},$u(${r:${#r}-u})"
      #  echo "${h::${#h}-p}"
         r=$q b=2
   done
done

1

পড়তে আপনাকে রুট বা ক্রোম হওয়া দরকার /data/data/com.android.chrome/app_tabs/0/tab_state0

আপনি এই নোংরা পরিবেশে দুর্বল ডিভাইসগুলিতে শোষণ ব্যবহার করে Chrome হয়ে উঠতে এবং tab_state0সংযুক্ত ডিভাইস থেকে পেতে পারেন :

make root
adb shell
run-as com.android.chrome
chmod 711 /data/data/com.android.chrome/app_tabs/0
chmod 644 /data/data/com.android.chrome/app_tabs/0/tab_state0
exit
cp /data/data/com.android.chrome/app_tabs/0/tab_state0 /sdcard/
exit
adb pull /sdcard/tab_state0

আপনার একবার অ্যাক্সেস হয়ে গেলে tab_state0, URL গুলি বের করুন:

LC_ALL=C grep -a -o 'http[[:print:]]*' tab_state0

1

সিমোনসানের সাম্প্রতিক উত্তর আমার বর্তমান ক্রোম বিল্ডে কাজ করছে না 75.0.3770.100। আমি না vboxতাই আমি একটি কোড যে এখন কাজ করছে লিখতে পরিচালিত, বর্গ যে পোস্ট প্রত্যেক স্ক্রিপ্ট ব্যবহার করা হয়:

tabs = document.querySelectorAll('#devices div /deep/ div /deep/ div /deep/ div /deep/ .row')
str = '';
for (i=0;i<tabs.length;i++){
  if (tabs[i].querySelector('.name').innerText != null){
    str += '- ['+tabs[i].querySelector('.name').innerText + '] (' + tabs[i].querySelector('.url').innerText +  ')\n'
  } else {
    console.log(tabs[i])
  }
}

আমি লুই ম্যাডডক্সের পোস্ট এবং স্ক্রিনশটগুলি খুঁজে পেয়েছি তার স্ক্রিপ্টটি বোঝার জন্য তাই আপডেটেড ট্রি সহ আমার এখানে।

স্ক্রিনশট


যাইহোক 100 চর ক্যাপটি কাটিয়ে ওঠার প্রস্তাবিত সমাধানগুলি আমার পক্ষে কার্যকর হয়নি তাই আমি inspect.jsএই পদক্ষেপগুলি অনুসরণ করে উত্স থেকে সম্পাদনা করার সিদ্ধান্ত নিয়েছি :

  1. ক্রোম-প্যাক-কাস্টমাইজারটি ডাউনলোড করুন এবং আনজিপ করুন।
  2. থেকে C:\Program Files (x86)\Google\Chrome\Application\75.0.3770.100(যেখানে 75.0.3770.100বিল্ড নাম) এর একটি অনুলিপি তৈরি resources.pakড্র্যাগ কপি আপনার দস্তাবেজ ফোল্ডার, এবং ওপর ছেড়ে দিন unpack.batআনজিপ ফোল্ডারে।
  3. ইন \document\resources_unpaked\নেওয়া 11208.jsএবং এটি খুলুন।
  4. 537 লাইনে বা সন্ধান করে 100এই লাইনগুলি রয়েছে
  let text = value ? String(value) : '';
  if (text.length > 100) {
    text = text.substring(0, 100) + '\u2026';
  }

changing the 100 to 300 should be enough, it may cuts some google search links but mine where still working.
  1. ফাইলটি সংরক্ষণ করুন এবং একই ফোল্ডারে pak_index.iniএটিকে টেনে আনুন এবং এটিকে ড্রপ করুন pak.bat। পরিবর্তনগুলি সহ এখন resource.pakইন \documents\আপডেট করা হয়েছে।
  2. resource.pakআপনি কখনই জানেন না, ক্রোম বন্ধ করুন এবং অরগিনালটি আপডেট করা সংস্করণ দিয়ে প্রতিস্থাপন করুন কারণ এর একটি ব্যাকআপ তৈরি করুন ।

এখন স্ক্রিপ্টটি ইউআরএলগুলির জন্য 300 টি পর্যন্ত অক্ষর দেখাবে।


0

উইন্ডোগুলিতে, tab_state0কোনও টাইটানিয়ামব্যাকআপ সংরক্ষণাগার থেকে বের করার জন্য (যেটি মূলের ফোনগুলিতে কাজ করে)

7z e TitaniumB\com.android.chrome-20180918-001302.tar.gz -so | 7z e -si -ttar tab_state0 -r

থেকে ট্যাবগুলির তালিকা পেতে tab_state0

sed -b "s/^.\{20\}//g" tab_state0 | sed -b "s/.\{6\}http/\nhttp/g" > my-tabs.md

উইন্ডোজগুলিতে আমি তখন https://scoop.sh/ ইনস্টল করবscoop install busybox 7zip


-1

আপনি যে উত্তরটি সন্ধান করছেন এটি এটি নয়, তবে:

  1. গুগলে ডামি অ্যাকাউন্ট তৈরি করুন

  2. অ্যান্ড্রয়েড ডিভাইসে লগইন করুন এবং সিঙ্কিং সক্ষম করুন

  3. ডেস্কটপে লগইন করুন এবং সিঙ্ক সক্ষম করুন

  4. ডেস্কটপে সেশন বাডি এক্সটেনশন ইনস্টল করুন

  5. ট্যাব রফতানি করুন


5
ওপি যেমন তার প্রশ্নে বলেছে: ক্রোমের সিঙ্ক বৈশিষ্ট্যটি আমার অ্যান্ড্রয়েড ফোনে খোলা সমস্ত ট্যাব তুলেছে না। - কিভাবে এই সাহায্য করা উচিত? অসম্পূর্ণ সিঙ্কের পরে আপনার প্রস্তাবিত সমাধান রফতানি করে , সুতরাং এটি ওপি দ্বারা অনুরোধ অনুসারে সমস্ত ট্যাব রফতানি করবে না।
ইজি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.