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 11, 2023

康軒線上電子書破解方法:

  1. 找到 d-file_name
  2. 把 d-file_name 填入 https://webetextbook.knsh.com.tw/Ebookviewer4Teacher/Ebook.html?id=[d-file_name 扣掉 .zip]
    *要扣掉 .zip
  3. 開啟連結,會出現「請確認是否登入帳號」,按「確定」
  4. 在開發人員工具中的主控台中輸入以下程式碼:
localStorage.setItem("loginAccount", "mockAccount"); // 設定一個假的帳號
localStorage.setItem("uuid", "mockUUID"); // 設定假的 UUID
location.reload(); // 重新載入網頁
  1. 大功告成!

不知道可不可用,再麻煩幫我測試一下,謝謝!😀

@notlin4
Copy link
Author

notlin4 commented Dec 11, 2023

@J56tw 測試可以,感謝!
🤔 他們居然沒有一起改驗證機制

@notlin4
Copy link
Author

notlin4 commented Dec 11, 2023

@KatharineLin @alenhu2005 那我不提供康軒帳號了喔

@KatharineLin
Copy link

KatharineLin commented Dec 12, 2023

@J56tw
請問 d-file_name 在哪裡呢?什麼是開啟連結呢?我沒有看到會出現「請確認是否登入帳號」,按「確定」
抱歉 或者是否可以請教您步驟順序呢?

@KatharineLin
Copy link

KatharineLin commented Dec 12, 2023

@notlin4
抱歉 我還是不會使用 可否請教我呢?><lll

@KatharineLin
Copy link

KatharineLin commented Dec 12, 2023

@alenhu2005
我沒寄信給你過唷 另外
我也沒有收到您寄給我的郵件 請問是寄到 [email protected] 嗎?

@miniMolly
Copy link

miniMolly commented Dec 12, 2023

@J56tw 請問我開啟後一直載電子書頁面轉圈圈,並未出現「登入帳號」視窗~想請教是哪個步驟我沒注意到呢?感謝你們!

擷取

@J56tw
Copy link

J56tw commented Dec 12, 2023

@J56tw 請問我開啟後一直載電子書頁面轉圈圈,並未出現「登入帳號」視窗~想請教是哪個步驟我沒注意到呢?感謝你們!

擷取

@miniMolly 不好意思,我沒說明清楚,
那個 [] 可以不用加

@J56tw
Copy link

J56tw commented Dec 12, 2023

@J56tw
請問 d-file_name 在哪裡呢?什麼是開啟連結呢?我沒有看到會出現「請確認是否登入帳號」,按「確定」
抱歉 或者是否可以請教您步驟順序呢?

如果你旁邊有電腦的話,直接對著你要開的那個電子書的按鈕按左鍵,找到檢查的按鈕,按下去,你會直接看到有一個灰色框框的程式碼,在裡面就可以找到 d-file_name 喔!

@notlin4
Copy link
Author

notlin4 commented Dec 12, 2023

我等一下會提供直接使用的指令碼
@J56tw 其實你說明的算很清楚了啦

@notlin4
Copy link
Author

notlin4 commented Dec 12, 2023

已發布康軒線上電子書指令碼

@alenhu2005
Copy link

這個沒辦法下載網頁版電子書

@notlin4
Copy link
Author

notlin4 commented Dec 12, 2023

@alenhu2005 等一下我格式沒用好

@notlin4
Copy link
Author

notlin4 commented Dec 12, 2023

@alenhu2005 已修正

@notlin4
Copy link
Author

notlin4 commented Dec 12, 2023

看起來有些連結無法使用此方法開啟

@notlin4
Copy link
Author

notlin4 commented Dec 12, 2023

確定 國小領域 無法使用此方法

@app560
Copy link

app560 commented Dec 12, 2023

@notlin4 請問可以提供康軒、翰林和何嘉仁電子書的帳號嗎?
或是提供這三個電子書的教學影片!
拜託

@J56tw
Copy link

J56tw commented Dec 12, 2023

確定 國小領域 無法使用此方法

@notlin4 我測試國小領域可以喔~

@notlin4
Copy link
Author

notlin4 commented Dec 12, 2023

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

@notlin4
Copy link
Author

notlin4 commented Dec 12, 2023

@app560 用指令碼不就好了嗎?

@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 我測試可以喔

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