Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save notlin4/a05d7db77cd5606a812f4b9900fef3ee to your computer and use it in GitHub Desktop.
Save notlin4/a05d7db77cd5606a812f4b9900fef3ee to your computer and use it in GitHub Desktop.
教學用電子書與相關工具免登入教學 | 本指令碼用於繞過臺灣電子書與教學工具的前端驗證,達成不需要教師帳號即可使用。支援 翰林、南一、康軒 三大出版社 | 請勿將本指令碼作為抄答案、侵權等惡意用途,使用本指令碼,請自行承擔所有後果與風險

教學用電子書與相關工具免登入教學

使用本指令碼即表示你同意《免責聲明》。

免責聲明

請勿將本指令碼作為抄答案、侵權等惡意用途,使用本指令碼,請「自行承擔」所有後果與風險。

簡介

本指令碼用於繞過臺灣電子書與教學工具的前端驗證,達成不需要教師帳號即可使用。

開發緣由

原本是因為開發者忘記帶課本,但又想要查閱課本的資料,心血來潮研究看看電子書的驗證設計。
開發這個不是希望拿去抄答案,是希望讓真正需要用的人可以用到,也希望各家出版社能提供一種學生與家長的版本,就是只能瀏覽但不能顯示解答或者專為學習者設計,就可以完美解決這些問題。

如何使用

以下指令碼託管於儲存庫 without-auth_e-book/fast.js,並使用 jsDelivr 快取資料,更新日誌可於這裡查看。
請勿變更下列所有帳號的個人資料!

支援網站

書籤版

  1. 如果還沒開啟書籤列請用 Ctrl + Shift + B 開啟,接著對書籤列按下滑鼠右鍵,選擇「新增網頁...」。
  2. 將名稱改為你想要使用的新名稱。
  3. 將網址改成以下指令碼:
javascript:(function(){var script=document.createElement('script');script.src='https://cdn.jsdelivr.net/gh/notlin4/without-auth_e-book@main/fast.js';document.body.appendChild(script);})();
  1. 前往要使用的電子書或相關工具網站,點選書籤或在網址列輸入書籤的名稱。
  2. 達成迴避登入!

如要在手機或平板電腦上使用,請輕觸「查看方法」並依照下列步驟操作:

查看方法
  1. 依序輕觸網址列右側的「更多」圖示 > 「星號」圖示
  2. 輕觸下方彈出的「編輯」,輸入你想要使用的新名稱。
  3. 將網址改成以下指令碼:
javascript:(function(){var script=document.createElement('script');script.src='https://cdn.jsdelivr.net/gh/notlin4/without-auth_e-book@main/fast.js';document.body.appendChild(script);})();
  1. 前往要使用電子書的網站,在網頁列輸入書籤的名稱並輕觸它。
  2. 達成迴避登入!

主控台版

  1. 前往要使用的電子書或相關工具網站。
  2. 按下 F12 開啟開發人員工具,然後切換到主控台 (Console) 分頁。
  3. 貼上以下指令碼並執行:
javascript:(function(){var script=document.createElement('script');script.src='https://cdn.jsdelivr.net/gh/notlin4/without-auth_e-book@main/fast.js';document.body.appendChild(script);})();
無法貼上嗎?按這裡查看如何修正

繁體中文

如果你使用的是繁體中文(如上圖),請在主控台輸入「允許貼上」,然後按下 Enter 鍵允許貼上。

英文

如果你使用的是英文(如上圖),請在主控台輸入「allow pasting」,並按下 Enter 鍵允許貼上。

對於其他語言,請在主控台輸入對應引號中的內容,並按下 Enter 鍵允許貼上。

  1. 達成迴避登入!

▍ Google Chrome 瀏覽器的操作方式

image

指令碼版

按這裡展開
  1. 前往要使用的電子書或相關工具網站。
  2. 按下 F12 開啟開發人員工具,然後切換到主控台 (Console) 分頁。
  3. 貼上下方的指令碼並執行。
無法貼上嗎?按這裡查看如何修正

繁體中文

如果你使用的是繁體中文(如上圖),請在主控台輸入「允許貼上」,然後按下 Enter 鍵允許貼上。

英文

如果你使用的是英文(如上圖),請在主控台輸入「allow pasting」,並按下 Enter 鍵允許貼上。

對於其他語言,請在主控台輸入對應引號中的內容,並按下 Enter 鍵允許貼上。

  1. 達成迴避登入!

✅ 康軒電子書

連結:國中領域國中輔材
注意事項:需要先點選要下載的電子書,再執行指令碼才會生效,且每次切換電子書都需要再執行一次。目前僅支援國中的電子書,國小電子書和媒體盒可暫時改用 evonisme 製作的 EvGo 下載。造成不便之處,敬請見諒。

