MCPcopy Index your code
hub / github.com/Chipppppppppp/LIME

github.com/Chipppppppppp/LIME @v1.12.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.12.1 ↗ · + Follow
183 symbols 511 edges 36 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

LIME: Ad-killer for LINE

Latest Release License

概要

This is an Xposed Module to clean LINE.

LINE を掃除する Xposed Module です。

使用方法

LINEアプリの ホーム > から「設定」に入り、右上の「LIME」のボタンより開けます。また、Root ユーザーは LIME アプリから設定することも可能です。クローンアプリなどでは LIME 側からしか設定できない場合があるようです。

画像を閲覧

Sample screenshot

また、トーク画面右上の からスイッチをオンにすると未読のまま閲覧できます。(このスイッチは設定で削除可能です)

※返信すると未読が解除されてしまうのでご注意ください

画像を閲覧

Sample screenshot

機能

  • 不要なボトムバーのアイコンの削除
  • ボトムバーのアイコンのラベルの削除
  • 広告・おすすめの削除
  • サービスのラベルを削除
  • ナビバーの色を黒に設定
  • 通知の「通知をオフ」アクションを削除
  • WebView を既定のブラウザで開く
  • 常に既読をつけない
  • グループの既読者を確認する
  • グループチャット上部に表示された "R" ボタンをクリックして確認できる
  • 未読のまま閲覧
  • トーク画面右上メニューのスイッチから設定できる (スイッチは削除可能)
  • 送信取り消しの拒否 
  • 送信取り消しの内容と時間が保存される
  • 常にミュートメッセージとして送信
  • 送信時「通常メッセージ」を選択すれば通知される
  • 非表示にしたチャットが再表示されないようにする
  • トーク履歴の自動バックアップ (参考:https://github.com/areteruhiro/LIMEs/issues/10)
  • トラッキング通信のブロック
  • noop, pushRecvReports, reportDeviceState, reportLocation, reportNetworkStatus をブロック
  • 通信内容をログに出力
  • 通信内容を改変
  • JavaScript で通信内容を改変できる (後述)

JavaScript で通信内容を改変する

設定の「リクエストを改変」、「レスポンスを改変」では、Rhino の JavaScript コードを記述することで自由に通信内容を改変できます。これを利用して新たな機能が実装可能なことを確認済みです (communication_modification_sample.md)。

あらかじめ data という変数が用意されており、以下のプロパティが含まれます。

  • type: REQUEST または RESPONSE となる Enum
  • name: 通信の名前
  • value: 通信内容

data は、こちらのクラス のインスタンスで、「通信内容をログに出力」で確認できます。

getMember, setMember という関数があらかじめ用意されており、メンバ変数を取得・設定できます (. を使用するとメンバ変数ではなくメソッドのほうにアクセスしてしまう可能性があるので、これらの関数を使うほうが無難です)。

console.log(getMember(data.value, "a")); // メンバ変数 a の値を取得
setMember(data.value, "a", false); // メンバ変数 a を false に設定

また、console.logXposedBridge にログを出力できます。エラーが発生した場合もここに出力されます。 リクエスト・レスポンスともに、JavaScript は他の処理より早く実行され、「通信内容にログを出力」は最後に実行されます。 Rhino の仕様、特に Java 文字列との比較に equals を用いる必要があることに注意してください。

インストール

初めに、以下のサイトの中から、
LINELIME の APK をダウンロードしてください。
バージョンは Releases に書いているものを参照してください。

[!IMPORTANT] 分割 APK は使用しないでください。
無理やり結合せず、必ずオリジナルのAPKを使ってください。

LINE - APKMirror - APKPure - APKCombo - Uptodown

LIME - Release

Root 端末 (Magisk)

  1. LSPosed for JingMatrix をインストール

  2. LINE アプリと LIME アプリを両方ともインストール

  3. Google Play ストアの自動アップデートを防ぐために、Update LockerHide My Applist で LINE アプリを指定する
    Aurora Store の場合はブラックリストを使用
  4. LSPosed のモジュールから LIME に移動し、モジュールの有効化 と LINE アプリにチェックを入れる

非 Root 端末

[!WARNING] 非 root 端末では、 以下の問題があります
- Google アカウント (ドライブ) を使用したトーク履歴の復元ができない
(この方法 でログインすれば可能)
- 発/着信音が鳴らない
疑似着信音の再現機能はあります
- 着信が入るとクラッシュ
- コインの購入が不可
- LINE Pay の一部の機能が使用不可
- Wear OS (スマートウォッチ)での使用不可

  1. LSPatch をインストール
    ※フォークで開発されている NPatch では不具合が発生する可能性があります。
    また、LSPosed 公式 の LSPatch を利用してアプリがクラッシュする場合は、フォークで開発されている JingMatrix LSPatch を利用してパッチを適用すると正常に動作する場合があります。

  2. LSPatch アプリを開き、管理 > 右下の > ストレージからapkを選択 > 先程ダウンロードした LINE の APK を選択 > 統合モジュールを埋め込む > インストールされているアプリを選択 > LIME にチェックを入れて > パッチを開始 より、パッチを適用

この方法 を用いればトークの復元が可能なようです。

[!TIP] ディレクトリの選択と出てきた場合は、OK を押してファイルピッカーを起動し、任意のディレクトリ下にフォルダを作成し、このフォルダを使用 > 許可を押す

  1. Shizuku を使用している場合は インストール を押して続行する
    使用していない場合は、ファイルエクスプローラー等の別のアプリからインストールする

[!IMPORTANT] 既に Playストア からインストールした LINE アプリがインストールされている場合は、署名が競合するため、最初にアンインストールを行ってください。

複数デバイスログイン

1. PC としてログインする

[!WARNING] この方法は現在利用できません

方法を確認

PC (Windows) 版 LINE に偽装します。これにより PC 版 LINE は強制ログアウトされますが、使えない機能がある PC 版 LINE を Android 版 LINE に移すことができます。

※片方のデバイスが iOS の場合、Letter Sealing がうまくいかずメッセージを受信できない場合があるので、この方法 に従って Letter Sealing ガチャを行ってください。(キーはだれかとのチャットの右上の > 設定 > 暗号化キー から確認できます。)

  • メリット:メッセージの同期に問題がない、LIME は片方の端末に入れるだけで良い、非 Root でも可能
  • デメリット:3 端末以上でログインできない、2 端末目でサービスアイコンが表示されない

手順

  1. もう一つの端末に LINE と LIME をインストールする
  2. LINE ログイン画面で、「PC (DESKTOPWIN) に偽装」にチェックを入れる
  3. 設定 > アプリ > LINE より、LINE アプリの設定画面から「強制停止」と「ストレージとキャッシュ」の「キャッシュを削除」をタップ
  4. LINE アプリを再度開き、「Log in as secondary device」をタップしてログインする
  5. ログイン後、LINE の設定から「トークのバックアップ・復元」をタップし、2 週間より前のトークを復元する

2. Android ID を偽装する

この方法は両方のデバイスを Root 化している場合のみ可能です。
https://jesuscorona.hatenablog.com/entry/2019/02/10/010920 にあるように、メッセージの同期などに若干の遅れが生じることに注意が必要です。

  • メリット:3 端末以上でもログイン可能・すべてのサービスを使用可能
  • デメリット:メッセージの同期に遅れが生じる・Root 限定

手順

  1. LINE と LIME をインストールする
  2. LINE ログイン画面で、「複数デバイスログイン (Android ID を偽装)」にチェックを入れる
  3. 設定 > アプリ > LINE より、LINE アプリの設定画面から「強制停止」と「ストレージとキャッシュ」の「キャッシュを削除」をタップ
  4. LINE アプリを再度開き、ログインする
  5. ログイン後、Swift Backup を利用して LINE アプリをバックアップ (詳しくはこちら)
  6. Swift Backup のバックアップフォルダをもう一つの端末に移し、バックアップした LINE をインストール (詳しくはこちら)
  7. LINE アプリを開かずに先に LIME をインストールする

問題の報告

新たなバグや修正方法を見つけた場合は、報告をお願いします。

[!NOTE] 日本語がわかる場合は日本語で記述してください。

Star History

Star History Chart

Extension points exported contracts — how you extend this code

IHook (Interface)
(no doc) [56 implementers]
app/src/main/java/io/github/chipppppppppp/lime/hooks/IHook.java

Core symbols most depended-on inside this repo

log
called by 73
app/src/main/java/io/github/chipppppppppp/lime/hooks/Console.java
toString
called by 58
app/src/main/java/io/github/chipppppppppp/lime/hooks/Communication.java
dpToPx
called by 42
app/src/main/java/io/github/chipppppppppp/lime/Utils.java
queryDatabase
called by 14
app/src/main/java/io/github/chipppppppppp/lime/hooks/UnsentCap.java
getIdByName
called by 10
app/src/main/java/io/github/chipppppppppp/lime/hooks/RemoveFlexibleContents.java
queryDatabase
called by 6
app/src/main/java/io/github/chipppppppppp/lime/hooks/ReadChecker.java
addModuleAssetPath
called by 3
app/src/main/java/io/github/chipppppppppp/lime/Utils.java
updateIsArchived
called by 2
app/src/main/java/io/github/chipppppppppp/lime/hooks/Archived.java

Shape

Method 143
Class 38
Enum 1
Interface 1

Languages

Java100%

Modules by API surface

app/src/main/java/io/github/chipppppppppp/lime/hooks/ReadChecker.java26 symbols
app/src/main/java/io/github/chipppppppppp/lime/hooks/Archived.java14 symbols
app/src/main/java/io/github/chipppppppppp/lime/hooks/test.java12 symbols
app/src/main/java/io/github/chipppppppppp/lime/hooks/UnsentCap.java10 symbols
app/src/main/java/io/github/chipppppppppp/lime/hooks/AutomaticBackup.java9 symbols
app/src/main/java/io/github/chipppppppppp/lime/hooks/KeepUnread.java6 symbols
app/src/main/java/io/github/chipppppppppp/lime/hooks/AddRegistrationOptions.java6 symbols
app/src/main/java/io/github/chipppppppppp/lime/hooks/RemoveAds.java5 symbols
app/src/main/java/io/github/chipppppppppp/lime/hooks/EmbedOptions.java5 symbols
app/src/main/java/io/github/chipppppppppp/lime/MainActivity.java5 symbols
app/src/main/java/io/github/chipppppppppp/lime/Main.java5 symbols
app/src/main/java/io/github/chipppppppppp/lime/hooks/SendMuteMessage.java4 symbols

For agents

$ claude mcp add LIME \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page