[笔记]Steam acceptOffer 403

引言:

这两天帮别人开发了一个自动接收报价的脚本.重新使用SteamBot API的时候,发现API的AcceptOffer函数始终无效,故花了一些时间,琢磨出了解决的办法.(也希望给后来者留下一些帮助)

问题:

原始的代码下,直接向steamcommunity.com/tradeoffer/0000/accept发送请求,Steam就会返回403 forbidden的回应.

解决:

cookie中加入sessionid即可,php中可使用这样子,重新组合一下cookie再发起链接,即可修复该bug.

GU直播-简易直播站

性能指标:

  • 支持统计观众个数
  • 支持在线聊天
  • 支持多个房间推流[RTMP流]
  • 支持流鉴权
  • 支持直播流播放

一些想说的:

之所以会写这个东西,仅仅是为了满足我的小愿望[自己做一个直播站试试],这个直播站从功能以及框架上都非常的羸弱,不足以应对复杂场景,仅仅是做着玩,所以有兴趣的朋友可以下下来玩玩,但不建议应用至生产环境之中。这次的下载站代码会放到Github,并且会在这个文章中附上Nginx(带RTMP模块)的下载链接,以及我的Nginx的配置。

安装:

1.下载Nginx-RTMP windows版

[理论上是可以自己编译的,但win版真的超级难编译]

链接: https://github.com/xaccc/nginx-rtmp-win32

2.修改conf/nginx.conf

worker_processes 1;
daemon off;
master_process off;</code>

error_log logs/error.log info;

events {
worker_connections 1024;
}

rtmp {
server {
listen 1935;//本配置文件是使用1935作为直播服务器的端口

application live {
live on;
notify_method POST;
publish_notify on;
on_publish http://localhost:8080/rtmp/index.php?publish;//网站域名在服务器上使用时也要修改成对外的域名
on_publish_done http://localhost:8080/rtmp/index.php?publish&amp;done;
on_play http://localhost:8080/rtmp/index.php?publish&amp;play;
on_play_done http://localhost:8080/rtmp/index.php?publish&amp;play_done;
}
}
}