if (window.location.href.startsWith("https://webetextbook.knsh.com.tw/")) {
  const assetButtons = document.querySelectorAll('.downAssetBtn');
  let hasFileName = false;
  assetButtons.forEach(button => {
    const fileName = button.getAttribute('d-file_name');
    if (fileName) {
      hasFileName = true;
      const label = document.createElement('a');
      label.href = `https://webetextbook.knsh.com.tw/Ebookvieweran4Teacher/index.html?id=${fileName.replace('.zip', '')}`;
      label.textContent = '開啟';
      label.className = 'm-0 label label-info';
      button.innerHTML = '';  
      button.appendChild(label);
      button.removeAttribute('onclick');
    }
  });
  if (hasFileName) {
    console.log('執行成功!');
  } else {
    alert('請先點選你要使用的電子書,再執行指令碼。');
  }
} else if (window.location.href.startsWith('https://digitalmaster.knsh.com.tw/v3/pages/j/index.html')) {
  let alertShown = false;
  document.querySelectorAll('.downloadButton').forEach(button => {
    const urlMatch = button.getAttribute('onclick')?.match(/openeRefbook\('(.*?)'\)/);
    if (urlMatch?.[1]) {
      const curBookUrl = new URL(urlMatch[1]).searchParams.get('CUR_BOOK_URL');
      if (curBookUrl) {
        if (!alertShown) {
          alert(`CUR_BOOK_URL: ${curBookUrl}`);
          alertShown = true;
          button.textContent = "免登入開啟";
          button.removeAttribute('onclick');
          button.addEventListener('click', () => window.open(urlMatch[1], '_blank'));
        }
        return;
      }
    }
  });
} else if (window.location.href.startsWith('https://digitalmaster.knsh.com.tw/downloader/box-web/index.html')) {
  alert('請先選擇要使用的年級再執行指令碼。');
} else if (window.location.href.startsWith('https://digitalmaster.knsh.com.tw/ebook/review/')) {
  alert('請先選擇要使用的電子書再執行指令碼。');
} else if (confirm('網站錯誤,請選擇要開啟的項目:\n\n1. 國中領域\n2. 國中輔材')) {
  const selectedURL = ['https://webetextbook.knsh.com.tw/2/index.html?code_degree=2','https://digitalmaster.knsh.com.tw/ebook/review/'][parseInt(prompt('請輸入你的選擇(輸入數字 1 或 2):')) - 1];
  if (selectedURL) window.open(selectedURL, '_blank');
}

✅ 翰林電子書

連結:翰林行動大師

if (window.location.href.startsWith("https://edisc3.hle.com.tw/edisc_v3")) {
  let time = new Date().getTime().toString();
  localStorage.setItem("last_signinX_v2023", time); // 將帳號登入日期設為目前時間,避免被判定為過期
  localStorage.setItem("roleX_v2023", "老師"); // 將身分設為老師
  localStorage.setItem("emailX_v2023", "[email protected]"); // 由於翰林電子書會驗證是否有設定電子郵件,如有設定才能使用
  localStorage.setItem("lockX_v2023", "false");
  localStorage.setItem("tokenX_v2023", "eyJhbGciOiJSUzI1NiIsImtpZCI6Ijg1NzgwNWYxZGQ3ZmE5YTZiNTI3ZjQ0ZWNmZmJkNDhjIiwidHlwIjoiYXQrand0In0.eyJuYmYiOjE3MjcwMDk4MjcsImV4cCI6MTc1OTE1MDYyNywiaXNzIjoiaHR0cHM6Ly9pZC5obGUuY29tLnR3IiwiYXVkIjpbImFwaTEiLCJJZGVudGl0eVNlcnZlckFwaSIsImhhbmxpbi1hcGkiXSwiY2xpZW50X2lkIjoianMiLCJzdWIiOiJiNzcyMjA5MS00YWQyLTQxYTQtYjMzZi05YzQyNDZjNzYxOTQiLCJhdXRoX3RpbWUiOjE3MjcwMDk4MjcsImlkcCI6ImxvY2FsIiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvZW1haWxhZGRyZXNzIjoia29sYWRpMTc2MkBidXpibG94LmNvbSIsIkFzcE5ldC5JZGVudGl0eS5TZWN1cml0eVN0YW1wIjoiN0dGSURIWktFV1BUSldRQko3STdNNVU0NVlXMklRUjUiLCJyb2xlIjoi6ICB5birIiwiZW1haWwiOiJrb2xhZGkxNzYyQGJ1emJsb3guY29tIiwiZmFtaWx5X25hbWUiOiLlhbHlkIwiLCJnaXZlbl9uYW1lIjoi55So5oi2IiwibmFtZSI6IuWFseWQjOeUqOaItiIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJwaG9uZV9udW1iZXIiOiIwOTI4MzUyOTUxIiwicGhvbmVfbnVtYmVyX3ZlcmlmaWVkIjp0cnVlLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiLlhbHlkIznlKjmiLYiLCJ1c2VyX2RvbWFpbiI6ImVkdSIsInNjaG9vbFN5c3RlbSI6IuWci-WwjyIsImlzaWRlbnRpZmllZCI6dHJ1ZSwibG9jayI6ZmFsc2UsInZlciI6Mywic2NvcGUiOlsib3BlbmlkIiwicHJvZmlsZSIsImFwaTEiLCJJZGVudGl0eVNlcnZlckFwaSIsImhhbmxpbi1hcGkiLCJvZmZsaW5lX2FjY2VzcyJdLCJhbXIiOlsicHdkIl19.PGXhy1RBo_ff1lzvinDS8pR7qOeeotbQTaaW8kRRaF35Ga9QnhFM1FArfHXofPwNQvwok7KLfOosCA8iegJC2dN2EZPSflZMHD8VPn4UZ6ZJTSAXt2s_T-hm6MEZM9iNoDerlam9G64evmtfrW0qygnLrMqVjGxVxXiy0pOM-8VcVMkc-iBNzZRV-vxnokS0jqQCTwAdkVMKCuFksrpRNtg2HLAAwVPosey5rjnBH4ivIMUey1dbZzaHRQwdZ3_ZDM5h9-j_1LKGvrVpNQ-VcLc2-iShUVbb0bxwCzpkmTJ1ySSH4edZV36rFgXQNcDASARC5ujBUVQ79Brc6hR37w"); // 設定驗證用的權杖
  location.reload(); // 重新載入網頁
} else if (window.confirm("網站錯誤,按一下「確定」來開啟翰林行動大師。")) {
  window.open('https://edisc3.hle.com.tw/edisc_v3/ebook_v2023.html', '_blank');
}

