卡哇伊,将人脸照片转化为卡通风格的画作 2021-12-08

创意,精彩,可以把自己的照片变为卡通风格的创意作品,来自韩国作者bryandlee的作品”animegan2-pytorch”

项目地址:

https://github.com/bryandlee/animegan2-pytorch

作者给到的效果图:

平面效果一览:

开工测试

打开验证效果的网页

https://huggingface.co/spaces/akhaliq/AnimeGANv2

点击页面上的”Drop Image Here or Click to Upload”

上传图片,点击submit提交,等待程序算法跑完即可看到效果图。

验证效果,四张图片,右侧为原图,左侧为算法解析后的效果图

IMG-01
IMG-02
IMG-03
IMG-04

重要提醒,

  1. 侧脸的效果不佳
  2. 长的丑的就不要试了,这个不是美颜算法。

YouTube视频地址

卡哇伊,将人脸照片自拍转化为卡通风格的画作 2021-12-08
博客 https://dasmz.com/?p=835
视频 https://youtu.be/6GkuXYtpkHo

觉得这篇文章赞的,欢迎打赏:

Donate
云乞讨

安卓Android高效的开源投屏工具,scrcpy,使用介绍 2021-12-07

项目地址 https://github.com/Genymobile/scrcpy

中文Readme https://github.com/Genymobile/scrcpy/blob/master/README.zh-Hans.md

Windows 下载地址 https://github.com/Genymobile/scrcpy/releases/download/v1.21/scrcpy-win64-v1.21.zip

  1. 支持安卓5 到 安卓12
  2. 支持控制和预览

注意,手机的ADB调试,必须打开

// 在下载的scrcpy的目录

如下的步骤:
C:\Users\adm\Downloads\scrcpy-win64-v1.21> ./adb devices 
// 手机上点击同意
C:\Users\adm\Downloads\scrcpy-win64-v1.21> ./adb usb
C:\Users\adm\Downloads\scrcpy-win64-v1.21> ./scrcpy

YouTube 实践视频如下:

开源高效的安卓Android投屏工具scrcpy  2021-12-07
博客 https://dasmz.com/?p=823
视频 https://www.youtube.com/watch?v=OP1_5oEPfjw
Donate
云乞讨

通过dd方式,将Linux服务器,安装为Windows系统的技术实践,含推荐的dd镜像源地址 2021-12-02

段落1、需求描述,就是要一个可供远程的windows系统

1、太太发来指令,需要挂机一个学习类型的网站,网站主要是需要在线挂机,播放视频,挂学习时间

根据其需求,我们这里,使用PVE的环境,创建一台Windows系统,我们可以通过MSDN原版的ISO镜像方式安装系统。

我这里是PVE的虚机VPS环境,也可以通过dd的方式,正好可以来演示一下,一般可以在不提供Windows镜像的云服务器上,如何安装Windows系统。

2、购买的海外KVM架构的VPS服务器,商家只支持Linux系统的模板,也可以通过这个方法将当前的Linux系统,dd为Windows系统

段落2、比较靠谱的Windows镜像网站

  1. 推荐natee制作的windows系列镜像 网站 https://dd.nat.ee/ (可能已关闭,2022-03-08 更新)
  2. 推荐秋水逸冰制作的windows系统镜像 网站 https://teddysun.com/

段落3、使用的dd脚本为Vicer开发的

Github脚本InstallNET.sh的下载地址

安装环境

# apt-get install wget 

使用命令dd系统

# bash InstallNET.sh -dd http://10.11.11.239:8000/WINDOWS_VIP_WIN7_2012/vip-win7-ent-sp1-x64-cn.vhd.gz

上面的这个地址,你们可以根据自己的需要,选择NATEE,或者秋水,或者其他的

SSD/NVMe盘的VPS性能比较好,一般dd速度比较快,dd安装完成,务必及时修改远程桌面的端口,默认账号的密码,默认账号的名称,非常重要,务必不要耽误太久,网络上很多扫3389的爆破机器人

判断dd是否完成,可以本地设置一个长ping,Windows命令为

ping -t xx.xx.xx.xx

段落4、附录

备注1,整个dd过程,是无值守的安装方式,一般正常情况都是一步到位,ping通之后一会儿,就可以使用远程桌面登录