http {
include mime.types;
default_type application/octet-stream;
server {
listen 8080;
location / {
root D:/phpstudy/PHPTutorial/WWW;//把这个路径改成你的网站的根目录
index index.html index.htm index.php l.php;
autoindex off;
}
location ~ \.php(.*)$ {
root D:/phpstudy/PHPTutorial/WWW;//把这个路径改成你的网站的根目录
fastcgi_pass 127.0.0.1:9000;//Nginx使用php脚本要单独启用php来监听
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
}
}

[不过TX云会屏蔽1935端口,所以使用时要自己修改一下]

3.启用Nginx服务器nginx.exe -c conf/nginx.conf

4.启用php服务器php-cgi -b 127.0.0.1:9000 -c php.ini

5.导入SQL到MYSQL中

6.修改config.php

date_default_timezone_set('Asia/Shanghai');
define("DBIP","localhost");//数据库IP
define("DBPORT","3306");//数据库端口
define("DBUSERNAME","root");//数据库用户名
define("DBPASSWORD","root");//数据库密码
define("DBNAME","rmtp");//数据库名
define('SYSTEM_VER','1.0.0');//系统版本号
define('SYSTEM_NAME',"GU直播");//系统名称
define('SYSTEM_ROOT','D:\phpstudy\PHPTutorial\WWW\rtmp\\');//系统网站根目录
define('SUPPORT_URL', 'https://103.249.111.182');
define('SYSTEM_NO_ERROR', false );//是否开启DEBUG模式
define('AUTH_STATE', true );//是否开启注册
define('RTMP_URL', "rtmp://localhost:1935/live/" );//RTMP链接

7.安装完成!

预览图:

登录页面
登录页面
房间信息
房间信息-推流状态自动识别
直播房间
直播房间

Github链接:

https://github.com/7gugu/gu-rtmp

Lebu-乐步H5计步系统

本项目是基于H5 API开发的健身类网页应用

可改造后使其成为”微信小程序”

Github地址:https://github.com/7gugu/lebu

功能:
1.记录用户运动里程
2.记录用户运动消耗卡路里
3.记录用户运动配速
4.生成配速图
5.统计运动趋势
6.管理用户信息

预览:

计步页面
历史记录页面
个人信息页面

Rule34自动爬虫脚本

Rule34-Downloader

php爬虫,用于爬Rule34图站的数据,自动下载特定标签的图片


特性:

– 支持指定标签,多标签搜索
– 支持轮候任务
– 支持微信通知运行状态
– 低占用


安装向导:

1. 安装php环境
2. 把该程序拖至php.exe同目录中
3. 编辑php内的PATHS,该常量用于定义爬下来的数据的缓存路径
4. 保存
5. 打开ready.txt,按照格式填入待下载标签
6. 保存
7. 运行start.bat


标签格式

female:0:42
标签:开始的pid数(0开始的42的倍数):结束的pid数(0开始的42的倍数,需要比开始的pid大)


下载地址

https://gitee.com/7gugu/python-rule34Lib


有问题反馈

在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流

  • 邮件(gz7gugu@qq.com)
  • 博客(https://www.7gugu.com)

尬吹

其实这玩意儿我去年(2018)二月就写好了,不过那时候处于要备考的节点了,就没太多的精力去管理,现在有空了就来把爬虫修好发上来

[油猴脚本]TypeSounder-模拟机械键盘声

描述:

一个基于油猴插件的模拟机械键盘的声音,就是按下键后,就会发出机械按键声


安装:

  1. 安装油猴插件,地址https://tampermonkey.net/
  2. 添加插件
  3. 运行插件

脚本代码:

// ==UserScript==
// @name         TypeSounder
// @namespace    https://103.249.111.182/
// @version      1.1
// @description  给按键加入机械键盘的触发声音
// @author       7gugu <gz7gugu@qq.com>
// @match        https://tampermonkey.net/documentation.php?version=4.8.5847&ext=fire&updated=true
// @grant        none
// @include *
// @require https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js
// ==/UserScript==

(function() {
    'use strict';
    var id=1;
         console.log("typesound已启动");
document.onkeydown=function(event){
    id++;
    $("body").append("<div id='key_sound_"+id+"'><audio id='player"+id+"' src='https://103.249.111.182/wp-content/uploads/2018/12/music.mp3' preload='auto'>您的浏览器不支持 audio 标签。</audio></div>");
			 var e = event || window.event;
			 var player = $("#player"+id)[0]; /*jquery对象转换成js对象*/
            if(e && e.keyCode){
	if (player.paused){ /*如果已经暂停*/ player.play(); /*播放*/ }
			  }

        };
})();

GreasyFork地址:

https://greasyfork.org/zh-CN/scripts/375939-typesounder

Umarket开源Steam饰品市场

本项目是基于之前的steambot的代码库开发的饰品市场。

一套具备商城系统与机器人系统的一体化方案

Github地址:https://github.com/7gugu/umarket

功能:
1.查询玩家的库存
2.对玩家的库存进行自动化托管与交易
3.支持支付宝与Uwallet双支付系统
4.商城可部分自定义
5.饰品交易系统
6.支持Windows平台

下面是预览图:

https://7gugu.com/wp-content/uploads/2018/09/1d2538f05612070-768x436.jpg
可根据用户背包按需缓存物品图像,节省系统资源占用

https://7gugu.com/wp-content/uploads/2018/09/6187247ce9bba7b5-768x434.jpg
支持Alipay与Uwallet

https://7gugu.com/wp-content/uploads/2018/09/19a5f762976dcb03-768x441.jpg
自研机器人系统,可网页管理

https://7gugu.com/wp-content/uploads/2018/09/30c4032f4baf7573-768x428.jpg
自由启用出售的栏目

不忘初心,最终还是选择把项目开源出来让大家使用.自我承认我的代码真的很烂,但我也在慢慢进步,希望有朝一日能得到dalao的认可,项目将于11.11推送至Github,届时会在此放出链接地址.owo

Umarket开源饰品商城

未完待续……

2018/08/31更新:

  • 支持对背包进行存取操作
  • 支持上架下架修改价格操作
  • 支持浏览商店,并加入购物车的流程
  • 支持管理栏目组件及名称

Todo:

  • 支持查看订单详情
  • 支持支付提现及管理钱包功能
  • 支持站内公告
  • 支持管理机器人
  • 支持管理用户
  • 支持管理UI样式
  • 支持购物流程的自定义

Steam交易机器人API

简介:
目前已提供完整的函数库,各位dalao可直接通过二次开发成Bot便可投入使用,本项目严格遵守Apache License V2
以下为目前已实现的API

  • 接受/拒绝/取消/发起交易
  • 支持二步验证的登录
  • 获取单笔交易状态
  • 获取steamID SessionID
  • 获取玩家游戏列表
  • 获取API秘钥
  • 获取玩家库存
  • 支持自动过二步验证[需要提供shared_sersect,方法详参我的博客]
  • 支持面对象
  • 支持遍历未确认的交易请求
  • 确认/取消发回饰品的交易

下载链接:

Git库地址:

使用方法:

<?php 
//登录DEMO 
require('steambot_function.php'); 
$obj = new SteamBot(); 
$res=$obj->login("7gugu","password");
var_dump($res);
?>

可用方法:

setSteamID 设定SteamID
setDeviceID 设定DeviceID
setSharedSecret 设定SharedSecert
setIdentitySecret 设定IdentitySecret
getApiKey 获取API-KEY
getgamelist 获取用户游戏列表
getinventory 获取用户库存
send 发起一笔饰品交易
login 登录Steam账户
acceptoffer 接受交易报价
canceloffer 取消交易报价
declineoffer 拒绝交易报价
GenerateSteamGuardCode 生成2FA验证码
fetchConfirmations 遍历确认列表
getConfirmationTradeOfferId 获取交易确认页的TradeOfferId
acceptConfirmation 接受确认请求
cancelConfirmation 取消确认请求

开发文档:
https://www.yuque.com/books/share/8f76ee1e-917e-4656-82d2-cebec314829c?#
注意事项:
这些是使用Umarket试运营后得出的一些注意事项,请注意!

  • 机器人账户一定要有超过5USD的交易记录,不然作为受限账户是无法发起发回交易的
  • 机器人一定要有消费记录,不然可能会受限,暂挂住商品
  • Steamcommunity极其不稳定,有时候login返回Null或者Empty Response都是因为无法正常访问Steam的服务造成的
  • Steam的交易确认页面有时候会抽搐,需要多加载几次,才能刷新出来
  • 解决无法访问Steam服务的方法有两个一是使用各家的加速器,二是使用科学手段来修复网络不可用,三是把机器人放到国外去



联系方式:
邮箱:gz7gugu@qq.com

[有问题邮箱留言,我看得见的]

更新日志:

2020/02/09:

加入了登录样例,其实不是今天加的,我忘了准确时间了,就瞎写了个时间,目前登录模块依旧可以用,但请务必挂代理,才能登陆成功
2019/06/15:
时隔一年时间,加入了遍历确认的功能。
Umarket也弃坑了[项目太大了,一个人无法carry,以后再考虑用框架重写]
不过这个SteamBot终于可以用于实际的项目中了,已形成一个交易闭环了,接下去就交由各位dalao做下去吧OWO
还有就是,欢迎大家常到我的Blog看看呀,就写到这了,Peace