• This repository has been archived on 20/Nov/2023
  • Stars
    star
    138
  • Rank 264,439 (Top 6 %)
  • Language
    Python
  • License
    BSD 3-Clause "New...
  • Created almost 4 years ago
  • Updated 12 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

LINE Chrome API

LINE DemoS Bot - CHRLINE API

logo

pip install CHRLINE

What is CHRLINE?
It is LINE Chrome API, just for debug

If you can help update this project,
Welcome join our Discord

About Project

This project is for debug only, because it does not use thrift

So I don't recommend you to use this to run the bot, even if it has many functions

What can it do?

If you have a certain degree of understanding of Line thrift, then you must have heard of TMoreCompact
But for most people, it is difficult to decompile TMoreCompact, even if it has lower confusion in some version
But if you can use this project to understand the differences in LINE thrift

TMoreCompactProtocol

We added the simple function of TMoreCompact for the first time on 26 May
And added TMoreCompact to the development version at Jul 8
It's based on the thrift of the LINE Android version
Its purpose is to effectively compress mid (32 bytes) to 16 bytes

Example

from CHRLINE import *

cl = CHRLINE() # login

print('/S3 - len: %s' % len(cl.testTBinary()))
print('/S4 - len: %s' % len(cl.testTCompact()))
print('/S5 - len: %s' % len(cl.testTMoreCompact()))

Result

> /S3 - len: 576
> /S4 - len: 528
> /S5 - len: 496

This shows that TMoreCompact has the best compression
If you want to write TMoreCompact, only need to sniff results and reverse engineer

Requirement

  • Python 3.6
    • pycrypto
    • pycryptodome
    • xxhash
    • httpx[http2]
    • gevent

Thanks

This project got their help directly/indirectly, thank them deeply

Function overview

  • E2EE SQR Login
  • E2EE Email Login
  • Services
    • TalkService
      • getEncryptedIdentity
      • getContact
      • getContacts
      • getGroup
      • getGroups
      • getGroupsV2
      • getCompactGroup
      • getChats
      • sendMessage
        • sendContact
        • sendLocation
        • sendCompactMessage
        • sendMessageWithChunks
      • getGroupIdsJoined
      • getGroupIdsInvited
      • getAllContactIds
      • getBlockedContactIds
      • getBlockedRecommendationIds
      • getAllReadMessageOps
      • getLastOpRevision
      • getServerTime
      • getConfigurations
      • fetchOps
      • deleteOtherFromChat
      • cancelChatInvitation
      • acceptChatInvitation
      • getContactsV2
      • acceptChatInvitationByTicket
      • getPreviousMessagesV2WithRequest
      • sendChatChecked
      • unsendMessage
      • findAndAddContactsByMid
      • inviteIntoChat
      • deleteSelfFromChat
      • findChatByTicket
      • updateChat
      • sendPostback
      • wakeUpLongPolling
      • getMessageBoxes
      • getMessageReadRange
      • getChatRoomAnnouncementsBulk
      • removeChatRoomAnnouncement
      • fetchOperations
      • unblockContact
      • blockContact
      • acquireEncryptedAccessToken
      • getCountries
      • createRoomV2
      • createChatRoomAnnouncement
      • getAllChatMids
      • reissueChatTicket
      • sendEchoPush
      • getRepairElements
      • getSettingsAttributes2
      • updateSettingsAttributes2
      • rejectChatInvitation
      • updateProfileAttribute
      • negotiateE2EEPublicKey
      • react
      • getE2EEPublicKey
      • getE2EEPublicKeys
      • getE2EEPublicKeysEx
      • registerE2EEPublicKey
      • registerE2EEGroupKey
      • getE2EEGroupSharedKey
      • getLastE2EEGroupSharedKey
      • getLastE2EEPublicKeys
      • requestE2EEKeyExchange
      • respondE2EEKeyExchange
      • createChat
      • updateRegion
      • getChatExistence
      • getChatMembership
      • setChatHiddenStatus
      • getReadMessageOps
      • getReadMessageOpsInBulk
      • getE2EEMessageInfo
      • getMessageBoxCompactWrapUpList
      • getRecentMessages
      • getRecentMessagesV2
      • getPreviousMessageIds
      • getMessagesByIds
      • getMessageBoxesByIds
      • getMessageBoxCompactWrapUpListV2
      • getPreviousMessagesV2
      • getPreviousMessagesV2WithReadCount
      • getNextMessagesV2
      • getAllRoomIds
      • getCompactRooms
      • acquireCallTicket
      • isAbusive
      • removeBuddySubscriptionAndNotifyBuddyUnregistered
      • makeUserAddMyselfAsContact
      • getFollowers
      • getFollowings
      • removeFollower
      • follow
      • unfollow
      • bulkFollow
      • decryptFollowEMid
      • getChatRoomBGMs
      • updateChatRoomBGM
      • addSnsId
      • removeSnsId
      • getContactRegistration
      • getHiddenContactMids
      • blockRecommendation
      • unblockRecommendation
      • getRecommendationIds
      • sync (for IOS)
      • reissueTrackingTicket
      • updateChatRoomAnnouncement
      • getExtendedProfile
      • updateExtendedProfileAttribute
      • setNotificationsEnabled
      • findAndAddContactsByPhone
      • findAndAddContactsByUserid
      • syncContacts
      • getContactWithFriendRequestStatus
      • findContactsByPhone
      • findContactByUserid
      • findContactByMetaTag
      • findAndAddContactByMetaTag
      • updateContactSetting
      • getFavoriteMids
      • sendMessageAwaitCommit
      • findContactByUserTicket
      • invalidateUserTicket
      • unregisterUserAndDevice
      • checkCanUnregisterEx
      • verifyQrcode
      • reportAbuseEx
        • reportAbuseExWithMessage
        • reportAbuseExWithLineMeeting
      • getCountryWithRequestIp
      • updateProfileAttributes
      • updateNotificationToken
      • getRecentFriendRequests
      • notifyRegistrationComplete
      • noop
      • getAnalyticsInfo
      • isUseridAvailable
      • registerUserid
      • notifyUpdated
      • reportPushRecvReports
      • addToFollowBlacklist
      • removeFromFollowBlacklist
      • getFollowBlacklist
    • AccessTokenRefreshService
      • refreshAccessToken
      • reportRefreshedAccessToken
    • AccountAuthFactorEapConnectService
      • connectEapAccount
      • disconnectEapAccount
      • openAAFECSession
      • verifyEapLogin
    • AuthService
      • openAuthSession
      • getAuthRSAKey
      • setIdentifier
      • updateIdentifier
      • resendIdentifierConfirmation
      • confirmIdentifier
      • removeIdentifier
      • getClovaAppToken
      • loginFromClova
      • validateClovaRequest
      • setClovaCredential
      • validateClovaAppToken
      • verifyQrcodeWithE2EE
      • confirmE2EELogin
      • issueV3TokenForPrimary
    • BotExternalService
      • notifyOATalkroomEvents (WIP)
      • notifyChatAdEntry
    • BuddyService
      • getPromotedBuddyContacts
      • getBuddyDetailWithPersonal
      • getBuddyContacts
      • getBuddyTopView
      • getBuddyNewsView
      • getBuddyDetail
    • CallService
      • acquireCallRoute
      • acquireOACallRoute
      • searchPaidCallUserRate
      • acquirePaidCallCurrencyExchangeRate
      • lookupPaidCall
      • acquirePaidCallRoute
      • getPaidCallBalanceList
      • getPaidCallHistory
      • getCallCreditProducts
      • reserveCallCreditPurchase
      • getCallCreditPurchaseHistory
      • redeemPaidCallVoucher
      • getPaidCallMetadata
      • acquireGroupCallRoute
      • getGroupCall
      • inviteIntoGroupCall
      • markPaidCallAd
      • getPaidCallAdStatus
      • acquireTestCallRoute
      • getGroupCallUrls
      • createGroupCallUrl
      • deleteGroupCallUrl
      • updateGroupCallUrl
      • getGroupCallUrlInfo
      • joinChatByCallUrl
    • ChannelService
      • issueChannelToken
      • approveChannelAndIssueChannelToken
      • getChannelInfo
      • getCommonDomains
      • issueRequestTokenWithAuthScheme
      • getReturnUrlWithRequestTokenForAutoLogin
    • ChatAppService
      • getChatapp
      • getMyChatapps
    • E2EEKeyBackupService
      • createE2EEKeyBackup
      • getE2EEKeyBackupCertificates
      • getE2EEKeyBackupInfo
    • LiffService
      • issueLiffView
      • getLiffViewWithoutUserContext
      • issueSubLiffView
    • PrimaryAccountInitService
      • openPrimarySession
      • getCountryInfo
      • getPhoneVerifMethod
      • sendPinCodeForPhone
      • verifyPhone
      • validateProfile
      • exchangeEncryptionKey
      • setPassword
      • registerPrimaryUsingPhone
      • getPhoneVerifMethodV2
      • requestToSendPhonePinCode
      • verifyPhonePinCode
      • verifyAccountUsingPwd
      • registerPrimaryUsingPhoneWithTokenV3
      • registerPrimaryWithTokenV3
    • SearchService (WIP)
      • searchAll
      • searchCollection
      • searchLineat
      • searchByPopularCategory
      • searchByCategory
      • getPopularCategory
      • getNotice
      • getSearchSection
      • getAutocomplete
    • SecondaryPwlessLoginPermitNoticeService
      • checkPwlessPinCodeVerified
      • checkPaakAuthenticated
    • SecondaryPwlessLoginService
      • createPwlessSession
      • verifyLoginCertificate
      • requestPinCodeVerif
      • putExchangeKey
      • requestPaakAuth
      • getE2eeKey
      • pwlessLogin
      • pwlessLoginV2
    • SettingsService
      • getSetting
      • contextAgnosticGetSetting
      • setSetting
      • setSettingWithScope
      • resetSetting
      • searchSettings
      • contextAgnosticSearchSettings
      • bulkGetSetting
      • bulkSetSetting
    • ShopAuthService
      • establishE2EESession
    • ShopService
      • getProduct
      • getProductsByAuthor
      • getStudentInformation
      • canReceivePresent
      • getOwnedProductSummaries
      • getShowcaseV3
      • getProductV2
      • getProductByVersion
      • placePurchaseOrderForFreeProduct
      • placePurchaseOrderWithLineCoin
      • placePurchaseOrderWithIAP
      • getOwnedProducts
      • getPurchasedProducts
      • getReceivedPresents
      • getSentPresents
      • notifyProductEvent
      • getProductValidationScheme
      • validateProduct
      • getProductsByBillingItemId
      • getUpdates
      • searchProductsV2
      • getAggregatedHomeV2
      • getAggregatedHomeNative
      • getDynamicHomeNative
      • getAggregatedPremiumHome
      • getAggregatedShowcaseV4
      • getRecommendationForUser
      • getRecommendationList
      • getCategories
      • getResourceFile
      • getAutoSuggestionShowcase
      • getOldSticonMapping
      • getSuggestResourcesV2
    • SquareService
      • inviteIntoSquareChat
      • inviteToSquare
      • getJoinedSquares
      • markAsRead
      • reactToMessage
      • findSquareByInvitationTicket
      • fetchMyEvents
      • sendSquareMessage (text only)
      • fetchSquareChatEvents
      • getSquare
      • getJoinableSquareChats
      • createSquare
      • getSquareChatAnnouncements
    • SquareBotService
      • getSquareBot
    • ObsService
      • forwardObjectMsg
      • trainingImage
      • updateProfileImage
      • updateProfileCover
      • uploadObjHome
      • uploadObjTalk
      • uploadMultipleImageToTalk
    • TimelineService
      • MyHome
        • getProfileCoverDetail
        • updateProfileCoverById
        • sendContactV2
        • getProfileDetail
        • getTimelintTab
        • getSocialProfileDetail
        • getSocialProfileMediaDetail
        • updateProfileDetail
        • updateCmtLike
        • getTalkroomStatus
        • getHomeProfileBridge
      • Post
        • createPost
        • updatePost
        • deletePost
        • getPost
        • createComment
        • deleteComment
        • listComment
        • createLike
        • cancelLike
        • listLike
        • searchNote
        • sendPostToTalk
        • getHashtagPosts
        • getHashtagSuggest
        • getHashtagPopular
        • getTimelineUrl
        • getPostShareLink
        • getDiscoverRecommendFeeds
        • updateProfileCoverById2
        • getOACarousel
        • getPartlyBlockContacts
        • getClosedContacts
        • getHideContacts
        • getAutoOpenOption
        • getHideGrouphomeList
        • getNewpostStatus
        • getGroupProfileimageList
        • getUserProfile
        • getUserPopupDetail
        • syncBuddygroup
      • Album
        • changeGroupAlbumName
        • deleteGroupAlbum
        • addImageToAlbum
        • getAlbumImages
        • deleteAlbumImages
        • getAlbums
        • getAlbumUsers
      • Story (WIP)
        • uploadStoryObject (WIP)
        • createStoryContent (WIP)
        • getRecentstoryStory
        • sendMessageForStoryAuthor
        • getNewStory
      • Search
        • Search
      • Keep
        • syncKeep
      • GroupCallYT
        • getYouTubeVideos
        • getYouTubeVideosWithQuery
        • getYouTubeVideosWithPopular
        • getYouTubeVideosWithPlaylists
      • BDB
        • incrBDBCelebrate
        • cancelBDBCelebrate
        • getBDBBoard
        • likeBDBCard
        • unlikeBDBCard
        • createBDBCard
    • CubeService (beta)
      • issueBillSplitId
      • getBillSplitShareLink
      • getBillSplitSurvey
      • putBillSplitBills (test)
      • snedBillSplitBills
    • Others
      • returnTicket (test)
      • getModulesV2
      • getCountrySettingV4
      • getRSAKeyInfo
      • loginZ
      • loginV2