备注2,在dd过程中,可以从你的VPS的供应商提供的HTML5/VNC里面观看自己VPS的dd的过程

备注3,一般1核/1GB内存/15G磁盘的配置,推荐dd为Windows7;2核/2GB内存/20GB磁盘的VPS配置,推荐dd为Windows10

2022-03-07 增补的章节

段落5、几个dd包下载的网站

A、系统dd包下载网 https://dd.1234234.xyz/

B、NATEE镜像站点 http://a.iplc.best/natee/

全过程的视频演示,YouTube:

Donate
云乞讨

苹果iPhone iPad设备上的TikTok收看指南 2022-08-20

本文是一篇简略的TikTok收看指南

2022-04-20 更新教程,增加打开TikTok黑屏的排障,增加GeoIP拦截SG提醒

2022-08-20 更新教程,增加2个域名

TikTok 会有2种检测环境方式

  1. 检测设备当前SIM卡所归属的运营商,如果是CN/HK区域的,不支持服务
  2. 检测设备当前的IP地址,如果是CN/HK区域的,不支持服务

故而,为了收看TikTok,针对上面的限制,应该采取如下的办法

  1. 拔出手机中含CN/HK区域的SIM卡
  2. 将TikTok的相关域名全部指向到代理跳板

选择下方的”配置”,选择”default.conf”最右侧的”i”,选择”规则”,选择”+”



依次添加下方的域名到proxy链的规则,20220414更新域名清单

相关域名规则,如下:

# > TikTok
USER-AGENT,TikTok*
DOMAIN-SUFFIX,akamaiedge.net
DOMAIN-SUFFIX,akamaized.net
DOMAIN-SUFFIX,app-measurement.com
DOMAIN-SUFFIX,appsflyer.com
DOMAIN-SUFFIX,byteoversea.com
DOMAIN-SUFFIX,edgekey.net
DOMAIN-SUFFIX,googleapis.com
DOMAIN-SUFFIX,ibytedtos.com
DOMAIN-SUFFIX,ibyteimg.com
DOMAIN-SUFFIX,ipstatp.com
DOMAIN-SUFFIX,muscdn.com
DOMAIN-SUFFIX,musical.ly
DOMAIN-SUFFIX,sgpstatp.com
DOMAIN-SUFFIX,snapkit.com
DOMAIN-SUFFIX,snssdk.com
DOMAIN-SUFFIX,tik-tokapi.com
DOMAIN-SUFFIX,tiktokcdn.com
DOMAIN-SUFFIX,tiktokcdn-us.com
DOMAIN-SUFFIX,tiktok.com
DOMAIN-SUFFIX,tiktokv.com
DOMAIN-SUFFIX,ttwstatic.com
DOMAIN-SUFFIX,bytegecko-i18n.com
DOMAIN-SUFFIX,pitaya-clientai.com
DOMAIN-KEYWORD,-tiktokcdn-com

将上述的规则,添加到你自己的跳板客户端即可。

如果是Shadowrocket,可以直接纯文本编辑,以快速添加规则。20220414更新快速规则配置。

如下的为打开TikTok出现黑屏的排障过程,逐个检查确认

1,手机,设置,通用,地区,非中国

2,手机,设置,隐私,定位,关闭

3,拔掉SIM手机卡

4,确认你的梯子供应商,未配置对GeoSite-CN和GeoIP-CN的拦截,因为TikTok使用的部分阿里云新加坡机房的IP在GeoSite/GeoIP规则中,判定为CN,被你的梯子服务拦截了

5,如果打开TikTok还是黑屏,删除TikTok软件,重新下载TikTok的App,确保TikTok是最新版本即可

6,不要用126/163/qq/CN-HK手机号注册账号

