yjiang's cake

基于 container4armhf/armhf-alpine 的ssh镜像

创建Dockerfile

FROM container4armhf/armhf-alpine

RUN apk update && apk add openssh && rm -rf /var/cache/apk/*
RUN  echo root:123456 | chpasswd
RUN sed -i 's/^\#PermitRootLogin\ prohibit-password/PermitRootLogin\ yes/' /etc/ssh/sshd_config
RUN ssh-keygen -A

EXPOSE 222
CMD ["/usr/sbin/sshd", "-D"]

build镜像

docker build -t ssh - < Dockerfile

运行容器

 docker run -it -d -p 222:22 --name='ssh' ssh

docker hub发布地址

https://hub.docker.com/r/yjiang/rpisshd/

bash的四种模式

这篇文章是因为这样的问题而来的:

本地从源装了php,命令可以直接使用

    which php
    $ /usr/local/bin/php

服务器是指定目录编译后使用alias引入的

    which php
    $ alias php='/opt/php56/bin/php'

可以看出,是因为php没有放入命令目录导致的,要达到效果需要了解bash的四种模式.

bash的四种模式及环境变量的加载

1. interactive-login shell 交互式登录shell

  1. /etc/profile 加载系统配置
  2. ~/.bash_profile ~/.bash_login ~/.profile 按顺序查找这三个个人配置文件,如果执行成功其中一个则返回(三个中只会有一个被执行)

2. non_interactive-login shell 非交互式登录shell

  1. 同 1

3. interactive-non_login shell 交互式非登录shell

  1. /etc/bash.bashrc
  2. ~/.bashrc

2. non_interactive-login shell 非交互式登录shell

  1. export BASH_ENV=~/.bashrc #找到bashrc则加载

从以上四种状态可以看出,我们需要的是 3 这种方式, 通过 man bash可以找到 -i参数可实现.

#!/bin/bash -i
php -v

在实际应用中, 使用bash -ic命令调用时,会导致频繁报 no job control in this shell错误.

ofo不使用虚拟定位下单

1.获取ofo_token

访问 ofo网页版,并登陆

chrome下如果无法输入账号密码,可打开调试工具使用移动设备模拟器模拟手机

从cookie中找到ofo_token项,复制下来

2.获取红包区域坐标信息

ofo使用的是高德地图,只需要从高德地图网页版获取坐标信息即可



3.创建订单

无需模拟定位,直接使用坐标下单

#!/usr/bin/env bash

#ofo_token
token="67968641-ab30-11e6-96d22-4f0e0e662348"
#纬度
lat="39.896219"
#经度
lng="116.445179"
#车牌号
carno="457396"

curl --request POST \
  --url https://san.ofo.so/ofo/Api/v2/carno \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data "accuracy=100.00000&altitude=40.11111&carno=$carno&lat=$lat&lng=$lng&source=2&source-version=12412&speed=-1.000000&tag=&token=$token&source-system=7.1.1&source-model=xiaomi_6plus"

4.等待10分钟,从手机app端结束骑行

Tips:

  • 每日每个账号最多获取5个红包
  • 选择红包区域时,尽量选择三个及以上红包重叠的位置,成功几率更大
  • 虽然carno一直用一个也能成功创建订单,不过建议还是每次换一个
  • 更新一个更完善的php的脚本

不重新编译php的情况下增加扩展

常用扩展可以使用php-pear来安装,但是php自带的扩展并不行,例如'curl' 'sysvchm'

#获取php-config路径
#whereis php-config

cd <php编译文件目录>/ext/curl/

phpize

./cinfigure -with-php-config=<php-config路径>

make && make install

cp module/curl.so <php扩展目录>

重启php进程

VMware Fusion 设置端口转发

VMware Fusion 没有像 VMware Workstation 一样提供图形化的虚拟网络编辑器,需要手工编辑配置文件才能设置端口转发。

编辑配置文件

VMware Fusion 的 NAT 配置文件位于 /Library/Preferences/VMware Fusion/vmnet8/nat.conf ,打开配置文件:

sudo vi /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf

找到 [incomingtcp] 部分:

[incomingtcp]
 
# Use these with care - anyone can enter into your VM through these...
# The format and example are as follows:
#<external port number> = <VM's IP address>:<VM's port number>
#8080 = 172.16.3.128:80

按照需要添加新的配置。

重启虚拟网络服务

调用下面的命令重启虚拟网络服务,可以在不重启VMware Fusion的情况下使以上的修改生效:

sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --stop
sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --start

参考

Copyright © 2016 yjiang's cake

返回顶部