XEP-0260:JingleSOCKS5BytestreamsTransportMethodPeterSaint-Andremailto:xsf@stpeter.
imxmpp:peter@jabber.
orghttp://stpeter.
im/DirkMeyermailto:dmeyer@tzi.
dexmpp:dmeyer@jabber.
orgJustinKarnegesmailto:justin@karneges.
comxmpp:justin@andbit.
netMarcusLundbladmailto:ml@update.
uu.
sexmpp:mlundblad@jabber.
orgTobiasMarkmannmailto:tobias.
markmann@isode.
comxmpp:tm@ayena.
deKlausHartkemailto:klaus.
hartke@googlemail.
comxmpp:nx@jabber.
org2018-05-15Version1.
0.
3StatusTypeShortNameDraftStandardsTrackjingle-s5bThisspecificationdefinesaJingletransportmethodthatresultsinsendingdataviatheSOCKS5Bytestreams(S5B)protocoldefinedinXEP-0065.
EssentiallythistransportmethodreusesXEP-0065se-manticsforsendingthedataanddefinesnativeJinglemethodsforstartingandendinganS5Bsession.
LegalCopyrightThisXMPPExtensionProtocoliscopyright1999–2020bytheXMPPStandardsFoundation(XSF).
PermissionsPermissionisherebygranted,freeofcharge,toanypersonobtainingacopyofthisspecification(the"Specification"),tomakeuseoftheSpecificationwithoutrestriction,includingwithoutlimitationtherightstoimplementtheSpecificationinasoftwareprogram,deploytheSpecificationinanetworkservice,andcopy,modify,merge,publish,translate,distribute,sublicense,orsellcopiesoftheSpecifi-cation,andtopermitpersonstowhomtheSpecificationisfurnishedtodoso,subjecttotheconditionthattheforegoingcopyrightnoticeandthispermissionnoticeshallbeincludedinallcopiesorsub-stantialportionsoftheSpecification.
Unlessseparatepermissionisgranted,modifiedworksthatareredistributedshallnotcontainmisleadinginformationregardingtheauthors,title,number,orpub-lisheroftheSpecification,andshallnotclaimendorsementofthemodifiedworksbytheauthors,anyorganizationorprojecttowhichtheauthorsbelong,ortheXMPPStandardsFoundation.
Warranty##NOTEWELL:ThisSpecificationisprovidedonan"ASIS"BASIS,WITHOUTWARRANTIESORCONDI-TIONSOFANYKIND,expressorimplied,including,withoutlimitation,anywarrantiesorconditionsofTITLE,NON-INFRINGEMENT,MERCHANTABILITY,orFITNESSFORAPARTICULARPURPOSE.
##LiabilityInnoeventandundernolegaltheory,whetherintort(includingnegligence),contract,orotherwise,unlessrequiredbyapplicablelaw(suchasdeliberateandgrosslynegligentacts)oragreedtoinwriting,shalltheXMPPStandardsFoundationoranyauthorofthisSpecificationbeliablefordamages,includ-inganydirect,indirect,special,incidental,orconsequentialdamagesofanycharacterarisingfrom,outof,orinconnectionwiththeSpecificationortheimplementation,deployment,orotheruseoftheSpecification(includingbutnotlimitedtodamagesforlossofgoodwill,workstoppage,computerfail-ureormalfunction,oranyandallothercommercialdamagesorlosses),eveniftheXMPPStandardsFoundationorsuchauthorhasbeenadvisedofthepossibilityofsuchdamages.
ConformanceThisXMPPExtensionProtocolhasbeencontributedinfullconformancewiththeXSF'sIntellectualPropertyRightsPolicy(acopyofwhichcanbefoundatorobtainedbywritingtoXMPPStandardsFoundation,P.
O.
Box787,Parker,CO80134USA).
Contents1Introduction12Protocol12.
1SelectingCandidates22.
2ExchangingCandidates22.
3ConnectingtoCandidates72.
4CompletingtheNegotiation82.
5ExchangingData102.
6ClosingtheBytestream103FallbackMethods114ProcessingRulesandUsageGuidelines135DeterminingSupport146SecurityConsiderations146.
1SharingIPAddresses146.
2EncryptionofMedia157IANAConsiderations158XMPPRegistrarConsiderations158.
1ProtocolNamespaces158.
2ProtocolVersioning158.
3JingleTransportMethods159Schema1610Acknowledgements182PROTOCOL1IntroductionJingle(XEP-0166)1definesaframeworkfornegotiatingandmanagingdatasessionsoverXMPP.
Inordertoprovideaflexibleframework,thebaseJinglespecificationdefinesneitherdatatransportmethodsnorapplicationformats,leavingthatuptoseparatespecifications.
ThecurrentdocumentdefinesatransportmethodforestablishingandmanagingdataexchangesbetweenXMPPentitiesusingtheexistingSOCKS5Bytestreams(S5B)protocolspecifiedinSOCKS5Bytestreams(XEP-0065)2.
This"jingle-s5b"methodresultsinastreamingtransportmethodsuitableforuseinJingleapplicationtypeswherepacketlosscannotbetolerated(e.
g.
,filetransfer).
Jingle-S5BreusestheprotocolflowfromXEP-0065forthecom-municationwithaSOCKS5streamhost;thecommunicationbetweentwoclientstonegotiatethepossiblecandidatesdiffersfromXEP-0065andsharessimilaritieswithJingleICE-UDPTransportMethod(XEP-0176)32ProtocolThebasicflowisasfollows.
InitiatorResponder|||session-initiate||(withS5Bcandidates)||ack||session-accept||(withS5Bcandidates)||ack||candidate-usedtransport-info||ack||candidate-usedtransport-info||ack||S5B"SESSION"||session-terminate|1XEP-0166:Jingle.
2XEP-0065:SOCKS5Bytestreams.
3XEP-0176:JingleICE-UDPTransportMethod.
12PROTOCOL|ack|||Thisflowisillustratedinthefollowingexamples(tosimplifythepresentationtheseusean"example"applicationinsteadofarealapplicationtype).
2.
1SelectingCandidatesItisRECOMMENDEDthataclientwillofferasmanyelementsaspossiblewithitselfasthehost(i.
e.
,non-proxycandidates).
Suchcandidatesmightbefoundusingthefollowingmethods:OpeningtheTCPportonallavailableinterfacestheuserwantstouse(e.
g.
,maybenotanexpensiveUMTSlink),includingtheIPv4andIPv6addressesofthatinterface(ifavail-able).
Usingtheclient'sexternalIPaddressasdiscoveredthroughanassistingNATprotocolorothermeans.
IftheclientknowsitisbehindaNATandtherouterannouncesUPnPIGDorNAT-PMPsupport,theclientSHOULDmaptheopenporttotheexternalinterfaceoftherouterandincludethepublicIPaddressandportinformationintheoffers.
Toincreasethechanceofsuccesswithoutusingaproxy,thisspecificationencouragestherespondertoalsosendoffers,effectivelyequivalenttothe"fast-mode"forSOCKS5Bytestreamsaspreviouslydescribedat.
2.
2ExchangingCandidatesOncetheinitiatorhasasetofcandidates,itsendsaJinglesession-initiaterequestthatcontainsoneormoretransportcandidateswhichareamixtureofXEP-0065streamhostsandICEcandidatesusedinXEP-0176.
JustaswiththeelementfromXEP-0065,heretheelementcontainsthecandidates.
ThefollowingrulesapplytothedefinedattributesoftheelementwhensentbytheinitiatorinaJinglesession-initatemessage:1.
The'sid'attributeMUSTbeincluded.
ThisattributespecifiestheStreamIDforthisbytestream.
2.
The'dstaddr'attributeSHOULDbeincludediftheinitiatorincludesatleastonecandi-dateofthe"proxy"type.
ThisattributeenablestheinitiatortocommunicatethevalueithascalculatedfortheSOCKS5DST.
ADDRfield(seeSection5.
3.
2andSection7ofXEP-0065)sothattherespondercanprovideanaccuratevaluetotheproxyduringSOCKS522PROTOCOLnegotiation.
HerethevalueiscalculatedasSHA1(SID+InitiatorJID+ResponderJID)sincetheinitiatorwillbetheentitythatactivatesthebytestreamattheproxy.
43.
The'mode'attributeMAYbeincluded.
ThisattributespecifieswhethertheunderlyingtransportforthebytestreamwillbeTCP(avalueof"tcp",whichisthedefault)orUDP(avalueof"udp",seeSection8ofXEP-0065).
Inthefollowingexample,Romeo'sclienthastwointerfaces,oneonport5086andtheotheronport5087.
TheprovidedcandidatesaretheIPv4addressofoneinterface,theIPv4addressofthesecondinterface,andaproxyaddressatstreamer.
shakespeare.
lit.
BecauseRomeo'sclienthasincludedaproxycandidate,itincludesitscomputedvaluefortheDST.
ADDRfieldinthe'dstaddr'attribute(herecomputedastheSHA-1hashof"vj3hs98yromeo@montague.
lit/orchardjuliet@capulet.
lit/balcony").
Listing1:Initiatorsendssession-initiateTheresponderimmediatelyacknowledgesreceipt.
Listing2:Responderacknowledgessession-initiateDependingontheapplicationtype,auseragentcontrolledbyahumanusermightneedtowaitfortheusertoaffirmadesiretoproceedwiththesessionbeforecontinuing.
Whentheuseragenthasreceivedsuchaffirmation(oriftheuseragentcanautomaticallyproceedforanyreason,e.
g.
becausenohumaninterventionisexpectedorbecauseahumanuserhasconfiguredtheuseragenttoautomaticallyacceptsessionswithagivenentity),itreturnsaJinglesession-acceptmessage.
ThismessageMUSTcontainaelementqualifiedbythe'urn:xmpp:jingle:transports:s5b:1'namespace,whichSHOULDinturncontainoneelementforeachSOCKS5Bytestreamscandidategeneratedbyorknowntotheresponder,butMAYinsteadbeemptyiftheresponderdoesnotwishtoofferanycandidatesorwishestosendeachcandidateasthepayloadofatransport-infomessage.
Iftherespondersendscandidatesinthesession-accept,thechancesofasuccessfulconnectionareincreased.
Forexample,theinitiatormightbebehindaNATormighthavenoaccesstoanS5Bproxy,whereastherespondermighthaveapublicIPaddress,mightknowaboutaproxy,ormighthaveNATpenetrationsupportlikeNAT-PMPinarouter.
However,theresponderMUSTNOTofferasacandidateanyhost/portcombinationthathasalreadybeenofferedbytheinitiator;thishelpstopreventfailureofnegotiationwithS5Bproxies.
ThefollowingrulesapplytothedefinedattributesoftheelementwhensentbytheresponderinaJinglesession-acceptmessage:1.
The'sid'attributeMUSTbeincludedandMUSTbethesameStreamIDcommunicatedbytheinitiatorintheJinglesession-initiatemessage.
2.
The'dstaddr'attributeSHOULDbeincludediftheresponderincludesatleastonecandi-dateofthe"proxy"type.
Thisattributeenablestherespondertocommunicatethevalue42PROTOCOLithascalculatedfortheSOCKS5DST.
ADDRfield(seeSection5.
3.
2andSection7ofXEP-0065)sothattheinitiatorcanprovideanaccuratevaluetotheproxyduringSOCKS5negotiation.
HerethevalueiscalculatedasSHA1(SID+ResponderJID+InitiatorJID)sincetheresponderwillbetheentitythatactivatesthebytestreamattheproxy.
53.
The'mode'attributeMUSTNOTbeincludedsincetheunderlyingtransportforthebytestreamisdeterminedbytheinitiator.
Inthefollowingexample,Juliet'sclientopensoneport.
Theprovidedcandidatesarethe(private)IPv4addressoftheinterface,a(public)IPv6address,thepublicIPv4addresscreatedbymappingtheprivateIPaddress/portusingNAT-PMP,andaproxyaddress.
BecauseJuliet'sclienthasincludedaproxycandidate,itincludesitscomputedvaluefortheDST.
ADDRfieldinthe'dstaddr'attribute(herecomputedastheSHA-1hashof"vj3hs98yjuliet@capulet.
lit/balconyromeo@montague.
lit/orchard").
Listing3:Respondersendssession-acceptwithcandidatesTheinitiatoracknowledgesreceiptandtriestoconnecttotheofferedcandidates.
Listing4:Initiatoracknowledgessession-acceptAclientSHOULDchecktheofferedcandidatesinorderoftheirpriority,startingwiththehighestvalue.
Howthepriorityiscalculateddependsontheactualavailableinterfaces.
AnimplementationSHOULDusethefollowingformula:priority=(2^16)*(typepreference)+(localpreference)Thetypepreferenceisanintegervaluebetween0and127.
Thefollowingtypesandtheirsuggestedpreferencevaluesaredefined.
TypeDescriptionPreferenceValuedirectDirectconnectionusingthegivenin-terface126assistedDirectconnectionusingNATassistingtechnologieslikeNAT-PMPorUPnP-IGD120tunnelTunnelprotocolssuchasTeredo110proxySOCKS5Relay10Thelocalpreferenceisusedtoratedifferentcandidatesofthesametype,e.
g.
aDSLlinkmightbepreferredoveraVPNconnection.
ThevalueofthelocalpreferenceSHOULDbebetween0and65535.
Theproposedvaluesareonlyguidelines.
Ifaclientwantstoincreaseor62PROTOCOLdecreasethevalueofaspecificcandidateitisfreetodoso.
Forinstance,aclientmighthaveanexpensiveUMTSlinkasalastresortandmightratethislinklowerthanallSOCKS5relays.
2.
3ConnectingtoCandidatesAfterreceivingitspeer'scandidates,aclientstarttoconnecttotheminorderofthepriority.
AdetaileddescriptionoftheprotocolcanbefoundinXEP-0065.
Onceoneclienthassuccessfullycreatedaconnection,itsendstheelementtothepeerinsideaJingletransport-infomessage.
Ifaclientreceivesacandidate-usednotificationitSHOULDcontinuetryingtoconnecttocandidatessentbyitspeerifithasnottriedallcandidateswithahigherprioritythantheonesuccessfullyusedbythepeer.
Listing5:Initiatorsendscandidate-usedinJingletransport-infoThepeerimmediatelyacknowledgesreceipt.
Listing6:Responderacknowledgescandidate-usedmessageIfaclientisunabletoconnecttoanycandidatesentbyitspeer,orifitstoppedtryingtoconnectbecauseitspeersentacandidate-usednotificationwithapriorityhigherthanitsremainingcandidate(s),itsendsacandidate-errorJingletransport-infomessage(thisisequivalenttotheIQ-errorwithcode='500'fromthe"fast-mode"extension).
72PROTOCOLListing7:Respondersendscandidate-errorinJingletransport-infoThepeerimmediatelyacknowledgesreceipt.
Listing8:Responderacknowledgescandidate-errormessage2.
4CompletingtheNegotiationThetransportnegotiationiscompletedinoneofthefollowingways:1.
Ifbothpartiessendacandidate-errornotificationthentheSOCKS5negotiationhasfailedandthepartiesneedtofallbacktosomeothertransportmethod,typically(butnotnecessarily)IBB;seetheFallbackMethodssectionofthisdocumentfordetails.
2.
Ifoneofthepartiessendsacandidate-errornotificationandtheotherpartysendsacandidate-usednotification,thenthecandidate-usedshallbeconsideredthenominatedcandidate.
3.
Ifbothpartiessendacandidate-usednotificationbutthecandidateshaveadifferentpriority,thenthecandidatewiththehigherpriorityshallbeconsideredthenominatedcandidate.
4.
Ifbothpartiessendacandidate-usednotificationwithcandidateshavingthesamepri-ority,thenthecandidatechosenbytheinitiatorshallbeconsideredthenominatedcan-didate(thisisconsistentwiththerulesinXEP-0166).
82PROTOCOLThepartiesshallusethenominatedcandidateforthedatatransfer.
However,ifthenomi-natedcandidateisofthe"proxy"type,thenthepeerhasnowaytoknowwhenitcansenddata.
ThereforethepartythatofferedthenominatedcandidateMUSTdotwothings.
.
.
First,itactivatesthebytestream,asdescribedinXEP-0065:Listing9:Responderactivatesthebytestreamatproxyromeo@montague.
lit/orchardListing10:ProxyinformsresponderofactivationSecond,itsendsanactivatednotificationtothepeer;itdoessobysendingatransport-infomessagecontaininganelement:Listing11:ResponderinformsinitiatorthatbytestreamhasbeenactivatedIfthenominatedcandidateisoftheproxytypeandeitherpartycannotconnecttotheproxy(forexamplebecauseofarestrictivefirewall),thefailingpartyshallsendatransport-info92PROTOCOLmessagecontaininganelement.
Listing12:ResponderinformsinitiatorofinabilitytoconnecttotheproxyThepartiesshallthenconsiderthebytestreamunsuccessfulandSHOULDattempttofallbacktoanothertransportasdescribedinFallbackMethods.
2.
5ExchangingDataOncethepartieshavechosen(andifnecessaryactivated)astreamhost,theycanexchangedataasdefinedinXEP-0065.
2.
6ClosingtheBytestreamOncethepartieshavefinishedusingthebytestream(e.
g.
,becauseacompletefilehasbeensent),eitherpartycansendaJinglesession-terminateaction.
Listing13:Initiatorterminatesthesession103FALLBACKMETHODSTheotherpartythenacknowledgesthesession-terminateandtheJinglesessionisfinished.
Listing14:Responderacknowledgessession-terminate3FallbackMethodsIftheSOCKS5Bytestreamsnegotiationfails,thepartiesmightwantto"fallback"toan-othertransport.
CurrentlythetransportoflastresortforastreamingexchangeisIn-BandBytestreams(XEP-0047)6asdescribedforJingleinJingleIn-BandBytestreamsTransportMethod(XEP-0261)7,howeverifothertransportmethodsaredefinedinthefuture(e.
g.
RFC65448)thenclientscouldfallbacktothosemethodsinsteadofIBB.
TheprotocolflowforfallbackfromS5BtoIBBisasfollows.
RomeoJuliet|||session-initiate||(withS5Binfo)||ack||session-accept||(withS5Binfo)||[SOCKS5failure!
]||x-x||transport-replace(IBB)||ack||transport-accept(IBB)||ack||IBB"SESSION"|6XEP-0047:In-BandBytestreams.
7XEP-0261:JingleIn-BandBytestreamsTransportMethod.
8RFC6544:TCPCandidateswithInteractiveConnectivityEstablishment(ICE).
113FALLBACKMETHODS|terminate||ack|||FirsttheinitiatorsendsaJinglesession-initiate,inthiscasewithatransportofSOCKS5Bytestreams.
Theprotocolflowisexactlythesameasdescribedabove.
Ifbothpartiesareunabletoconnecttoacandidateprovidedbythepeer,theysendcandidate-errormessagestoindicatethatSOCKS5hasfailed.
TheinitiatorMUSTeitherterminatetheJinglesessionwithaJinglereasonoforreplacethetransportwithsomethingelseusingthetransport-replaceaction.
TypicallythefallbackoptionisIBB(see,forexample,JingleFileTransfer(XEP-0234)9).
Thereforetheinitiatorsendsatransport-replaceactionincludingatransportofIBB.
Listing15:InitiatorreplacestransportwithIBBTheresponderthenacknowledgesthetransport-replaceaction.
Listing16:Responderacknowledgestransport-replaceIfthetransportreplacementisacceptable,theresponderthensendsatransport-acceptactiontotheinitiator(ifnot,therespondersendsatransport-rejectaction).
Iftheresponderwishestouseasmallerblocksizethantheonespecifiedinthetransport-replaceoffer,thiscanbedonebyspecifyingablock-sizeattributeinthetransport-acceptaction.
9XEP-0234:JingleFileTransfer.
124PROCESSINGRULESANDUSAGEGUIDELINESListing17:Respondersendstransport-acceptTheinitiatoracknowledgestheJingletransport-acceptaction.
Listing18:Initiatoracknowledgestransport-acceptNowthepartiescansenddatausingIn-BandBytestreamsasdefinedinXEP-0261andXEP-0047.
4ProcessingRulesandUsageGuidelinesThesameprocessingrulesandusageguidelinesdefinedinXEP-0065applytotheJingleS5BTransportMethod.
ThisdocumentaddsthefollowingimplementationsuggestionsinthecontextofJingle:1.
Trytheofferedcandidatesintheorderoftheirpriority,fromhighesttolowest.
2.
Staggertheconnectionattempts(e.
g.
,initiatecommunicationswiththehighest-prioritycandidate,thenwait200msbeforeinitiatingcommunicationswiththesecond-highest-prioritycandidate).
3.
Toincreasethepotentialforusingadirectconnection,considerwaitingabitlongerthan200mstoinitiatecommunicationswithproxycandidates.
136SECURITYCONSIDERATIONS5DeterminingSupportToadvertiseitssupportfortheJingleSOCKS5BytestreamsTransportMethod,whenreplyingtoServiceDiscovery(XEP-0030)10informationrequestsanentityMUSTreturnURNsforanyversionofthisprotocolthattheentitysupports--e.
g.
,"urn:xmpp:jingle:transports:s5b:1"forthisversion(seeNamespaceVersioningregardingthepossibilityofincrementingtheversionnumber).
Listing19:ServicediscoveryinformationrequestListing20:ServicediscoveryinformationresponseInorderforanapplicationtodeterminewhetheranentitysupportsthisprotocol,wherepossibleitSHOULDusethedynamic,presence-basedprofileofservicediscoverydefinedinEntityCapabilities(XEP-0115)11.
However,ifanapplicationhasnotreceivedentitycapabilitiesinformationfromanentity,itSHOULDuseexplicitservicediscoveryinstead.
6SecurityConsiderations6.
1SharingIPAddressesTheexchangeofcandidatesmightresultinexposureofthesender'sIPaddresses,whichcompriseaformofpersonallyidentifyinginformation.
AJingleclientMUSTenableausertocontrolwhichentitieswillbeallowedtoreceivesuchinformation.
Ifahumanuserexplicitlyacceptsasessionrequest,thentheclientcanconsiderthatactiontoimplyapprovalofIPaddresssharing.
10XEP-0030:ServiceDiscovery.
11XEP-0115:EntityCapabilities.
148XMPPREGISTRARCONSIDERATIONS6.
2EncryptionofMediaThisspecification,likeXEP-0065beforeit,doesnotdirectlysupportend-to-endencryptionofthemediasentoverthetransport.
7IANAConsiderationsThisdocumentrequiresnointeractionwiththeInternetAssignedNumbersAuthority(IANA)12.
8XMPPRegistrarConsiderations8.
1ProtocolNamespacesTheXMPPRegistrar13includes'urn:xmpp:jingle:transports:s5b:1'initsregistryofprotocolnamespacesat,asdescribedinSection4ofXMPPRegistrarFunction(XEP-0053)14.
8.
2ProtocolVersioningIftheprotocoldefinedinthisspecificationundergoesarevisionthatisnotfullybackwards-compatiblewithanolderversion,theXMPPRegistrarshallincrementtheprotocolversionnumberfoundattheendoftheXMLnamespacesdefinedherein,asdescribedinSection4ofXEP-0053.
8.
3JingleTransportMethodsTheXMPPRegistrar15includes"jingle-s5b"initsregistryofJingletransportmethodsat.
Theregistrysubmissionisasfollows:12TheInternetAssignedNumbersAuthority(IANA)isthecentralcoordinatorfortheassignmentofuniquepa-rametervaluesforInternetprotocols,suchasportnumbersandURIschemes.
Forfurtherinformation,see.
13TheXMPPRegistrarmaintainsalistofreservedprotocolnamespacesaswellasregistriesofparametersusedinthecontextofXMPPextensionprotocolsapprovedbytheXMPPStandardsFoundation.
Forfurtherinforma-tion,see.
14XEP-0053:XMPPRegistrarFunction.
15TheXMPPRegistrarmaintainsalistofreservedprotocolnamespacesaswellasregistriesofparametersusedinthecontextofXMPPextensionprotocolsapprovedbytheXMPPStandardsFoundation.
Forfurtherinforma-tion,see.
159SCHEMAs5bAmethodfornegotiatingdataexchangeoverSOCKS5Bytestreams.
streamingXEP-02609SchemaTheprotocoldocumentedbythisschemaisdefinedinXEP-0260:http://www.
xmpp.
org/extensions/xep-0260.
html169SCHEMA1710ACKNOWLEDGEMENTS10AcknowledgementsThankstoSteffenLarsen,FlorianSchmaus,KevinSmith,andRemkoTrononfortheirfeedback.
18
百纵科技:美国高防服务器,洛杉矶C3机房 独家接入zenlayer清洗 带金盾硬防,CPU全系列E52670、E52680v3 DDR4内存 三星固态盘阵列!带宽接入了cn2/bgp线路,速度快,无需备案,非常适合国内外用户群体的外贸、搭建网站等用途。官方网站:https://www.baizon.cnC3机房,双程CN2线路,默认200G高防,3+1(高防IP),不限流量,季付送带宽美国洛杉矶C...
以前我们在参与到云服务商促销活动的时候周期基本是一周时间,而如今我们会看到无论是云服务商还是电商活动基本上周期都要有超过一个月,所以我们有一些网友习惯在活动结束之前看看商家是不是有最后的促销活动吸引力的,比如有看到阿里云年中活动最后一周,如果我们有需要云服务器的可以看看。在前面的文章中(阿里云新人福利选择共享性N4云服务器年79.86元且送2月数据库),(LAOZUO.ORG)有提到阿里云今年的云...
UCloud优刻得商家这几年应该已经被我们不少的个人站长用户认知,且确实在当下阿里云、腾讯云服务商不断的只促销服务于新用户活动,给我们很多老用户折扣的空间不多。于是,我们可以通过拓展选择其他同类服务商享受新人的福利,这里其中之一就选择UCloud商家。UCloud服务商2020年创业板上市的,实际上很早就有认识到,那时候价格高的离谱,谁让他们只服务有钱的企业用户呢。这里希望融入到我们大众消费者,你...
socks5代理ip为你推荐
摩拜超15分钟加钱摩拜单车不是按骑行时间收费吗,我怎么只要开锁就要支付一元(而且只骑十几分钟)安徽汽车网安徽什么汽车网站比较好?咏春大师被ko大师:咏春是不会败的 教练:能不偷袭吗,咏春拳教练蓝色骨头手机宠物的骨头分别代表几级?商标注册流程及费用我想注册商标一般需要什么流程和费用?嘉兴商标注册个人如何申请商标注册甲骨文不满赔偿未签合同被辞退的赔偿bbs.99nets.com送点卷的冒险岛私服比肩工场大运比肩主事,运行长生地是什么意思?www.522av.com在白虎网站bhwz.com看电影要安装什么播放器?
budgetvm westhost webhosting 英文简历模板word godaddy 免费个人博客 免费个人网站申请 免空 刀片服务器是什么 hostker 最好的免费空间 域名评估 德隆中文网 云服务器比较 注册阿里云邮箱 ssl加速 空间排行榜 侦探online asp简介 blaze 更多