DOMAIN-SUFFIX,edgekey.net,PROXY
DOMAIN-SUFFIX,akamaiedge.net,PROXY
DOMAIN-SUFFIX,akamaized.net,PROXY
DOMAIN-SUFFIX,app-measurement.com,PROXY
DOMAIN-SUFFIX,appsflyer.com,PROXY
DOMAIN-SUFFIX,byteoversea.com,PROXY
DOMAIN-SUFFIX,edgekey.net,PROXY
DOMAIN-SUFFIX,googleapis.com,PROXY
DOMAIN-SUFFIX,ibytedtos.com,PROXY
DOMAIN-SUFFIX,ibyteimg.com,PROXY
DOMAIN-SUFFIX,ipstatp.com,PROXY
DOMAIN-SUFFIX,muscdn.com,PROXY
DOMAIN-SUFFIX,musical.ly,PROXY
DOMAIN-SUFFIX,sgpstatp.com,PROXY
DOMAIN-SUFFIX,snapkit.com,PROXY
DOMAIN-SUFFIX,snssdk.com,PROXY
DOMAIN-SUFFIX,tik-tokapi.com,PROXY
DOMAIN-SUFFIX,tiktokcdn.com,PROXY
DOMAIN-SUFFIX,tiktokcdn-us.com,PROXY
DOMAIN-SUFFIX,tiktok.com,PROXY
DOMAIN-SUFFIX,tiktokv.com,PROXY
DOMAIN-SUFFIX,ttwstatic.com,PROXY
DOMAIN-SUFFIX,bytegecko-i18n.com,PROXY
DOMAIN-SUFFIX,pitaya-clientai.com,PROXY

操作步骤,苹果手机, 视频讲解,YouTube地址 https://www.youtube.com/watch?v=7QQeZZlGSWs

  • 更正内容,suffix – 为后缀的意思,视频中口误,说成了前缀。
  • 更正内容,视频中,实际添加规则时候,把akamaized.net输错了为akamaized.com,实际需要添加的域名以本文上方给到的为准!

苹果平板, iPad,实际操作示范,平板不需要考虑SIM卡的干扰因素,简单一些

TikTok 收看指南
苹果手机 https://dasmz.com/?p=793  https://youtu.be/7QQeZZlGSWs
苹果平板 https://dasmz.com/?p=793  https://youtu.be/Ut2BCz_3K-o
安卓 https://dasmz.com/?p=921  https://youtu.be/fj8gjnosz8Y
Donate
云乞讨

通用代理池项目,功能型函数,检测通用代理是否可用 2021-11-24

// 依赖的2个模块

# pip3 install requests   # 网络请求的
# pip3 install pysocks    # 支持socks的
import requests 

def checkProxyStatus(TargetURL, aUA, aProxy, aTimeout):
    """
        runCheckProxyStatus(TargetURL, aUA, aProxy, aTimeout)
        依赖模块 requests  pysocks
        参数 TargetURL 用于检测的一个网站地址
        参数 aUA 一个随机的User-Agent
        参数 aProxy 需要检测的那个代理 格式为 vtype://ip:port
        参数 aTimeout 超时的时间
        返回值,依据状态码是否为200,判定为是,返回 字符 Y
        返回值,依据状态码是否为200,判定为否,返回 字符 N

    """
    try:
        myHeader = {"User-Agent": aUA}
        myProxy = {'http': aProxy, 'https': aProxy}
        aRSP = requests.get(url = TargetURL, headers = myHeader, proxies = myProxy, timeout = aTimeout)
        if aRSP.status_code == 200:
            return 'Y'
        else:
            return 'N'
    except Exception as e:
        return 'N'
# 实际测了如下的一段代码,通过。

import requests

def checkProxyStatus(TargetURL, aUA, aProxy, aTimeout):
    """
        runCheckProxyStatus(TargetURL, aUA, aProxy, aTimeout)
        依赖模块 requests  pysocks
        参数 TargetURL 用于检测的一个网站地址
        参数 aUA 一个随机的User-Agent
        参数 aProxy 需要检测的那个代理 格式为 vtype://ip:port
        参数 aTimeout 超时的时间
        返回值,依据状态码是否为200,判定为是,返回 字符 Y
        返回值,依据状态码是否为200,判定为否,返回 字符 N

    """
    try:
        myHeader = {"User-Agent": aUA}
        myProxy = {'http': aProxy, 'https': aProxy}
        aRSP = requests.get(url = TargetURL, headers = myHeader, proxies = myProxy, timeout = aTimeout)
        if aRSP.status_code == 200:
            return 'Y'
        else:
            return 'N'
    except Exception as e:
        return 'N'
        
        
v = checkProxyStatus(TargetURL = 'https://www.duckduckgo.com', aUA = 'Python', aProxy = 'socks5://127.0.0.1:10808', aTimeout = 3)
print(v)