✅ 南一

連結:NaniBook 電子書NaniBox 網頁版NaniPaper 線上雲端出題

if (window.location.href.includes("oneclass.com.tw")) {
  let mockToken = JSON.stringify({
  "code": "SUCCESS",
  "jwt": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vbXlhY2NvdW50Lm5hbmkuY29vbC8iLCJzdWIiOiJ1c2Vycy91bmljeWNsZTQiLCJmcm9tIjoiTmFuaSIsInVzZXJuYW1lIjoidW5pY3ljbGU0IiwiZW1haWx2YWxpZCI6dHJ1ZSwibW9iaWxldmFsaWQiOmZhbHNlLCJlbWFpbCI6ImtyNTJ5NTRtQGR1Y2suY29tIiwidWlkIjoiNDA3YzBhNjAtMzgxZS0xMWVmLWEyZjMtMGYxNmE0Y2MyYjA4IiwianRpIjoiMzEzNGE2ZDAtZTc0Zi00MDM0LTkzNjItMDY2YmI0NzA0YTcwIiwiaWF0IjoxNzI1MDczMzUyLCJleHAiOjE3MzAyNTczNTJ9.UIiK2nzCpv-F-LKYBWDEgsQQ5AdyW92tH5U9_t9Couo"});
  let fieldName = "nani_oneclass_login_token";
  var d = new Date();
  d.setTime(d.getTime() + (1 * 24 * 60 * 60 * 1000));
  var expires = "expires=" + d.toUTCString();
  var hostname = window.location.hostname;
  if (hostname.indexOf("oneclass.com.tw") > 0) {
    document.cookie = fieldName + "=" + mockToken + ";" + expires + ";path=/;domain=oneclass.com.tw";
  } else {
    document.cookie = fieldName + "=" + mockToken + ";" + expires + ";path=/";
  }
  localStorage.setItem("nani_tokenInfo", mockToken); // 設定驗證用的權杖
  location.reload(); // 重新載入網頁
} else if (confirm('網站錯誤,請選擇要開啟的項目:\n\n1. NaniBook 電子書\n2. NaniBox 網頁版\n3. NaniPaper 線上雲端出題')) {
  var selectedURL = ['https://reader.oneclass.com.tw/bookshelf', 'https://onebox2.oneclass.com.tw', 'https://onepaper.oneclass.com.tw'][parseInt(prompt('請輸入你的選擇(輸入數字 1、2 或 3):')) - 1];
  selectedURL && window.open(selectedURL, '_blank');
}

✅ 翰林雲端命題大師

連結:翰林雲端命題大師

if (window.location.href.startsWith("https://testbank.hle.com.tw")) {
  localStorage.setItem("oidc.user:https://id.hle.com.tw:js", '{"access_token":"eyJhbGciOiJSUzI1NiIsImtpZCI6Ijg1NzgwNWYxZGQ3ZmE5YTZiNTI3ZjQ0ZWNmZmJkNDhjIiwidHlwIjoiYXQrand0In0.eyJuYmYiOjE3MjcwMTA3NzQsImV4cCI6MTc1OTE1MTU3NCwiaXNzIjoiaHR0cHM6Ly9pZC5obGUuY29tLnR3IiwiY2xpZW50X2lkIjoianMiLCJzdWIiOiJiNzcyMjA5MS00YWQyLTQxYTQtYjMzZi05YzQyNDZjNzYxOTQiLCJhdXRoX3RpbWUiOjE3MjcwMTA3NzQsImlkcCI6ImxvY2FsIiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvZW1haWxhZGRyZXNzIjoia29sYWRpMTc2MkBidXpibG94LmNvbSIsIkFzcE5ldC5JZGVudGl0eS5TZWN1cml0eVN0YW1wIjoiN0dGSURIWktFV1BUSldRQko3STdNNVU0NVlXMklRUjUiLCJyb2xlIjoi6ICB5birIiwiZW1haWwiOiJrb2xhZGkxNzYyQGJ1emJsb3guY29tIiwiZmFtaWx5X25hbWUiOiLlhbHlkIwiLCJnaXZlbl9uYW1lIjoi55So5oi2IiwibmFtZSI6IuWFseWQjOeUqOaItiIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJwaG9uZV9udW1iZXIiOiIwOTI4MzUyOTUxIiwicGhvbmVfbnVtYmVyX3ZlcmlmaWVkIjp0cnVlLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiLlhbHlkIznlKjmiLYiLCJ1c2VyX2RvbWFpbiI6ImVkdSIsInNjaG9vbFN5c3RlbSI6IuWci-WwjyIsImlzaWRlbnRpZmllZCI6dHJ1ZSwibG9jayI6ZmFsc2UsInZlciI6Mywic2NvcGUiOlsib3BlbmlkIiwicHJvZmlsZSJdLCJhbXIiOlsicHdkIl19.d5gF0rVVmO_u28Z-a0hcXDQIJEHtP1R9UOsO-Ca5tXbdQ0jjrqbyD0V0zlDpmDmnSBgJFoFVztO05cgQcwVzTwrFETG6c2t5zUESIUM0tEvvIlFNhGU1IQV6VNYxZJylghHCvwgONTBpjQUzbIxFnYIb4L4aft68ZMZltRorOPcTOgKGR5w__UKuCwm2fF2gCao9Y9wl-BvruDtE5Oh0hyr7G8cBb0MefbBkd4aAwCUbxi1T-XQzTIXUPFl9TJq7ZQ6Rs-4gmj0edlsEv17sGt-dtVEfVuFMwtkAKq7BDxtEoypCK7JGMJe8liq87gDTYwAixpYS7dwTKxRFDFXMxA","id_token":"eyJhbGciOiJSUzI1NiIsImtpZCI6Ijg1NzgwNWYxZGQ3ZmE5YTZiNTI3ZjQ0ZWNmZmJkNDhjIiwidHlwIjoiSldUIn0.eyJuYmYiOjE3MjcwMTA3NzQsImV4cCI6MTcyOTY4OTE3NCwiaXNzIjoiaHR0cHM6Ly9pZC5obGUuY29tLnR3IiwiYXVkIjoianMiLCJpYXQiOjE3MjcwMTA3NzQsImF0X2hhc2giOiJSSThINmVveUVMZmVpeFJ2UHlVaE9BIiwic19oYXNoIjoiVnhGUDBac2tYYWQxNXlYcWVvbWJldyIsInNpZCI6InRFTFFrTC1qZHpBSUNud25YY25PRkEiLCJzdWIiOiJiNzcyMjA5MS00YWQyLTQxYTQtYjMzZi05YzQyNDZjNzYxOTQiLCJhdXRoX3RpbWUiOjE3MjcwMTA3NzQsImlkcCI6ImxvY2FsIiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvZW1haWxhZGRyZXNzIjoia29sYWRpMTc2MkBidXpibG94LmNvbSIsIkFzcE5ldC5JZGVudGl0eS5TZWN1cml0eVN0YW1wIjoiN0dGSURIWktFV1BUSldRQko3STdNNVU0NVlXMklRUjUiLCJyb2xlIjoi6ICB5birIiwiZW1haWwiOiJrb2xhZGkxNzYyQGJ1emJsb3guY29tIiwiZmFtaWx5X25hbWUiOiLlhbHlkIwiLCJnaXZlbl9uYW1lIjoi55So5oi2IiwibmFtZSI6IuWFseWQjOeUqOaItiIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJwaG9uZV9udW1iZXIiOiIwOTI4MzUyOTUxIiwicGhvbmVfbnVtYmVyX3ZlcmlmaWVkIjp0cnVlLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiLlhbHlkIznlKjmiLYiLCJ1c2VyX2RvbWFpbiI6ImVkdSIsInNjaG9vbFN5c3RlbSI6IuWci-WwjyIsImlzaWRlbnRpZmllZCI6dHJ1ZSwibG9jayI6ZmFsc2UsInZlciI6MywiYW1yIjpbInB3ZCJdfQ.v2vYQXQGgBDKgY6ggyy4V1Xv_K7aEzk1UNT5JziVUXcSgldE9tLFwkn5k0Ft44rE8n5aCYCiD8qlNRb_D2Qp4AwC3q0L7j6l-qtEyrpzF7qI4LaWNw6N_MRKaP5m9-Zc9c6q1Q1miXyjFvjBJcwc3f2VdXEa5d49Qg9yHhdi3Y6RbQim8fuz-HR7MexEc94RGf0FS5Rc2EbixlEtkiYtziM9LfIRXskfy-wkUWdrHwwC7A_qQnuMiKIyUfQr0MEP9lH-lMZv6XtB0EapmfP4EwgTIK4Ak_dvzWQEffhyT36QbkmDkHYbQk1if9BcriXXgJgZ0Pz433_ETDgEHlULJg"}');
  location.reload(); // 重新載入網頁
} else if (window.confirm("網站錯誤,按一下「確定」來開啟翰林雲端命題大師。")) {
  window.open('https://testbank.hle.com.tw', '_blank');
}

✅ 翰林輔材網

連結:翰林輔材網

if (window.location.href.startsWith("https://reference.hle.com.tw")) {
  sessionStorage.setItem("accessToken", "eyJhbGciOiJSUzI1NiIsImtpZCI6Ijg1NzgwNWYxZGQ3ZmE5YTZiNTI3ZjQ0ZWNmZmJkNDhjIiwidHlwIjoiYXQrand0In0.eyJuYmYiOjE3MjcwMTA4NzgsImV4cCI6MTc1OTE1MTY3OCwiaXNzIjoiaHR0cHM6Ly9pZC5obGUuY29tLnR3IiwiY2xpZW50X2lkIjoianMiLCJzdWIiOiJiNzcyMjA5MS00YWQyLTQxYTQtYjMzZi05YzQyNDZjNzYxOTQiLCJhdXRoX3RpbWUiOjE3MjcwMTA3NzQsImlkcCI6ImxvY2FsIiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvZW1haWxhZGRyZXNzIjoia29sYWRpMTc2MkBidXpibG94LmNvbSIsIkFzcE5ldC5JZGVudGl0eS5TZWN1cml0eVN0YW1wIjoiN0dGSURIWktFV1BUSldRQko3STdNNVU0NVlXMklRUjUiLCJyb2xlIjoi6ICB5birIiwiZW1haWwiOiJrb2xhZGkxNzYyQGJ1emJsb3guY29tIiwiZmFtaWx5X25hbWUiOiLlhbHlkIwiLCJnaXZlbl9uYW1lIjoi55So5oi2IiwibmFtZSI6IuWFseWQjOeUqOaItiIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJwaG9uZV9udW1iZXIiOiIwOTI4MzUyOTUxIiwicGhvbmVfbnVtYmVyX3ZlcmlmaWVkIjp0cnVlLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiLlhbHlkIznlKjmiLYiLCJ1c2VyX2RvbWFpbiI6ImVkdSIsInNjaG9vbFN5c3RlbSI6IuWci-WwjyIsImlzaWRlbnRpZmllZCI6dHJ1ZSwibG9jayI6ZmFsc2UsInZlciI6Mywic2NvcGUiOlsib3BlbmlkIiwicHJvZmlsZSIsIm9mZmxpbmVfYWNjZXNzIl0sImFtciI6WyJwd2QiXX0.xzaLXn13B5pOFPg7k7kOYcrHd3UGm2EIKaGJwHqcXY006ttgVygDO8MfcYMf3grrtgXPjbMZ_esLGu-hZqYb_Ajf_RfRfFtXexLeqeqewBaXWC1va-TrMuxjUCxrW_ByyO1gcNoTdyiuMSITR1TCepX3vEKC4kkKS2ivEnsW-N4nA_DtLQWp2fdZUTL98GEFQ4U9HI0UxfywQQAK_6lu9ifxqq359PvX_I1tnvLVP9hQKe8DfLujVAItPhaGJ-1luV5-UWJt8ooOuRczYs1bqM5EMsV-iShCdVLvoTYYIaLRVy9dbEA84qRqvd0YE2Bmogat1STmNGRsryfNL66yEw"); // 設定權杖
  sessionStorage.setItem("userToken", "eyJhbGciOiJSUzI1NiIsImtpZCI6Ijg1NzgwNWYxZGQ3ZmE5YTZiNTI3ZjQ0ZWNmZmJkNDhjIiwidHlwIjoiSldUIn0.eyJuYmYiOjE3MjcwMTA4NzgsImV4cCI6MTcyOTY4OTI3OCwiaXNzIjoiaHR0cHM6Ly9pZC5obGUuY29tLnR3IiwiYXVkIjoianMiLCJpYXQiOjE3MjcwMTA4NzgsImF0X2hhc2giOiJMcnJNQ0x0ZGVTUjgzSnUycTFVeHRnIiwic19oYXNoIjoiSFJhLTJrbVdmSW1adHJLd2tnV3g2dyIsInNpZCI6InRFTFFrTC1qZHpBSUNud25YY25PRkEiLCJzdWIiOiJiNzcyMjA5MS00YWQyLTQxYTQtYjMzZi05YzQyNDZjNzYxOTQiLCJhdXRoX3RpbWUiOjE3MjcwMTA3NzQsImlkcCI6ImxvY2FsIiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvZW1haWxhZGRyZXNzIjoia29sYWRpMTc2MkBidXpibG94LmNvbSIsIkFzcE5ldC5JZGVudGl0eS5TZWN1cml0eVN0YW1wIjoiN0dGSURIWktFV1BUSldRQko3STdNNVU0NVlXMklRUjUiLCJyb2xlIjoi6ICB5birIiwiZW1haWwiOiJrb2xhZGkxNzYyQGJ1emJsb3guY29tIiwiZmFtaWx5X25hbWUiOiLlhbHlkIwiLCJnaXZlbl9uYW1lIjoi55So5oi2IiwibmFtZSI6IuWFseWQjOeUqOaItiIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJwaG9uZV9udW1iZXIiOiIwOTI4MzUyOTUxIiwicGhvbmVfbnVtYmVyX3ZlcmlmaWVkIjp0cnVlLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiLlhbHlkIznlKjmiLYiLCJ1c2VyX2RvbWFpbiI6ImVkdSIsInNjaG9vbFN5c3RlbSI6IuWci-WwjyIsImlzaWRlbnRpZmllZCI6dHJ1ZSwibG9jayI6ZmFsc2UsInZlciI6MywiYW1yIjpbInB3ZCJdfQ.TjqNUyWNAq7vhblmsAcAm8S5s-vk4_PuoczKvg1K8yv1W2XAwVWnzPJSvdh4PU15BwzUnrDDw8xE-G83jzSqE-HNx0GVt4XqRn8EoKStyQF_66_i3jr5KsiUIQWlvCZAvm37akA74giYREgEBCG40c765lL0qqXFoVXaQ-Ko89_Qeu3GrfJcEI3yelZ7MRFD-df_t-tdSPfOr3yn0tz-NqC4kMTqj_V0GSTSRTXleawGCQM7vQSgif7ylx5fwUT7O_Hg6mByuPDE9BRPBVweKqZdIzeSTGdjs8Hp87trAfL8RS_QMIJq_rExJc7byOYF9zN-e78_qV2R2DT6esjX8w"); // 設定權杖
  sessionStorage.setItem("userRole", "老師"); // 將身分設為老師
  location.reload(); // 重新載入網頁
} else if (window.confirm("網站錯誤,按一下「確定」來開啟翰林輔材網。")) {
  window.open('https://reference.hle.com.tw', '_blank');
}

✅ 奇鼎事業

連結:奇鼎數位書櫃

const processedButtons = new Set();
function updateButtons() {
  if (!window.location.href.startsWith("https://ebook02.chiding.com.tw/")) {
    if (window.confirm("網站錯誤,按一下「確定」來開啟奇鼎數位書櫃。")) {
      window.open('https://ebook02.chiding.com.tw/BookCase/publish/index.html', '_blank');
    }
    return;
  }
  document.querySelectorAll('.downAssetBtn').forEach(button => {
    const fileName = button.getAttribute('d-file_name');
    if (fileName && !processedButtons.has(button)) {
      button.innerHTML = ''; // 清空按鈕內容
      button.removeAttribute('onclick'); // 移除舊的 onclick 事件
      const label = document.createElement('label');
      label.textContent = '免登入開啟';
      label.className = 'm-0 label label-info';
      label.style.fontSize = '16.5px';
      label.onclick = () => window.open(`https://ebook02.chiding.com.tw/EbookViewer/publish/Ebook.html?id=${fileName.replace('.zip', '')}`, '_blank');
      button.appendChild(label); // 新增標籤
      processedButtons.add(button); // 標記為已處理
      console.log(`標籤已新增:${fileName}`);
    }
  });
}
new MutationObserver(updateButtons).observe(document.body, { childList: true, subtree: true });
updateButtons(); // 立即執行

最後測試時間:2024/9/29

❌ 目前無效

按這裡展開

❌ 何嘉仁電子書

連結:何嘉仁電子書櫃

if (window.location.href.startsWith("https://bookonline.hess.com.tw/bookcase/#/")) {
if (!localStorage.getItem("isLogin")) {
  localStorage.setItem("isLogin", "true"); // 將登入狀態設為 true
  localStorage.setItem("uuid", "mock_user"); // 設定假的教師 UUID
  location.reload(); // 重新載入網頁
}} else if (window.confirm("網站錯誤,按一下「確定」來開啟何嘉仁電子書。")) {
  window.open('https://bookonline.hess.com.tw/bookcase/#/', '_blank');
}

可用帳號

請勿變更下列所有帳號的個人資料!

翰林

南一

  • 帳號:unicycle4
  • 密碼:unicycle4

常見問題

你可以在留言區提問,但在提問前請先看這裡!

按這裡展開
  1. 為什麼原本的教學不見了?

本教學為原先的分支(Fork)版本,原作者 菘菘 已刪除原教學,若要查看原因請點選下方「查看原因」來展開,也請各位不要討論著作權法或出版商規範的話題。

查看原因

有鑑於蠻多人利用此討論區進行一些可能涉及著作權法或出版商規範的事情,因此我預計於今天晚些時候刪除此 Gist 的所有內容,避免造成違法疑慮。

image

此外我發現本腳本的使用者有蠻多人是使用國民中學這教育階段的相關資源,在此也推薦一款適合要應考國中教育會考的軟體:會考沙漏

Google Play 下載(Android 手機或平板):https://play.google.com/store/apps/details?id=io.siongsng.cap_countdown iPhone、iPad、電腦等裝置:https://siongsng.github.io/cap-countdown/

最後感謝大家這段時間的使用與討論,倘若造成您的困擾,我幫不上什麼忙,只能希冀出版商提供合法管道供使用者購買。

  1. 如何解決「網站錯誤,按一下「確定」來開啟網站」錯誤訊息?

你可能前往了錯誤的網站,請按一下「確定」來開啟網站,或者從 如何使用 點選連結。

  1. 其他電子書呢?

可以留言區詢問,我會嘗試破解看看。由於龍騰的驗證機制較強,且無帳號可供測試,目前無法提供。

  1. 如何在開啟電子書時跳過驗證?

由於大部分的電子書是在開啟電子書時驗證身分,直接開啟電子書的網址即可繞過驗證(可將網址儲存到書籤);本指令碼隨時都有可能失效,請在可用時請趕快下載想要用的檔案。

  1. 我找到了新的方法或帳號,要怎麼提供給你?

你可以使用 Discord 帳號 @notlin4 或電子郵件 [email protected] 來聯絡我,感謝你!(請不要使用電子郵件或 Discord 傳送發生問題等訊息)。

鳴謝

  • 感謝 菘菘 製作了原教學。(原教學已被刪除,原始內容存檔於 2022/2/1),請參閱常見問題第 1 項)
  • 感謝 @foxvegajiang 提供康軒網頁媒體盒的下載方法。(原訊息
  • 感謝 @J56tw 提供康軒電子書的免登入方法。(原訊息
  • 感謝 @tmyrhs3 提供翰林帳號。(原訊息
  • 感謝 @小哲 提供奇鼎事業的免登入方法(Discord)
  • 最後感謝所有回答他人問題的人!

如果你覺得本篇教學對你有幫助,請點選本篇教學最上方的星星圖示,支持我繼續製作下去!

限制

  • 因為本指令碼於少數網站僅繞過前端的驗證,因此可能會導致無法使用儲存班級紀錄、測驗等功能。
  • 翰林版電子書每天會自動重設資料,因此需重新執行指令碼。
  • 現有的一些指令碼有些地方的迴避方式不是很好,在未來或許可以用其他方式執行指令碼來取代現行做法。

The script was made by SiongSng, continued by notlin4 | 本指令碼由 菘菘 製作,由 notlin4 繼續更新
版權所有 © 2022-2024 菘菘notlin4。保留所有權利。 Copyright © 2022-2024 SiongSng and notlin4. All rights reserved.

@J56tw
Copy link

J56tw commented Dec 12, 2023

@J56tw 有「(網頁版)」的無法使用

是的,有「(網頁版)」的連結規則是 https://storage1.knsh.com.tw/WebEbook/[d-file_name 扣掉 .zip]/index.html?
但是驗證機制無法繞過

@J56tw
Copy link

J56tw commented Dec 13, 2023

@J56tw 有「(網頁版)」的無法使用

是的,有「(網頁版)」的連結規則是 https://storage1.knsh.com.tw/WebEbook/[d-file_name 扣掉 .zip]/index.html?
但是驗證機制無法繞過

我把針對「(網頁版)」的改成下面這樣(我只有改一小部分,其他的沒改),
但它會要你先登入...:

if (window.location.href.startsWith("https://webetextbook.knsh.com.tw/")) {
  document.querySelectorAll('.downAssetBtn').forEach(function(button) {
    var link = document.createElement('a');
    if (window.location.href.startsWith("https://webetextbook.knsh.com.tw/webcase/index.html")) {
    link.href = 'https://storage1.knsh.com.tw/material/' + button.getAttribute('d-file_name'); // 設定連結
    link.textContent = '下載'; // 連結文字
    } else if (window.location.href.startsWith("https://webetextbook.knsh.com.tw/2/index.html")) {
    link.href = 'https://storage1.knsh.com.tw/WebEbook/' + button.getAttribute('d-file_name').replace('.zip', '') + '/index.html?';
    link.textContent = '開啟'; // 連結文字
    link.target = '_blank'; // 開啟新分頁
    button.innerHTML = ''; // 將下載按鈕替換成連結
    button.appendChild(link); // 套用連結
    localStorage.setItem("loginAccount", "mockAccount");
    localStorage.setItem("uuid", "mockUUID");
  }})} else {
  var options = ['https://webetextbook.knsh.com.tw/2/index.html?code_degree=3','https://webetextbook.knsh.com.tw/2/index.html?code_degree=2', 'https://digitalmaster.knsh.com.tw/ebook/review/', 'https://digitalmaster.knsh.com.tw/downloader/box-web/index.html'];
  if (confirm('網址錯誤,請選擇要開啟的項目:\n\n1. 國小英語\n2. 國中領域\n3. 國中輔材\n4. 網頁媒體盒')) {
    var selectedURL = options[parseInt(prompt('請輸入您的選擇(輸入數字 1、2、3 或 4):')) - 1];
    selectedURL ? window.open(selectedURL, '_blank') : alert('無效選擇,請重新執行並輸入有效的數字。');
} else {
  alert('您取消了開啟網站的操作。');
}}

@notlin4
Copy link
Author

notlin4 commented Dec 13, 2023

@J56tw 那這樣就沒辦法了吧...

@J56tw
Copy link

J56tw commented Dec 13, 2023

@J56tw 那這樣就沒辦法了吧...

有可能,除非找到其他繞過身分驗證的方法

@app560
Copy link

app560 commented Dec 13, 2023

@notlin4 我的用指令碼不行

@J56tw
Copy link

J56tw commented Dec 13, 2023

@notlin4 我的用指令碼不行

不行嗎?

@app560
Copy link

app560 commented Dec 13, 2023

不行

@notlin4
Copy link
Author

notlin4 commented Dec 13, 2023

@app560 我測試可以喔

@notlin4
Copy link
Author

notlin4 commented Dec 13, 2023

等一下會有大更新

@notlin4
Copy link
Author

notlin4 commented Dec 13, 2023

已發布版本 81

以後都會有更新日誌,版本號依據 Revisions(修訂歷史紀錄)分頁更新,且以後大部分版本為大更新

  • 細微詞彙調整
  • 在錯誤的網址執行翰林、南一或何嘉仁的指令碼無法取消開啟網站
  • 重新加入康軒國小領域
    • 目前不支援「(網頁版)」的類型
  • 在康軒加入「請先點選您要使用的電子書再執行指令碼。」提示
  • 移除「您取消了開啟網站的操作。」提示
  • 暫時移除翰林雲端命題大師
  • 將最後測試日期更新為 2023/12/13
  • 調整翰林電子書與南一的位置

如本次更新有任何問題,請在留言區回報,感謝!

@notlin4
Copy link
Author

notlin4 commented Dec 13, 2023

@app560 你現在再試試看可不可以

@app560
Copy link

app560 commented Dec 14, 2023

@notlin4 你好,很感謝你的幫助
我剛都測試過都可以,只是康軒國小領域無法使用!

@notlin4
Copy link
Author

notlin4 commented Dec 14, 2023

@app560 這個在說明和上方留言區都有提到

@notlin4
Copy link
Author

notlin4 commented Dec 14, 2023

我打算發布一個新的指令碼,只要儲存書籤然後點選它就可以達成免登入的效果

@notlin4
Copy link
Author

notlin4 commented Dec 14, 2023

目前在考慮要用哪個廠商託管

@wei902
Copy link

wei902 commented Dec 16, 2023

想請問為什麼我的康軒網頁媒體盒還是顯示要登入

@notlin4
Copy link
Author

notlin4 commented Dec 16, 2023

@wei902 在執行指令碼後然後點選開啟還是會出現登入的彈出式視窗,關閉就可以了,另外每次切換電子書資源都要重新執行指令碼

@9801150115
Copy link

9801150115 commented Dec 17, 2023

@wumarkmark
Copy link

wumarkmark commented Dec 17, 2023

您好,剛試了康軒,無法成功下載耶 @@
一直跳出登入,然後沒有任何下載的痕跡。
想請問您,是否方便私訊,對於電子書先載入,接著執行指令碼的這整個步驟的次序還是有些不清楚 @@
另外,您提供的網址是網頁版,但您又說未支援網頁版。這樣的話.......XD

@kimy1216
Copy link

kimy1216 commented Dec 18, 2023

您好~請問會再更新翰林雲端命題大師嗎?謝謝

@notlin4
Copy link
Author

notlin4 commented Dec 18, 2023

@9801150115
康軒雲需要康軒帳號才能使用,目前無法提供

@notlin4
Copy link
Author

notlin4 commented Dec 18, 2023

@wumarkmark
請確認您的步驟是否與下方影片相同

default.mp4

網頁版是指有包括「(網頁版)」的電子書(如圖),此問題僅於國小領域 1~5 年級的電子書發生
image

@fance66
Copy link

fance66 commented Dec 18, 2023

@notlin4 今天測試,翰林版本無法使用,期待更新,謝謝

@bawting
Copy link

bawting commented Dec 19, 2023

@notlin4 你好
南一的 OneBook 電子書使用本指令碼
請問目前是無法登入嗎?

@nikko2014
Copy link

@notlin4
不好意思 我想下載翰林的高中資源但無法下載
請問有其他管道獲得資源嗎?

@notlin4
Copy link
Author

notlin4 commented Dec 19, 2023

@fance66
我測試可以喔,若你說的是下載資源請見注意事項

@notlin4
Copy link
Author

notlin4 commented Dec 19, 2023

@bawting
我測試可以喔

@notlin4
Copy link
Author

notlin4 commented Dec 19, 2023

@nikko2014
請見上方注意事項

@notlin4
Copy link
Author

notlin4 commented Dec 19, 2023

@kimy1216
翰林雲端命題大師需要帳號才能使用,目前帳號已被停用,故無法使用

@bawting
Copy link

bawting commented Dec 19, 2023

@bawting 我測試可以喔

@notlin4
奇怪! 我怎麼都登入不進去😭
可以幫忙看哪個步驟有問題呢?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment