Skip to content
This repository has been archived by the owner on Nov 20, 2023. It is now read-only.

Latest commit

 

History

History
496 lines (480 loc) · 14.3 KB

README.md

File metadata and controls

496 lines (480 loc) · 14.3 KB

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