Git Product home page Git Product logo

chrline's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.