免费SS

SS账号 更新时间:2024-04-24 03:15:55

所有账号均来自互联网,非盈利目的,仅供大家交流学习使用,出现一切问题本站作者概不负责。

本站不提供任何收费服务,不推荐任何收费机场,谢谢大家的支持。

资源存在一定时效性,本站不保证全部可用,请自行验证后使用。为了保护账号不被滥用,请在下方输入计算结果后再查看。

账号的使用方法您可以参考:Shadowsocks 在Windows上的使用及设置方法



受保护内容

为保护内容不被滥用,请输入计算结果查看,谢谢支持

评论

190条评论
  1. 1 回复

    想请问下为什么从剪贴板导入URL这个功能有时候用不了?

  2. 匿名 回复

    这里粘贴过长的脚本好像会出问题。

  3. 匿名 回复

    生成rust版shadowsocks配置文件的nodejs脚本。支持多个免费ss列表。
    需要安装cloudscraper geoip-lite jsdom request request-promise
    #!/usr/bin/env node
    const cloudscraper=require('cloudscraper')
    const {JSDOM}=require("jsdom")
    const request=require("request-promise")
    const assert=require("assert").strict
    const geoip=require('geoip-lite')
    const dns=require('dns')
    async function dns_lookup(x){
    return new Promise((resolve,reject)=>dns.lookup(x,(err,address,family)=>err===null?resolve(address):reject(err)))
    }
    function is_ss(x){
    return x.slice(0,5)==='ss://'
    }
    async function ss2json(ss){
    const str=Buffer
    .from(ss.slice(5),'base64')
    .toString('ascii')
    const xs=str.split('@')
    assert.equal(xs.length,2)
    const [a,b]=xs
    const as=a.split(':')
    assert.equal(as.length,2)
    const bs=b.split(':')
    assert.equal(bs.length,2)
    const address=await dns_lookup(bs[0])
    return {address:address,port:Number(bs[1]),password:as[1],method:as[0],country:geoip.lookup(address).country}
    }
    async function youneed(){
    const x=await cloudscraper.get('https://www.youneed.win/free-ss')
    const document=new JSDOM(x).window.document
    return Array
    .from(document.querySelectorAll("#post-box > div > section > table > tbody > tr"))
    .map(x=>Array
    .from(x.children)
    .map((x)=>x.innerHTML))
    .map(x=>new Promise(resolve=>resolve({address:x[0],port:Number(x[1]),password:x[2],method:x[3],country:x[5]})))
    }
    async function viencoding(){
    const x=await request("https://viencoding.com/ss-ssr-share")
    const document=new JSDOM(x).window.document
    return Array
    .from(document.querySelectorAll(".col-md-8 > .markdown-preview > code"))
    .map(x=>x.innerHTML)
    .filter(is_ss)
    .map(ss2json)
    }
    const providers=[
    youneed,
    viencoding,
    ]
    async function protect(default_v,promise){
    return new Promise(resolve=>promise.then(resolve).catch(err=>resolve(default_v)))
    }
    async function await_array(xs){
    return xs.length===0?[]:[await xs[0]].concat(await await_array(xs.slice(1)))
    }
    Array.prototype.map_async=function(f){
    const result=[]
    for(let i=0;iprotect([],x()))
    const xs1=(await xs0)
    .flat()
    .map_async(x=>protect(null,x))
    return (await xs1)
    .filter(x=>x!==null)
    }
    getall()
    .then(x=>console.log(JSON.stringify({local_address:"127.0.0.1",local_port:1080,servers:x.filter(x=>x.method!=='aes-128-ctr'&&x.country!='RU')})))
    .catch(console.error)

  4. 匿名 回复

    改一下那些脚本就可以自动生成ss的订阅。

  5. 匿名 回复

    rust版ss配置文件自动生成脚本。
    需要安装的包:cloudscraper jsdom request
    #!/usr/bin/env node
    require('cloudscraper').get('https://www.youneed.win/free-ss').then((x)=>{let document=new (require("jsdom").JSDOM)(x).window.document;console.log(JSON.stringify({local_address:"127.0.0.1",local_port:1080,servers:Array.from(document.querySelectorAll("#post-box > div > section > table > tbody > tr")).map((x)=>Array.from(x.children).map((x)=>x.innerHTML)).map((x)=>({address:x[0],port:Number(x[1]),password:x[2],method:x[3],country:x[5]})).filter((x)=>x.method!=='aes-128-ctr'&&x.country!='RU')}));},console.error)

  6. 匿名 回复

    为啥没有二维码,真的很不方便

  7. zzZ 回复

    多谢大佬

  8. cedoo 回复

    import cfscrape
    from lxml import html
    #get ss from web

    def getFreeSS():
    youneedSSUrl = "https://www.youneed.win/free-ss"
    scraper = cfscrape.create_scraper() # returns a CloudflareScraper instance
    # Or: scraper = cfscrape.CloudflareScraper() # CloudflareScraper inherits from requests.Session
    rsponse = scraper.get(youneedSSUrl)
    # print(rsponse.text) # => "..."
    if (rsponse.status_code == 200):
    responseHtml = rsponse.text
    tree = html.fromstring(responseHtml)
    ssservers = tree.xpath("//section[@class='context']/table/tbody/tr")
    ssserversCount = len(ssservers)
    servers = [];
    for s in range(ssserversCount):
    serverObjAttrs = tree.xpath("//section[@class='context']/table/tbody/tr/td/text()")
    startIndex = 6*s
    ip = serverObjAttrs[startIndex+0]
    port = serverObjAttrs[startIndex+1]
    passwd = serverObjAttrs[startIndex+2]
    method = 'aes-256-cfb'# serverObjAttrs[startIndex+3] #aes-256-cfb or
    tm = serverObjAttrs[startIndex+4]
    country = serverObjAttrs[startIndex+5]
    sjson = {"server": ip, "server_port": int(port), "password": passwd, "method": method, "remarks": ip+"-"+country}
    servers.append(sjson)
    return servers
    else:
    return []

  9. 1 回复

    能否增加一个 SS 的URL链接, 软件有从剪贴板导入URL的功能. 用起来方便一些.

  10. 匿名 回复

    加个二维码吧

  11. 匿名 回复

    为了方便大家 加个二维码吧

  12. 匿名 回复

    chrome 早上打不开。。。
    IE 目前可以进来评论

    chrome 一直////
    在访问 youneed.win 之前检查浏览器。
    这个过程是自动的。您的浏览器很快就会重定向到您要求的内容。

    请允许最多5秒......

    Cloudflare
    Ray ID的DDoS保护:4f51a62d5b2420b2

  13. 匿名 回复

    没有二维码不方便

  14. 匿名 回复

    非常感谢!支持一下!

  15. 匿名 回复

    导出SS:
    console.info([].filter.call(document.querySelectorAll('#post-box table>tbody>tr>td:last-child'),e=>e.children.length===1&&e.nodeName==='TD').map(e=>e.children[0].href).join('\n'))

  16. 匿名 回复

    为什么没有二维码了,好不方便

  17. 匿名 回复

    请教手机端,怎么看完整的信息,不能左右上下移动?

    • 放牧的风 回复

      @匿名 可以横屏试试

  18. 匿名 回复

    Rust版脚本

    console.log(JSON.stringify({local_address:"127.0.0.1",local_port:1080,servers:Array.from(document.querySelectorAll("#post-box > div > section > table > tbody > tr")).map((x)=>Array.from(x.children).map((x)=>x.innerHTML)).filter((x)=>x[5]!=='RU').map((x)=>({address:x[0],port:Number(x[1]),password:x[2],method:x[3],C:x[5]})).filter((x)=>x.method!=='aes-128-ctr')}))

  19. hamflx 回复

    Copy button

    [].filter.call(document.querySelectorAll('.context tbody tr'), (e) => e.children.length === 6).map((e) => [e.children[3].textContent, e.children[2].textContent, e.children[0].textContent, e.children[1].textContent, e]).map(f => ({ u: 'ss://' + btoa(f[0] + ':' + f[1] + '@' + f[2] + ':' + f[3]), p: f[4]})).forEach((o) => { var a = document.createElement('a'), p = document.createElement('td'), inp; a.href = o.u; a.textContent = 'copy'; a.onclick = () => { inp = inp || document.createElement('input'); inp.value = o.u; document.body.appendChild(inp); inp.select(); document.execCommand('Copy'); }; p.appendChild(a); o.p.appendChild(p); });

  20. hamflx 回复

    console.log([].filter.call(document.querySelectorAll('.context tbody tr'), (e) => e.children.length === 6).map((e) => [e.children[3].textContent, e.children[2].textContent, e.children[0].textContent, e.children[1].textContent, e.children[5].textContent]).map(f => f[4] + ' ss://' + btoa(f[0] + ':' + f[1] + '@' + f[2] + ':' + f[3])).join('\n'));

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注