# 在本地10808的v2代理开着时候,上面的代码,正常返回 字符 Y
Donate
云乞讨

通用代理池项目,功能型函数,PostgreSQL数据库的连接 2021-11-22

使用的模块为psycopg2

安装方式:

pip3 install psycopg2-binary

模块测试

#!/usr/bin/python3
# -*- coding: utf-8 -*-

import psycopg2

#   PostgreSQL 数据入库模块 正确执行返回Y 否则返回N  增 / 删 / 改
def runDataInPostgreSQLDB(aHost, aPort, aDB, aUser, aPass, aSQL):
    """ Connect to the PostgreSQL database server. insert/delete/update"""
    conn = None
    try:
        print(' + Database connection START')
        conn = psycopg2.connect(dbname = aDB, user = aUser, password = aPass, host = aHost, port = aPort)		
        cur = conn.cursor()
        cur.execute(aSQL)
        conn.commit()
        cur.close()
        return 'Y'
    except (Exception, psycopg2.DatabaseError) as e:
        print(e)
        return 'N'
    finally:
        if conn is not None:
            conn.close()
            print(' + Database connection CLOSE')

#   PostgreSQL 数据读取模块 正确返回数据列表 错误返回空列表
def runDataOutPostgreSQLDB(aHost, aPort, aDB, aUser, aPass, aSQL):
    """ Connect to the PostgreSQL database server. select"""
    conn = None
    try:
        print(' + Database connection START')
        conn = psycopg2.connect(dbname = aDB, user = aUser, password = aPass, host = aHost, port = aPort)		
        cur = conn.cursor()
        cur.execute(aSQL)       
        data = cur.fetchall()
        cur.close()
        return data
    except (Exception, psycopg2.DatabaseError) as e:
        print(e)
        return []
    finally:
        if conn is not None:
            conn.close()
            print(' + Database connection CLOSE')
            
aSQL = "select vtype,ip,port from mdata limit 3;"            
vData = runDataOutPostgreSQLDB(aHost = '127.0.0.1', aPort = 5432, aDB = "你的数据库实例名称", aUser = "你的数据库用户名", aPass = "你的数据库密码", aSQL = "一个SQL")  
print(vData)    
// 测试结果

root@PostgreSQLDatabase:~/src/invoker# python3 tmp1058.py 
 + Database connection START
 + Database connection CLOSE
[('socks4', '203.207.52.38', 5430), ('socks4', '103.146.170.244', 5678)]
root@PostgreSQLDatabase:~/src/invoker# 
如果用命令行连接数据库
# psql -d 你的数据库实例名称 -h 127.0.0.1 -p 5432 -U 你的数据库用户名 -W 
Donate
云乞讨

通用代理池项目,功能型函数,验证端口Port是否正确 2021-11-24

user@server:~$ cat tmp1358.py
def isActivePort(port):
    """
        isActivePort(port)
        参数 port,字符串
        用途,判断端口port字符串是否正确
        返回值,判定为是,返回 字符串 'Y'
        返回值,判定为否,返回 字符串 'N'
    """
    try:
        if int(port) >= 1 and int(port) <= 65535:
            return 'Y'
        else:
            return 'N'
    except Exception as e:
        return 'N'

data1 = 'somedata'
data2 = '0'
data3 = '65536'
data4 = '2048'
v1 = isActivePort(port = data1)
v2 = isActivePort(port = data2)
v3 = isActivePort(port = data3)
v4 = isActivePort(port = data4)
print(f"{data1} - {v1}")
print(f"{data2} - {v2}")
print(f"{data3} - {v3}")
print(f"{data4} - {v4}")


user@server:~$ python3 tmp1358.py
somedata - N
0 - N
65536 - N
2048 - Y
user@server:~$ 
# 2021-11-24 更新为

def isActivePort(port):
    """
        isActivePort(port)
        参数 port,字符串
        用途,判断端口port字符串是否正确
        返回值,判定为是,返回 字符串 'Y'
        返回值,判定为否,返回 字符串 'N'
    """
    try:
        if port.isdigit() and int(port) >= 1 and int(port) <= 65535:
            return 'Y'
        else:
            return 'N'
    except Exception as e:
        return 'N'
Donate
云乞讨