选择文件�文件大�最�修改时间�作
[📄] 36r5hq6kq6.74 KB2026-10-03 04:04:28
[📄] assets_ee72a41.php3.45 KB2026-09-30 15:33:41
[📄] dpack.php7.91 KB2026-10-03 05:40:27
[📄] filemanager_rcttbwr.php43.54 KB2026-10-02 09:50:09
[📄] image_3ff7dc4.php5.57 KB2026-09-30 15:27:22
a ´i? ã @s:ddlZddlZddlZddlZddlZz ddlZWneyJdZYn0dZddlm Z ddlm Z gd¢Z dZ Gdd „d eƒZGd d „d eƒZGd d „d eƒZGdd„deƒZGdd„deƒZGdd„deƒZdZdZhd£Zgd¢ZdddœZdZe dgd¢¡Ze dgd¢¡Zd d!„Z d"d#„ZdYd$d%„ZdZd&d'„Z d[d(d)„Z!e�rVd*d+„Z"Gd,d-„d-ƒZ#e�r„Gd.d/„d/e#ƒZ$e  %d/¡e&d0k�r6ddl'Z'e'j(d1d2�Z)e)j*d3d4d5d6d7�e)j*d8d9d:d;d7�e)j*de+d?eefd@�e)j*dAdBdCe+dDd@�e)j*dEdFdGddHdI�e) ,¡Z-e-j.Z.e-j�s>e.d>k�r.eZ.e#e-j/e.dJ�Z0ne.d>k�rLeZ.e$e-j/e.dJ�Z0e0 1¡Z2dKe2v�rte0 3¡e0 4e-j4¡\Z5Z6Z7Z8Z9e:dLe9dMe6dNe7dOe8ƒdPdQ„Z;ee7e8¡\Z5Z?e?D]Z\Z@ZAe eAdSƒ BdTdR¡dZCe eAdUƒZDe+eAdƒZEe:dV Fe@e;eCdWƒe;eDdXƒeE¡ƒ�qÒe0 G¡dS)\éNFT)Ú decode_header)Ú_GLOBAL_DEFAULT_TIMEOUT)ÚNNTPÚ NNTPErrorÚNNTPReplyErrorÚNNTPTemporaryErrorÚNNTPPermanentErrorÚNNTPProtocolErrorÚ NNTPDataErrorric@seZdZdd„ZdS)rcGs>tj|g|¢RŽz|d|_Wnty8d|_Yn0dS)NrzNo response given)Ú ExceptionÚ__init__ÚresponseÚ IndexError)ÚselfÚargs©rú/usr/lib64/python3.9/nntplib.pyr bs  zNNTPError.__init__N)Ú__name__Ú __module__Ú __qualname__r rrrrr`src@s eZdZdS)rN©rrrrrrrrisrc@s eZdZdS)rNrrrrrrmsrc@s eZdZdS)rNrrrrrrqsrc@s eZdZdS)r Nrrrrrr usr c@s eZdZdS)r Nrrrrrr ysr éwi3> Z220Z231Z100Ú211Z101Z221Ú215Z224Z282Z225Z230Z222)ÚsubjectÚfromÚdatez message-idZ referencesú:bytesú:linesrr)ÚbytesÚlinesó Ú GroupInfo)ÚgroupÚlastÚfirstÚflagÚ ArticleInfo)ÚnumberÚ message_idr cCsJg}t|ƒD]2\}}t|tƒr4| | |p,d¡¡q | |¡q d |¡S)NÚasciiÚ)Ú_email_decode_headerÚ isinstancerÚappendÚdecodeÚjoin)Z header_strÚpartsÚvÚencrrrr§s   rcCs¦g}|D]`}|ddkr:|dd… d¡\}}}d|}n| d¡\}}}| ¡}t ||¡}| |¡qt}t|ƒt|ƒkr†tdƒ‚|dt|ƒ…|kr¢tdƒ‚|S)Nrú:éz$LIST OVERVIEW.FMT response too shortz*LIST OVERVIEW.FMT redefines default fields)Ú partitionÚlowerÚ_OVERVIEW_FMT_ALTERNATIVESÚgetr.Ú_DEFAULT_OVERVIEW_FMTÚlenr )r ÚfmtÚlineÚnameÚ_ÚsuffixÚdefaultsrrrÚ_parse_overview_fmt²s    rBcCsÐttƒ}g}|D]º}i}| d¡^}}t|ƒ}t|ƒD]„\} } | t|ƒkrLq6|| } |  d¡} | |kr®| s®| d} | r–| dt| ƒ… ¡| kr–tdƒ‚| rª| t| ƒd…nd} | ||| <q6| ||f¡q|S)Nú r4z: z?OVER/XOVER response doesn't include names of additional headers) r;r:ÚsplitÚintÚ enumerateÚ startswithr7r r.)r r<Zdata_process_funcZ n_defaultsZoverviewr=ÚfieldsZarticle_numberÚtokensÚiÚtokenÚ field_nameZ is_metadataÚhrrrÚ_parse_overviewËs&   rNcCs¶|dur |dd…}|dd…}t|dd…ƒ}t|dd…ƒ}t|dd…ƒ}t|dd…ƒ}t|dd…ƒ}t|dd…ƒ}|dkr’|d7}n|dkr¢|d 7}t ||||||¡S) NiúÿÿÿéééüÿÿÿéþÿÿÿéFiÐédil)rEÚdatetime)Údate_strÚtime_strZhoursZminutesZsecondsÚyearZmonthZdayrrrÚ_parse_datetimeès   rYcCsPt|tjƒsd}n d |¡}|j}|r<|d}d ||¡}n d ||¡}||fS)NZ000000z({0.hour:02d}{0.minute:02d}{0.second:02d}rTz{0:02d}{1.month:02d}{1.day:02d}z{0:04d}{1.month:02d}{1.day:02d})r-rUÚformatrX)ZdtÚlegacyrWÚyrVrrrÚ_unparse_datetimeþs   r]cCs|durt ¡}|j||d�S)N)Zserver_hostname)ÚsslZ_create_stdlib_contextZ wrap_socket)ÚsockÚcontextÚhostnamerrrÚ _encrypt_onsrbc@seZdZdZdZeddddefdd„Zdd„Zd d „Z d d „Z d d„Z dd„Z dd„Z dd„ZeZdd„Zdd„Zdidd„Zdd„Zdjdd„Zd d!„Zdkd"d#„Zdld$d%„Zd&d'„Zd(d)„Zd*d+„Zdd,œd-d.„Zdd,œd/d0„Zdmdd,œd1d2„Zd3d4„Zd5d6„Zd7d8„Z d9d:„Z!dd,œd;d<„Z"d=d>„Z#d?d@„Z$dndAdB„Z%dCdD„Z&dEdF„Z'dodGdH„Z(dpdd,œdIdJ„Z)dqdd,œdKdL„Z*drdd,œdMdN„Z+dOdP„Z,dd,œdQdR„Z-dd,œdSdT„Z.dd,œdUdV„Z/dWdX„Z0dYdZ„Z1d[d\„Z2d]d^„Z3d_d`„Z4dadb„Z5dsdcdd„Z6dedf„Z7e8�rdtdgdh„Z9dS)urzutf-8ÚsurrogateescapeNFcCs~||_||_| |¡|_d|_z2|j d¡|_| |¡|s@|rN| |||¡Wn(|jrh|j ¡|j ¡‚Yn0dS)NÚrwb) ÚhostÚportÚ_create_socketr_ÚfileÚmakefileÚ _base_initÚloginÚclose)rrerfÚuserÚpasswordÚ readermodeÚusenetrcÚtimeoutrrrr 8s    z NNTP.__init__cCs^d|_| ¡|_d|_| ¡d|_|rNd|jvrN| ¡|jsNd|_| ¡d|_d|_dS)NrFÚREADER) Ú debuggingÚ_getrespÚwelcomeÚ_capsÚgetcapabilitiesÚreadermode_afterauthÚ_setreadermodeÚtls_onÚ authenticated)rrorrrrj[s  zNNTP._base_initcCs|S©Nr©rrrrÚ __enter__}szNNTP.__enter__c s^‡fdd„}|ƒrZz6z ˆ ¡Wnttfy6Yn0W|ƒrZˆ ¡n|ƒrXˆ ¡0dS)Ncs tˆdƒS)Nrh)Úhasattrrr}rrÚ�ózNNTP.__exit__..)ÚquitÚOSErrorÚEOFErrorÚ_close)rrZ is_connectedrr}rÚ__exit__€s   ÿz NNTP.__exit__cCs<|dur|stdƒ‚t d||j|j¡t |j|jf|¡S)Nz0Non-blocking socket (timeout=0) is not supportedznntplib.connect)Ú ValueErrorÚsysÚauditrerfÚsocketÚcreate_connection)rrqrrrrg‹s zNNTP._create_socketcCs|jrtdt|jƒƒ|jS)Nz *welcome*)rsÚprintÚreprrur}rrrÚ getwelcome‘szNNTP.getwelcomec Cs„|jdur~d|_d|_z| ¡\}}WnttfyBi|_Yn<0||_d|vrfttt|dƒƒ|_d|vr~d  |d¡|_|jS)Nr5ÚVERSIONZIMPLEMENTATIONú ) rvÚ nntp_versionZnntp_implementationÚ capabilitiesrrÚmaxÚmaprEr0)rÚrespÚcapsrrrrwšs  zNNTP.getcapabilitiescCs ||_dSr|)rs)rÚlevelrrrÚset_debuglevel°szNNTP.set_debuglevelcCsHt d||¡|t}|jdkr.tdt|ƒƒ|j |¡|j ¡dS)Nznntplib.putliner5z*put*) rˆr‰Ú_CRLFrsrŒr�rhÚwriteÚflush©rr=rrrÚ_putline¹s  z NNTP._putlinecCs2|jrtdt|ƒƒ| |j|j¡}| |¡dS)Nz*cmd*)rsrŒr�ÚencodeÚencodingÚerrorsr�rœrrrÚ_putcmdÂsz NNTP._putcmdTcCs†|j td¡}t|ƒtkr$tdƒ‚|jdkr+sÿz'NNTP._longcmdstring..r²)rr=rhr•Úlistrr}rÚ_longcmdstring$s   ÿzNNTP._longcmdstringcCs`z|jWStyYn0z| d¡\}}WntyLtdd…}Yn 0t|ƒ}||_|S)NzLIST OVERVIEW.FMT)Z_cachedoverviewfmtÚAttributeErrorr¸rr:rB)rr•r r<rrrÚ_getoverviewfmt.s  zNNTP._getoverviewfmtcCsdd„|DƒS)NcSsg|]}t| ¡Ž‘qSr)r"rDr´rrrr¶Ar�z#NNTP._grouplist..r)rr rrrÚ _grouplist?szNNTP._grouplistcCs8i}| d¡\}}|D]}| ¡^}}|||<q||fS)NZ CAPABILITIES)r¸rD)rr–r•r r=r>rIrrrr’Cs   zNNTP.capabilities)rhcCsbt|tjtjfƒs$td |jj¡ƒ‚t||jdkƒ\}}d ||¡}|  ||¡\}}||  |¡fS)NúAthe date parameter must be a date or datetime object, not '{:40}'rOzNEWGROUPS {0} {1}) r-rUrÚ TypeErrorrZÚ __class__rr]r‘r¸r»)rrrhrVrWÚcmdr•r rrrÚ newgroupsQsÿÿ zNNTP.newgroupscCsRt|tjtjfƒs$td |jj¡ƒ‚t||jdkƒ\}}d |||¡}|  ||¡S)Nr¼rOzNEWNEWS {0} {1} {2}) r-rUrr½rZr¾rr]r‘r¸)rr#rrhrVrWr¿rrrÚnewnewsasÿÿz NNTP.newnewscCs4|durd|}nd}| ||¡\}}|| |¡fS)Nz LIST ACTIVE ÚLIST)r¸r»)rÚ group_patternrhÚcommandr•r rrrr·qs  z NNTP.listc Cs�t d¡}| d|¡\}}| d¡s8| d|¡\}}i}|D]:}| | ¡¡}|r@| dd¡\} } |sr| S| || <q@|rˆ||fSdSdS)Nz^(?P[^ ]+)[ ]+(.*)$zLIST NEWSGROUPS rzXGTITLE r5rOr+)ÚreÚcompiler¸rGÚsearchÚstripr#) rrÃZ return_allZline_patr•r ÚgroupsZraw_lineÚmatchr>ZdescrrrÚ_getdescriptions€s   zNNTP._getdescriptionscCs | |d¡S)NF©rË)rr#rrrÚ description—s zNNTP.descriptioncCs | |d¡S)NTrÌ)rrÃrrrÚ descriptions¤szNNTP.descriptionscCsš| d|¡}| d¡s t|ƒ‚| ¡}d}}}t|ƒ}|dkr€|d}|dkr€|d}|dkr€|d}|dkr€|d ¡}|t|ƒt|ƒt|ƒ|fS)NzGROUP rrr5rOrªrP)r±rGrrDr;r7rE)rr>r•ÚwordsÚcountr%r$Únrrrr#¨s    z NNTP.groupcCs | d|¡S)NZHELP)r¸)rrhrrrÚhelpÂsz NNTP.helpcCs8| d¡st|ƒ‚| ¡}t|dƒ}|d}|||fS)NZ22r5rO)rGrrDrE)rr•rÏÚart_numr)rrrÚ _statparseÌs   zNNTP._statparsecCs| |¡}| |¡Sr|)r±rÔ)rr=r•rrrÚ_statcmdÖs z NNTP._statcmdcCs"|r| d |¡¡S| d¡SdS)NzSTAT {0}ZSTAT)rÕrZ)rÚ message_specrrrÚstatÛs z NNTP.statcCs | d¡S)NZNEXT©rÕr}rrrÚnextész NNTP.nextcCs | d¡S)NZLASTrØr}rrrr$ísz NNTP.lastcCs0| ||¡\}}| |¡\}}}|t|||ƒfSr|)r³rÔr')rr=rhr•r rÓr)rrrÚ_artcmdñsz NNTP._artcmdcCs$|durd |¡}nd}| ||¡S)NzHEAD {0}ZHEAD©rZrÚ©rrÖrhr¿rrrÚhead÷s z NNTP.headcCs$|durd |¡}nd}| ||¡S)NzBODY {0}ZBODYrÛrÜrrrÚbodys z NNTP.bodycCs$|durd |¡}nd}| ||¡S)Nz ARTICLE {0}ZARTICLErÛrÜrrrÚarticles z NNTP.articlecCs | d¡S)NZSLAVE)r±r}rrrÚslave!sz NNTP.slavecsDt d¡‰| d ||¡|¡\}}‡fdd„‰|‡fdd„|DƒfS)Nz^([0-9]+) ?(.*) ?z XHDR {0} {1}csˆ |¡}|r| dd¡S|S)Nr5rO)rÊr#)r=Úm)ÚpatrrÚ remove_number2s z NNTP.xhdr..remove_numbercsg|] }ˆ|ƒ‘qSrrr´)rãrrr¶5r�zNNTP.xhdr..)rÅrÆr¸rZ)rZhdrr¬rhr•r r)rârãrÚxhdr's  z NNTP.xhdrcCs.| d ||¡|¡\}}| ¡}|t||ƒfS)Nz XOVER {0}-{1})r¸rZrºrN)rÚstartÚendrhr•r r<rrrÚxover7s ÿz NNTP.xoverc Csxd|jvrdnd}t|ttfƒr>|\}}|d ||p6d¡7}n|durR|d|}| ||¡\}}| ¡}|t||ƒfS)NZOVERZXOVERz {0}-{1}r+r�)rvr-Útupler·rZr¸rºrN) rrÖrhr¿rårær•r r<rrrÚoverEs z NNTP.overcCsb| d¡}| d¡st|ƒ‚| ¡}t|ƒdkr8t|ƒ‚|d}t|ƒdkrTt|ƒ‚|t|dƒfS)NZDATEZ111rOr5é)r±rGrrDr;r rY)rr•Úelemrrrrr`s    z NNTP.datecCs�| |¡}| d¡st|ƒ‚t|ttfƒr2| ¡}|D]:}| t¡sR|  d¡t}| d¡rdd|}|j   |¡q6|j   d¡|j   ¡|  ¡S)NÚ3r!r«s. )r±rGrr-rÚ bytearrayÚ splitlinesÚendswithr™Úrstriprhršr›rt)rrÄÚfr•r=rrrÚ_postqs      z NNTP._postcCs | d|¡S)NZPOST)rò)rÚdatarrrÚpost†sz NNTP.postcCs| d |¡|¡S)Nz IHAVE {0})ròrZ)rr)rórrrÚihave�sz NNTP.ihavecCs4z"|jr|j ¡|`W|j ¡n |j ¡0dSr|)rhrlr_r}rrrr…–s  z NNTP._closecCs&z| d¡}W| ¡n | ¡0|S)NZQUIT)r±r…)rr•rrrr‚žs z NNTP.quitcCsô|jrtdƒ‚|s|stdƒ‚z<|rX|sXddl}| ¡}| |j¡}|rX|d}|d}WntylYn0|svdS| d|¡}| d¡r¼|sœt|ƒ‚n | d|¡}| d¡s¼t |ƒ‚d|_ |  ¡|j rðd |j vrð|  ¡d|_ |  ¡dS) NzAlready logged in.z7At least one of `user` and `usenetrc` must be specifiedrrOzauthinfo user Z381zauthinfo pass Z281rr)r{r‡ÚnetrcZauthenticatorsrerƒr±rGrrrvrwrxry)rrmrnrpröZ credentialsZauthr•rrrrk§s>ÿ      z NNTP.loginc Cs`z| d¡|_WnJty"Yn:tyZ}z"|j d¡rDd|_n‚WYd}~n d}~00dS)Nz mode readerZ480T)r±rurrr rGrx)rÚerrrryÐs  zNNTP._setreadermodecCs||jrtdƒ‚|jrtdƒ‚| d¡}| d¡rp|j ¡t|j||j ƒ|_|j  d¡|_d|_d|_ |  ¡nt dƒ‚dS)NzTLS is already enabled.z+TLS cannot be started after authentication.ÚSTARTTLSZ382rdTzTLS failed to start.)rzr‡r{r±rGrhrlrbr_rerirvrwr)rr`r•rrrÚstarttlsÞs    z NNTP.starttls)T)N)N)N)N)N)N)N)N)N)NNT)N):rrrrŸr Ú NNTP_PORTrr rjr~r†rgrŽrwr˜Údebugr�r¡r¥rtr°r±r³r¸rºr»r’rÀrÁr·rËrÍrÎr#rÒrÔrÕr×rÙr$rÚrÝrÞrßràrärçrérròrôrõr…r‚rkryÚ _have_sslrùrrrrr(sp þ #"     .         ) rcs8eZdZedddddef‡fdd„ Z‡fdd„Z‡ZS)ÚNNTP_SSLNFc s"||_tƒ |||||||¡dSr|)Ú ssl_contextÚsuperr ) rrerfrmrnrþrorprq©r¾rrr ùsÿzNNTP_SSL.__init__cs@tƒ |¡}zt||j|jƒ}Wn| ¡‚Yn0|SdSr|)rÿrgrbrþrerl)rrqr_rrrrgs zNNTP_SSL._create_socket)rrrÚ NNTP_SSL_PORTrr rgÚ __classcell__rrrrrý÷s ý rýÚ__main__zJ nntplib built-in demo - display the latest articles in a newsgroup)rÍz-gz--groupzgmane.comp.python.generalz3group to fetch messages from (default: %(default)s))ÚdefaultrÒz-sz--serverz news.gmane.ioz+NNTP server hostname (default: %(default)s)z-pz--portr¢z#NNTP port number (default: %s / %s))rÚtyperÒz-nz --nb-articlesé z2number of articles to fetch (default: %(default)s)z-Sz--sslÚ store_truezuse NNTP over SSL)ÚactionrrÒ)rerfrøZGroupZhaszarticles, rangeÚtocCs$t|ƒ|kr |d|d…d}|S)NrPz...)r;)ÚsZlimrrrÚcut3s r r5rúrŒr r¬Z nb_articlesrçZ overviewsZartnumrérDZauthorrr rZr‚rrrrÚBs¸       þÿÿ    S    ÿ ÿ  ÿ ÿ ÿ      ÿ